summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml4
-rw-r--r--.travis.yml2
-rw-r--r--COPYRIGHT.txt6
-rw-r--r--core/array.cpp47
-rw-r--r--core/array.h3
-rw-r--r--core/class_db.h4
-rw-r--r--core/color.cpp18
-rw-r--r--core/color.h1
-rw-r--r--core/compressed_translation.cpp23
-rw-r--r--core/global_constants.cpp1
-rw-r--r--core/image.cpp370
-rw-r--r--core/image.h17
-rw-r--r--core/input_map.cpp2
-rw-r--r--core/io/file_access_encrypted.cpp1
-rw-r--r--core/io/file_access_network.cpp2
-rw-r--r--core/io/file_access_pack.h1
-rw-r--r--core/io/resource_import.cpp2
-rw-r--r--core/io/resource_loader.cpp17
-rw-r--r--core/io/stream_peer_ssl.cpp2
-rw-r--r--core/math/expression.cpp9
-rw-r--r--core/math/geometry.cpp10
-rw-r--r--core/math/quick_hull.cpp20
-rw-r--r--core/math/vector2.cpp2
-rw-r--r--core/math/vector3.h2
-rw-r--r--core/message_queue.cpp19
-rw-r--r--core/oa_hash_map.h2
-rw-r--r--core/object.cpp39
-rw-r--r--core/object.h8
-rw-r--r--core/os/dir_access.cpp6
-rw-r--r--core/os/os.h2
-rw-r--r--core/os/rw_lock.h6
-rw-r--r--core/print_string.cpp7
-rw-r--r--core/print_string.h1
-rw-r--r--core/project_settings.cpp2
-rw-r--r--core/reference.h7
-rw-r--r--core/resource.cpp6
-rw-r--r--core/script_debugger_remote.cpp5
-rw-r--r--core/string_db.cpp5
-rw-r--r--core/translation.cpp1
-rw-r--r--core/ustring.cpp2
-rw-r--r--core/variant_call.cpp22
-rw-r--r--doc/classes/@GlobalScope.xml8
-rw-r--r--doc/classes/AnimationNode.xml72
-rw-r--r--doc/classes/AnimationNodeAdd2.xml2
-rw-r--r--doc/classes/AnimationNodeAdd3.xml2
-rw-r--r--doc/classes/AnimationNodeBlend2.xml2
-rw-r--r--doc/classes/AnimationNodeBlend3.xml2
-rw-r--r--doc/classes/AnimationNodeBlendSpace1D.xml2
-rw-r--r--doc/classes/AnimationNodeBlendSpace2D.xml2
-rw-r--r--doc/classes/AnimationNodeBlendTree.xml20
-rw-r--r--doc/classes/AnimationNodeOneShot.xml18
-rw-r--r--doc/classes/AnimationNodeStateMachine.xml54
-rw-r--r--doc/classes/AnimationNodeStateMachinePlayback.xml55
-rw-r--r--doc/classes/AnimationNodeStateMachineTransition.xml8
-rw-r--r--doc/classes/AnimationNodeTimeScale.xml4
-rw-r--r--doc/classes/AnimationNodeTimeSeek.xml4
-rw-r--r--doc/classes/AnimationNodeTransition.xml2
-rw-r--r--doc/classes/AnimationTree.xml10
-rw-r--r--doc/classes/ArrayMesh.xml4
-rw-r--r--doc/classes/AudioEffectRecord.xml39
-rw-r--r--doc/classes/AudioServer.xml22
-rw-r--r--doc/classes/AudioStreamMicrophone.xml15
-rw-r--r--doc/classes/AudioStreamSample.xml8
-rw-r--r--doc/classes/BakedLightmap.xml15
-rw-r--r--doc/classes/BitMap.xml20
-rw-r--r--doc/classes/Camera.xml18
-rw-r--r--doc/classes/Color.xml290
-rw-r--r--doc/classes/ColorPicker.xml10
-rw-r--r--doc/classes/ColorPickerButton.xml6
-rw-r--r--doc/classes/ColorRect.xml8
-rw-r--r--doc/classes/Control.xml69
-rw-r--r--doc/classes/Dictionary.xml2
-rw-r--r--doc/classes/DirectionalLight.xml18
-rw-r--r--doc/classes/EditorFileSystem.xml4
-rw-r--r--doc/classes/EditorPlugin.xml9
-rw-r--r--doc/classes/EditorSpatialGizmo.xml14
-rw-r--r--doc/classes/Expression.xml49
-rw-r--r--doc/classes/InputEventKey.xml1
-rw-r--r--doc/classes/InputMap.xml9
-rw-r--r--doc/classes/ItemList.xml18
-rw-r--r--doc/classes/KinematicBody.xml43
-rw-r--r--doc/classes/KinematicBody2D.xml9
-rw-r--r--doc/classes/Light.xml15
-rw-r--r--doc/classes/LineEdit.xml8
-rw-r--r--doc/classes/Node.xml6
-rw-r--r--doc/classes/Object.xml2
-rw-r--r--doc/classes/OmniLight.xml8
-rw-r--r--doc/classes/PhysicalBone.xml6
-rw-r--r--doc/classes/PhysicsDirectBodyState.xml2
-rw-r--r--doc/classes/PhysicsMaterial.xml10
-rw-r--r--doc/classes/Plane.xml6
-rw-r--r--doc/classes/PopupMenu.xml14
-rw-r--r--doc/classes/ProgressBar.xml1
-rw-r--r--doc/classes/ProjectSettings.xml78
-rw-r--r--doc/classes/Quat.xml2
-rw-r--r--doc/classes/Range.xml16
-rw-r--r--doc/classes/ReferenceRect.xml4
-rw-r--r--doc/classes/ResourceLoader.xml18
-rw-r--r--doc/classes/Skeleton.xml10
-rw-r--r--doc/classes/Skeleton2D.xml2
-rw-r--r--doc/classes/SkeletonIK.xml61
-rw-r--r--doc/classes/SpringArm.xml53
-rw-r--r--doc/classes/Tabs.xml14
-rw-r--r--doc/classes/Texture.xml2
-rw-r--r--doc/classes/Texture3D.xml15
-rw-r--r--doc/classes/TextureArray.xml15
-rw-r--r--doc/classes/TextureLayered.xml103
-rw-r--r--doc/classes/TileSet.xml56
-rw-r--r--doc/classes/Transform.xml8
-rw-r--r--doc/classes/Transform2D.xml6
-rw-r--r--doc/classes/Vector2.xml30
-rw-r--r--doc/classes/Vector3.xml34
-rw-r--r--doc/classes/Viewport.xml34
-rw-r--r--doc/classes/VisualInstance.xml18
-rw-r--r--doc/classes/VisualServer.xml103
-rw-r--r--drivers/alsa/audio_driver_alsa.cpp4
-rw-r--r--drivers/coreaudio/audio_driver_coreaudio.cpp6
-rw-r--r--drivers/gles2/rasterizer_canvas_gles2.cpp22
-rw-r--r--drivers/gles2/rasterizer_gles2.cpp14
-rw-r--r--drivers/gles2/rasterizer_scene_gles2.cpp49
-rw-r--r--drivers/gles2/rasterizer_scene_gles2.h2
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.cpp43
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.h2
-rw-r--r--drivers/gles2/shader_compiler_gles2.cpp3
-rw-r--r--drivers/gles2/shader_gles2.cpp15
-rw-r--r--drivers/gles2/shaders/blend_shape.glsl39
-rw-r--r--drivers/gles2/shaders/canvas.glsl12
-rw-r--r--drivers/gles2/shaders/canvas_shadow.glsl19
-rw-r--r--drivers/gles2/shaders/copy.glsl21
-rw-r--r--drivers/gles2/shaders/cube_to_dp.glsl60
-rw-r--r--drivers/gles2/shaders/cubemap_filter.glsl47
-rw-r--r--drivers/gles2/shaders/effect_blur.glsl178
-rw-r--r--drivers/gles2/shaders/exposure.glsl60
-rw-r--r--drivers/gles2/shaders/particles.glsl107
-rw-r--r--drivers/gles2/shaders/resolve.glsl16
-rw-r--r--drivers/gles2/shaders/scene.glsl354
-rw-r--r--drivers/gles2/shaders/screen_space_reflection.glsl195
-rw-r--r--drivers/gles2/shaders/ssao.glsl160
-rw-r--r--drivers/gles2/shaders/ssao_blur.glsl51
-rw-r--r--drivers/gles2/shaders/ssao_minify.glsl17
-rw-r--r--drivers/gles2/shaders/stdlib.glsl16
-rw-r--r--drivers/gles2/shaders/subsurf_scattering.glsl164
-rw-r--r--drivers/gles2/shaders/tonemap.glsl164
-rw-r--r--drivers/gles3/rasterizer_canvas_gles3.cpp23
-rw-r--r--drivers/gles3/rasterizer_gles3.cpp6
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.cpp30
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.h2
-rw-r--r--drivers/gles3/shader_compiler_gles3.cpp2
-rw-r--r--drivers/gles3/shader_gles3.cpp9
-rw-r--r--drivers/gles3/shaders/blend_shape.glsl39
-rw-r--r--drivers/gles3/shaders/canvas.glsl414
-rw-r--r--drivers/gles3/shaders/canvas_shadow.glsl24
-rw-r--r--drivers/gles3/shaders/copy.glsl92
-rw-r--r--drivers/gles3/shaders/cube_to_dp.glsl68
-rw-r--r--drivers/gles3/shaders/cubemap_filter.glsl249
-rw-r--r--drivers/gles3/shaders/effect_blur.glsl178
-rw-r--r--drivers/gles3/shaders/exposure.glsl60
-rw-r--r--drivers/gles3/shaders/particles.glsl109
-rw-r--r--drivers/gles3/shaders/resolve.glsl20
-rw-r--r--drivers/gles3/shaders/scene.glsl1283
-rw-r--r--drivers/gles3/shaders/screen_space_reflection.glsl240
-rw-r--r--drivers/gles3/shaders/ssao.glsl173
-rw-r--r--drivers/gles3/shaders/ssao_blur.glsl55
-rw-r--r--drivers/gles3/shaders/ssao_minify.glsl17
-rw-r--r--drivers/gles3/shaders/subsurf_scattering.glsl158
-rw-r--r--drivers/gles3/shaders/tonemap.glsl336
-rw-r--r--drivers/png/image_loader_png.cpp1
-rw-r--r--drivers/pulseaudio/audio_driver_pulseaudio.cpp10
-rw-r--r--drivers/rtaudio/audio_driver_rtaudio.cpp5
-rw-r--r--drivers/unix/file_access_unix.cpp7
-rw-r--r--drivers/unix/os_unix.cpp2
-rw-r--r--drivers/unix/os_unix.h2
-rw-r--r--drivers/wasapi/audio_driver_wasapi.cpp6
-rw-r--r--drivers/windows/file_access_windows.cpp20
-rw-r--r--drivers/xaudio2/audio_driver_xaudio2.h2
-rw-r--r--editor/animation_track_editor_plugins.cpp3
-rw-r--r--editor/audio_stream_preview.cpp3
-rw-r--r--editor/code_editor.cpp1
-rw-r--r--editor/dependency_editor.cpp8
-rw-r--r--editor/doc/doc_data.cpp1
-rw-r--r--editor/editor_asset_installer.cpp1
-rw-r--r--editor/editor_audio_buses.cpp2
-rw-r--r--editor/editor_export.cpp32
-rw-r--r--editor/editor_export.h2
-rw-r--r--editor/editor_help.cpp28
-rw-r--r--editor/editor_help.h2
-rw-r--r--editor/editor_inspector.cpp5
-rw-r--r--editor/editor_node.cpp17
-rw-r--r--editor/editor_plugin.cpp32
-rw-r--r--editor/editor_plugin.h6
-rw-r--r--editor/editor_plugin_settings.h2
-rw-r--r--editor/editor_profiler.cpp5
-rw-r--r--editor/editor_properties.cpp52
-rw-r--r--editor/editor_properties.h7
-rw-r--r--editor/editor_properties_array_dict.cpp12
-rw-r--r--editor/editor_properties_array_dict.h4
-rw-r--r--editor/editor_resource_preview.cpp2
-rw-r--r--editor/editor_run.cpp21
-rw-r--r--editor/editor_settings.cpp15
-rw-r--r--editor/editor_themes.cpp12
-rw-r--r--editor/fileserver/editor_file_server.cpp16
-rw-r--r--editor/filesystem_dock.cpp18
-rw-r--r--editor/find_in_files.cpp267
-rw-r--r--editor/find_in_files.h24
-rw-r--r--editor/import/editor_import_collada.cpp42
-rw-r--r--editor/import/editor_scene_importer_gltf.cpp36
-rw-r--r--editor/import/resource_importer_layered_texture.cpp21
-rw-r--r--editor/import/resource_importer_obj.cpp10
-rw-r--r--editor/import/resource_importer_scene.cpp15
-rw-r--r--editor/import/resource_importer_texture.cpp61
-rw-r--r--editor/import/resource_importer_wav.cpp35
-rw-r--r--editor/import_dock.cpp3
-rw-r--r--editor/import_dock.h10
-rw-r--r--editor/inspector_dock.cpp15
-rw-r--r--editor/inspector_dock.h5
-rw-r--r--editor/plugin_config_dialog.cpp1
-rw-r--r--editor/plugins/animation_blend_space_1d_editor.cpp173
-rw-r--r--editor/plugins/animation_blend_space_1d_editor.h41
-rw-r--r--editor/plugins/animation_blend_space_2d_editor.cpp184
-rw-r--r--editor/plugins/animation_blend_space_2d_editor.h43
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.cpp319
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.h45
-rw-r--r--editor/plugins/animation_state_machine_editor.cpp302
-rw-r--r--editor/plugins/animation_state_machine_editor.h44
-rw-r--r--editor/plugins/animation_tree_editor_plugin.cpp1477
-rw-r--r--editor/plugins/animation_tree_editor_plugin.h198
-rw-r--r--editor/plugins/animation_tree_player_editor_plugin.cpp1446
-rw-r--r--editor/plugins/animation_tree_player_editor_plugin.h187
-rw-r--r--editor/plugins/asset_library_editor_plugin.cpp11
-rw-r--r--editor/plugins/canvas_item_editor_plugin.cpp6
-rw-r--r--editor/plugins/curve_editor_plugin.cpp4
-rw-r--r--editor/plugins/mesh_editor_plugin.cpp2
-rw-r--r--editor/plugins/mesh_library_editor_plugin.cpp (renamed from editor/plugins/cube_grid_theme_editor_plugin.cpp)83
-rw-r--r--editor/plugins/mesh_library_editor_plugin.h (renamed from editor/plugins/cube_grid_theme_editor_plugin.h)16
-rw-r--r--editor/plugins/particles_2d_editor_plugin.cpp2
-rw-r--r--editor/plugins/particles_editor_plugin.cpp2
-rw-r--r--editor/plugins/polygon_2d_editor_plugin.cpp4
-rw-r--r--editor/plugins/root_motion_editor_plugin.cpp1
-rw-r--r--editor/plugins/script_text_editor.cpp1
-rw-r--r--editor/plugins/shader_editor_plugin.cpp2
-rw-r--r--editor/plugins/shader_graph_editor_plugin.cpp2932
-rw-r--r--editor/plugins/shader_graph_editor_plugin.h248
-rw-r--r--editor/plugins/skeleton_editor_plugin.cpp9
-rw-r--r--editor/plugins/skeleton_editor_plugin.h1
-rw-r--r--editor/plugins/spatial_editor_plugin.cpp22
-rw-r--r--editor/plugins/spatial_editor_plugin.h1
-rw-r--r--editor/plugins/sprite_editor_plugin.cpp24
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.cpp2
-rw-r--r--editor/plugins/texture_region_editor_plugin.cpp2
-rw-r--r--editor/plugins/tile_map_editor_plugin.cpp146
-rw-r--r--editor/plugins/tile_map_editor_plugin.h11
-rw-r--r--editor/plugins/tile_set_editor_plugin.cpp11
-rw-r--r--editor/project_export.cpp6
-rw-r--r--editor/project_export.h20
-rw-r--r--editor/project_manager.cpp8
-rw-r--r--editor/project_settings_editor.cpp2
-rw-r--r--editor/property_editor.cpp5
-rw-r--r--editor/property_selector.cpp1
-rw-r--r--editor/scene_tree_dock.cpp1
-rw-r--r--editor/scene_tree_editor.cpp6
-rw-r--r--editor/script_editor_debugger.cpp14
-rw-r--r--editor/spatial_editor_gizmos.cpp76
-rw-r--r--editor/spatial_editor_gizmos.h15
-rw-r--r--editor/translations/af.po3094
-rw-r--r--editor/translations/ar.po3344
-rw-r--r--editor/translations/bg.po2983
-rw-r--r--editor/translations/bn.po3704
-rw-r--r--editor/translations/ca.po3638
-rw-r--r--editor/translations/cs.po3432
-rw-r--r--editor/translations/da.po3276
-rw-r--r--editor/translations/de.po3711
-rw-r--r--editor/translations/de_CH.po2945
-rw-r--r--editor/translations/editor.pot2726
-rw-r--r--editor/translations/el.po3678
-rw-r--r--editor/translations/es.po4489
-rw-r--r--editor/translations/es_AR.po3714
-rwxr-xr-xeditor/translations/extract.py2
-rw-r--r--editor/translations/fa.po3265
-rw-r--r--editor/translations/fi.po3654
-rw-r--r--editor/translations/fr.po3723
-rw-r--r--editor/translations/he.po3111
-rw-r--r--editor/translations/hi.po2823
-rw-r--r--editor/translations/hu.po3344
-rw-r--r--editor/translations/id.po3357
-rw-r--r--editor/translations/is.po2851
-rw-r--r--editor/translations/it.po3942
-rw-r--r--editor/translations/ja.po3781
-rw-r--r--editor/translations/ka.po9116
-rw-r--r--editor/translations/ko.po3702
-rw-r--r--editor/translations/lt.po2907
-rw-r--r--editor/translations/lv.po9027
-rw-r--r--editor/translations/ms.po2788
-rw-r--r--editor/translations/nb.po3353
-rw-r--r--editor/translations/nl.po3614
-rw-r--r--editor/translations/pl.po3635
-rw-r--r--editor/translations/pr.po2868
-rw-r--r--editor/translations/pt_BR.po3708
-rw-r--r--editor/translations/pt_PT.po3595
-rw-r--r--editor/translations/ro.po3444
-rw-r--r--editor/translations/ru.po3702
-rw-r--r--editor/translations/sk.po2882
-rw-r--r--editor/translations/sl.po3268
-rw-r--r--editor/translations/sr_Cyrl.po3462
-rw-r--r--editor/translations/sr_Latn.po2872
-rw-r--r--editor/translations/sv.po3329
-rw-r--r--editor/translations/ta.po2800
-rw-r--r--editor/translations/th.po3659
-rw-r--r--editor/translations/tr.po3679
-rw-r--r--editor/translations/uk.po3603
-rw-r--r--editor/translations/ur_PK.po2806
-rw-r--r--editor/translations/vi.po3049
-rw-r--r--editor/translations/zh_CN.po3698
-rw-r--r--editor/translations/zh_HK.po3251
-rw-r--r--editor/translations/zh_TW.po3170
-rw-r--r--main/input_default.cpp3
-rw-r--r--main/main.cpp10
-rw-r--r--misc/dist/html/fixed-size.html (renamed from misc/dist/html/default.html)0
-rw-r--r--misc/dist/html/full-size.html260
-rw-r--r--modules/bullet/area_bullet.cpp4
-rw-r--r--modules/bullet/bullet_physics_server.cpp30
-rw-r--r--modules/bullet/bullet_physics_server.h6
-rw-r--r--modules/bullet/godot_result_callbacks.cpp68
-rw-r--r--modules/bullet/godot_result_callbacks.h44
-rw-r--r--modules/bullet/hinge_joint_bullet.cpp6
-rw-r--r--modules/bullet/shape_bullet.cpp45
-rw-r--r--modules/bullet/shape_bullet.h24
-rw-r--r--modules/bullet/space_bullet.cpp153
-rw-r--r--modules/bullet/space_bullet.h17
-rw-r--r--modules/csg/csg_shape.cpp4
-rw-r--r--modules/cvtt/SCsub21
-rw-r--r--modules/cvtt/config.py5
-rw-r--r--modules/cvtt/image_compress_cvtt.cpp394
-rw-r--r--modules/cvtt/image_compress_cvtt.h39
-rw-r--r--modules/cvtt/register_types.cpp45
-rw-r--r--modules/cvtt/register_types.h34
-rw-r--r--modules/dds/texture_loader_dds.cpp2
-rw-r--r--modules/etc/image_etc.cpp4
-rw-r--r--modules/gdnative/doc_classes/NativeScript.xml4
-rw-r--r--modules/gdnative/gdnative_api.json8
-rw-r--r--modules/gdnative/include/nativescript/godot_nativescript.h3
-rw-r--r--modules/gdnative/nativescript/godot_nativescript.cpp4
-rw-r--r--modules/gdnative/nativescript/nativescript.cpp110
-rw-r--r--modules/gdnative/nativescript/nativescript.h18
-rw-r--r--modules/gdscript/gdscript.cpp44
-rw-r--r--modules/gdscript/gdscript_compiler.cpp10
-rw-r--r--modules/gdscript/gdscript_editor.cpp5
-rw-r--r--modules/gdscript/gdscript_functions.cpp6
-rw-r--r--modules/gdscript/gdscript_parser.cpp31
-rw-r--r--modules/gdscript/gdscript_tokenizer.cpp1
-rw-r--r--modules/gdscript/gdscript_tokenizer.h10
-rw-r--r--modules/gridmap/grid_map.cpp78
-rw-r--r--modules/gridmap/grid_map.h7
-rw-r--r--modules/gridmap/grid_map_editor_plugin.cpp147
-rw-r--r--modules/gridmap/grid_map_editor_plugin.h16
-rw-r--r--modules/mono/config.py4
-rw-r--r--modules/mono/csharp_script.cpp6
-rw-r--r--modules/mono/editor/godotsharp_builds.cpp8
-rw-r--r--modules/mono/glue/cs_files/AABB.cs200
-rw-r--r--modules/mono/glue/cs_files/Color.cs5
-rw-r--r--modules/mono/glue/cs_files/Plane.cs9
-rw-r--r--modules/mono/glue/cs_files/Rect2.cs122
-rw-r--r--modules/mono/glue/cs_files/Vector2.cs5
-rw-r--r--modules/mono/glue/cs_files/Vector3.cs5
-rw-r--r--modules/mono/mono_gd/gd_mono.cpp46
-rw-r--r--modules/mono/mono_gd/gd_mono_assembly.cpp76
-rw-r--r--modules/mono/mono_gd/gd_mono_assembly.h3
-rw-r--r--modules/mono/mono_gd/gd_mono_log.cpp3
-rw-r--r--modules/mono/utils/thread_local.cpp4
-rw-r--r--modules/mono/utils/thread_local.h3
-rw-r--r--modules/pvr/texture_loader_pvr.cpp16
-rw-r--r--modules/squish/image_compress_squish.cpp16
-rw-r--r--modules/squish/image_compress_squish.h2
-rw-r--r--modules/stb_vorbis/audio_stream_ogg_vorbis.cpp2
-rw-r--r--modules/theora/video_stream_theora.cpp10
-rw-r--r--modules/visual_script/visual_script_builtin_funcs.cpp5
-rw-r--r--modules/visual_script/visual_script_editor.cpp1
-rw-r--r--modules/visual_script/visual_script_func_nodes.cpp1
-rw-r--r--modules/visual_script/visual_script_property_selector.cpp1
-rw-r--r--platform/android/SCsub6
-rw-r--r--platform/android/audio_driver_jandroid.cpp4
-rw-r--r--platform/android/detect.py39
-rw-r--r--platform/android/export/export.cpp70
-rw-r--r--platform/android/godot_android.cpp2
-rw-r--r--platform/android/java_class_wrapper.cpp5
-rw-r--r--platform/android/os_android.cpp2
-rw-r--r--platform/iphone/export/export.cpp38
-rw-r--r--platform/javascript/SCsub2
-rw-r--r--platform/javascript/export/export.cpp42
-rw-r--r--platform/javascript/http_request.js6
-rw-r--r--platform/javascript/javascript_eval.cpp4
-rw-r--r--platform/javascript/os_javascript.cpp117
-rw-r--r--platform/javascript/os_javascript.h5
-rw-r--r--platform/osx/export/export.cpp22
-rw-r--r--platform/uwp/export/export.cpp23
-rw-r--r--platform/windows/context_gl_win.cpp14
-rw-r--r--platform/windows/detect.py12
-rw-r--r--platform/windows/export/export.cpp16
-rw-r--r--platform/windows/joypad.cpp4
-rw-r--r--platform/windows/os_windows.cpp160
-rw-r--r--platform/windows/os_windows.h3
-rw-r--r--platform/x11/context_gl_x11.cpp13
-rw-r--r--platform/x11/os_x11.cpp25
-rw-r--r--scene/2d/audio_stream_player_2d.cpp1
-rw-r--r--scene/2d/canvas_item.cpp21
-rw-r--r--scene/2d/collision_shape_2d.cpp2
-rw-r--r--scene/2d/navigation2d.cpp11
-rw-r--r--scene/2d/navigation_polygon.cpp2
-rw-r--r--scene/2d/physics_body_2d.cpp55
-rw-r--r--scene/2d/physics_body_2d.h4
-rw-r--r--scene/2d/polygon_2d.cpp3
-rw-r--r--scene/2d/ray_cast_2d.cpp34
-rw-r--r--scene/2d/ray_cast_2d.h9
-rw-r--r--scene/2d/remote_transform_2d.cpp7
-rw-r--r--scene/2d/skeleton_2d.cpp2
-rw-r--r--scene/2d/sprite.cpp38
-rw-r--r--scene/2d/sprite.h2
-rw-r--r--scene/3d/audio_stream_player_3d.cpp1
-rw-r--r--scene/3d/baked_lightmap.cpp3
-rw-r--r--scene/3d/camera.cpp252
-rw-r--r--scene/3d/camera.h60
-rw-r--r--scene/3d/cpu_particles.cpp2
-rw-r--r--scene/3d/navigation.cpp9
-rw-r--r--scene/3d/physics_body.cpp193
-rw-r--r--scene/3d/physics_body.h11
-rw-r--r--scene/3d/ray_cast.cpp34
-rw-r--r--scene/3d/ray_cast.h10
-rw-r--r--scene/3d/remote_transform.cpp4
-rw-r--r--scene/3d/spring_arm.cpp172
-rw-r--r--scene/3d/spring_arm.h71
-rw-r--r--scene/3d/vehicle_body.cpp10
-rw-r--r--scene/3d/voxel_light_baker.cpp26
-rw-r--r--scene/animation/animation_blend_space_1d.cpp77
-rw-r--r--scene/animation/animation_blend_space_1d.h17
-rw-r--r--scene/animation/animation_blend_space_2d.cpp69
-rw-r--r--scene/animation/animation_blend_space_2d.h15
-rw-r--r--scene/animation/animation_blend_tree.cpp520
-rw-r--r--scene/animation/animation_blend_tree.h112
-rw-r--r--scene/animation/animation_node_state_machine.cpp837
-rw-r--r--scene/animation/animation_node_state_machine.h109
-rw-r--r--scene/animation/animation_player.cpp2
-rw-r--r--scene/animation/animation_tree.cpp361
-rw-r--r--scene/animation/animation_tree.h66
-rw-r--r--scene/animation/skeleton_ik.cpp4
-rw-r--r--scene/animation/skeleton_ik.h4
-rw-r--r--scene/audio/audio_player.cpp1
-rw-r--r--scene/gui/base_button.cpp2
-rw-r--r--scene/gui/button.cpp3
-rw-r--r--scene/gui/control.cpp3
-rw-r--r--scene/gui/file_dialog.cpp3
-rw-r--r--scene/gui/gradient_edit.cpp1
-rw-r--r--scene/gui/graph_edit.cpp63
-rw-r--r--scene/gui/graph_edit.h4
-rw-r--r--scene/gui/item_list.cpp3
-rw-r--r--scene/gui/link_button.cpp2
-rw-r--r--scene/gui/rich_text_label.cpp1
-rw-r--r--scene/gui/text_edit.cpp4
-rw-r--r--scene/main/node.cpp12
-rw-r--r--scene/main/scene_tree.cpp2
-rw-r--r--scene/main/viewport.cpp31
-rw-r--r--scene/main/viewport.h3
-rw-r--r--scene/register_scene_types.cpp13
-rw-r--r--scene/resources/animation.cpp2
-rw-r--r--scene/resources/bit_mask.cpp16
-rw-r--r--scene/resources/dynamic_font.cpp2
-rw-r--r--scene/resources/dynamic_font_stb.cpp5
-rw-r--r--scene/resources/material.cpp76
-rw-r--r--scene/resources/material.h18
-rw-r--r--scene/resources/mesh.cpp4
-rw-r--r--scene/resources/packed_scene.cpp13
-rw-r--r--scene/resources/physics_material.h2
-rw-r--r--scene/resources/shader_graph.cpp2596
-rw-r--r--scene/resources/shader_graph.h446
-rw-r--r--scene/resources/shape.cpp23
-rw-r--r--scene/resources/shape.h6
-rw-r--r--scene/resources/surface_tool.cpp10
-rw-r--r--scene/resources/texture.cpp149
-rw-r--r--scene/resources/texture.h19
-rw-r--r--scene/resources/visual_shader.cpp2
-rw-r--r--scene/scene_string_names.cpp2
-rw-r--r--scene/scene_string_names.h2
-rw-r--r--servers/arvr_server.cpp6
-rw-r--r--servers/audio/effects/audio_effect_pitch_shift.cpp6
-rw-r--r--servers/audio/effects/audio_effect_pitch_shift.h2
-rw-r--r--servers/audio/effects/audio_effect_record.cpp2
-rw-r--r--servers/audio_server.cpp4
-rw-r--r--servers/physics/collision_solver_sat.cpp22
-rw-r--r--servers/physics/collision_solver_sw.cpp4
-rw-r--r--servers/physics/joints/hinge_joint_sw.cpp6
-rw-r--r--servers/physics/physics_server_sw.cpp24
-rw-r--r--servers/physics/physics_server_sw.h7
-rw-r--r--servers/physics/space_sw.cpp199
-rw-r--r--servers/physics/space_sw.h15
-rw-r--r--servers/physics/step_sw.cpp1
-rw-r--r--servers/physics_2d/collision_solver_2d_sat.cpp1
-rw-r--r--servers/physics_2d/collision_solver_2d_sw.cpp45
-rw-r--r--servers/physics_2d/physics_2d_server_sw.cpp7
-rw-r--r--servers/physics_2d/space_2d_sw.cpp52
-rw-r--r--servers/physics_2d/space_2d_sw.h12
-rw-r--r--servers/physics_2d/step_2d_sw.cpp2
-rw-r--r--servers/physics_2d_server.cpp46
-rw-r--r--servers/physics_2d_server.h25
-rw-r--r--servers/physics_server.cpp42
-rw-r--r--servers/physics_server.h44
-rw-r--r--servers/visual/shader_language.cpp5
-rw-r--r--servers/visual/shader_types.cpp1
-rw-r--r--servers/visual/visual_server_scene.cpp18
-rw-r--r--servers/visual/visual_server_viewport.cpp3
-rw-r--r--servers/visual/visual_server_wrap_mt.cpp6
-rw-r--r--servers/visual_server.cpp37
-rw-r--r--thirdparty/README.md11
-rw-r--r--thirdparty/cvtt/ConvectionKernels.cpp7576
-rw-r--r--thirdparty/cvtt/ConvectionKernels.h145
-rw-r--r--thirdparty/cvtt/ConvectionKernels_BC7_SingleColor.h1940
-rw-r--r--thirdparty/cvtt/LICENSE.txt45
-rw-r--r--thirdparty/squish/config.h20
515 files changed, 153100 insertions, 63473 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index 7691f65d6a..567da9cd5d 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -4,7 +4,7 @@ environment:
HOME: "%HOMEDRIVE%%HOMEPATH%"
PYTHON: C:\Python27
SCONS_CACHE_ROOT: "%HOME%\\scons_cache"
- SCONS_CACHE_LIMIT: 512
+ SCONS_CACHE_LIMIT: 1024
matrix:
- VS: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
GD_PLATFORM: windows
@@ -29,4 +29,4 @@ before_build:
- SET "SCONS_CACHE=%SCONS_CACHE_ROOT%\master"
build_script:
-- scons platform=%GD_PLATFORM% target=%TARGET% tools=%TOOLS% verbose=yes progress=no gdnative_wrapper=yes
+- scons platform=%GD_PLATFORM% target=%TARGET% tools=%TOOLS% debug_symbols=no verbose=yes progress=no gdnative_wrapper=yes
diff --git a/.travis.yml b/.travis.yml
index e89774a2a2..404bdc9d90 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,7 +8,7 @@ env:
global:
- SCONS_CACHE=$HOME/.scons_cache
- SCONS_CACHE_LIMIT=1024
- - OPTIONS="verbose=yes progress=no gdnative_wrapper=yes"
+ - OPTIONS="debug_symbols=no verbose=yes progress=no gdnative_wrapper=yes"
- secure: "QLFRizqry/Y5pnEZvDlQz5S3YydQ+600u4rHEzFgUTd0heYeQaETXAQeMzp0ymuG1BkdRAl5YJoLVJgAzjwI9hrvugvoUlh2//SfpqZCHN/Q1fYbtGgNTn01R3VFEpcfYQL93I2EjrxVm0WTM4PwCvMO+hU0aWTRDvCt1Lty0kMR+RMDQOO/woqunoXh5wvFNxTJJkAmuLe0v962DJYOIwJAnqMLR0aFYjmeQJ20bc/2X5oLt+WuJDuf/lGj6WSlD6z/o/kL3YxHoUyw4A/HAZ2IX0IfNHKuay60ESWzl/NlobnePiPwHAE2pdDVu//q16fanb9VeYnBYRFse49TpFRb86Lo+Qz8nKDJqpQEIY0YKNCFqekrubqTM++Lj6QvGpykQZNxUhybmELcEsRG4PS0UMvCpebdnJD46nNB+DtO2Lgb4xXDLQwpq19z1wizq/XDQ5hz61TIIx8+i8TsgdSQKCTeWovd4HcD4CVjAD5XTLGgyRmI/zC2d+lTnKo6W9diLq/bX/Goq2QPeaTPABqv817IaJka2JyugQ7Qal/+gNTjYRRsimRCL9B2tVh+Uh8rWhTFhQL4QbP5P65HF+p8qojUzqtAhPMbZ8mxUtNukUI3liVgPgiMss96sG0nTVglFgkkAkEjIMFnqMSKnTfG812K4jIhp2jCO2Q3NeI="
cache:
diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt
index becaa9ade9..4ba80941e0 100644
--- a/COPYRIGHT.txt
+++ b/COPYRIGHT.txt
@@ -135,6 +135,12 @@ Comment: CA certificates
Copyright: Mozilla Contributors
License: MPL-2.0
+Files: ./thirdparty/cvtt/
+Comment: Convection Texture Tools Stand-Alone Kernels
+Copyright: 2018, Eric Lasota
+ 2018, Microsoft Corp.
+License: MIT
+
Files: ./thirdparty/enet/
Comment: ENet
Copyright: 2002-2016, Lee Salzman
diff --git a/core/array.cpp b/core/array.cpp
index 44c553e4eb..ebad0df126 100644
--- a/core/array.cpp
+++ b/core/array.cpp
@@ -355,11 +355,58 @@ Variant Array::pop_front() {
return Variant();
}
+Variant Array::min() const {
+
+ Variant minval;
+ for (int i = 0; i < size(); i++) {
+ if (i == 0) {
+ minval = get(i);
+ } else {
+ bool valid;
+ Variant ret;
+ Variant test = get(i);
+ Variant::evaluate(Variant::OP_LESS, test, minval, ret, valid);
+ if (!valid) {
+ return Variant(); //not a valid comparison
+ }
+ if (bool(ret)) {
+ //is less
+ minval = test;
+ }
+ }
+ }
+ return minval;
+}
+
+Variant Array::max() const {
+
+ Variant maxval;
+ for (int i = 0; i < size(); i++) {
+ if (i == 0) {
+ maxval = get(i);
+ } else {
+ bool valid;
+ Variant ret;
+ Variant test = get(i);
+ Variant::evaluate(Variant::OP_GREATER, test, maxval, ret, valid);
+ if (!valid) {
+ return Variant(); //not a valid comparison
+ }
+ if (bool(ret)) {
+ //is less
+ maxval = test;
+ }
+ }
+ }
+ return maxval;
+}
+
Array::Array(const Array &p_from) {
_p = NULL;
_ref(p_from);
}
+
Array::Array() {
_p = memnew(ArrayPrivate);
diff --git a/core/array.h b/core/array.h
index e549a886e6..c824c9b4f7 100644
--- a/core/array.h
+++ b/core/array.h
@@ -90,6 +90,9 @@ public:
Array duplicate(bool p_deep = false) const;
+ Variant min() const;
+ Variant max() const;
+
Array(const Array &p_from);
Array();
~Array();
diff --git a/core/class_db.h b/core/class_db.h
index f1d1879236..66a67f6c9f 100644
--- a/core/class_db.h
+++ b/core/class_db.h
@@ -39,6 +39,10 @@
@author Juan Linietsky <reduzio@gmail.com>
*/
+/** To bind more then 6 parameters include this:
+ * #include "method_bind_ext.gen.inc"
+ */
+
#define DEFVAL(m_defval) (m_defval)
//#define SIMPLE_METHODDEF
diff --git a/core/color.cpp b/core/color.cpp
index fcfcf20355..17c9e2daeb 100644
--- a/core/color.cpp
+++ b/core/color.cpp
@@ -253,6 +253,21 @@ Color Color::hex64(uint64_t p_hex) {
return Color(r, g, b, a);
}
+Color Color::from_rgbe9995(uint32_t p_rgbe) {
+
+ float r = p_rgbe & 0x1ff;
+ float g = (p_rgbe >> 9) & 0x1ff;
+ float b = (p_rgbe >> 18) & 0x1ff;
+ float e = (p_rgbe >> 27);
+ float m = Math::pow(2, e - 15.0 - 9.0);
+
+ float rd = r * m;
+ float gd = g * m;
+ float bd = b * m;
+
+ return Color(rd, gd, bd, 1.0f);
+}
+
static float _parse_col(const String &p_str, int p_ofs) {
int ig = 0;
@@ -506,8 +521,11 @@ Color Color::from_hsv(float p_h, float p_s, float p_v, float p_a) {
return Color(m + r, m + g, m + b, p_a);
}
+// FIXME: Remove once Godot 3.1 has been released
float Color::gray() const {
+ ERR_EXPLAIN("Color.gray() is deprecated and will be removed in a future version. Use Color.get_v() for a better grayscale approximation.");
+ WARN_DEPRECATED
return (r + g + b) / 3.0;
}
diff --git a/core/color.h b/core/color.h
index c0516e55fe..00f4c9e9e8 100644
--- a/core/color.h
+++ b/core/color.h
@@ -195,6 +195,7 @@ struct Color {
static Color named(const String &p_name);
String to_html(bool p_alpha = true) const;
Color from_hsv(float p_h, float p_s, float p_v, float p_a);
+ static Color from_rgbe9995(uint32_t p_color);
_FORCE_INLINE_ bool operator<(const Color &p_color) const; //used in set keys
operator String() const;
diff --git a/core/compressed_translation.cpp b/core/compressed_translation.cpp
index 5c1fd26e2a..46df63066b 100644
--- a/core/compressed_translation.cpp
+++ b/core/compressed_translation.cpp
@@ -50,7 +50,6 @@ void PHashTranslation::generate(const Ref<Translation> &p_from) {
int size = Math::larger_prime(keys.size());
- print_line("compressing keys: " + itos(keys.size()));
Vector<Vector<Pair<int, CharString> > > buckets;
Vector<Map<uint32_t, int> > table;
Vector<uint32_t> hfunc_table;
@@ -107,7 +106,6 @@ void PHashTranslation::generate(const Ref<Translation> &p_from) {
}
int bucket_table_size = 0;
- print_line("total compressed string size: " + itos(total_compression_size) + " (" + itos(total_string_size) + " uncompressed).");
for (int i = 0; i < size; i++) {
@@ -117,8 +115,6 @@ void PHashTranslation::generate(const Ref<Translation> &p_from) {
if (b.size() == 0)
continue;
- //print_line("bucket: "+itos(i)+" - elements: "+itos(b.size()));
-
int d = 1;
int item = 0;
@@ -140,9 +136,6 @@ void PHashTranslation::generate(const Ref<Translation> &p_from) {
bucket_table_size += 2 + b.size() * 4;
}
- print_line("bucket table size: " + itos(bucket_table_size * 4));
- print_line("hash table size: " + itos(size * 4));
-
hash_table.resize(size);
bucket_table.resize(bucket_table_size);
@@ -178,8 +171,6 @@ void PHashTranslation::generate(const Ref<Translation> &p_from) {
}
}
- print_line("total collisions: " + itos(collisions));
-
strings.resize(total_compression_size);
PoolVector<uint8_t>::Write cw = strings.write();
@@ -198,15 +189,11 @@ bool PHashTranslation::_set(const StringName &p_name, const Variant &p_value) {
String name = p_name.operator String();
if (name == "hash_table") {
hash_table = p_value;
- //print_line("translation: loaded hash table of size: "+itos(hash_table.size()));
} else if (name == "bucket_table") {
bucket_table = p_value;
- //print_line("translation: loaded bucket table of size: "+itos(bucket_table.size()));
} else if (name == "strings") {
strings = p_value;
- //print_line("translation: loaded string table of size: "+itos(strings.size()));
} else if (name == "load_from") {
- //print_line("generating");
generate(p_value);
} else
return false;
@@ -248,11 +235,7 @@ StringName PHashTranslation::get_message(const StringName &p_src_text) const {
uint32_t p = htptr[h % htsize];
- //print_line("String: "+p_src_text.operator String());
- //print_line("Hash: "+itos(p));
-
if (p == 0xFFFFFFFF) {
- //print_line("GETMSG: Nothing!");
return StringName(); //nothing
}
@@ -271,9 +254,7 @@ StringName PHashTranslation::get_message(const StringName &p_src_text) const {
}
}
- //print_line("bucket pos: "+itos(idx));
if (idx == -1) {
- //print_line("GETMSG: Not in Bucket!");
return StringName();
}
@@ -281,8 +262,6 @@ StringName PHashTranslation::get_message(const StringName &p_src_text) const {
String rstr;
rstr.parse_utf8(&sptr[bucket.elem[idx].str_offset], bucket.elem[idx].uncomp_size);
- //print_line("Uncompressed, size: "+itos(bucket.elem[idx].comp_size));
- //print_line("Return: "+rstr);
return rstr;
} else {
@@ -292,8 +271,6 @@ StringName PHashTranslation::get_message(const StringName &p_src_text) const {
smaz_decompress(&sptr[bucket.elem[idx].str_offset], bucket.elem[idx].comp_size, uncomp.ptrw(), bucket.elem[idx].uncomp_size);
String rstr;
rstr.parse_utf8(uncomp.get_data());
- //print_line("Compressed, size: "+itos(bucket.elem[idx].comp_size));
- //print_line("Return: "+rstr);
return rstr;
}
}
diff --git a/core/global_constants.cpp b/core/global_constants.cpp
index 187813f9d0..962881e720 100644
--- a/core/global_constants.cpp
+++ b/core/global_constants.cpp
@@ -532,6 +532,7 @@ void register_global_constants() {
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_GLOBAL_DIR);
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_RESOURCE_TYPE);
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_MULTILINE_TEXT);
+ BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_PLACEHOLDER_TEXT);
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_COLOR_NO_ALPHA);
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_IMAGE_COMPRESS_LOSSY);
BIND_GLOBAL_ENUM_CONSTANT(PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS);
diff --git a/core/image.cpp b/core/image.cpp
index c94f2c3534..7778169995 100644
--- a/core/image.cpp
+++ b/core/image.cpp
@@ -37,6 +37,7 @@
#include "print_string.h"
#include "io/resource_loader.h"
+#include "math_funcs.h"
#include "thirdparty/misc/hq2x.h"
#include <stdio.h>
@@ -525,7 +526,7 @@ static double _bicubic_interp_kernel(double x) {
return bc;
}
-template <int CC>
+template <int CC, class T>
static void _scale_cubic(const uint8_t *__restrict p_src, uint8_t *__restrict p_dst, uint32_t p_src_width, uint32_t p_src_height, uint32_t p_dst_width, uint32_t p_dst_height) {
// get source image size
@@ -556,7 +557,7 @@ static void _scale_cubic(const uint8_t *__restrict p_src, uint8_t *__restrict p_
// initial pixel value
- uint8_t *__restrict dst = p_dst + (y * p_dst_width + x) * CC;
+ T *__restrict dst = ((T *)p_dst) + (y * p_dst_width + x) * CC;
double color[CC];
for (int i = 0; i < CC; i++) {
@@ -584,23 +585,32 @@ static void _scale_cubic(const uint8_t *__restrict p_src, uint8_t *__restrict p_
ox2 = xmax;
// get pixel of original image
- const uint8_t *__restrict p = p_src + (oy2 * p_src_width + ox2) * CC;
+ const T *__restrict p = ((T *)p_src) + (oy2 * p_src_width + ox2) * CC;
for (int i = 0; i < CC; i++) {
-
- color[i] += p[i] * k2;
+ if (sizeof(T) == 2) { //half float
+ color[i] = Math::half_to_float(p[i]);
+ } else {
+ color[i] += p[i] * k2;
+ }
}
}
}
for (int i = 0; i < CC; i++) {
- dst[i] = CLAMP(Math::fast_ftoi(color[i]), 0, 255);
+ if (sizeof(T) == 1) { //byte
+ dst[i] = CLAMP(Math::fast_ftoi(color[i]), 0, 255);
+ } else if (sizeof(T) == 2) { //half float
+ dst[i] = Math::make_half_float(color[i]);
+ } else {
+ dst[i] = color[i];
+ }
}
}
}
}
-template <int CC>
+template <int CC, class T>
static void _scale_bilinear(const uint8_t *__restrict p_src, uint8_t *__restrict p_dst, uint32_t p_src_width, uint32_t p_src_height, uint32_t p_dst_width, uint32_t p_dst_height) {
enum {
@@ -640,22 +650,58 @@ static void _scale_bilinear(const uint8_t *__restrict p_src, uint8_t *__restrict
for (uint32_t l = 0; l < CC; l++) {
- uint32_t p00 = p_src[y_ofs_up + src_xofs_left + l] << FRAC_BITS;
- uint32_t p10 = p_src[y_ofs_up + src_xofs_right + l] << FRAC_BITS;
- uint32_t p01 = p_src[y_ofs_down + src_xofs_left + l] << FRAC_BITS;
- uint32_t p11 = p_src[y_ofs_down + src_xofs_right + l] << FRAC_BITS;
-
- uint32_t interp_up = p00 + (((p10 - p00) * src_xofs_frac) >> FRAC_BITS);
- uint32_t interp_down = p01 + (((p11 - p01) * src_xofs_frac) >> FRAC_BITS);
- uint32_t interp = interp_up + (((interp_down - interp_up) * src_yofs_frac) >> FRAC_BITS);
- interp >>= FRAC_BITS;
- p_dst[i * p_dst_width * CC + j * CC + l] = interp;
+ if (sizeof(T) == 1) { //uint8
+ uint32_t p00 = p_src[y_ofs_up + src_xofs_left + l] << FRAC_BITS;
+ uint32_t p10 = p_src[y_ofs_up + src_xofs_right + l] << FRAC_BITS;
+ uint32_t p01 = p_src[y_ofs_down + src_xofs_left + l] << FRAC_BITS;
+ uint32_t p11 = p_src[y_ofs_down + src_xofs_right + l] << FRAC_BITS;
+
+ uint32_t interp_up = p00 + (((p10 - p00) * src_xofs_frac) >> FRAC_BITS);
+ uint32_t interp_down = p01 + (((p11 - p01) * src_xofs_frac) >> FRAC_BITS);
+ uint32_t interp = interp_up + (((interp_down - interp_up) * src_yofs_frac) >> FRAC_BITS);
+ interp >>= FRAC_BITS;
+ p_dst[i * p_dst_width * CC + j * CC + l] = interp;
+ } else if (sizeof(T) == 2) { //half float
+
+ float xofs_frac = float(src_xofs_frac) / (1 << FRAC_BITS);
+ float yofs_frac = float(src_yofs_frac) / (1 << FRAC_BITS);
+ const T *src = ((const T *)p_src);
+ T *dst = ((T *)p_dst);
+
+ float p00 = Math::half_to_float(src[y_ofs_up + src_xofs_left + l]);
+ float p10 = Math::half_to_float(src[y_ofs_up + src_xofs_right + l]);
+ float p01 = Math::half_to_float(src[y_ofs_down + src_xofs_left + l]);
+ float p11 = Math::half_to_float(src[y_ofs_down + src_xofs_right + l]);
+
+ float interp_up = p00 + (p10 - p00) * xofs_frac;
+ float interp_down = p01 + (p11 - p01) * xofs_frac;
+ float interp = interp_up + ((interp_down - interp_up) * yofs_frac);
+
+ dst[i * p_dst_width * CC + j * CC + l] = Math::make_half_float(interp);
+ } else if (sizeof(T) == 4) { //float
+
+ float xofs_frac = float(src_xofs_frac) / (1 << FRAC_BITS);
+ float yofs_frac = float(src_yofs_frac) / (1 << FRAC_BITS);
+ const T *src = ((const T *)p_src);
+ T *dst = ((T *)p_dst);
+
+ float p00 = src[y_ofs_up + src_xofs_left + l];
+ float p10 = src[y_ofs_up + src_xofs_right + l];
+ float p01 = src[y_ofs_down + src_xofs_left + l];
+ float p11 = src[y_ofs_down + src_xofs_right + l];
+
+ float interp_up = p00 + (p10 - p00) * xofs_frac;
+ float interp_down = p01 + (p11 - p01) * xofs_frac;
+ float interp = interp_up + ((interp_down - interp_up) * yofs_frac);
+
+ dst[i * p_dst_width * CC + j * CC + l] = interp;
+ }
}
}
}
}
-template <int CC>
+template <int CC, class T>
static void _scale_nearest(const uint8_t *__restrict p_src, uint8_t *__restrict p_dst, uint32_t p_src_width, uint32_t p_src_height, uint32_t p_dst_width, uint32_t p_dst_height) {
for (uint32_t i = 0; i < p_dst_height; i++) {
@@ -670,8 +716,11 @@ static void _scale_nearest(const uint8_t *__restrict p_src, uint8_t *__restrict
for (uint32_t l = 0; l < CC; l++) {
- uint32_t p = p_src[y_ofs + src_xofs + l];
- p_dst[i * p_dst_width * CC + j * CC + l] = p;
+ const T *src = ((const T *)p_src);
+ T *dst = ((T *)p_dst);
+
+ T p = src[y_ofs + src_xofs + l];
+ dst[i * p_dst_width * CC + j * CC + l] = p;
}
}
}
@@ -766,12 +815,30 @@ void Image::resize(int p_width, int p_height, Interpolation p_interpolation) {
case INTERPOLATE_NEAREST: {
- switch (get_format_pixel_size(format)) {
- case 1: _scale_nearest<1>(r_ptr, w_ptr, width, height, p_width, p_height); break;
- case 2: _scale_nearest<2>(r_ptr, w_ptr, width, height, p_width, p_height); break;
- case 3: _scale_nearest<3>(r_ptr, w_ptr, width, height, p_width, p_height); break;
- case 4: _scale_nearest<4>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ if (format >= FORMAT_L8 && format <= FORMAT_RGBA8) {
+ switch (get_format_pixel_size(format)) {
+ case 1: _scale_nearest<1, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 2: _scale_nearest<2, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 3: _scale_nearest<3, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 4: _scale_nearest<4, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ }
+ } else if (format >= FORMAT_RF && format <= FORMAT_RGBAF) {
+ switch (get_format_pixel_size(format)) {
+ case 4: _scale_nearest<1, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 8: _scale_nearest<2, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 12: _scale_nearest<3, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 16: _scale_nearest<4, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ }
+
+ } else if (format >= FORMAT_RH && format <= FORMAT_RGBAH) {
+ switch (get_format_pixel_size(format)) {
+ case 2: _scale_nearest<1, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 4: _scale_nearest<2, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 6: _scale_nearest<3, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 8: _scale_nearest<4, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ }
}
+
} break;
case INTERPOLATE_BILINEAR:
case INTERPOLATE_TRILINEAR: {
@@ -812,11 +879,27 @@ void Image::resize(int p_width, int p_height, Interpolation p_interpolation) {
}
}
- switch (get_format_pixel_size(format)) {
- case 1: _scale_bilinear<1>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
- case 2: _scale_bilinear<2>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
- case 3: _scale_bilinear<3>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
- case 4: _scale_bilinear<4>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ if (format >= FORMAT_L8 && format <= FORMAT_RGBA8) {
+ switch (get_format_pixel_size(format)) {
+ case 1: _scale_bilinear<1, uint8_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 2: _scale_bilinear<2, uint8_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 3: _scale_bilinear<3, uint8_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 4: _scale_bilinear<4, uint8_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ }
+ } else if (format >= FORMAT_RF && format <= FORMAT_RGBAF) {
+ switch (get_format_pixel_size(format)) {
+ case 4: _scale_bilinear<1, float>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 8: _scale_bilinear<2, float>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 12: _scale_bilinear<3, float>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 16: _scale_bilinear<4, float>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ }
+ } else if (format >= FORMAT_RH && format <= FORMAT_RGBAH) {
+ switch (get_format_pixel_size(format)) {
+ case 2: _scale_bilinear<1, uint16_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 4: _scale_bilinear<2, uint16_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 6: _scale_bilinear<3, uint16_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ case 8: _scale_bilinear<4, uint16_t>(src_ptr, w_ptr, src_width, src_height, p_width, p_height); break;
+ }
}
}
@@ -829,13 +912,28 @@ void Image::resize(int p_width, int p_height, Interpolation p_interpolation) {
} break;
case INTERPOLATE_CUBIC: {
- switch (get_format_pixel_size(format)) {
- case 1: _scale_cubic<1>(r_ptr, w_ptr, width, height, p_width, p_height); break;
- case 2: _scale_cubic<2>(r_ptr, w_ptr, width, height, p_width, p_height); break;
- case 3: _scale_cubic<3>(r_ptr, w_ptr, width, height, p_width, p_height); break;
- case 4: _scale_cubic<4>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ if (format >= FORMAT_L8 && format <= FORMAT_RGBA8) {
+ switch (get_format_pixel_size(format)) {
+ case 1: _scale_cubic<1, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 2: _scale_cubic<2, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 3: _scale_cubic<3, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 4: _scale_cubic<4, uint8_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ }
+ } else if (format >= FORMAT_RF && format <= FORMAT_RGBAF) {
+ switch (get_format_pixel_size(format)) {
+ case 4: _scale_cubic<1, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 8: _scale_cubic<2, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 12: _scale_cubic<3, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 16: _scale_cubic<4, float>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ }
+ } else if (format >= FORMAT_RH && format <= FORMAT_RGBAH) {
+ switch (get_format_pixel_size(format)) {
+ case 2: _scale_cubic<1, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 4: _scale_cubic<2, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 6: _scale_cubic<3, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ case 8: _scale_cubic<4, uint16_t>(r_ptr, w_ptr, width, height, p_width, p_height); break;
+ }
}
-
} break;
}
@@ -1029,8 +1127,10 @@ bool Image::_can_modify(Format p_format) const {
return p_format <= FORMAT_RGBE9995;
}
-template <int CC, bool renormalize>
-static void _generate_po2_mipmap(const uint8_t *p_src, uint8_t *p_dst, uint32_t p_width, uint32_t p_height) {
+template <class Component, int CC, bool renormalize,
+ void (*average_func)(Component &, const Component &, const Component &, const Component &, const Component &),
+ void (*renormalize_func)(Component *)>
+static void _generate_po2_mipmap(const Component *p_src, Component *p_dst, uint32_t p_width, uint32_t p_height) {
//fast power of 2 mipmap generation
uint32_t dst_w = p_width >> 1;
@@ -1038,34 +1138,19 @@ static void _generate_po2_mipmap(const uint8_t *p_src, uint8_t *p_dst, uint32_t
for (uint32_t i = 0; i < dst_h; i++) {
- const uint8_t *rup_ptr = &p_src[i * 2 * p_width * CC];
- const uint8_t *rdown_ptr = rup_ptr + p_width * CC;
- uint8_t *dst_ptr = &p_dst[i * dst_w * CC];
+ const Component *rup_ptr = &p_src[i * 2 * p_width * CC];
+ const Component *rdown_ptr = rup_ptr + p_width * CC;
+ Component *dst_ptr = &p_dst[i * dst_w * CC];
uint32_t count = dst_w;
while (count--) {
for (int j = 0; j < CC; j++) {
-
- uint16_t val = 0;
- val += rup_ptr[j];
- val += rup_ptr[j + CC];
- val += rdown_ptr[j];
- val += rdown_ptr[j + CC];
- dst_ptr[j] = val >> 2;
+ average_func(dst_ptr[j], rup_ptr[j], rup_ptr[j + CC], rdown_ptr[j], rdown_ptr[j + CC]);
}
if (renormalize) {
- Vector3 n(dst_ptr[0] / 255.0, dst_ptr[1] / 255.0, dst_ptr[2] / 255.0);
- n *= 2.0;
- n -= Vector3(1, 1, 1);
- n.normalize();
- n += Vector3(1, 1, 1);
- n *= 0.5;
- n *= 255;
- dst_ptr[0] = CLAMP(int(n.x), 0, 255);
- dst_ptr[1] = CLAMP(int(n.y), 0, 255);
- dst_ptr[2] = CLAMP(int(n.z), 0, 255);
+ renormalize_func(dst_ptr);
}
dst_ptr += CC;
@@ -1150,11 +1235,23 @@ void Image::shrink_x2() {
switch (format) {
case FORMAT_L8:
- case FORMAT_R8: _generate_po2_mipmap<1, false>(r.ptr(), w.ptr(), width, height); break;
- case FORMAT_LA8: _generate_po2_mipmap<2, false>(r.ptr(), w.ptr(), width, height); break;
- case FORMAT_RG8: _generate_po2_mipmap<2, false>(r.ptr(), w.ptr(), width, height); break;
- case FORMAT_RGB8: _generate_po2_mipmap<3, false>(r.ptr(), w.ptr(), width, height); break;
- case FORMAT_RGBA8: _generate_po2_mipmap<4, false>(r.ptr(), w.ptr(), width, height); break;
+ case FORMAT_R8: _generate_po2_mipmap<uint8_t, 1, false, Image::average_4_uint8, Image::renormalize_uint8>(r.ptr(), w.ptr(), width, height); break;
+ case FORMAT_LA8: _generate_po2_mipmap<uint8_t, 2, false, Image::average_4_uint8, Image::renormalize_uint8>(r.ptr(), w.ptr(), width, height); break;
+ case FORMAT_RG8: _generate_po2_mipmap<uint8_t, 2, false, Image::average_4_uint8, Image::renormalize_uint8>(r.ptr(), w.ptr(), width, height); break;
+ case FORMAT_RGB8: _generate_po2_mipmap<uint8_t, 3, false, Image::average_4_uint8, Image::renormalize_uint8>(r.ptr(), w.ptr(), width, height); break;
+ case FORMAT_RGBA8: _generate_po2_mipmap<uint8_t, 4, false, Image::average_4_uint8, Image::renormalize_uint8>(r.ptr(), w.ptr(), width, height); break;
+
+ case FORMAT_RF: _generate_po2_mipmap<float, 1, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(r.ptr()), reinterpret_cast<float *>(w.ptr()), width, height); break;
+ case FORMAT_RGF: _generate_po2_mipmap<float, 2, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(r.ptr()), reinterpret_cast<float *>(w.ptr()), width, height); break;
+ case FORMAT_RGBF: _generate_po2_mipmap<float, 3, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(r.ptr()), reinterpret_cast<float *>(w.ptr()), width, height); break;
+ case FORMAT_RGBAF: _generate_po2_mipmap<float, 4, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(r.ptr()), reinterpret_cast<float *>(w.ptr()), width, height); break;
+
+ case FORMAT_RH: _generate_po2_mipmap<uint16_t, 1, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(r.ptr()), reinterpret_cast<uint16_t *>(w.ptr()), width, height); break;
+ case FORMAT_RGH: _generate_po2_mipmap<uint16_t, 2, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(r.ptr()), reinterpret_cast<uint16_t *>(w.ptr()), width, height); break;
+ case FORMAT_RGBH: _generate_po2_mipmap<uint16_t, 3, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(r.ptr()), reinterpret_cast<uint16_t *>(w.ptr()), width, height); break;
+ case FORMAT_RGBAH: _generate_po2_mipmap<uint16_t, 4, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(r.ptr()), reinterpret_cast<uint16_t *>(w.ptr()), width, height); break;
+
+ case FORMAT_RGBE9995: _generate_po2_mipmap<uint32_t, 1, false, Image::average_4_rgbe9995, Image::renormalize_rgbe9995>(reinterpret_cast<const uint32_t *>(r.ptr()), reinterpret_cast<uint32_t *>(w.ptr()), width, height); break;
default: {}
}
}
@@ -1224,21 +1321,68 @@ Error Image::generate_mipmaps(bool p_renormalize) {
switch (format) {
case FORMAT_L8:
- case FORMAT_R8: _generate_po2_mipmap<1, false>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h); break;
+ case FORMAT_R8: _generate_po2_mipmap<uint8_t, 1, false, Image::average_4_uint8, Image::renormalize_uint8>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h); break;
case FORMAT_LA8:
- case FORMAT_RG8: _generate_po2_mipmap<2, false>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h); break;
+ case FORMAT_RG8: _generate_po2_mipmap<uint8_t, 2, false, Image::average_4_uint8, Image::renormalize_uint8>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h); break;
case FORMAT_RGB8:
if (p_renormalize)
- _generate_po2_mipmap<3, true>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
+ _generate_po2_mipmap<uint8_t, 3, true, Image::average_4_uint8, Image::renormalize_uint8>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
else
- _generate_po2_mipmap<3, false>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
+ _generate_po2_mipmap<uint8_t, 3, false, Image::average_4_uint8, Image::renormalize_uint8>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
break;
case FORMAT_RGBA8:
if (p_renormalize)
- _generate_po2_mipmap<4, true>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
+ _generate_po2_mipmap<uint8_t, 4, true, Image::average_4_uint8, Image::renormalize_uint8>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
+ else
+ _generate_po2_mipmap<uint8_t, 4, false, Image::average_4_uint8, Image::renormalize_uint8>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
+ break;
+ case FORMAT_RF:
+ _generate_po2_mipmap<float, 1, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(&wp[prev_ofs]), reinterpret_cast<float *>(&wp[ofs]), prev_w, prev_h);
+ break;
+ case FORMAT_RGF:
+ _generate_po2_mipmap<float, 2, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(&wp[prev_ofs]), reinterpret_cast<float *>(&wp[ofs]), prev_w, prev_h);
+ break;
+ case FORMAT_RGBF:
+ if (p_renormalize)
+ _generate_po2_mipmap<float, 3, true, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(&wp[prev_ofs]), reinterpret_cast<float *>(&wp[ofs]), prev_w, prev_h);
+ else
+ _generate_po2_mipmap<float, 3, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(&wp[prev_ofs]), reinterpret_cast<float *>(&wp[ofs]), prev_w, prev_h);
+
+ break;
+ case FORMAT_RGBAF:
+ if (p_renormalize)
+ _generate_po2_mipmap<float, 4, true, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(&wp[prev_ofs]), reinterpret_cast<float *>(&wp[ofs]), prev_w, prev_h);
+ else
+ _generate_po2_mipmap<float, 4, false, Image::average_4_float, Image::renormalize_float>(reinterpret_cast<const float *>(&wp[prev_ofs]), reinterpret_cast<float *>(&wp[ofs]), prev_w, prev_h);
+
+ break;
+ case FORMAT_RH:
+ _generate_po2_mipmap<uint16_t, 1, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(&wp[prev_ofs]), reinterpret_cast<uint16_t *>(&wp[ofs]), prev_w, prev_h);
+ break;
+ case FORMAT_RGH:
+ _generate_po2_mipmap<uint16_t, 2, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(&wp[prev_ofs]), reinterpret_cast<uint16_t *>(&wp[ofs]), prev_w, prev_h);
+ break;
+ case FORMAT_RGBH:
+ if (p_renormalize)
+ _generate_po2_mipmap<uint16_t, 3, true, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(&wp[prev_ofs]), reinterpret_cast<uint16_t *>(&wp[ofs]), prev_w, prev_h);
else
- _generate_po2_mipmap<4, false>(&wp[prev_ofs], &wp[ofs], prev_w, prev_h);
+ _generate_po2_mipmap<uint16_t, 3, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(&wp[prev_ofs]), reinterpret_cast<uint16_t *>(&wp[ofs]), prev_w, prev_h);
+
+ break;
+ case FORMAT_RGBAH:
+ if (p_renormalize)
+ _generate_po2_mipmap<uint16_t, 4, true, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(&wp[prev_ofs]), reinterpret_cast<uint16_t *>(&wp[ofs]), prev_w, prev_h);
+ else
+ _generate_po2_mipmap<uint16_t, 4, false, Image::average_4_half, Image::renormalize_half>(reinterpret_cast<const uint16_t *>(&wp[prev_ofs]), reinterpret_cast<uint16_t *>(&wp[ofs]), prev_w, prev_h);
+
+ break;
+ case FORMAT_RGBE9995:
+ if (p_renormalize)
+ _generate_po2_mipmap<uint32_t, 1, true, Image::average_4_rgbe9995, Image::renormalize_rgbe9995>(reinterpret_cast<const uint32_t *>(&wp[prev_ofs]), reinterpret_cast<uint32_t *>(&wp[ofs]), prev_w, prev_h);
+ else
+ _generate_po2_mipmap<uint32_t, 1, false, Image::average_4_rgbe9995, Image::renormalize_rgbe9995>(reinterpret_cast<const uint32_t *>(&wp[prev_ofs]), reinterpret_cast<uint32_t *>(&wp[ofs]), prev_w, prev_h);
+
break;
default: {}
}
@@ -1617,8 +1761,10 @@ bool Image::is_compressed() const {
Error Image::decompress() {
- if (format >= FORMAT_DXT1 && format <= FORMAT_BPTC_RGBFU && _image_decompress_bc)
+ if (format >= FORMAT_DXT1 && format <= FORMAT_RGTC_RG && _image_decompress_bc)
_image_decompress_bc(this);
+ else if (format >= FORMAT_BPTC_RGBA && format <= FORMAT_BPTC_RGBFU && _image_decompress_bptc)
+ _image_decompress_bptc(this);
else if (format >= FORMAT_PVRTC2 && format <= FORMAT_PVRTC4A && _image_decompress_pvrtc)
_image_decompress_pvrtc(this);
else if (format == FORMAT_ETC && _image_decompress_etc1)
@@ -1637,7 +1783,7 @@ Error Image::compress(CompressMode p_mode, CompressSource p_source, float p_loss
case COMPRESS_S3TC: {
ERR_FAIL_COND_V(!_image_compress_bc_func, ERR_UNAVAILABLE);
- _image_compress_bc_func(this, p_source);
+ _image_compress_bc_func(this, p_lossy_quality, p_source);
} break;
case COMPRESS_PVRTC2: {
@@ -1659,6 +1805,11 @@ Error Image::compress(CompressMode p_mode, CompressSource p_source, float p_loss
ERR_FAIL_COND_V(!_image_compress_etc2_func, ERR_UNAVAILABLE);
_image_compress_etc2_func(this, p_lossy_quality, p_source);
} break;
+ case COMPRESS_BPTC: {
+
+ ERR_FAIL_COND_V(!_image_compress_bptc_func, ERR_UNAVAILABLE);
+ _image_compress_bptc_func(this, p_lossy_quality, p_source);
+ } break;
}
return OK;
@@ -1995,13 +2146,15 @@ ImageMemLoadFunc Image::_png_mem_loader_func = NULL;
ImageMemLoadFunc Image::_jpg_mem_loader_func = NULL;
ImageMemLoadFunc Image::_webp_mem_loader_func = NULL;
-void (*Image::_image_compress_bc_func)(Image *, Image::CompressSource) = NULL;
+void (*Image::_image_compress_bc_func)(Image *, float, Image::CompressSource) = NULL;
+void (*Image::_image_compress_bptc_func)(Image *, float, Image::CompressSource) = NULL;
void (*Image::_image_compress_pvrtc2_func)(Image *) = NULL;
void (*Image::_image_compress_pvrtc4_func)(Image *) = NULL;
void (*Image::_image_compress_etc1_func)(Image *, float) = NULL;
void (*Image::_image_compress_etc2_func)(Image *, float, Image::CompressSource) = NULL;
void (*Image::_image_decompress_pvrtc)(Image *) = NULL;
void (*Image::_image_decompress_bc)(Image *) = NULL;
+void (*Image::_image_decompress_bptc)(Image *) = NULL;
void (*Image::_image_decompress_etc1)(Image *) = NULL;
void (*Image::_image_decompress_etc2)(Image *) = NULL;
@@ -2185,18 +2338,7 @@ Color Image::get_pixel(int p_x, int p_y) const {
return Color(Math::half_to_float(r), Math::half_to_float(g), Math::half_to_float(b), Math::half_to_float(a));
} break;
case FORMAT_RGBE9995: {
- uint32_t rgbe = ((uint32_t *)ptr)[ofs];
- float r = rgbe & 0x1ff;
- float g = (rgbe >> 9) & 0x1ff;
- float b = (rgbe >> 18) & 0x1ff;
- float e = (rgbe >> 27);
- float m = Math::pow(2, e - 15.0 - 9.0);
- ;
- float rd = r * m;
- float gd = g * m;
- float bd = b * m;
-
- return Color(rd, gd, bd, 1.0);
+ return Color::from_rgbe9995(((uint32_t *)ptr)[ofs]);
} break;
default: {
@@ -2230,10 +2372,10 @@ void Image::set_pixel(int p_x, int p_y, const Color &p_color) {
switch (format) {
case FORMAT_L8: {
- ptr[ofs] = uint8_t(CLAMP(p_color.gray() * 255.0, 0, 255));
+ ptr[ofs] = uint8_t(CLAMP(p_color.get_v() * 255.0, 0, 255));
} break;
case FORMAT_LA8: {
- ptr[ofs * 2 + 0] = uint8_t(CLAMP(p_color.gray() * 255.0, 0, 255));
+ ptr[ofs * 2 + 0] = uint8_t(CLAMP(p_color.get_v() * 255.0, 0, 255));
ptr[ofs * 2 + 1] = uint8_t(CLAMP(p_color.a * 255.0, 0, 255));
} break;
case FORMAT_R8: {
@@ -2525,11 +2667,16 @@ void Image::_bind_methods() {
BIND_ENUM_CONSTANT(COMPRESS_SOURCE_NORMAL);
}
-void Image::set_compress_bc_func(void (*p_compress_func)(Image *, CompressSource)) {
+void Image::set_compress_bc_func(void (*p_compress_func)(Image *, float, CompressSource)) {
_image_compress_bc_func = p_compress_func;
}
+void Image::set_compress_bptc_func(void (*p_compress_func)(Image *, float, CompressSource)) {
+
+ _image_compress_bptc_func = p_compress_func;
+}
+
void Image::normalmap_to_xy() {
convert(Image::FORMAT_RGBA8);
@@ -2783,6 +2930,55 @@ Error Image::_load_from_buffer(const PoolVector<uint8_t> &p_array, ImageMemLoadF
return OK;
}
+void Image::average_4_uint8(uint8_t &p_out, const uint8_t &p_a, const uint8_t &p_b, const uint8_t &p_c, const uint8_t &p_d) {
+ p_out = static_cast<uint8_t>((p_a + p_b + p_c + p_d + 2) >> 2);
+}
+
+void Image::average_4_float(float &p_out, const float &p_a, const float &p_b, const float &p_c, const float &p_d) {
+ p_out = (p_a + p_b + p_c + p_d) * 0.25f;
+}
+
+void Image::average_4_half(uint16_t &p_out, const uint16_t &p_a, const uint16_t &p_b, const uint16_t &p_c, const uint16_t &p_d) {
+ p_out = Math::make_half_float((Math::half_to_float(p_a) + Math::half_to_float(p_b) + Math::half_to_float(p_c) + Math::half_to_float(p_d)) * 0.25f);
+}
+
+void Image::average_4_rgbe9995(uint32_t &p_out, const uint32_t &p_a, const uint32_t &p_b, const uint32_t &p_c, const uint32_t &p_d) {
+ p_out = ((Color::from_rgbe9995(p_a) + Color::from_rgbe9995(p_b) + Color::from_rgbe9995(p_c) + Color::from_rgbe9995(p_d)) * 0.25f).to_rgbe9995();
+}
+
+void Image::renormalize_uint8(uint8_t *p_rgb) {
+ Vector3 n(p_rgb[0] / 255.0, p_rgb[1] / 255.0, p_rgb[2] / 255.0);
+ n *= 2.0;
+ n -= Vector3(1, 1, 1);
+ n.normalize();
+ n += Vector3(1, 1, 1);
+ n *= 0.5;
+ n *= 255;
+ p_rgb[0] = CLAMP(int(n.x), 0, 255);
+ p_rgb[1] = CLAMP(int(n.y), 0, 255);
+ p_rgb[2] = CLAMP(int(n.z), 0, 255);
+}
+
+void Image::renormalize_float(float *p_rgb) {
+ Vector3 n(p_rgb[0], p_rgb[1], p_rgb[2]);
+ n.normalize();
+ p_rgb[0] = n.x;
+ p_rgb[1] = n.y;
+ p_rgb[2] = n.z;
+}
+
+void Image::renormalize_half(uint16_t *p_rgb) {
+ Vector3 n(Math::half_to_float(p_rgb[0]), Math::half_to_float(p_rgb[1]), Math::half_to_float(p_rgb[2]));
+ n.normalize();
+ p_rgb[0] = Math::make_half_float(n.x);
+ p_rgb[1] = Math::make_half_float(n.y);
+ p_rgb[2] = Math::make_half_float(n.z);
+}
+
+void Image::renormalize_rgbe9995(uint32_t *p_rgb) {
+ // Never used
+}
+
Image::Image(const uint8_t *p_mem_png_jpg, int p_len) {
width = 0;
diff --git a/core/image.h b/core/image.h
index c450e88290..6af55ca8d9 100644
--- a/core/image.h
+++ b/core/image.h
@@ -126,7 +126,8 @@ public:
static ImageMemLoadFunc _jpg_mem_loader_func;
static ImageMemLoadFunc _webp_mem_loader_func;
- static void (*_image_compress_bc_func)(Image *, CompressSource p_source);
+ static void (*_image_compress_bc_func)(Image *, float, CompressSource p_source);
+ static void (*_image_compress_bptc_func)(Image *, float p_lossy_quality, CompressSource p_source);
static void (*_image_compress_pvrtc2_func)(Image *);
static void (*_image_compress_pvrtc4_func)(Image *);
static void (*_image_compress_etc1_func)(Image *, float);
@@ -134,6 +135,7 @@ public:
static void (*_image_decompress_pvrtc)(Image *);
static void (*_image_decompress_bc)(Image *);
+ static void (*_image_decompress_bptc)(Image *);
static void (*_image_decompress_etc1)(Image *);
static void (*_image_decompress_etc2)(Image *);
@@ -182,6 +184,15 @@ private:
Error _load_from_buffer(const PoolVector<uint8_t> &p_array, ImageMemLoadFunc p_loader);
+ static void average_4_uint8(uint8_t &p_out, const uint8_t &p_a, const uint8_t &p_b, const uint8_t &p_c, const uint8_t &p_d);
+ static void average_4_float(float &p_out, const float &p_a, const float &p_b, const float &p_c, const float &p_d);
+ static void average_4_half(uint16_t &p_out, const uint16_t &p_a, const uint16_t &p_b, const uint16_t &p_c, const uint16_t &p_d);
+ static void average_4_rgbe9995(uint32_t &p_out, const uint32_t &p_a, const uint32_t &p_b, const uint32_t &p_c, const uint32_t &p_d);
+ static void renormalize_uint8(uint8_t *p_rgb);
+ static void renormalize_float(float *p_rgb);
+ static void renormalize_half(uint16_t *p_rgb);
+ static void renormalize_rgbe9995(uint32_t *p_rgb);
+
public:
int get_width() const; ///< Get image width
int get_height() const; ///< Get image height
@@ -282,6 +293,7 @@ public:
COMPRESS_PVRTC4,
COMPRESS_ETC,
COMPRESS_ETC2,
+ COMPRESS_BPTC
};
Error compress(CompressMode p_mode = COMPRESS_S3TC, CompressSource p_source = COMPRESS_SOURCE_GENERIC, float p_lossy_quality = 0.7);
@@ -304,7 +316,8 @@ public:
Rect2 get_used_rect() const;
Ref<Image> get_rect(const Rect2 &p_area) const;
- static void set_compress_bc_func(void (*p_compress_func)(Image *, CompressSource));
+ static void set_compress_bc_func(void (*p_compress_func)(Image *, float, CompressSource));
+ static void set_compress_bptc_func(void (*p_compress_func)(Image *, float, CompressSource));
static String get_format_name(Format p_format);
Error load_png_from_buffer(const PoolVector<uint8_t> &p_array);
diff --git a/core/input_map.cpp b/core/input_map.cpp
index d33f40cbcf..ffc8a39da5 100644
--- a/core/input_map.cpp
+++ b/core/input_map.cpp
@@ -44,7 +44,7 @@ void InputMap::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_action", "action", "deadzone"), &InputMap::add_action, DEFVAL(0.5f));
ClassDB::bind_method(D_METHOD("erase_action", "action"), &InputMap::erase_action);
- ClassDB::bind_method(D_METHOD("action_set_deadzone", "deadzone"), &InputMap::action_set_deadzone);
+ ClassDB::bind_method(D_METHOD("action_set_deadzone", "action", "deadzone"), &InputMap::action_set_deadzone);
ClassDB::bind_method(D_METHOD("action_add_event", "action", "event"), &InputMap::action_add_event);
ClassDB::bind_method(D_METHOD("action_has_event", "action", "event"), &InputMap::action_has_event);
ClassDB::bind_method(D_METHOD("action_erase_event", "action", "event"), &InputMap::action_erase_event);
diff --git a/core/io/file_access_encrypted.cpp b/core/io/file_access_encrypted.cpp
index bb7a444ccc..812e881114 100644
--- a/core/io/file_access_encrypted.cpp
+++ b/core/io/file_access_encrypted.cpp
@@ -43,7 +43,6 @@
Error FileAccessEncrypted::open_and_parse(FileAccess *p_base, const Vector<uint8_t> &p_key, Mode p_mode) {
- //print_line("open and parse!");
ERR_FAIL_COND_V(file != NULL, ERR_ALREADY_IN_USE);
ERR_FAIL_COND_V(p_key.size() != 32, ERR_INVALID_PARAMETER);
diff --git a/core/io/file_access_network.cpp b/core/io/file_access_network.cpp
index e0a2dbf507..d72d3ca9f1 100644
--- a/core/io/file_access_network.cpp
+++ b/core/io/file_access_network.cpp
@@ -93,8 +93,6 @@ void FileAccessNetworkClient::_thread_func() {
DEBUG_TIME("sem_unlock");
//DEBUG_PRINT("semwait returned "+itos(werr));
DEBUG_PRINT("MUTEX LOCK " + itos(lockcount));
- DEBUG_PRINT("POPO");
- DEBUG_PRINT("PEPE");
lock_mutex();
DEBUG_PRINT("MUTEX PASS");
diff --git a/core/io/file_access_pack.h b/core/io/file_access_pack.h
index 8a40e6d78c..f29e431d9a 100644
--- a/core/io/file_access_pack.h
+++ b/core/io/file_access_pack.h
@@ -175,7 +175,6 @@ public:
FileAccess *PackedData::try_open_path(const String &p_path) {
- //print_line("try open path " + p_path);
PathMD5 pmd5(p_path.md5_buffer());
Map<PathMD5, PackedFile>::Element *E = files.find(pmd5);
if (!E)
diff --git a/core/io/resource_import.cpp b/core/io/resource_import.cpp
index cfe6655504..83e8a40da9 100644
--- a/core/io/resource_import.cpp
+++ b/core/io/resource_import.cpp
@@ -78,7 +78,7 @@ Error ResourceFormatImporter::_get_path_and_type(const String &p_path, PathAndTy
if (assign != String()) {
if (!path_found && assign.begins_with("path.") && r_path_and_type.path == String()) {
String feature = assign.get_slicec('.', 1);
- if (OS::get_singleton()->has_feature(feature)) {
+ if (feature == "fallback" || OS::get_singleton()->has_feature(feature)) {
r_path_and_type.path = value;
path_found = true; //first match must have priority
}
diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp
index 8b0655deb0..c01aff9144 100644
--- a/core/io/resource_loader.cpp
+++ b/core/io/resource_loader.cpp
@@ -204,8 +204,7 @@ RES ResourceLoader::load(const String &p_path, const String &p_type_hint, bool p
if (!p_no_cache && ResourceCache::has(local_path)) {
- if (OS::get_singleton()->is_stdout_verbose())
- print_line("load resource: " + local_path + " (cached)");
+ print_verbose("Loading resource: " + local_path + " (cached)");
if (r_error)
*r_error = OK;
return RES(ResourceCache::get(local_path));
@@ -216,9 +215,7 @@ RES ResourceLoader::load(const String &p_path, const String &p_type_hint, bool p
ERR_FAIL_COND_V(path == "", RES());
- if (OS::get_singleton()->is_stdout_verbose())
- print_line("load resource: " + path);
-
+ print_verbose("Loading resource: " + path);
RES res = _load(path, local_path, p_type_hint, p_no_cache, r_error);
if (res.is_null()) {
@@ -286,9 +283,7 @@ Ref<ResourceInteractiveLoader> ResourceLoader::load_interactive(const String &p_
if (!p_no_cache && ResourceCache::has(local_path)) {
- if (OS::get_singleton()->is_stdout_verbose())
- print_line("load resource: " + local_path + " (cached)");
-
+ print_verbose("Loading resource: " + local_path + " (cached)");
Ref<Resource> res_cached = ResourceCache::get(local_path);
Ref<ResourceInteractiveLoaderDefault> ril = Ref<ResourceInteractiveLoaderDefault>(memnew(ResourceInteractiveLoaderDefault));
@@ -298,14 +293,10 @@ Ref<ResourceInteractiveLoader> ResourceLoader::load_interactive(const String &p_
bool xl_remapped = false;
String path = _path_remap(local_path, &xl_remapped);
-
ERR_FAIL_COND_V(path == "", Ref<ResourceInteractiveLoader>());
-
- if (OS::get_singleton()->is_stdout_verbose())
- print_line("load resource: ");
+ print_verbose("Loading resource: " + path);
bool found = false;
-
for (int i = 0; i < loader_count; i++) {
if (!loader[i]->recognize_path(path, p_type_hint))
diff --git a/core/io/stream_peer_ssl.cpp b/core/io/stream_peer_ssl.cpp
index e7e9662d24..25adb6a6ee 100644
--- a/core/io/stream_peer_ssl.cpp
+++ b/core/io/stream_peer_ssl.cpp
@@ -81,7 +81,7 @@ PoolByteArray StreamPeerSSL::get_project_cert_array() {
memdelete(f);
#ifdef DEBUG_ENABLED
- print_line("Loaded certs from '" + certs_path);
+ print_verbose(vformat("Loaded certs from '%s'.", certs_path));
#endif
}
}
diff --git a/core/math/expression.cpp b/core/math/expression.cpp
index a161dbddba..ba40cb4586 100644
--- a/core/math/expression.cpp
+++ b/core/math/expression.cpp
@@ -177,7 +177,7 @@ int Expression::get_func_argument_count(BuiltinFunc p_func) {
}
void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant *r_return, Variant::CallError &r_error, String &r_error_str) {
-
+ r_error.error = Variant::CallError::CALL_OK;
switch (p_func) {
case MATH_SIN: {
@@ -622,15 +622,12 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant
case TEXT_PRINTERR: {
String str = *p_inputs[0];
-
- //str+="\n";
print_error(str);
} break;
case TEXT_PRINTRAW: {
- String str = *p_inputs[0];
- //str+="\n";
+ String str = *p_inputs[0];
OS::get_singleton()->print("%s", str.utf8().get_data());
} break;
@@ -1916,7 +1913,7 @@ bool Expression::_execute(const Array &p_inputs, Object *p_instance, Expression:
bool valid;
r_ret = base.get_named(index->name, &valid);
if (!valid) {
- r_error_str = vformat(RTR("Invalid named index '%s' for base type "), String(index->name), Variant::get_type_name(base.get_type()));
+ r_error_str = vformat(RTR("Invalid named index '%s' for base type %s"), String(index->name), Variant::get_type_name(base.get_type()));
return true;
}
diff --git a/core/math/geometry.cpp b/core/math/geometry.cpp
index 7ab28daf20..d8cb657b5e 100644
--- a/core/math/geometry.cpp
+++ b/core/math/geometry.cpp
@@ -626,7 +626,6 @@ PoolVector<Face3> Geometry::wrap_geometry(PoolVector<Face3> p_array, real_t *p_e
voxelsize.z /= div_z;
// create and initialize cells to zero
- //print_line("Wrapper: Initializing Cells");
uint8_t ***cell_status = memnew_arr(uint8_t **, div_x);
for (int i = 0; i < div_x; i++) {
@@ -645,7 +644,6 @@ PoolVector<Face3> Geometry::wrap_geometry(PoolVector<Face3> p_array, real_t *p_e
}
// plot faces into cells
- //print_line("Wrapper (1/6): Plotting Faces");
for (int i = 0; i < face_count; i++) {
@@ -659,8 +657,6 @@ PoolVector<Face3> Geometry::wrap_geometry(PoolVector<Face3> p_array, real_t *p_e
// determine which cells connect to the outside by traversing the outside and recursively flood-fill marking
- //print_line("Wrapper (2/6): Flood Filling");
-
for (int i = 0; i < div_x; i++) {
for (int j = 0; j < div_y; j++) {
@@ -690,8 +686,6 @@ PoolVector<Face3> Geometry::wrap_geometry(PoolVector<Face3> p_array, real_t *p_e
// build faces for the inside-outside cell divisors
- //print_line("Wrapper (3/6): Building Faces");
-
PoolVector<Face3> wrapped_faces;
for (int i = 0; i < div_x; i++) {
@@ -705,8 +699,6 @@ PoolVector<Face3> Geometry::wrap_geometry(PoolVector<Face3> p_array, real_t *p_e
}
}
- //print_line("Wrapper (4/6): Transforming Back Vertices");
-
// transform face vertices to global coords
int wrapped_faces_count = wrapped_faces.size();
@@ -724,7 +716,6 @@ PoolVector<Face3> Geometry::wrap_geometry(PoolVector<Face3> p_array, real_t *p_e
}
// clean up grid
- //print_line("Wrapper (5/6): Grid Cleanup");
for (int i = 0; i < div_x; i++) {
@@ -740,7 +731,6 @@ PoolVector<Face3> Geometry::wrap_geometry(PoolVector<Face3> p_array, real_t *p_e
if (p_error)
*p_error = voxelsize.length();
- //print_line("Wrapper (6/6): Finished.");
return wrapped_faces;
}
diff --git a/core/math/quick_hull.cpp b/core/math/quick_hull.cpp
index cb923d264e..9d4f4f66b7 100644
--- a/core/math/quick_hull.cpp
+++ b/core/math/quick_hull.cpp
@@ -62,7 +62,6 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
Vector3 sp = p_points[i].snapped(Vector3(0.0001, 0.0001, 0.0001));
if (valid_cache.has(sp)) {
valid_points.write[i] = false;
- //print_line("INVALIDATED: "+itos(i));
} else {
valid_points.write[i] = true;
valid_cache.insert(sp);
@@ -397,7 +396,6 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
Map<Edge, RetFaceConnect>::Element *F = ret_edges.find(e);
ERR_CONTINUE(!F);
-
List<Geometry::MeshData::Face>::Element *O = F->get().left == E ? F->get().right : F->get().left;
ERR_CONTINUE(O == E);
ERR_CONTINUE(O == NULL);
@@ -426,7 +424,6 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
Edge e2(idx, idxn);
Map<Edge, RetFaceConnect>::Element *F2 = ret_edges.find(e2);
-
ERR_CONTINUE(!F2);
//change faceconnect, point to this face instead
if (F2->get().left == O)
@@ -439,6 +436,15 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
}
}
+ // remove all edge connections to this face
+ for (Map<Edge, RetFaceConnect>::Element *E = ret_edges.front(); E; E = E->next()) {
+ if (E->get().left == O)
+ E->get().left = NULL;
+
+ if (E->get().right == O)
+ E->get().right = NULL;
+ }
+
ret_edges.erase(F); //remove the edge
ret_faces.erase(O); //remove the face
}
@@ -448,7 +454,6 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
//fill mesh
r_mesh.faces.clear();
r_mesh.faces.resize(ret_faces.size());
- //print_line("FACECOUNT: "+itos(r_mesh.faces.size()));
int idx = 0;
for (List<Geometry::MeshData::Face>::Element *E = ret_faces.front(); E; E = E->next()) {
@@ -466,12 +471,5 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
r_mesh.vertices = p_points;
- //r_mesh.optimize_vertices();
- /*
- print_line("FACES: "+itos(r_mesh.faces.size()));
- print_line("EDGES: "+itos(r_mesh.edges.size()));
- print_line("VERTICES: "+itos(r_mesh.vertices.size()));
-*/
-
return OK;
}
diff --git a/core/math/vector2.cpp b/core/math/vector2.cpp
index 75d9b8b311..84c9f0fca6 100644
--- a/core/math/vector2.cpp
+++ b/core/math/vector2.cpp
@@ -122,7 +122,7 @@ Vector2 Vector2::rotated(real_t p_by) const {
}
Vector2 Vector2::project(const Vector2 &p_b) const {
- return p_b * (dot(p_b) / p_b.dot(p_b));
+ return p_b * (dot(p_b) / p_b.length_squared());
}
Vector2 Vector2::snapped(const Vector2 &p_by) const {
diff --git a/core/math/vector3.h b/core/math/vector3.h
index a719e3965d..5f0e8919ff 100644
--- a/core/math/vector3.h
+++ b/core/math/vector3.h
@@ -241,7 +241,7 @@ real_t Vector3::distance_squared_to(const Vector3 &p_b) const {
}
Vector3 Vector3::project(const Vector3 &p_b) const {
- return p_b * (dot(p_b) / p_b.dot(p_b));
+ return p_b * (dot(p_b) / p_b.length_squared());
}
real_t Vector3::angle_to(const Vector3 &p_b) const {
diff --git a/core/message_queue.cpp b/core/message_queue.cpp
index 3adaad868a..97ee236a46 100644
--- a/core/message_queue.cpp
+++ b/core/message_queue.cpp
@@ -50,9 +50,9 @@ Error MessageQueue::push_call(ObjectID p_id, const StringName &p_method, const V
String type;
if (ObjectDB::get_instance(p_id))
type = ObjectDB::get_instance(p_id)->get_class();
- print_line("failed method: " + type + ":" + p_method + " target ID: " + itos(p_id));
+ print_line("Failed method: " + type + ":" + p_method + " target ID: " + itos(p_id));
statistics();
- ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings");
+ ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings.");
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
}
@@ -101,9 +101,9 @@ Error MessageQueue::push_set(ObjectID p_id, const StringName &p_prop, const Vari
String type;
if (ObjectDB::get_instance(p_id))
type = ObjectDB::get_instance(p_id)->get_class();
- print_line("failed set: " + type + ":" + p_prop + " target ID: " + itos(p_id));
+ print_line("Failed set: " + type + ":" + p_prop + " target ID: " + itos(p_id));
statistics();
- ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings");
+ ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings.");
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
}
@@ -134,9 +134,9 @@ Error MessageQueue::push_notification(ObjectID p_id, int p_notification) {
String type;
if (ObjectDB::get_instance(p_id))
type = ObjectDB::get_instance(p_id)->get_class();
- print_line("failed notification: " + itos(p_notification) + " target ID: " + itos(p_id));
+ print_line("Failed notification: " + itos(p_notification) + " target ID: " + itos(p_id));
statistics();
- ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings");
+ ERR_EXPLAIN("Message queue out of memory. Try increasing 'message_queue_size_kb' in project settings.");
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
}
@@ -210,8 +210,7 @@ void MessageQueue::statistics() {
}
//object was deleted
- //WARN_PRINT("Object was deleted while awaiting a callback")
- //should it print a warning?
+ print_line("Object was deleted while awaiting a callback");
} else {
null_count++;
@@ -226,17 +225,14 @@ void MessageQueue::statistics() {
print_line("NULL count: " + itos(null_count));
for (Map<StringName, int>::Element *E = set_count.front(); E; E = E->next()) {
-
print_line("SET " + E->key() + ": " + itos(E->get()));
}
for (Map<StringName, int>::Element *E = call_count.front(); E; E = E->next()) {
-
print_line("CALL " + E->key() + ": " + itos(E->get()));
}
for (Map<int, int>::Element *E = notify_count.front(); E; E = E->next()) {
-
print_line("NOTIFY " + itos(E->key()) + ": " + itos(E->get()));
}
}
@@ -268,7 +264,6 @@ void MessageQueue::flush() {
if (buffer_end > buffer_max_used) {
buffer_max_used = buffer_end;
- //statistics();
}
uint32_t read_pos = 0;
diff --git a/core/oa_hash_map.h b/core/oa_hash_map.h
index 0b3b40f30c..3a17fc21f3 100644
--- a/core/oa_hash_map.h
+++ b/core/oa_hash_map.h
@@ -320,7 +320,7 @@ public:
memdelete_arr(keys);
memdelete_arr(values);
- memdelete(hashes);
+ memdelete_arr(hashes);
}
};
diff --git a/core/object.cpp b/core/object.cpp
index ba8b710a84..e83abaece7 100644
--- a/core/object.cpp
+++ b/core/object.cpp
@@ -1476,8 +1476,13 @@ Error Object::connect(const StringName &p_signal, Object *p_to_object, const Str
Signal::Target target(p_to_object->get_instance_id(), p_to_method);
if (s->slot_map.has(target)) {
- ERR_EXPLAIN("Signal '" + p_signal + "' is already connected to given method '" + p_to_method + "' in that object.");
- ERR_FAIL_COND_V(s->slot_map.has(target), ERR_INVALID_PARAMETER);
+ if (p_flags & CONNECT_REFERENCE_COUNTED) {
+ s->slot_map[target].reference_count++;
+ return OK;
+ } else {
+ ERR_EXPLAIN("Signal '" + p_signal + "' is already connected to given method '" + p_to_method + "' in that object.");
+ ERR_FAIL_COND_V(s->slot_map.has(target), ERR_INVALID_PARAMETER);
+ }
}
Signal::Slot slot;
@@ -1491,6 +1496,10 @@ Error Object::connect(const StringName &p_signal, Object *p_to_object, const Str
conn.binds = p_binds;
slot.conn = conn;
slot.cE = p_to_object->connections.push_back(conn);
+ if (p_flags & CONNECT_REFERENCE_COUNTED) {
+ slot.reference_count = 1;
+ }
+
s->slot_map[target] = slot;
return OK;
@@ -1521,6 +1530,10 @@ bool Object::is_connected(const StringName &p_signal, Object *p_to_object, const
void Object::disconnect(const StringName &p_signal, Object *p_to_object, const StringName &p_to_method) {
+ _disconnect(p_signal, p_to_object, p_to_method);
+}
+void Object::_disconnect(const StringName &p_signal, Object *p_to_object, const StringName &p_to_method, bool p_force) {
+
ERR_FAIL_NULL(p_to_object);
Signal *s = signal_map.getptr(p_signal);
if (!s) {
@@ -1539,7 +1552,16 @@ void Object::disconnect(const StringName &p_signal, Object *p_to_object, const S
ERR_FAIL();
}
- p_to_object->connections.erase(s->slot_map[target].cE);
+ Signal::Slot *slot = &s->slot_map[target];
+
+ if (!p_force) {
+ slot->reference_count--; // by default is zero, if it was not referenced it will go below it
+ if (slot->reference_count >= 0) {
+ return;
+ }
+ }
+
+ p_to_object->connections.erase(slot->cE);
s->slot_map.erase(target);
if (s->slot_map.empty() && ClassDB::has_signal(get_class_name(), p_signal)) {
@@ -1761,6 +1783,7 @@ void Object::_bind_methods() {
BIND_ENUM_CONSTANT(CONNECT_DEFERRED);
BIND_ENUM_CONSTANT(CONNECT_PERSIST);
BIND_ENUM_CONSTANT(CONNECT_ONESHOT);
+ BIND_ENUM_CONSTANT(CONNECT_REFERENCE_COUNTED);
}
void Object::call_deferred(const StringName &p_method, VARIANT_ARG_DECLARE) {
@@ -1948,13 +1971,13 @@ Object::~Object() {
Connection &c = E->get();
ERR_CONTINUE(c.source != this); //bug?
- this->disconnect(c.signal, c.target, c.method);
+ this->_disconnect(c.signal, c.target, c.method, true);
}
while (connections.size()) {
Connection c = connections.front()->get();
- c.source->disconnect(c.signal, c.target, c.method);
+ c.source->_disconnect(c.signal, c.target, c.method, true);
}
ObjectDB::remove_instance(this);
@@ -2057,10 +2080,10 @@ void ObjectDB::cleanup() {
String node_name;
if (instances[*K]->is_class("Node"))
- node_name = " - Node Name: " + String(instances[*K]->call("get_name"));
+ node_name = " - Node name: " + String(instances[*K]->call("get_name"));
if (instances[*K]->is_class("Resource"))
- node_name = " - Resource Name: " + String(instances[*K]->call("get_name")) + " Path: " + String(instances[*K]->call("get_path"));
- print_line("Leaked Instance: " + String(instances[*K]->get_class()) + ":" + itos(*K) + node_name);
+ node_name = " - Resource name: " + String(instances[*K]->call("get_name")) + " Path: " + String(instances[*K]->call("get_path"));
+ print_line("Leaked instance: " + String(instances[*K]->get_class()) + ":" + itos(*K) + node_name);
}
}
}
diff --git a/core/object.h b/core/object.h
index 8dc3426d1d..d741371306 100644
--- a/core/object.h
+++ b/core/object.h
@@ -71,6 +71,7 @@ enum PropertyHint {
PROPERTY_HINT_GLOBAL_DIR, ///< a directory path must be passed
PROPERTY_HINT_RESOURCE_TYPE, ///< a resource object type
PROPERTY_HINT_MULTILINE_TEXT, ///< used for string properties that can contain multiple lines
+ PROPERTY_HINT_PLACEHOLDER_TEXT, ///< used to set a placeholder text for string properties
PROPERTY_HINT_COLOR_NO_ALPHA, ///< used for ignoring alpha component when editing a color
PROPERTY_HINT_IMAGE_COMPRESS_LOSSY,
PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS,
@@ -391,7 +392,8 @@ public:
CONNECT_DEFERRED = 1,
CONNECT_PERSIST = 2, // hint for scene to save this connection
- CONNECT_ONESHOT = 4
+ CONNECT_ONESHOT = 4,
+ CONNECT_REFERENCE_COUNTED = 8,
};
struct Connection {
@@ -442,8 +444,10 @@ private:
struct Slot {
+ int reference_count;
Connection conn;
List<Connection>::Element *cE;
+ Slot() { reference_count = 0; }
};
MethodInfo user;
@@ -547,6 +551,8 @@ protected:
friend class ClassDB;
virtual void _validate_property(PropertyInfo &property) const;
+ void _disconnect(const StringName &p_signal, Object *p_to_object, const StringName &p_to_method, bool p_force = false);
+
public: //should be protected, but bug in clang++
static void initialize_class();
_FORCE_INLINE_ static void register_custom_data_to_otdb(){};
diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp
index 330a9153ef..e631d6e994 100644
--- a/core/os/dir_access.cpp
+++ b/core/os/dir_access.cpp
@@ -98,22 +98,18 @@ static Error _erase_recursive(DirAccess *da) {
err = _erase_recursive(da);
if (err) {
- print_line("err recurso " + E->get());
da->change_dir("..");
return err;
}
err = da->change_dir("..");
if (err) {
- print_line("no go back " + E->get());
return err;
}
err = da->remove(da->get_current_dir().plus_file(E->get()));
if (err) {
- print_line("no remove dir" + E->get());
return err;
}
} else {
- print_line("no change to " + E->get());
return err;
}
}
@@ -122,8 +118,6 @@ static Error _erase_recursive(DirAccess *da) {
Error err = da->remove(da->get_current_dir().plus_file(E->get()));
if (err) {
-
- print_line("no remove file" + E->get());
return err;
}
}
diff --git a/core/os/os.h b/core/os/os.h
index dd783408e8..12c0222ad4 100644
--- a/core/os/os.h
+++ b/core/os/os.h
@@ -254,7 +254,7 @@ public:
virtual String get_executable_path() const;
virtual Error execute(const String &p_path, const List<String> &p_arguments, bool p_blocking, ProcessID *r_child_id = NULL, String *r_pipe = NULL, int *r_exitcode = NULL, bool read_stderr = false) = 0;
- virtual Error kill(const ProcessID &p_pid) = 0;
+ virtual Error kill(const ProcessID &p_pid, const int p_max_wait_msec = -1) = 0;
virtual int get_process_id() const;
virtual Error shell_open(String p_uri);
diff --git a/core/os/rw_lock.h b/core/os/rw_lock.h
index 9053794c83..3e53300c9f 100644
--- a/core/os/rw_lock.h
+++ b/core/os/rw_lock.h
@@ -56,8 +56,10 @@ class RWLockRead {
RWLock *lock;
public:
- RWLockRead(RWLock *p_lock) {
- lock = p_lock;
+ RWLockRead(const RWLock *p_lock) {
+ if (p_lock) {
+ lock = const_cast<RWLock *>(p_lock);
+ }
if (lock) lock->read_lock();
}
~RWLockRead() {
diff --git a/core/print_string.cpp b/core/print_string.cpp
index 0355154488..e1e42d2b56 100644
--- a/core/print_string.cpp
+++ b/core/print_string.cpp
@@ -107,3 +107,10 @@ void print_error(String p_string) {
_global_unlock();
}
+
+void print_verbose(String p_string) {
+
+ if (OS::get_singleton()->is_stdout_verbose()) {
+ print_line(p_string);
+ }
+}
diff --git a/core/print_string.h b/core/print_string.h
index 3465888d4c..c1d2d0ff3a 100644
--- a/core/print_string.h
+++ b/core/print_string.h
@@ -58,5 +58,6 @@ extern bool _print_line_enabled;
extern bool _print_error_enabled;
extern void print_line(String p_string);
extern void print_error(String p_string);
+extern void print_verbose(String p_string);
#endif
diff --git a/core/project_settings.cpp b/core/project_settings.cpp
index 87a5c3e493..890789ec6f 100644
--- a/core/project_settings.cpp
+++ b/core/project_settings.cpp
@@ -191,7 +191,7 @@ bool ProjectSettings::_get(const StringName &p_name, Variant &r_ret) const {
name = feature_overrides[name];
}
if (!props.has(name)) {
- print_line("WARNING: not found: " + String(name));
+ WARN_PRINTS("Property not found: " + String(name));
return false;
}
r_ret = props[name].variant;
diff --git a/core/reference.h b/core/reference.h
index 0d6b1ced6e..25e02180fa 100644
--- a/core/reference.h
+++ b/core/reference.h
@@ -87,6 +87,13 @@ class Ref {
//virtual Reference * get_reference() const { return reference; }
public:
+ _FORCE_INLINE_ bool operator==(const T *p_ptr) const {
+ return reference == p_ptr;
+ }
+ _FORCE_INLINE_ bool operator!=(const T *p_ptr) const {
+ return reference != p_ptr;
+ }
+
_FORCE_INLINE_ bool operator<(const Ref<T> &p_r) const {
return reference < p_r.reference;
diff --git a/core/resource.cpp b/core/resource.cpp
index 87ff4d3c2a..3078eb135a 100644
--- a/core/resource.cpp
+++ b/core/resource.cpp
@@ -151,7 +151,7 @@ Ref<Resource> Resource::duplicate_for_local_scene(Node *p_for_scene, Map<Ref<Res
List<PropertyInfo> plist;
get_property_list(&plist);
- Resource *r = (Resource *)ClassDB::instance(get_class());
+ Resource *r = Object::cast_to<Resource>(ClassDB::instance(get_class()));
ERR_FAIL_COND_V(!r, Ref<Resource>());
r->local_scene = p_for_scene;
@@ -182,7 +182,9 @@ Ref<Resource> Resource::duplicate_for_local_scene(Node *p_for_scene, Map<Ref<Res
r->set(E->get().name, p);
}
- return Ref<Resource>(r);
+ RES res = Ref<Resource>(r);
+
+ return res;
}
void Resource::configure_for_local_scene(Node *p_for_scene, Map<Ref<Resource>, Ref<Resource> > &remap_cache) {
diff --git a/core/script_debugger_remote.cpp b/core/script_debugger_remote.cpp
index c5daaeea47..2b9b5d6037 100644
--- a/core/script_debugger_remote.cpp
+++ b/core/script_debugger_remote.cpp
@@ -82,17 +82,16 @@ Error ScriptDebuggerRemote::connect_to_host(const String &p_host, uint16_t p_por
const int ms = waits[i];
OS::get_singleton()->delay_usec(ms * 1000);
- print_line("Remote Debugger: Connection failed with status: '" + String::num(tcp_client->get_status()) + "', retrying in " + String::num(ms) + " msec.");
+ ERR_PRINTS("Remote Debugger: Connection failed with status: '" + String::num(tcp_client->get_status()) + "', retrying in " + String::num(ms) + " msec.");
};
};
if (tcp_client->get_status() != StreamPeerTCP::STATUS_CONNECTED) {
- print_line("Remote Debugger: Unable to connect");
+ ERR_PRINTS("Remote Debugger: Unable to connect.");
return FAILED;
};
- // print_line("Remote Debugger: Connection OK!");
packet_peer_stream->set_stream_peer(tcp_client);
return OK;
diff --git a/core/string_db.cpp b/core/string_db.cpp
index 2475cbe3e8..067e4493a1 100644
--- a/core/string_db.cpp
+++ b/core/string_db.cpp
@@ -73,7 +73,6 @@ void StringName::cleanup() {
_Data *d = _table[i];
lost_strings++;
if (OS::get_singleton()->is_stdout_verbose()) {
-
if (d->cname) {
print_line("Orphan StringName: " + String(d->cname));
} else {
@@ -85,8 +84,8 @@ void StringName::cleanup() {
memdelete(d);
}
}
- if (OS::get_singleton()->is_stdout_verbose() && lost_strings) {
- print_line("StringName: " + itos(lost_strings) + " unclaimed string names at exit.");
+ if (lost_strings) {
+ print_verbose("StringName: " + itos(lost_strings) + " unclaimed string names at exit.");
}
lock->unlock();
diff --git a/core/translation.cpp b/core/translation.cpp
index 78115c3749..82a16d0b17 100644
--- a/core/translation.cpp
+++ b/core/translation.cpp
@@ -1098,7 +1098,6 @@ bool TranslationServer::_load_translations(const String &p_from) {
for (int i = 0; i < tcount; i++) {
- //print_line( "Loading translation from " + r[i] );
Ref<Translation> tr = ResourceLoader::load(r[i]);
if (tr.is_valid())
add_translation(tr);
diff --git a/core/ustring.cpp b/core/ustring.cpp
index 35cd27f7f3..96e3a3d784 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -1340,7 +1340,7 @@ String String::utf8(const char *p_utf8, int p_len) {
bool String::parse_utf8(const char *p_utf8, int p_len) {
-#define _UNICERROR(m_err) print_line("unicode error: " + String(m_err));
+#define _UNICERROR(m_err) print_line("Unicode error: " + String(m_err));
String aux;
diff --git a/core/variant_call.cpp b/core/variant_call.cpp
index ea51419233..8b18b274b6 100644
--- a/core/variant_call.cpp
+++ b/core/variant_call.cpp
@@ -516,6 +516,8 @@ struct _VariantCall {
VCALL_LOCALMEM4R(Array, bsearch_custom);
VCALL_LOCALMEM1R(Array, duplicate);
VCALL_LOCALMEM0(Array, invert);
+ VCALL_LOCALMEM0R(Array, max);
+ VCALL_LOCALMEM0R(Array, min);
static void _call_PoolByteArray_get_string_from_ascii(Variant &r_ret, Variant &p_self, const Variant **p_args) {
@@ -1705,6 +1707,8 @@ void register_variant_methods() {
ADDFUNC4R(ARRAY, INT, Array, bsearch_custom, NIL, "value", OBJECT, "obj", STRING, "func", BOOL, "before", varray(true));
ADDFUNC0NC(ARRAY, NIL, Array, invert, varray());
ADDFUNC1R(ARRAY, ARRAY, Array, duplicate, BOOL, "deep", varray(false));
+ ADDFUNC0R(ARRAY, NIL, Array, max, varray());
+ ADDFUNC0R(ARRAY, NIL, Array, min, varray());
ADDFUNC0R(POOL_BYTE_ARRAY, INT, PoolByteArray, size, varray());
ADDFUNC2(POOL_BYTE_ARRAY, NIL, PoolByteArray, set, INT, "idx", INT, "byte", varray());
@@ -1920,23 +1924,11 @@ void register_variant_methods() {
transform_x.set(1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0);
_VariantCall::add_variant_constant(Variant::TRANSFORM, "FLIP_Z", transform_z);
- _VariantCall::add_variant_constant(Variant::PLANE, "X", Plane(Vector3(1, 0, 0), 0));
- _VariantCall::add_variant_constant(Variant::PLANE, "Y", Plane(Vector3(0, 1, 0), 0));
- _VariantCall::add_variant_constant(Variant::PLANE, "Z", Plane(Vector3(0, 0, 1), 0));
+ _VariantCall::add_variant_constant(Variant::PLANE, "PLANE_YZ", Plane(Vector3(1, 0, 0), 0));
+ _VariantCall::add_variant_constant(Variant::PLANE, "PLANE_XZ", Plane(Vector3(0, 1, 0), 0));
+ _VariantCall::add_variant_constant(Variant::PLANE, "PLANE_XY", Plane(Vector3(0, 0, 1), 0));
_VariantCall::add_variant_constant(Variant::QUAT, "IDENTITY", Quat(0, 0, 0, 1));
-
- CharType black_circle[2] = { 0x25CF, 0 };
- _VariantCall::add_variant_constant(Variant::STRING, "BLACK_CIRCLE", String(black_circle));
- CharType white_circle[2] = { 0x25CB, 0 };
- _VariantCall::add_variant_constant(Variant::STRING, "WHITE_CIRCLE", String(white_circle));
- CharType black_diamond[2] = { 0x25C6, 0 };
- _VariantCall::add_variant_constant(Variant::STRING, "BLACK_DIAMOND", String(black_diamond));
- CharType white_diamond[2] = { 0x25C7, 0 };
- _VariantCall::add_variant_constant(Variant::STRING, "WHITE_DIAMOND", String(white_diamond));
-
- _VariantCall::add_variant_constant(Variant::NODE_PATH, "CURRENT", String("."));
- _VariantCall::add_variant_constant(Variant::NODE_PATH, "PARENT", String(".."));
}
void unregister_variant_methods() {
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 47553659c9..d2c6a853ad 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -1262,12 +1262,14 @@
</constant>
<constant name="PROPERTY_HINT_MULTILINE_TEXT" value="18" enum="PropertyHint">
</constant>
- <constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="19" enum="PropertyHint">
+ <constant name="PROPERTY_HINT_PLACEHOLDER_TEXT" value="19" enum="PropertyHint">
</constant>
- <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="20" enum="PropertyHint">
+ <constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="20" enum="PropertyHint">
+ </constant>
+ <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="21" enum="PropertyHint">
Hints that the image is compressed using lossy compression.
</constant>
- <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="21" enum="PropertyHint">
+ <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="22" enum="PropertyHint">
Hints that the image is compressed using lossless compression.
</constant>
<constant name="PROPERTY_USAGE_STORAGE" value="1" enum="PropertyUsageFlags">
diff --git a/doc/classes/AnimationNode.xml b/doc/classes/AnimationNode.xml
index 2f991699d6..d9bad150df 100644
--- a/doc/classes/AnimationNode.xml
+++ b/doc/classes/AnimationNode.xml
@@ -9,14 +9,6 @@
<demos>
</demos>
<methods>
- <method name="_parent_set" qualifiers="virtual">
- <return type="void">
- </return>
- <argument index="0" name="parent" type="Object">
- </argument>
- <description>
- </description>
- </method>
<method name="add_input">
<return type="void">
</return>
@@ -62,40 +54,26 @@
<method name="blend_node">
<return type="float">
</return>
- <argument index="0" name="node" type="AnimationNode">
+ <argument index="0" name="name" type="String">
</argument>
- <argument index="1" name="time" type="float">
+ <argument index="1" name="node" type="AnimationNode">
</argument>
- <argument index="2" name="seek" type="bool">
+ <argument index="2" name="time" type="float">
</argument>
- <argument index="3" name="blend" type="float">
+ <argument index="3" name="seek" type="bool">
</argument>
- <argument index="4" name="filter" type="int" enum="AnimationNode.FilterAction" default="0">
+ <argument index="4" name="blend" type="float">
</argument>
- <argument index="5" name="optimize" type="bool" default="true">
+ <argument index="5" name="filter" type="int" enum="AnimationNode.FilterAction" default="0">
</argument>
- <description>
- </description>
- </method>
- <method name="get_caption" qualifiers="virtual">
- <return type="String">
- </return>
- <description>
- </description>
- </method>
- <method name="get_input_activity" qualifiers="const">
- <return type="float">
- </return>
- <argument index="0" name="input" type="int">
+ <argument index="6" name="optimize" type="bool" default="true">
</argument>
<description>
</description>
</method>
- <method name="get_input_connection">
+ <method name="get_caption" qualifiers="virtual">
<return type="String">
</return>
- <argument index="0" name="input" type="int">
- </argument>
<description>
</description>
</method>
@@ -113,21 +91,11 @@
<description>
</description>
</method>
- <method name="get_parent" qualifiers="const">
- <return type="AnimationNode">
- </return>
- <description>
- </description>
- </method>
- <method name="get_position" qualifiers="const">
- <return type="Vector2">
- </return>
- <description>
- </description>
- </method>
- <method name="get_tree" qualifiers="const">
- <return type="AnimationTree">
+ <method name="get_parameter" qualifiers="const">
+ <return type="Variant">
</return>
+ <argument index="0" name="name" type="String">
+ </argument>
<description>
</description>
</method>
@@ -173,18 +141,12 @@
<description>
</description>
</method>
- <method name="set_parent">
+ <method name="set_parameter">
<return type="void">
</return>
- <argument index="0" name="parent" type="Object">
+ <argument index="0" name="name" type="String">
</argument>
- <description>
- </description>
- </method>
- <method name="set_position">
- <return type="void">
- </return>
- <argument index="0" name="position" type="Vector2">
+ <argument index="1" name="value" type="Variant">
</argument>
<description>
</description>
@@ -199,6 +161,10 @@
<description>
</description>
</signal>
+ <signal name="tree_changed">
+ <description>
+ </description>
+ </signal>
</signals>
<constants>
<constant name="FILTER_IGNORE" value="0" enum="FilterAction">
diff --git a/doc/classes/AnimationNodeAdd2.xml b/doc/classes/AnimationNodeAdd2.xml
index 267eec6406..9297faa1b7 100644
--- a/doc/classes/AnimationNodeAdd2.xml
+++ b/doc/classes/AnimationNodeAdd2.xml
@@ -11,8 +11,6 @@
<methods>
</methods>
<members>
- <member name="amount" type="float" setter="set_amount" getter="get_amount">
- </member>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
</member>
</members>
diff --git a/doc/classes/AnimationNodeAdd3.xml b/doc/classes/AnimationNodeAdd3.xml
index 6596b76f85..deb8d74a38 100644
--- a/doc/classes/AnimationNodeAdd3.xml
+++ b/doc/classes/AnimationNodeAdd3.xml
@@ -11,8 +11,6 @@
<methods>
</methods>
<members>
- <member name="amount" type="float" setter="set_amount" getter="get_amount">
- </member>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlend2.xml b/doc/classes/AnimationNodeBlend2.xml
index 8ef114f69b..42bb12d9d0 100644
--- a/doc/classes/AnimationNodeBlend2.xml
+++ b/doc/classes/AnimationNodeBlend2.xml
@@ -11,8 +11,6 @@
<methods>
</methods>
<members>
- <member name="amount" type="float" setter="set_amount" getter="get_amount">
- </member>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlend3.xml b/doc/classes/AnimationNodeBlend3.xml
index 094810d008..cd3d9f9bc8 100644
--- a/doc/classes/AnimationNodeBlend3.xml
+++ b/doc/classes/AnimationNodeBlend3.xml
@@ -11,8 +11,6 @@
<methods>
</methods>
<members>
- <member name="amount" type="float" setter="set_amount" getter="get_amount">
- </member>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
</member>
</members>
diff --git a/doc/classes/AnimationNodeBlendSpace1D.xml b/doc/classes/AnimationNodeBlendSpace1D.xml
index 96c94a8972..2113948b2e 100644
--- a/doc/classes/AnimationNodeBlendSpace1D.xml
+++ b/doc/classes/AnimationNodeBlendSpace1D.xml
@@ -73,8 +73,6 @@
</method>
</methods>
<members>
- <member name="blend_pos" type="float" setter="set_blend_pos" getter="get_blend_pos">
- </member>
<member name="max_space" type="float" setter="set_max_space" getter="get_max_space">
</member>
<member name="min_space" type="float" setter="set_min_space" getter="get_min_space">
diff --git a/doc/classes/AnimationNodeBlendSpace2D.xml b/doc/classes/AnimationNodeBlendSpace2D.xml
index 31dc7eebac..39d780b6ef 100644
--- a/doc/classes/AnimationNodeBlendSpace2D.xml
+++ b/doc/classes/AnimationNodeBlendSpace2D.xml
@@ -113,8 +113,6 @@
<members>
<member name="auto_triangles" type="bool" setter="set_auto_triangles" getter="get_auto_triangles">
</member>
- <member name="blend_position" type="Vector2" setter="set_blend_position" getter="get_blend_position">
- </member>
<member name="max_space" type="Vector2" setter="set_max_space" getter="get_max_space">
</member>
<member name="min_space" type="Vector2" setter="set_min_space" getter="get_min_space">
diff --git a/doc/classes/AnimationNodeBlendTree.xml b/doc/classes/AnimationNodeBlendTree.xml
index 88257883a3..cd28232908 100644
--- a/doc/classes/AnimationNodeBlendTree.xml
+++ b/doc/classes/AnimationNodeBlendTree.xml
@@ -16,6 +16,8 @@
</argument>
<argument index="1" name="node" type="AnimationNode">
</argument>
+ <argument index="2" name="position" type="Vector2" default="Vector2( 0, 0 )">
+ </argument>
<description>
</description>
</method>
@@ -49,6 +51,14 @@
<description>
</description>
</method>
+ <method name="get_node_position" qualifiers="const">
+ <return type="Vector2">
+ </return>
+ <argument index="0" name="name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="has_node" qualifiers="const">
<return type="bool">
</return>
@@ -75,6 +85,16 @@
<description>
</description>
</method>
+ <method name="set_node_position">
+ <return type="void">
+ </return>
+ <argument index="0" name="name" type="String">
+ </argument>
+ <argument index="1" name="position" type="Vector2">
+ </argument>
+ <description>
+ </description>
+ </method>
</methods>
<members>
<member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset">
diff --git a/doc/classes/AnimationNodeOneShot.xml b/doc/classes/AnimationNodeOneShot.xml
index b59b6e2b83..12cb9775a2 100644
--- a/doc/classes/AnimationNodeOneShot.xml
+++ b/doc/classes/AnimationNodeOneShot.xml
@@ -15,12 +15,6 @@
<description>
</description>
</method>
- <method name="is_active" qualifiers="const">
- <return type="bool">
- </return>
- <description>
- </description>
- </method>
<method name="set_mix_mode">
<return type="void">
</return>
@@ -29,18 +23,6 @@
<description>
</description>
</method>
- <method name="start">
- <return type="void">
- </return>
- <description>
- </description>
- </method>
- <method name="stop">
- <return type="void">
- </return>
- <description>
- </description>
- </method>
</methods>
<members>
<member name="autorestart" type="bool" setter="set_autorestart" getter="has_autorestart">
diff --git a/doc/classes/AnimationNodeStateMachine.xml b/doc/classes/AnimationNodeStateMachine.xml
index ad40f20db1..ed4098d938 100644
--- a/doc/classes/AnimationNodeStateMachine.xml
+++ b/doc/classes/AnimationNodeStateMachine.xml
@@ -16,6 +16,8 @@
</argument>
<argument index="1" name="node" type="AnimationNode">
</argument>
+ <argument index="2" name="position" type="Vector2" default="Vector2( 0, 0 )">
+ </argument>
<description>
</description>
</method>
@@ -31,12 +33,6 @@
<description>
</description>
</method>
- <method name="get_current_node" qualifiers="const">
- <return type="String">
- </return>
- <description>
- </description>
- </method>
<method name="get_end_node" qualifiers="const">
<return type="String">
</return>
@@ -65,6 +61,14 @@
<description>
</description>
</method>
+ <method name="get_node_position" qualifiers="const">
+ <return type="Vector2">
+ </return>
+ <argument index="0" name="name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="get_start_node" qualifiers="const">
<return type="String">
</return>
@@ -101,12 +105,6 @@
<description>
</description>
</method>
- <method name="get_travel_path" qualifiers="const">
- <return type="PoolStringArray">
- </return>
- <description>
- </description>
- </method>
<method name="has_node" qualifiers="const">
<return type="bool">
</return>
@@ -115,21 +113,13 @@
<description>
</description>
</method>
- <method name="has_transition">
- <return type="void">
+ <method name="has_transition" qualifiers="const">
+ <return type="bool">
</return>
<argument index="0" name="from" type="String">
</argument>
<argument index="1" name="to" type="String">
</argument>
- <argument index="2" name="arg2" type="AnimationNodeStateMachineTransition">
- </argument>
- <description>
- </description>
- </method>
- <method name="is_playing" qualifiers="const">
- <return type="bool">
- </return>
<description>
</description>
</method>
@@ -185,32 +175,20 @@
<description>
</description>
</method>
- <method name="set_start_node">
+ <method name="set_node_position">
<return type="void">
</return>
<argument index="0" name="name" type="String">
</argument>
- <description>
- </description>
- </method>
- <method name="start">
- <return type="void">
- </return>
- <argument index="0" name="node" type="String">
+ <argument index="1" name="position" type="Vector2">
</argument>
<description>
</description>
</method>
- <method name="stop">
+ <method name="set_start_node">
<return type="void">
</return>
- <description>
- </description>
- </method>
- <method name="travel">
- <return type="bool">
- </return>
- <argument index="0" name="to_node" type="String">
+ <argument index="0" name="name" type="String">
</argument>
<description>
</description>
diff --git a/doc/classes/AnimationNodeStateMachinePlayback.xml b/doc/classes/AnimationNodeStateMachinePlayback.xml
new file mode 100644
index 0000000000..6bf9504efb
--- /dev/null
+++ b/doc/classes/AnimationNodeStateMachinePlayback.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="AnimationNodeStateMachinePlayback" inherits="Resource" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ <method name="get_current_node" qualifiers="const">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="get_travel_path" qualifiers="const">
+ <return type="PoolStringArray">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="is_playing" qualifiers="const">
+ <return type="bool">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="start">
+ <return type="void">
+ </return>
+ <argument index="0" name="node" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="stop">
+ <return type="void">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="travel">
+ <return type="void">
+ </return>
+ <argument index="0" name="to_node" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml
index 280a1413b8..e07a9fc980 100644
--- a/doc/classes/AnimationNodeStateMachineTransition.xml
+++ b/doc/classes/AnimationNodeStateMachineTransition.xml
@@ -11,6 +11,8 @@
<methods>
</methods>
<members>
+ <member name="advance_condition" type="String" setter="set_advance_condition" getter="get_advance_condition">
+ </member>
<member name="auto_advance" type="bool" setter="set_auto_advance" getter="has_auto_advance">
</member>
<member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
@@ -22,6 +24,12 @@
<member name="xfade_time" type="float" setter="set_xfade_time" getter="get_xfade_time">
</member>
</members>
+ <signals>
+ <signal name="advance_condition_changed">
+ <description>
+ </description>
+ </signal>
+ </signals>
<constants>
<constant name="SWITCH_MODE_IMMEDIATE" value="0" enum="SwitchMode">
</constant>
diff --git a/doc/classes/AnimationNodeTimeScale.xml b/doc/classes/AnimationNodeTimeScale.xml
index b3e90d190b..226c855b83 100644
--- a/doc/classes/AnimationNodeTimeScale.xml
+++ b/doc/classes/AnimationNodeTimeScale.xml
@@ -10,10 +10,6 @@
</demos>
<methods>
</methods>
- <members>
- <member name="scale" type="float" setter="set_scale" getter="get_scale">
- </member>
- </members>
<constants>
</constants>
</class>
diff --git a/doc/classes/AnimationNodeTimeSeek.xml b/doc/classes/AnimationNodeTimeSeek.xml
index a479208128..707b09a4a5 100644
--- a/doc/classes/AnimationNodeTimeSeek.xml
+++ b/doc/classes/AnimationNodeTimeSeek.xml
@@ -10,10 +10,6 @@
</demos>
<methods>
</methods>
- <members>
- <member name="seek_pos" type="float" setter="set_seek_pos" getter="get_seek_pos">
- </member>
- </members>
<constants>
</constants>
</class>
diff --git a/doc/classes/AnimationNodeTransition.xml b/doc/classes/AnimationNodeTransition.xml
index 3731fc05ed..317bc5ed69 100644
--- a/doc/classes/AnimationNodeTransition.xml
+++ b/doc/classes/AnimationNodeTransition.xml
@@ -11,8 +11,6 @@
<methods>
</methods>
<members>
- <member name="current" type="int" setter="set_current" getter="get_current">
- </member>
<member name="input_0/auto_advance" type="bool" setter="set_input_as_auto_advance" getter="is_input_set_as_auto_advance">
</member>
<member name="input_0/name" type="String" setter="set_input_caption" getter="get_input_caption">
diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml
index 9b3679ae93..9a6a75079c 100644
--- a/doc/classes/AnimationTree.xml
+++ b/doc/classes/AnimationTree.xml
@@ -23,6 +23,16 @@
<description>
</description>
</method>
+ <method name="rename_parameter">
+ <return type="void">
+ </return>
+ <argument index="0" name="old_name" type="String">
+ </argument>
+ <argument index="1" name="new_name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
</methods>
<members>
<member name="active" type="bool" setter="set_active" getter="is_active">
diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml
index 5ccf0b55aa..1e2478dd14 100644
--- a/doc/classes/ArrayMesh.xml
+++ b/doc/classes/ArrayMesh.xml
@@ -76,9 +76,9 @@
<method name="lightmap_unwrap">
<return type="int" enum="Error">
</return>
- <argument index="0" name="arg0" type="Transform">
+ <argument index="0" name="transform" type="Transform">
</argument>
- <argument index="1" name="arg1" type="float">
+ <argument index="1" name="texel_size" type="float">
</argument>
<description>
Will perform a UV unwrap on the [code]ArrayMesh[/code] to prepare the mesh for lightmapping.
diff --git a/doc/classes/AudioEffectRecord.xml b/doc/classes/AudioEffectRecord.xml
new file mode 100644
index 0000000000..b7771fc9c5
--- /dev/null
+++ b/doc/classes/AudioEffectRecord.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="AudioEffectRecord" inherits="AudioEffect" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ <method name="get_recording" qualifiers="const">
+ <return type="AudioStreamSample">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="is_recording_active" qualifiers="const">
+ <return type="bool">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="set_recording_active">
+ <return type="void">
+ </return>
+ <argument index="0" name="record" type="bool">
+ </argument>
+ <description>
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="format" type="int" setter="set_format" getter="get_format" enum="AudioStreamSample.Format">
+ </member>
+ </members>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml
index 51df1e99dd..37756bcfd8 100644
--- a/doc/classes/AudioServer.xml
+++ b/doc/classes/AudioServer.xml
@@ -34,6 +34,26 @@
Adds an [AudioEffect] effect to the bus [code]bus_idx[/code] at [code]at_position[/code].
</description>
</method>
+ <method name="capture_get_device">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="capture_get_device_list">
+ <return type="Array">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="capture_set_device">
+ <return type="void">
+ </return>
+ <argument index="0" name="name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="generate_bus_layout" qualifiers="const">
<return type="AudioBusLayout">
</return>
@@ -328,7 +348,7 @@
<method name="set_device">
<return type="void">
</return>
- <argument index="0" name="arg0" type="String">
+ <argument index="0" name="device" type="String">
</argument>
<description>
</description>
diff --git a/doc/classes/AudioStreamMicrophone.xml b/doc/classes/AudioStreamMicrophone.xml
new file mode 100644
index 0000000000..079555d17e
--- /dev/null
+++ b/doc/classes/AudioStreamMicrophone.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="AudioStreamMicrophone" inherits="AudioStream" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/AudioStreamSample.xml b/doc/classes/AudioStreamSample.xml
index b6abda1a6f..9e56cc6016 100644
--- a/doc/classes/AudioStreamSample.xml
+++ b/doc/classes/AudioStreamSample.xml
@@ -11,6 +11,14 @@
<demos>
</demos>
<methods>
+ <method name="save_to_wav">
+ <return type="void">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
</methods>
<members>
<member name="data" type="PoolByteArray" setter="set_data" getter="get_data">
diff --git a/doc/classes/BakedLightmap.xml b/doc/classes/BakedLightmap.xml
index 77895249e5..966b6dd7c4 100644
--- a/doc/classes/BakedLightmap.xml
+++ b/doc/classes/BakedLightmap.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BakedLightmap" inherits="VisualInstance" category="Core" version="3.1">
<brief_description>
+ Prerendered indirect light map for a scene.
</brief_description>
<description>
+ Baked lightmaps are an alternative workflow for adding indirect (or baked) lighting to a scene. Unlike the [GIProbe] approach, baked lightmaps work fine on low-end PCs and mobile devices as they consume almost no resources in run-time.
</description>
<tutorials>
<link>http://docs.godotengine.org/en/3.0/tutorials/3d/baked_lightmaps.html</link>
@@ -29,36 +31,49 @@
</methods>
<members>
<member name="bake_cell_size" type="float" setter="set_bake_cell_size" getter="get_bake_cell_size">
+ Grid subdivision size for lightmapper calculation. Default value of [code]0.25[/code] will work for most cases. Increase for better lighting on small details or if your scene is very large.
</member>
<member name="bake_energy" type="float" setter="set_energy" getter="get_energy">
</member>
<member name="bake_extents" type="Vector3" setter="set_extents" getter="get_extents">
+ Size of affected area.
</member>
<member name="bake_hdr" type="bool" setter="set_hdr" getter="is_hdr">
+ If [code]true[/code] lightmap can capture light values greater than [code]1.0[/code]. Turning this off will result in a smaller lightmap. Default value:[code]false[/code].
</member>
<member name="bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="BakedLightmap.BakeMode">
+ Lightmapping mode. See [enum BakeMode].
</member>
<member name="bake_propagation" type="float" setter="set_propagation" getter="get_propagation">
</member>
<member name="bake_quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="BakedLightmap.BakeQuality">
+ Three quality modes are available. Higher quality requires more rendering time. See [enum BakeQuality].
</member>
<member name="capture_cell_size" type="float" setter="set_capture_cell_size" getter="get_capture_cell_size">
+ Grid size used for real-time capture information on dynamic objects. Cannot be larger than [member bake_cell_size].
</member>
<member name="image_path" type="String" setter="set_image_path" getter="get_image_path">
+ Location where lightmaps will be saved.
</member>
<member name="light_data" type="BakedLightmapData" setter="set_light_data" getter="get_light_data">
+ The calculated light data.
</member>
</members>
<constants>
<constant name="BAKE_QUALITY_LOW" value="0" enum="BakeQuality">
+ Lowest bake quality mode. Fastest to calculate.
</constant>
<constant name="BAKE_QUALITY_MEDIUM" value="1" enum="BakeQuality">
+ Default bake quality mode.
</constant>
<constant name="BAKE_QUALITY_HIGH" value="2" enum="BakeQuality">
+ Highest bake quality mode. Takes longer to calculate.
</constant>
<constant name="BAKE_MODE_CONE_TRACE" value="0" enum="BakeMode">
+ Less precise but faster bake mode.
</constant>
<constant name="BAKE_MODE_RAY_TRACE" value="1" enum="BakeMode">
+ More precise bake mode but can take considerably longer to bake.
</constant>
<constant name="BAKE_ERROR_OK" value="0" enum="BakeError">
</constant>
diff --git a/doc/classes/BitMap.xml b/doc/classes/BitMap.xml
index 98f554ebaa..7fe6a2acef 100644
--- a/doc/classes/BitMap.xml
+++ b/doc/classes/BitMap.xml
@@ -54,6 +54,26 @@
Returns the amount of bitmap elements that are set to true.
</description>
</method>
+ <method name="grow_mask">
+ <return type="void">
+ </return>
+ <argument index="0" name="pixels" type="int">
+ </argument>
+ <argument index="1" name="rect" type="Rect2">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="opaque_to_polygons" qualifiers="const">
+ <return type="Array">
+ </return>
+ <argument index="0" name="rect" type="Rect2">
+ </argument>
+ <argument index="1" name="epsilon" type="float" default="2.0">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_bit">
<return type="void">
</return>
diff --git a/doc/classes/Camera.xml b/doc/classes/Camera.xml
index 7f7f152ae9..c7eb365891 100644
--- a/doc/classes/Camera.xml
+++ b/doc/classes/Camera.xml
@@ -27,6 +27,14 @@
Gets the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the [Node] transform.
</description>
</method>
+ <method name="get_cull_mask_bit" qualifiers="const">
+ <return type="bool">
+ </return>
+ <argument index="0" name="layer" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="is_position_behind" qualifiers="const">
<return type="bool">
</return>
@@ -79,6 +87,16 @@
Returns a 3D position in worldspace, that is the result of projecting a point on the [Viewport] rectangle by the camera projection. This is useful for casting rays in the form of (origin, normal) for object intersection or picking.
</description>
</method>
+ <method name="set_cull_mask_bit">
+ <return type="void">
+ </return>
+ <argument index="0" name="layer" type="int">
+ </argument>
+ <argument index="1" name="enable" type="bool">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_orthogonal">
<return type="void">
</return>
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index c675bbe994..b66239181a 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -305,5 +305,295 @@
</member>
</members>
<constants>
+ <constant name="gray" value="Color( 0.75, 0.75, 0.75, 1 )">
+ </constant>
+ <constant name="aliceblue" value="Color( 0.94, 0.97, 1, 1 )">
+ </constant>
+ <constant name="antiquewhite" value="Color( 0.98, 0.92, 0.84, 1 )">
+ </constant>
+ <constant name="aqua" value="Color( 0, 1, 1, 1 )">
+ </constant>
+ <constant name="aquamarine" value="Color( 0.5, 1, 0.83, 1 )">
+ </constant>
+ <constant name="azure" value="Color( 0.94, 1, 1, 1 )">
+ </constant>
+ <constant name="beige" value="Color( 0.96, 0.96, 0.86, 1 )">
+ </constant>
+ <constant name="bisque" value="Color( 1, 0.89, 0.77, 1 )">
+ </constant>
+ <constant name="black" value="Color( 0, 0, 0, 1 )">
+ </constant>
+ <constant name="blanchedalmond" value="Color( 1, 0.92, 0.8, 1 )">
+ </constant>
+ <constant name="blue" value="Color( 0, 0, 1, 1 )">
+ </constant>
+ <constant name="blueviolet" value="Color( 0.54, 0.17, 0.89, 1 )">
+ </constant>
+ <constant name="brown" value="Color( 0.65, 0.16, 0.16, 1 )">
+ </constant>
+ <constant name="burlywood" value="Color( 0.87, 0.72, 0.53, 1 )">
+ </constant>
+ <constant name="cadetblue" value="Color( 0.37, 0.62, 0.63, 1 )">
+ </constant>
+ <constant name="chartreuse" value="Color( 0.5, 1, 0, 1 )">
+ </constant>
+ <constant name="chocolate" value="Color( 0.82, 0.41, 0.12, 1 )">
+ </constant>
+ <constant name="coral" value="Color( 1, 0.5, 0.31, 1 )">
+ </constant>
+ <constant name="cornflower" value="Color( 0.39, 0.58, 0.93, 1 )">
+ </constant>
+ <constant name="cornsilk" value="Color( 1, 0.97, 0.86, 1 )">
+ </constant>
+ <constant name="crimson" value="Color( 0.86, 0.08, 0.24, 1 )">
+ </constant>
+ <constant name="cyan" value="Color( 0, 1, 1, 1 )">
+ </constant>
+ <constant name="darkblue" value="Color( 0, 0, 0.55, 1 )">
+ </constant>
+ <constant name="darkcyan" value="Color( 0, 0.55, 0.55, 1 )">
+ </constant>
+ <constant name="darkgoldenrod" value="Color( 0.72, 0.53, 0.04, 1 )">
+ </constant>
+ <constant name="darkgray" value="Color( 0.66, 0.66, 0.66, 1 )">
+ </constant>
+ <constant name="darkgreen" value="Color( 0, 0.39, 0, 1 )">
+ </constant>
+ <constant name="darkkhaki" value="Color( 0.74, 0.72, 0.42, 1 )">
+ </constant>
+ <constant name="darkmagenta" value="Color( 0.55, 0, 0.55, 1 )">
+ </constant>
+ <constant name="darkolivegreen" value="Color( 0.33, 0.42, 0.18, 1 )">
+ </constant>
+ <constant name="darkorange" value="Color( 1, 0.55, 0, 1 )">
+ </constant>
+ <constant name="darkorchid" value="Color( 0.6, 0.2, 0.8, 1 )">
+ </constant>
+ <constant name="darkred" value="Color( 0.55, 0, 0, 1 )">
+ </constant>
+ <constant name="darksalmon" value="Color( 0.91, 0.59, 0.48, 1 )">
+ </constant>
+ <constant name="darkseagreen" value="Color( 0.56, 0.74, 0.56, 1 )">
+ </constant>
+ <constant name="darkslateblue" value="Color( 0.28, 0.24, 0.55, 1 )">
+ </constant>
+ <constant name="darkslategray" value="Color( 0.18, 0.31, 0.31, 1 )">
+ </constant>
+ <constant name="darkturquoise" value="Color( 0, 0.81, 0.82, 1 )">
+ </constant>
+ <constant name="darkviolet" value="Color( 0.58, 0, 0.83, 1 )">
+ </constant>
+ <constant name="deeppink" value="Color( 1, 0.08, 0.58, 1 )">
+ </constant>
+ <constant name="deepskyblue" value="Color( 0, 0.75, 1, 1 )">
+ </constant>
+ <constant name="dimgray" value="Color( 0.41, 0.41, 0.41, 1 )">
+ </constant>
+ <constant name="dodgerblue" value="Color( 0.12, 0.56, 1, 1 )">
+ </constant>
+ <constant name="firebrick" value="Color( 0.7, 0.13, 0.13, 1 )">
+ </constant>
+ <constant name="floralwhite" value="Color( 1, 0.98, 0.94, 1 )">
+ </constant>
+ <constant name="forestgreen" value="Color( 0.13, 0.55, 0.13, 1 )">
+ </constant>
+ <constant name="fuchsia" value="Color( 1, 0, 1, 1 )">
+ </constant>
+ <constant name="gainsboro" value="Color( 0.86, 0.86, 0.86, 1 )">
+ </constant>
+ <constant name="ghostwhite" value="Color( 0.97, 0.97, 1, 1 )">
+ </constant>
+ <constant name="gold" value="Color( 1, 0.84, 0, 1 )">
+ </constant>
+ <constant name="goldenrod" value="Color( 0.85, 0.65, 0.13, 1 )">
+ </constant>
+ <constant name="green" value="Color( 0, 1, 0, 1 )">
+ </constant>
+ <constant name="greenyellow" value="Color( 0.68, 1, 0.18, 1 )">
+ </constant>
+ <constant name="honeydew" value="Color( 0.94, 1, 0.94, 1 )">
+ </constant>
+ <constant name="hotpink" value="Color( 1, 0.41, 0.71, 1 )">
+ </constant>
+ <constant name="indianred" value="Color( 0.8, 0.36, 0.36, 1 )">
+ </constant>
+ <constant name="indigo" value="Color( 0.29, 0, 0.51, 1 )">
+ </constant>
+ <constant name="ivory" value="Color( 1, 1, 0.94, 1 )">
+ </constant>
+ <constant name="khaki" value="Color( 0.94, 0.9, 0.55, 1 )">
+ </constant>
+ <constant name="lavender" value="Color( 0.9, 0.9, 0.98, 1 )">
+ </constant>
+ <constant name="lavenderblush" value="Color( 1, 0.94, 0.96, 1 )">
+ </constant>
+ <constant name="lawngreen" value="Color( 0.49, 0.99, 0, 1 )">
+ </constant>
+ <constant name="lemonchiffon" value="Color( 1, 0.98, 0.8, 1 )">
+ </constant>
+ <constant name="lightblue" value="Color( 0.68, 0.85, 0.9, 1 )">
+ </constant>
+ <constant name="lightcoral" value="Color( 0.94, 0.5, 0.5, 1 )">
+ </constant>
+ <constant name="lightcyan" value="Color( 0.88, 1, 1, 1 )">
+ </constant>
+ <constant name="lightgoldenrod" value="Color( 0.98, 0.98, 0.82, 1 )">
+ </constant>
+ <constant name="lightgray" value="Color( 0.83, 0.83, 0.83, 1 )">
+ </constant>
+ <constant name="lightgreen" value="Color( 0.56, 0.93, 0.56, 1 )">
+ </constant>
+ <constant name="lightpink" value="Color( 1, 0.71, 0.76, 1 )">
+ </constant>
+ <constant name="lightsalmon" value="Color( 1, 0.63, 0.48, 1 )">
+ </constant>
+ <constant name="lightseagreen" value="Color( 0.13, 0.7, 0.67, 1 )">
+ </constant>
+ <constant name="lightskyblue" value="Color( 0.53, 0.81, 0.98, 1 )">
+ </constant>
+ <constant name="lightslategray" value="Color( 0.47, 0.53, 0.6, 1 )">
+ </constant>
+ <constant name="lightsteelblue" value="Color( 0.69, 0.77, 0.87, 1 )">
+ </constant>
+ <constant name="lightyellow" value="Color( 1, 1, 0.88, 1 )">
+ </constant>
+ <constant name="lime" value="Color( 0, 1, 0, 1 )">
+ </constant>
+ <constant name="limegreen" value="Color( 0.2, 0.8, 0.2, 1 )">
+ </constant>
+ <constant name="linen" value="Color( 0.98, 0.94, 0.9, 1 )">
+ </constant>
+ <constant name="magenta" value="Color( 1, 0, 1, 1 )">
+ </constant>
+ <constant name="maroon" value="Color( 0.69, 0.19, 0.38, 1 )">
+ </constant>
+ <constant name="mediumaquamarine" value="Color( 0.4, 0.8, 0.67, 1 )">
+ </constant>
+ <constant name="mediumblue" value="Color( 0, 0, 0.8, 1 )">
+ </constant>
+ <constant name="mediumorchid" value="Color( 0.73, 0.33, 0.83, 1 )">
+ </constant>
+ <constant name="mediumpurple" value="Color( 0.58, 0.44, 0.86, 1 )">
+ </constant>
+ <constant name="mediumseagreen" value="Color( 0.24, 0.7, 0.44, 1 )">
+ </constant>
+ <constant name="mediumslateblue" value="Color( 0.48, 0.41, 0.93, 1 )">
+ </constant>
+ <constant name="mediumspringgreen" value="Color( 0, 0.98, 0.6, 1 )">
+ </constant>
+ <constant name="mediumturquoise" value="Color( 0.28, 0.82, 0.8, 1 )">
+ </constant>
+ <constant name="mediumvioletred" value="Color( 0.78, 0.08, 0.52, 1 )">
+ </constant>
+ <constant name="midnightblue" value="Color( 0.1, 0.1, 0.44, 1 )">
+ </constant>
+ <constant name="mintcream" value="Color( 0.96, 1, 0.98, 1 )">
+ </constant>
+ <constant name="mistyrose" value="Color( 1, 0.89, 0.88, 1 )">
+ </constant>
+ <constant name="moccasin" value="Color( 1, 0.89, 0.71, 1 )">
+ </constant>
+ <constant name="navajowhite" value="Color( 1, 0.87, 0.68, 1 )">
+ </constant>
+ <constant name="navyblue" value="Color( 0, 0, 0.5, 1 )">
+ </constant>
+ <constant name="oldlace" value="Color( 0.99, 0.96, 0.9, 1 )">
+ </constant>
+ <constant name="olive" value="Color( 0.5, 0.5, 0, 1 )">
+ </constant>
+ <constant name="olivedrab" value="Color( 0.42, 0.56, 0.14, 1 )">
+ </constant>
+ <constant name="orange" value="Color( 1, 0.65, 0, 1 )">
+ </constant>
+ <constant name="orangered" value="Color( 1, 0.27, 0, 1 )">
+ </constant>
+ <constant name="orchid" value="Color( 0.85, 0.44, 0.84, 1 )">
+ </constant>
+ <constant name="palegoldenrod" value="Color( 0.93, 0.91, 0.67, 1 )">
+ </constant>
+ <constant name="palegreen" value="Color( 0.6, 0.98, 0.6, 1 )">
+ </constant>
+ <constant name="paleturquoise" value="Color( 0.69, 0.93, 0.93, 1 )">
+ </constant>
+ <constant name="palevioletred" value="Color( 0.86, 0.44, 0.58, 1 )">
+ </constant>
+ <constant name="papayawhip" value="Color( 1, 0.94, 0.84, 1 )">
+ </constant>
+ <constant name="peachpuff" value="Color( 1, 0.85, 0.73, 1 )">
+ </constant>
+ <constant name="peru" value="Color( 0.8, 0.52, 0.25, 1 )">
+ </constant>
+ <constant name="pink" value="Color( 1, 0.75, 0.8, 1 )">
+ </constant>
+ <constant name="plum" value="Color( 0.87, 0.63, 0.87, 1 )">
+ </constant>
+ <constant name="powderblue" value="Color( 0.69, 0.88, 0.9, 1 )">
+ </constant>
+ <constant name="purple" value="Color( 0.63, 0.13, 0.94, 1 )">
+ </constant>
+ <constant name="rebeccapurple" value="Color( 0.4, 0.2, 0.6, 1 )">
+ </constant>
+ <constant name="red" value="Color( 1, 0, 0, 1 )">
+ </constant>
+ <constant name="rosybrown" value="Color( 0.74, 0.56, 0.56, 1 )">
+ </constant>
+ <constant name="royalblue" value="Color( 0.25, 0.41, 0.88, 1 )">
+ </constant>
+ <constant name="saddlebrown" value="Color( 0.55, 0.27, 0.07, 1 )">
+ </constant>
+ <constant name="salmon" value="Color( 0.98, 0.5, 0.45, 1 )">
+ </constant>
+ <constant name="sandybrown" value="Color( 0.96, 0.64, 0.38, 1 )">
+ </constant>
+ <constant name="seagreen" value="Color( 0.18, 0.55, 0.34, 1 )">
+ </constant>
+ <constant name="seashell" value="Color( 1, 0.96, 0.93, 1 )">
+ </constant>
+ <constant name="sienna" value="Color( 0.63, 0.32, 0.18, 1 )">
+ </constant>
+ <constant name="silver" value="Color( 0.75, 0.75, 0.75, 1 )">
+ </constant>
+ <constant name="skyblue" value="Color( 0.53, 0.81, 0.92, 1 )">
+ </constant>
+ <constant name="slateblue" value="Color( 0.42, 0.35, 0.8, 1 )">
+ </constant>
+ <constant name="slategray" value="Color( 0.44, 0.5, 0.56, 1 )">
+ </constant>
+ <constant name="snow" value="Color( 1, 0.98, 0.98, 1 )">
+ </constant>
+ <constant name="springgreen" value="Color( 0, 1, 0.5, 1 )">
+ </constant>
+ <constant name="steelblue" value="Color( 0.27, 0.51, 0.71, 1 )">
+ </constant>
+ <constant name="tan" value="Color( 0.82, 0.71, 0.55, 1 )">
+ </constant>
+ <constant name="teal" value="Color( 0, 0.5, 0.5, 1 )">
+ </constant>
+ <constant name="thistle" value="Color( 0.85, 0.75, 0.85, 1 )">
+ </constant>
+ <constant name="tomato" value="Color( 1, 0.39, 0.28, 1 )">
+ </constant>
+ <constant name="turquoise" value="Color( 0.25, 0.88, 0.82, 1 )">
+ </constant>
+ <constant name="violet" value="Color( 0.93, 0.51, 0.93, 1 )">
+ </constant>
+ <constant name="webgray" value="Color( 0.5, 0.5, 0.5, 1 )">
+ </constant>
+ <constant name="webgreen" value="Color( 0, 0.5, 0, 1 )">
+ </constant>
+ <constant name="webmaroon" value="Color( 0.5, 0, 0, 1 )">
+ </constant>
+ <constant name="webpurple" value="Color( 0.5, 0, 0.5, 1 )">
+ </constant>
+ <constant name="wheat" value="Color( 0.96, 0.87, 0.7, 1 )">
+ </constant>
+ <constant name="white" value="Color( 1, 1, 1, 1 )">
+ </constant>
+ <constant name="whitesmoke" value="Color( 0.96, 0.96, 0.96, 1 )">
+ </constant>
+ <constant name="yellow" value="Color( 1, 1, 0, 1 )">
+ </constant>
+ <constant name="yellowgreen" value="Color( 0.6, 0.8, 0.2, 1 )">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml
index 232357f822..4d52eacba8 100644
--- a/doc/classes/ColorPicker.xml
+++ b/doc/classes/ColorPicker.xml
@@ -4,7 +4,7 @@
Color picker control.
</brief_description>
<description>
- This is a simple color picker [Control]. It's useful for selecting a color from an RGB/RGBA colorspace.
+ [Control] node displaying a color picker widget. It's useful for selecting a color from an RGB/RGBA colorspace.
</description>
<tutorials>
</tutorials>
@@ -17,7 +17,7 @@
<argument index="0" name="color" type="Color">
</argument>
<description>
- Adds the current selected to color to a list of colors (presets), the presets will be displayed in the color picker and the user will be able to select them, notice that the presets list is only for this color picker.
+ Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them. Note: the presets list is only for [i]this[/i] color picker.
</description>
</method>
</methods>
@@ -26,13 +26,13 @@
The currently selected color.
</member>
<member name="deferred_mode" type="bool" setter="set_deferred_mode" getter="is_deferred_mode">
- If [code]true[/code], the color will apply only after user releases mouse button, otherwise it will apply immediatly even in mouse motion event (which can cause performance issues).
+ If [code]true[/code] the color will apply only after the user releases the mouse button, otherwise it will apply immediatly even in mouse motion event (which can cause performance issues).
</member>
<member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha">
- If [code]true[/code], shows an alpha channel slider (transparency).
+ If [code]true[/code] shows an alpha channel slider (transparency).
</member>
<member name="raw_mode" type="bool" setter="set_raw_mode" getter="is_raw_mode">
- If [code]true[/code], allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
+ If [code]true[/code] allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
</member>
</members>
<signals>
diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml
index d049e936a8..6ac2911c11 100644
--- a/doc/classes/ColorPickerButton.xml
+++ b/doc/classes/ColorPickerButton.xml
@@ -4,7 +4,7 @@
Button that pops out a [ColorPicker].
</brief_description>
<description>
- Encapsulates a [ColorPicker] making it accesible by pressing a button, pressing the button will toggle the [ColorPicker] visibility
+ Encapsulates a [ColorPicker] making it accesible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility.
</description>
<tutorials>
</tutorials>
@@ -15,14 +15,14 @@
<return type="ColorPicker">
</return>
<description>
- Returns the [code]ColorPicker[/code] that this [code]ColorPickerButton[/code] toggles.
+ Returns the [ColorPicker] that this node toggles.
</description>
</method>
<method name="get_popup">
<return type="PopupPanel">
</return>
<description>
- Returns the control's [PopupPanel] which allows you to connect to Popup Signals. This allows you to handle events when the ColorPicker is shown or hidden.
+ Returns the control's [PopupPanel] which allows you to connect to popup signals. This allows you to handle events when the ColorPicker is shown or hidden.
</description>
</method>
</methods>
diff --git a/doc/classes/ColorRect.xml b/doc/classes/ColorRect.xml
index 69a70cfa39..e1bffb719e 100644
--- a/doc/classes/ColorRect.xml
+++ b/doc/classes/ColorRect.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ColorRect" inherits="Control" category="Core" version="3.1">
<brief_description>
- Colored rect for canvas.
+ Colored rectangle.
</brief_description>
<description>
- An object that is represented on the canvas as a rect with color. [Color] is used to set or get color info for the rect.
+ Displays a colored rectangle.
</description>
<tutorials>
</tutorials>
@@ -14,9 +14,9 @@
</methods>
<members>
<member name="color" type="Color" setter="set_frame_color" getter="get_frame_color">
- The color to fill the [code]ColorRect[/code].
+ The fill color.
[codeblock]
- $ColorRect.color = Color(1, 0, 0, 1) # Set ColorRect node's color to red
+ $ColorRect.color = Color(1, 0, 0, 1) # Set ColorRect's color to red.
[/codeblock]
</member>
</members>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index d11b369e68..4301102e4a 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Control" inherits="CanvasItem" category="Core" version="3.1">
<brief_description>
- All User Interface nodes inherit from Control. Features anchors and margins to adapt its position and size to its parent.
+ All User Interface nodes inherit from Control. A control's anchors and margins adapt its position and size relative to its parent.
</brief_description>
<description>
Base class for all User Interface or [i]UI[/i] related nodes. [code]Control[/code] features a bounding rectangle that defines its extents, an anchor position relative to its parent and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change.
@@ -19,11 +19,17 @@
<demos>
</demos>
<methods>
+ <method name="_clips_input" qualifiers="virtual">
+ <return type="bool">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="_get_minimum_size" qualifiers="virtual">
<return type="Vector2">
</return>
<description>
- Returns the minimum size this Control can shrink to. The node can never be smaller than this minimum size.
+ Returns the minimum size for this control. See [member rect_min_size].
</description>
</method>
<method name="_gui_input" qualifiers="virtual">
@@ -129,7 +135,7 @@
This method should only be used to test the data. Process the data in [method drop_data].
[codeblock]
extends Control
-
+
func can_drop_data(position, data):
# check position if it is relevant to you
# otherwise just check data
@@ -148,10 +154,10 @@
Godot calls this method to pass you the [code]data[/code] from a control's [method get_drag_data] result. Godot first calls [method can_drop_data] to test if [code]data[/code] is allowed to drop at [code]position[/code] where [code]position[/code] is local to this control.
[codeblock]
extends ColorRect
-
+
func can_drop_data(position, data):
return typeof(data) == TYPE_DICTIONARY and data.has('color')
-
+
func drop_data(position, data):
color = data['color']
[/codeblock]
@@ -173,6 +179,7 @@
<return type="Vector2">
</return>
<description>
+ Returns [member margin_left] and [member margin_top]. See also [member rect_position].
</description>
</method>
<method name="get_color" qualifiers="const">
@@ -207,7 +214,7 @@
<argument index="0" name="position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
- Returns the mouse cursor shape the control displays on mouse hover, one of the [code]CURSOR_*[/code] constants.
+ Returns the mouse cursor shape the control displays on mouse hover. See [enum CursorShape].
</description>
</method>
<method name="get_drag_data" qualifiers="virtual">
@@ -220,7 +227,7 @@
A preview that will follow the mouse that should represent the data can be set with [method set_drag_preview]. A good time to set the preview is in this method.
[codeblock]
extends Control
-
+
func get_drag_data(position):
var mydata = make_data()
set_drag_preview(make_preview(mydata))
@@ -232,14 +239,14 @@
<return type="Vector2">
</return>
<description>
- Returns MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see [method set_margin]).
+ Returns [member margin_right] and [member margin_bottom].
</description>
</method>
<method name="get_focus_owner" qualifiers="const">
<return type="Control">
</return>
<description>
- Return which control is owning the keyboard focus, or null if no one.
+ Returns the control that has the keyboard focus or [code]null[/code] if none.
</description>
</method>
<method name="get_font" qualifiers="const">
@@ -256,7 +263,7 @@
<return type="Rect2">
</return>
<description>
- Return position and size of the Control, relative to the top-left corner of the [i]window[/i] Control. This is a helper (see [method get_global_position], [method get_size]).
+ Returns the position and size of the control relative to the top-left corner of the screen. See [member rect_position] and [member rect_size].
</description>
</method>
<method name="get_icon" qualifiers="const">
@@ -273,33 +280,35 @@
<return type="Vector2">
</return>
<description>
- Return the minimum size this Control can shrink to. A control will never be displayed or resized smaller than its minimum size.
+ Returns the minimum size for this control. See [member rect_min_size].
</description>
</method>
<method name="get_parent_area_size" qualifiers="const">
<return type="Vector2">
</return>
<description>
+ Returns the width/height occupied in the parent control.
</description>
</method>
<method name="get_parent_control" qualifiers="const">
<return type="Control">
</return>
<description>
+ Returns the parent control node.
</description>
</method>
<method name="get_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
- Return position and size of the Control, relative to the top-left corner of the parent Control. This is a helper (see [method get_position], [method get_size]).
+ Returns the position and size of the control relative to the top-left corner of the parent Control. See [member rect_position] and [member rect_size].
</description>
</method>
<method name="get_rotation" qualifiers="const">
<return type="float">
</return>
<description>
- Return the rotation (in radians)
+ Returns the rotation (in radians).
</description>
</method>
<method name="get_stylebox" qualifiers="const">
@@ -318,7 +327,7 @@
<argument index="0" name="at_position" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
- Return the tooltip, which will appear when the cursor is resting over this control.
+ Returns the tooltip, which will appear when the cursor is resting over this control.
</description>
</method>
<method name="grab_click_focus">
@@ -374,7 +383,7 @@
<return type="bool">
</return>
<description>
- Return whether the Control is the current focused control (see [method set_focus_mode]).
+ Returns [code]true[/code] if this is the current focused control. See [member focus_mode].
</description>
</method>
<method name="has_font" qualifiers="const">
@@ -457,7 +466,7 @@
<return type="void">
</return>
<description>
- Give up the focus, no other control will be able to receive keyboard input.
+ Give up the focus. No other control will be able to receive keyboard input.
</description>
</method>
<method name="set_anchor">
@@ -516,7 +525,7 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Sets MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see [method set_margin]).
+ Sets [member margin_left] and [member margin_top] at the same time.
</description>
</method>
<method name="set_drag_forwarding">
@@ -534,15 +543,15 @@
extends Control
func _ready():
set_drag_forwarding(target_control)
-
+
# TargetControl.gd
extends Control
func can_drop_data_fw(position, data, from_control):
return true
-
+
func drop_data_fw(position, data, from_control):
my_handle_data(data)
-
+
func get_drag_data_fw(position, from_control):
set_drag_preview(my_preview)
return my_data()
@@ -564,7 +573,7 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Sets MARGIN_RIGHT and MARGIN_BOTTOM at the same time. This is a helper (see [method set_margin]).
+ Sets [member margin_right] and [member margin_bottom] at the same time.
</description>
</method>
<method name="set_margins_preset">
@@ -585,7 +594,7 @@
<argument index="0" name="radians" type="float">
</argument>
<description>
- Set the rotation (in radians).
+ Sets the rotation (in radians).
</description>
</method>
<method name="show_modal">
@@ -594,7 +603,7 @@
<argument index="0" name="exclusive" type="bool" default="false">
</argument>
<description>
- Display a Control as modal. Control must be a subwindow. Modal controls capture the input signals until closed or the area outside them is accessed. When a modal control loses focus, or the ESC key is pressed, they automatically hide. Modal controls are used extensively for popup dialogs and menus.
+ Displays a control as modal. Control must be a subwindow. Modal controls capture the input signals until closed or the area outside them is accessed. When a modal control loses focus, or the ESC key is pressed, they automatically hide. Modal controls are used extensively for popup dialogs and menus.
</description>
</method>
<method name="warp_mouse">
@@ -753,22 +762,22 @@
</signals>
<constants>
<constant name="FOCUS_NONE" value="0" enum="FocusMode">
- The node cannot grab focus. Use with [member set_focus_mode].
+ The node cannot grab focus. Use with [member focus_mode].
</constant>
<constant name="FOCUS_CLICK" value="1" enum="FocusMode">
- The node can only grab focus on mouse clicks. Use with [member set_focus_mode].
+ The node can only grab focus on mouse clicks. Use with [member focus_mode].
</constant>
<constant name="FOCUS_ALL" value="2" enum="FocusMode">
- The node can grab focus on mouse click or using the arrows and the Tab keys on the keyboard. Use with [member set_focus_mode].
+ The node can grab focus on mouse click or using the arrows and the Tab keys on the keyboard. Use with [member focus_mode].
</constant>
<constant name="NOTIFICATION_RESIZED" value="40">
Sent when the node changes size. Use [member rect_size] to get the new size.
</constant>
<constant name="NOTIFICATION_MOUSE_ENTER" value="41">
- Sent when the mouse pointer enters the node's [code]Rect[/code] area.
+ Sent when the mouse pointer enters the node.
</constant>
<constant name="NOTIFICATION_MOUSE_EXIT" value="42">
- Sent when the mouse pointer exits the node's [code]Rect[/code] area.
+ Sent when the mouse pointer exits the node.
</constant>
<constant name="NOTIFICATION_FOCUS_ENTER" value="43">
Sent when the node grabs focus.
@@ -777,7 +786,7 @@
Sent when the node loses focus.
</constant>
<constant name="NOTIFICATION_THEME_CHANGED" value="45">
- Sent when the node's [member theme] changes, right before Godot redraws the [code]Control[/code]. Happens when you call one of the [code]add_*_override[/code]
+ Sent when the node's [member theme] changes, right before Godot redraws the control. Happens when you call one of the [code]add_*_override[/code]
</constant>
<constant name="NOTIFICATION_MODAL_CLOSE" value="46">
Sent when an open modal dialog closes. See [member show_modal].
@@ -903,7 +912,7 @@
Sets the node's size flags to both fill and expand. See the 2 constants above for more information.
</constant>
<constant name="SIZE_SHRINK_CENTER" value="4" enum="SizeFlags">
- Tells the parent [Container] to center the node in itself. It centers the [code]Control[/code] based on its bounding box, so it doesn't work with the fill or expand size flags. Use with [member size_flags_horizontal] and [member size_flags_vertical].
+ Tells the parent [Container] to center the node in itself. It centers the control based on its bounding box, so it doesn't work with the fill or expand size flags. Use with [member size_flags_horizontal] and [member size_flags_vertical].
</constant>
<constant name="SIZE_SHRINK_END" value="8" enum="SizeFlags">
Tells the parent [Container] to align the node with its end, either the bottom or the right edge. It doesn't work with the fill or expand size flags. Use with [member size_flags_horizontal] and [member size_flags_vertical].
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index 9fa1e3ea6c..800a76ccf1 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -33,6 +33,8 @@
</description>
</method>
<method name="erase">
+ <return type="bool">
+ </return>
<argument index="0" name="key" type="var">
</argument>
<description>
diff --git a/doc/classes/DirectionalLight.xml b/doc/classes/DirectionalLight.xml
index ef75182811..2dc522083d 100644
--- a/doc/classes/DirectionalLight.xml
+++ b/doc/classes/DirectionalLight.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="DirectionalLight" inherits="Light" category="Core" version="3.1">
<brief_description>
- Directional Light, such as the Sun or the Moon.
+ Directional light from a distance, as from the Sun.
</brief_description>
<description>
- A DirectionalLight is a type of [Light] node that emits light constantly in one direction (the negative z axis of the node). It is used lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored, only the basis is used do determine light direction.
+ A directional light is a type of [Light] node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored. Only the basis is used do determine light direction.
</description>
<tutorials>
<link>http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html</link>
@@ -15,34 +15,48 @@
</methods>
<members>
<member name="directional_shadow_bias_split_scale" type="float" setter="set_param" getter="get_param">
+ Amount of extra bias for shadow splits that are far away. If self shadowing occurs only on the splits far away, this value can fix them.
</member>
<member name="directional_shadow_blend_splits" type="bool" setter="set_blend_splits" getter="is_blend_splits_enabled">
+ If [code]true[/code] shadow detail is sacrificed in exchange for smoother transitions between splits. Default value:[code]false[/code].
</member>
<member name="directional_shadow_depth_range" type="int" setter="set_shadow_depth_range" getter="get_shadow_depth_range" enum="DirectionalLight.ShadowDepthRange">
+ Optimizes shadow rendering for detail versus movement. See [enum ShadowDepthRange].
</member>
<member name="directional_shadow_max_distance" type="float" setter="set_param" getter="get_param">
+ The maximum distance for shadow splits.
</member>
<member name="directional_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="DirectionalLight.ShadowMode">
+ The light's shadow rendering algorithm. See [enum ShadowMode].
</member>
<member name="directional_shadow_normal_bias" type="float" setter="set_param" getter="get_param">
+ Can be used to fix special cases of self shadowing when objects are perpendicular to the light.
</member>
<member name="directional_shadow_split_1" type="float" setter="set_param" getter="get_param">
+ The distance from camera to shadow split 1. Relative to [member directional_shadow_max_distance]. Only used in [enum directional_shadow_mode] SHADOW_PARALLEL_*_SPLITS.
</member>
<member name="directional_shadow_split_2" type="float" setter="set_param" getter="get_param">
+ The distance from shadow split 1 to split 2. Relative to [member directional_shadow_max_distance]. Only used in [enum directional_shadow_mode] SHADOW_PARALLEL_*_SPLITS.
</member>
<member name="directional_shadow_split_3" type="float" setter="set_param" getter="get_param">
+ The distance from shadow split 2 to split 3. Relative to [member directional_shadow_max_distance]. Only used in [enum directional_shadow_mode] SHADOW_PARALLEL_4_SPLITS.
</member>
</members>
<constants>
<constant name="SHADOW_ORTHOGONAL" value="0" enum="ShadowMode">
+ Renders the entire scene's shadow map from an orthogonal point of view. May result in blockier shadows on close objects.
</constant>
<constant name="SHADOW_PARALLEL_2_SPLITS" value="1" enum="ShadowMode">
+ Splits the view frustum in 2 areas, each with its own shadow map.
</constant>
<constant name="SHADOW_PARALLEL_4_SPLITS" value="2" enum="ShadowMode">
+ Splits the view frustum in 4 areas, each with its own shadow map.
</constant>
<constant name="SHADOW_DEPTH_RANGE_STABLE" value="0" enum="ShadowDepthRange">
+ Keeps the shadow stable when the camera moves, at the cost of lower effective shadow resolution. Default value.
</constant>
<constant name="SHADOW_DEPTH_RANGE_OPTIMIZED" value="1" enum="ShadowDepthRange">
+ Tries to achieve maximum shadow resolution. May result in saw effect on shadow edges.
</constant>
</constants>
</class>
diff --git a/doc/classes/EditorFileSystem.xml b/doc/classes/EditorFileSystem.xml
index 5a8b506f9e..ade6d2034d 100644
--- a/doc/classes/EditorFileSystem.xml
+++ b/doc/classes/EditorFileSystem.xml
@@ -93,6 +93,10 @@
Remitted if a resource is reimported.
</description>
</signal>
+ <signal name="script_classes_updated">
+ <description>
+ </description>
+ </signal>
<signal name="sources_changed">
<argument index="0" name="exist" type="bool">
</argument>
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index f5fbf8e313..62fc56e990 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -156,15 +156,6 @@
Clear all the state and reset the object being edited to zero. This ensures your plugin does not keep editing a currently existing node, or a node from the wrong scene.
</description>
</method>
- <method name="create_spatial_gizmo" qualifiers="virtual">
- <return type="EditorSpatialGizmo">
- </return>
- <argument index="0" name="for_spatial" type="Spatial">
- </argument>
- <description>
- This is used for plugins that create gizmos used by the spatial editor. Just check that the node passed in the "for_spatial" argument matches your plugin.
- </description>
- </method>
<method name="edit" qualifiers="virtual">
<return type="void">
</return>
diff --git a/doc/classes/EditorSpatialGizmo.xml b/doc/classes/EditorSpatialGizmo.xml
index 3636442b85..2081ae7a4d 100644
--- a/doc/classes/EditorSpatialGizmo.xml
+++ b/doc/classes/EditorSpatialGizmo.xml
@@ -33,9 +33,11 @@
</return>
<argument index="0" name="handles" type="PoolVector3Array">
</argument>
- <argument index="1" name="billboard" type="bool" default="false">
+ <argument index="1" name="material" type="Material">
</argument>
- <argument index="2" name="secondary" type="bool" default="false">
+ <argument index="2" name="billboard" type="bool" default="false">
+ </argument>
+ <argument index="3" name="secondary" type="bool" default="false">
</argument>
<description>
Add a list of handles (points) which can be used to deform the object being edited.
@@ -138,6 +140,14 @@
The [Camera] is also provided so screen coordinates can be converted to raycasts.
</description>
</method>
+ <method name="set_hidden">
+ <return type="void">
+ </return>
+ <argument index="0" name="hidden" type="bool">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_spatial_node">
<return type="void">
</return>
diff --git a/doc/classes/Expression.xml b/doc/classes/Expression.xml
new file mode 100644
index 0000000000..d5b831a61a
--- /dev/null
+++ b/doc/classes/Expression.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="Expression" inherits="Reference" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ <method name="execute">
+ <return type="Variant">
+ </return>
+ <argument index="0" name="inputs" type="Array" default="[ ]">
+ </argument>
+ <argument index="1" name="base_instance" type="Object" default="null">
+ </argument>
+ <argument index="2" name="show_error" type="bool" default="true">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="get_error_text" qualifiers="const">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="has_execute_failed" qualifiers="const">
+ <return type="bool">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="parse">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="expression" type="String">
+ </argument>
+ <argument index="1" name="input_names" type="PoolStringArray" default="PoolStringArray( )">
+ </argument>
+ <description>
+ </description>
+ </method>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml
index 7503e53188..a013ee6266 100644
--- a/doc/classes/InputEventKey.xml
+++ b/doc/classes/InputEventKey.xml
@@ -16,6 +16,7 @@
<return type="int">
</return>
<description>
+ Returns the scancode combined with modifier keys such as [code]Shift[/code] or [code]Alt[/code]. See also [InputEventWithModifiers].
</description>
</method>
</methods>
diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml
index 2f5fb49dba..7fd1d7e8ac 100644
--- a/doc/classes/InputMap.xml
+++ b/doc/classes/InputMap.xml
@@ -40,6 +40,7 @@
<argument index="0" name="action" type="String">
</argument>
<description>
+ Removes all events from an action.
</description>
</method>
<method name="action_has_event">
@@ -50,15 +51,15 @@
<argument index="1" name="event" type="InputEvent">
</argument>
<description>
- Returns [true] if an action has an [InputEvent] associated with it.
+ Returns [code]true[/code] if the action has the given [InputEvent] associated with it.
</description>
</method>
<method name="action_set_deadzone">
<return type="void">
</return>
- <argument index="0" name="deadzone" type="String">
+ <argument index="0" name="action" type="String">
</argument>
- <argument index="1" name="arg1" type="float">
+ <argument index="1" name="deadzone" type="float">
</argument>
<description>
</description>
@@ -71,7 +72,7 @@
<argument index="1" name="deadzone" type="float" default="0.5">
</argument>
<description>
- Adds an (empty) action to the [code]InputMap[/code], with a configurable [code]deadzone[/code].
+ Adds an empty action to the [code]InputMap[/code] with a configurable [code]deadzone[/code].
An [InputEvent] can then be added to this action with [method action_add_event].
</description>
</method>
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 48ca0ddc01..4723cf8ee4 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -77,6 +77,14 @@
<description>
</description>
</method>
+ <method name="get_item_custom_fg_color" qualifiers="const">
+ <return type="Color">
+ </return>
+ <argument index="0" name="idx" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="get_item_icon" qualifiers="const">
<return type="Texture">
</return>
@@ -227,6 +235,16 @@
<description>
</description>
</method>
+ <method name="set_item_custom_fg_color">
+ <return type="void">
+ </return>
+ <argument index="0" name="idx" type="int">
+ </argument>
+ <argument index="1" name="custom_fg_color" type="Color">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_item_disabled">
<return type="void">
</return>
diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml
index e6d537b895..0c66319ae7 100644
--- a/doc/classes/KinematicBody.xml
+++ b/doc/classes/KinematicBody.xml
@@ -65,8 +65,11 @@
</argument>
<argument index="1" name="infinite_inertia" type="bool" default="true">
</argument>
+ <argument index="2" name="test_only" type="bool" default="false">
+ </argument>
<description>
Moves the body along the vector [code]rel_vec[/code]. The body will stop if it collides. Returns a [KinematicCollision], which contains information about the collision.
+ If [code]test_only[/code] is [code]true[/true], the body does not move but the would-be collision information is given.
</description>
</method>
<method name="move_and_slide">
@@ -76,7 +79,7 @@
</argument>
<argument index="1" name="floor_normal" type="Vector3" default="Vector3( 0, 0, 0 )">
</argument>
- <argument index="2" name="slope_stop_min_velocity" type="float" default="0.05">
+ <argument index="2" name="stop_on_slope" type="bool" default="false">
</argument>
<argument index="3" name="max_slides" type="int" default="4">
</argument>
@@ -88,12 +91,32 @@
Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [code]KinematicBody[/code] or [RigidBody], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
[code]linear_velocity[/code] is a value in pixels per second. Unlike in for example [method move_and_collide], you should [i]not[/i] multiply it with [code]delta[/code] — this is done by the method.
[code]floor_normal[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector3(0, 0, 0)[/code], everything is considered a wall. This is useful for topdown games.
- If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes.
+ [i]TODO: Update for new stop_on_slode argument.[/i] If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes.
If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops.
[code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
Returns the movement that remained when the body stopped. To get more detailed information about collisions that occurred, use [method get_slide_collision].
</description>
</method>
+ <method name="move_and_slide_with_snap">
+ <return type="Vector3">
+ </return>
+ <argument index="0" name="linear_velocity" type="Vector3">
+ </argument>
+ <argument index="1" name="snap" type="Vector3">
+ </argument>
+ <argument index="2" name="floor_normal" type="Vector3" default="Vector3( 0, 0, 0 )">
+ </argument>
+ <argument index="3" name="infinite_inertia" type="bool" default="true">
+ </argument>
+ <argument index="4" name="stop_on_slope" type="bool" default="false">
+ </argument>
+ <argument index="5" name="max_bounces" type="int" default="4">
+ </argument>
+ <argument index="6" name="floor_max_angle" type="float" default="0.785398">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="test_move">
<return type="bool">
</return>
@@ -109,20 +132,14 @@
</method>
</methods>
<members>
- <member name="axis_lock_angular_x" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- </member>
- <member name="axis_lock_angular_y" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- </member>
- <member name="axis_lock_angular_z" type="bool" setter="set_axis_lock" getter="get_axis_lock">
- </member>
- <member name="axis_lock_linear_x" type="bool" setter="set_axis_lock" getter="get_axis_lock">
+ <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin">
+ If the body is at least this close to another body, this body will consider them to be colliding.
</member>
- <member name="axis_lock_linear_y" type="bool" setter="set_axis_lock" getter="get_axis_lock">
+ <member name="move_lock_x" type="bool" setter="set_axis_lock" getter="get_axis_lock">
</member>
- <member name="axis_lock_linear_z" type="bool" setter="set_axis_lock" getter="get_axis_lock">
+ <member name="move_lock_y" type="bool" setter="set_axis_lock" getter="get_axis_lock">
</member>
- <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin">
- If the body is at least this close to another body, this body will consider them to be colliding.
+ <member name="move_lock_z" type="bool" setter="set_axis_lock" getter="get_axis_lock">
</member>
</members>
<constants>
diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml
index fdc974630f..e48660a889 100644
--- a/doc/classes/KinematicBody2D.xml
+++ b/doc/classes/KinematicBody2D.xml
@@ -81,7 +81,7 @@
</argument>
<argument index="2" name="infinite_inertia" type="bool" default="true">
</argument>
- <argument index="3" name="slope_stop_min_velocity" type="float" default="5">
+ <argument index="3" name="stop_on_slope" type="bool" default="false">
</argument>
<argument index="4" name="max_bounces" type="int" default="4">
</argument>
@@ -91,7 +91,7 @@
Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [code]KinematicBody2D[/code] or [RigidBody2D], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
[code]linear_velocity[/code] is a value in pixels per second. Unlike in for example [method move_and_collide], you should [i]not[/i] multiply it with [code]delta[/code] — this is done by the method.
[code]floor_normal[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector2(0, 0)[/code], everything is considered a wall. This is useful for topdown games.
- If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes.
+ [i]TODO: Update for stop_on_slope argument.[/i] If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes.
If the body collides, it will change direction a maximum of [code]max_bounces[/code] times before it stops.
[code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
Returns the movement that remained when the body stopped. To get more detailed information about collisions that occurred, use [method get_slide_collision].
@@ -108,13 +108,15 @@
</argument>
<argument index="3" name="infinite_inertia" type="bool" default="true">
</argument>
- <argument index="4" name="slope_stop_min_velocity" type="float" default="5">
+ <argument index="4" name="stop_on_slope" type="bool" default="false">
</argument>
<argument index="5" name="max_bounces" type="int" default="4">
</argument>
<argument index="6" name="floor_max_angle" type="float" default="0.785398">
</argument>
<description>
+ Moves the body while keeping it attached to slopes. Similar to [method move_and_slide].
+ As long as the [code]snap[/code] vector is in contact with the ground, the body will remain attached to the surface. This means you must disable snap in order to jump, for example. You can do this by setting[code]snap[/code] to[code](0, 0)[/code] or by using [method move_and_slide] instead.
</description>
</method>
<method name="test_move">
@@ -136,6 +138,7 @@
If the body is at least this close to another body, this body will consider them to be colliding.
</member>
<member name="motion/sync_to_physics" type="bool" setter="set_sync_to_physics" getter="is_sync_to_physics_enabled">
+ If [code]true[/code] the body's movement will be synchronized to the physics frame. This is useful when animating movement via [AnimationPlayer], for example on moving platforms.
</member>
</members>
<constants>
diff --git a/doc/classes/Light.xml b/doc/classes/Light.xml
index e9b36c2f9d..04191136a8 100644
--- a/doc/classes/Light.xml
+++ b/doc/classes/Light.xml
@@ -15,28 +15,40 @@
</methods>
<members>
<member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only">
+ If [code]true[/code] the light only appears in the editor and will not be visible at runtime. Default value:[code]false[/code].
</member>
<member name="light_bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="Light.BakeMode">
+ The light's bake mode. See [enum BakeMode].
</member>
<member name="light_color" type="Color" setter="set_color" getter="get_color">
+ The light's color.
</member>
<member name="light_cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask">
+ The light will affect objects in the selected layers.
</member>
<member name="light_energy" type="float" setter="set_param" getter="get_param">
+ The light's strength multiplier.
</member>
<member name="light_indirect_energy" type="float" setter="set_param" getter="get_param">
+ Secondary multiplier used with indirect light (light bounces). This works in baked light or GIProbe.
</member>
<member name="light_negative" type="bool" setter="set_negative" getter="is_negative">
+ If [code]true[/code] the light's effect is reversed, darkening areas and casting bright shadows. Default value: [code]false[/code].
</member>
<member name="light_specular" type="float" setter="set_param" getter="get_param">
+ The intensity of the specular blob in objects affected by the light. At [code]0[/code] the light becomes a pure diffuse light.
</member>
<member name="shadow_bias" type="float" setter="set_param" getter="get_param">
+ Used to adjust shadow appearance. Too small a value results in self shadowing, while too large a value causes shadows to separate from casters. Adjust as needed.
</member>
<member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color">
+ The color of shadows cast by this light.
</member>
<member name="shadow_contact" type="float" setter="set_param" getter="get_param">
+ Attempts to reduce [member shadow_bias] gap.
</member>
<member name="shadow_enabled" type="bool" setter="set_shadow" getter="has_shadow">
+ If [code]true[/code] the light will cast shadows. Default value: [code]false[/code].
</member>
<member name="shadow_reverse_cull_face" type="bool" setter="set_shadow_reverse_cull_face" getter="get_shadow_reverse_cull_face">
</member>
@@ -75,10 +87,13 @@
<constant name="PARAM_MAX" value="15" enum="Param">
</constant>
<constant name="BAKE_DISABLED" value="0" enum="BakeMode">
+ Light is ignored when baking. Note: hiding a light does [i]not[/i] affect baking.
</constant>
<constant name="BAKE_INDIRECT" value="1" enum="BakeMode">
+ Only indirect lighting will be baked. Default value.
</constant>
<constant name="BAKE_ALL" value="2" enum="BakeMode">
+ Both direct and indirect light will be baked. Note: you should hide the light if you don't want it to appear twice (dynamic and baked).
</constant>
</constants>
</class>
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index d7a0385bb3..c244b8b7a7 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -88,6 +88,8 @@
<member name="caret_position" type="int" setter="set_cursor_position" getter="get_cursor_position">
The cursor's position inside the [code]LineEdit[/code]. When set, the text may scroll to accommodate it.
</member>
+ <member name="clear_button_enabled" type="bool" setter="set_clear_button_enabled" getter="is_clear_button_enabled">
+ </member>
<member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled">
If [code]true[/code] the context menu will appear when right clicked.
</member>
@@ -172,6 +174,12 @@
</constant>
</constants>
<theme_items>
+ <theme_item name="clear" type="Texture">
+ </theme_item>
+ <theme_item name="clear_button_color" type="Color">
+ </theme_item>
+ <theme_item name="clear_button_color_pressed" type="Color">
+ </theme_item>
<theme_item name="cursor_color" type="Color">
</theme_item>
<theme_item name="focus" type="StyleBox">
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index bfef3c8588..d02e3dfdfa 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -38,6 +38,12 @@
Corresponds to the NOTIFICATION_EXIT_TREE notification in [method Object._notification] and signal [signal tree_exiting]. To get notified when the node has already left the active tree, connect to the [signal tree_exited]
</description>
</method>
+ <method name="_get_configuration_warning" qualifiers="virtual">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="_input" qualifiers="virtual">
<return type="void">
</return>
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index a830468042..f4ad196ad2 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -420,5 +420,7 @@
<constant name="CONNECT_ONESHOT" value="4" enum="ConnectFlags">
One shot connections disconnect themselves after emission.
</constant>
+ <constant name="CONNECT_REFERENCE_COUNTED" value="8" enum="ConnectFlags">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/OmniLight.xml b/doc/classes/OmniLight.xml
index ff2e77ffbe..5ed058bb06 100644
--- a/doc/classes/OmniLight.xml
+++ b/doc/classes/OmniLight.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="OmniLight" inherits="Light" category="Core" version="3.1">
<brief_description>
- OmniDirectional Light, such as a light bulb or a candle.
+ Omnidirectional light, such as a light bulb or a candle.
</brief_description>
<description>
- An OmniDirectional light is a type of [Light] node that emits lights in all directions. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light].
+ An Omnidirectional light is a type of [Light] that emits light in all directions. The light is attenuated by distance and this attenuation can be configured by changing its energy, radius, and attenuation parameters.
</description>
<tutorials>
<link>http://docs.godotengine.org/en/3.0/tutorials/3d/lights_and_shadows.html</link>
@@ -15,12 +15,16 @@
</methods>
<members>
<member name="omni_attenuation" type="float" setter="set_param" getter="get_param">
+ The light's attenuation (drop-off) curve. A number of presets are available in the Inspector.
</member>
<member name="omni_range" type="float" setter="set_param" getter="get_param">
+ Maximum distance the light affects.
</member>
<member name="omni_shadow_detail" type="int" setter="set_shadow_detail" getter="get_shadow_detail" enum="OmniLight.ShadowDetail">
+ See [enum ShadowDetail].
</member>
<member name="omni_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="OmniLight.ShadowMode">
+ See [enum ShadowMode].
</member>
</members>
<constants>
diff --git a/doc/classes/PhysicalBone.xml b/doc/classes/PhysicalBone.xml
index 99f551b865..5eb4550e93 100644
--- a/doc/classes/PhysicalBone.xml
+++ b/doc/classes/PhysicalBone.xml
@@ -9,6 +9,12 @@
<demos>
</demos>
<methods>
+ <method name="get_bone_id" qualifiers="const">
+ <return type="int">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="get_simulate_physics">
<return type="bool">
</return>
diff --git a/doc/classes/PhysicsDirectBodyState.xml b/doc/classes/PhysicsDirectBodyState.xml
index 5117c9ef6c..91fc4df4ff 100644
--- a/doc/classes/PhysicsDirectBodyState.xml
+++ b/doc/classes/PhysicsDirectBodyState.xml
@@ -121,7 +121,7 @@
<argument index="0" name="contact_idx" type="int">
</argument>
<description>
- Impulse created by the contact. Only implemented for Bullet physics.
+ Impulse created by the contact. Only implemented for Bullet physics.
</description>
</method>
<method name="get_contact_local_normal" qualifiers="const">
diff --git a/doc/classes/PhysicsMaterial.xml b/doc/classes/PhysicsMaterial.xml
index 5512c4605a..bfebb472a5 100644
--- a/doc/classes/PhysicsMaterial.xml
+++ b/doc/classes/PhysicsMaterial.xml
@@ -10,6 +10,16 @@
</demos>
<methods>
</methods>
+ <members>
+ <member name="absorbent" type="bool" setter="set_absorbent" getter="is_absorbent">
+ </member>
+ <member name="bounce" type="float" setter="set_bounce" getter="get_bounce">
+ </member>
+ <member name="friction" type="float" setter="set_friction" getter="get_friction">
+ </member>
+ <member name="rough" type="bool" setter="set_rough" getter="is_rough">
+ </member>
+ </members>
<constants>
</constants>
</class>
diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml
index 6f616401cb..62e4fc5d9d 100644
--- a/doc/classes/Plane.xml
+++ b/doc/classes/Plane.xml
@@ -157,5 +157,11 @@
</member>
</members>
<constants>
+ <constant name="X" value="Plane( 1, 0, 0, 0 )">
+ </constant>
+ <constant name="Y" value="Plane( 0, 1, 0, 0 )">
+ </constant>
+ <constant name="Z" value="Plane( 0, 0, 1, 0 )">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml
index 0c8769714b..fe7dbe52b0 100644
--- a/doc/classes/PopupMenu.xml
+++ b/doc/classes/PopupMenu.xml
@@ -260,6 +260,12 @@
<description>
</description>
</method>
+ <method name="is_hide_on_window_lose_focus" qualifiers="const">
+ <return type="bool">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="is_item_checkable" qualifiers="const">
<return type="bool">
</return>
@@ -322,6 +328,14 @@
Removes the item at index "idx" from the menu. Note that the indexes of items after the removed item are going to be shifted by one.
</description>
</method>
+ <method name="set_hide_on_window_lose_focus">
+ <return type="void">
+ </return>
+ <argument index="0" name="enable" type="bool">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_item_accelerator">
<return type="void">
</return>
diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml
index 919ecd7c86..0f03b7b80a 100644
--- a/doc/classes/ProgressBar.xml
+++ b/doc/classes/ProgressBar.xml
@@ -14,6 +14,7 @@
</methods>
<members>
<member name="percent_visible" type="bool" setter="set_percent_visible" getter="is_percent_visible">
+ If [code]true[/code] the fill percentage is displayed on the bar. Default value: [code]true[/code].
</member>
</members>
<constants>
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index a4af5509a6..358b7292a5 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -224,6 +224,58 @@
</member>
<member name="compression/formats/zstd/window_log_size" type="int" setter="" getter="">
</member>
+ <member name="debug/gdscript/warnings/constant_used_as_function" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/enable" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/function_conflicts_constant" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/function_conflicts_variable" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/function_may_yield" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/function_used_as_property" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/incompatible_ternary" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/integer_division" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/narrowing_conversion" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/property_used_as_function" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/return_value_discarded" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/standalone_expression" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/treat_warnings_as_errors" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unassigned_variable" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unassigned_variable_op_assign" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unreachable_code" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unsafe_call_argument" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unsafe_cast" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unsafe_method_access" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unsafe_property_access" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unused_argument" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unused_class_variable" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unused_signal" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/unused_variable" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/variable_conflicts_function" type="bool" setter="" getter="">
+ </member>
+ <member name="debug/gdscript/warnings/void_assignment" type="bool" setter="" getter="">
+ </member>
<member name="debug/settings/crash_handler/message" type="String" setter="" getter="">
</member>
<member name="debug/settings/fps/force_fps" type="int" setter="" getter="">
@@ -315,31 +367,31 @@
<member name="gui/timers/text_edit_idle_detect_sec" type="int" setter="" getter="">
Timer for detecting idle in the editor.
</member>
- <member name="input/ui_accept" type="Array" setter="" getter="">
+ <member name="input/ui_accept" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_cancel" type="Array" setter="" getter="">
+ <member name="input/ui_cancel" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_down" type="Array" setter="" getter="">
+ <member name="input/ui_down" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_end" type="Array" setter="" getter="">
+ <member name="input/ui_end" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_focus_next" type="Array" setter="" getter="">
+ <member name="input/ui_focus_next" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_focus_prev" type="Array" setter="" getter="">
+ <member name="input/ui_focus_prev" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_home" type="Array" setter="" getter="">
+ <member name="input/ui_home" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_left" type="Array" setter="" getter="">
+ <member name="input/ui_left" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_page_down" type="Array" setter="" getter="">
+ <member name="input/ui_page_down" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_page_up" type="Array" setter="" getter="">
+ <member name="input/ui_page_up" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_right" type="Array" setter="" getter="">
+ <member name="input/ui_right" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_select" type="Array" setter="" getter="">
+ <member name="input/ui_select" type="Dictionary" setter="" getter="">
</member>
- <member name="input/ui_up" type="Array" setter="" getter="">
+ <member name="input/ui_up" type="Dictionary" setter="" getter="">
</member>
<member name="input_devices/pointing/emulate_mouse_from_touch" type="bool" setter="" getter="">
</member>
diff --git a/doc/classes/Quat.xml b/doc/classes/Quat.xml
index c755e6b02a..67631bbc92 100644
--- a/doc/classes/Quat.xml
+++ b/doc/classes/Quat.xml
@@ -188,5 +188,7 @@
</member>
</members>
<constants>
+ <constant name="IDENTITY" value="Quat( 0, 0, 0, 1 )">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml
index fa7e20eff6..46a6132b94 100644
--- a/doc/classes/Range.xml
+++ b/doc/classes/Range.xml
@@ -17,30 +17,32 @@
<argument index="0" name="with" type="Node">
</argument>
<description>
- Binds two Ranges together along with any Ranges previously grouped with either of them. When any of Range's member variables change, it will share the new value with all other Ranges in its group.
+ Binds two ranges together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
</description>
</method>
<method name="unshare">
<return type="void">
</return>
<description>
- Stop Range from sharing its member variables with any other Range.
+ Stop range from sharing its member variables with any other.
</description>
</method>
</methods>
<members>
<member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed">
+ If [code]true[/code] [member value] may be greater than [member max_value]. Default value: [code]false[/code].
</member>
<member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed">
+ If [code]true[/code] [member value] may be less than [member min_value]. Default value: [code]false[/code].
</member>
<member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp">
If [code]true[/code] and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly.
</member>
<member name="max_value" type="float" setter="set_max" getter="get_max">
- Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code]. Default value: 100.
+ Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code]. Default value: [code]100[/code].
</member>
<member name="min_value" type="float" setter="set_min" getter="get_min">
- Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code]. Default value: 0.
+ Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code]. Default value: [code]0[/code].
</member>
<member name="page" type="float" setter="set_page" getter="get_page">
Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code].
@@ -49,7 +51,7 @@
The value mapped between 0 and 1.
</member>
<member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values">
- If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer.
+ If [code]true[/code] [code]value[/code] will always be rounded to the nearest integer. Default value: [code]false[/code].
</member>
<member name="step" type="float" setter="set_step" getter="get_step">
If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer.
@@ -61,14 +63,14 @@
<signals>
<signal name="changed">
<description>
- This signal is emitted when min, max, range or step change.
+ Emitted when [member min_value], [member max_value], [member page], or [member step] change.
</description>
</signal>
<signal name="value_changed">
<argument index="0" name="value" type="float">
</argument>
<description>
- This signal is emitted when value changes.
+ Emitted when [member value] changes.
</description>
</signal>
</signals>
diff --git a/doc/classes/ReferenceRect.xml b/doc/classes/ReferenceRect.xml
index 4c6f014965..e1cb104e40 100644
--- a/doc/classes/ReferenceRect.xml
+++ b/doc/classes/ReferenceRect.xml
@@ -12,10 +12,10 @@
</demos>
<methods>
</methods>
- <constants>
- </constants>
<members>
<member name="border_color" type="Color" setter="set_border_color" getter="get_border_color">
</member>
</members>
+ <constants>
+ </constants>
</class>
diff --git a/doc/classes/ResourceLoader.xml b/doc/classes/ResourceLoader.xml
index ac00c13b2f..ae900e34ef 100644
--- a/doc/classes/ResourceLoader.xml
+++ b/doc/classes/ResourceLoader.xml
@@ -11,6 +11,16 @@
<demos>
</demos>
<methods>
+ <method name="exists">
+ <return type="bool">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <argument index="1" name="type_hint" type="String" default="&quot;&quot;">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="get_dependencies">
<return type="PoolStringArray">
</return>
@@ -36,6 +46,14 @@
<description>
</description>
</method>
+ <method name="has_cached">
+ <return type="bool">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="load">
<return type="Resource">
</return>
diff --git a/doc/classes/Skeleton.xml b/doc/classes/Skeleton.xml
index 4d826002fe..233df28255 100644
--- a/doc/classes/Skeleton.xml
+++ b/doc/classes/Skeleton.xml
@@ -196,6 +196,16 @@
<description>
</description>
</method>
+ <method name="set_bone_ignore_animation">
+ <return type="void">
+ </return>
+ <argument index="0" name="bone" type="int">
+ </argument>
+ <argument index="1" name="ignore" type="bool">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_bone_parent">
<return type="void">
</return>
diff --git a/doc/classes/Skeleton2D.xml b/doc/classes/Skeleton2D.xml
index 654c816ba8..712b9ca2a5 100644
--- a/doc/classes/Skeleton2D.xml
+++ b/doc/classes/Skeleton2D.xml
@@ -12,7 +12,7 @@
<method name="get_bone">
<return type="Bone2D">
</return>
- <argument index="0" name="arg0" type="int">
+ <argument index="0" name="idx" type="int">
</argument>
<description>
</description>
diff --git a/doc/classes/SkeletonIK.xml b/doc/classes/SkeletonIK.xml
new file mode 100644
index 0000000000..50246f1b18
--- /dev/null
+++ b/doc/classes/SkeletonIK.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="SkeletonIK" inherits="Node" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ <method name="get_parent_skeleton" qualifiers="const">
+ <return type="Skeleton">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="is_running">
+ <return type="bool">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="start">
+ <return type="void">
+ </return>
+ <argument index="0" name="one_time" type="bool" default="false">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="stop">
+ <return type="void">
+ </return>
+ <description>
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="interpolation" type="float" setter="set_interpolation" getter="get_interpolation">
+ </member>
+ <member name="magnet" type="Vector3" setter="set_magnet_position" getter="get_magnet_position">
+ </member>
+ <member name="max_iterations" type="int" setter="set_max_iterations" getter="get_max_iterations">
+ </member>
+ <member name="min_distance" type="float" setter="set_min_distance" getter="get_min_distance">
+ </member>
+ <member name="root_bone" type="String" setter="set_root_bone" getter="get_root_bone">
+ </member>
+ <member name="target" type="Transform" setter="set_target_transform" getter="get_target_transform">
+ </member>
+ <member name="target_node" type="NodePath" setter="set_target_node" getter="get_target_node">
+ </member>
+ <member name="tip_bone" type="String" setter="set_tip_bone" getter="get_tip_bone">
+ </member>
+ <member name="use_magnet" type="bool" setter="set_use_magnet" getter="is_using_magnet">
+ </member>
+ </members>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/SpringArm.xml b/doc/classes/SpringArm.xml
new file mode 100644
index 0000000000..198ff4a81d
--- /dev/null
+++ b/doc/classes/SpringArm.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="SpringArm" inherits="Spatial" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ <method name="add_excluded_object">
+ <return type="void">
+ </return>
+ <argument index="0" name="RID" type="RID">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="clear_excluded_objects">
+ <return type="void">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="get_hit_length">
+ <return type="float">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="remove_excluded_object">
+ <return type="bool">
+ </return>
+ <argument index="0" name="RID" type="RID">
+ </argument>
+ <description>
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask">
+ </member>
+ <member name="margin" type="float" setter="set_margin" getter="get_margin">
+ </member>
+ <member name="shape" type="Shape" setter="set_shape" getter="get_shape">
+ </member>
+ <member name="spring_length" type="float" setter="set_length" getter="get_length">
+ </member>
+ </members>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml
index 0d5f1f0ba9..fc1d0476ed 100644
--- a/doc/classes/Tabs.xml
+++ b/doc/classes/Tabs.xml
@@ -35,6 +35,12 @@
<description>
</description>
</method>
+ <method name="get_select_with_rmb" qualifiers="const">
+ <return type="bool">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="get_tab_count" qualifiers="const">
<return type="int">
</return>
@@ -105,6 +111,14 @@
<description>
</description>
</method>
+ <method name="set_select_with_rmb">
+ <return type="void">
+ </return>
+ <argument index="0" name="enabled" type="bool">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="set_tab_disabled">
<return type="void">
</return>
diff --git a/doc/classes/Texture.xml b/doc/classes/Texture.xml
index eb7cfac87b..a9be42d1a1 100644
--- a/doc/classes/Texture.xml
+++ b/doc/classes/Texture.xml
@@ -128,7 +128,7 @@
<constant name="FLAG_MIRRORED_REPEAT" value="32" enum="Flags">
Repeats texture with alternate sections mirrored.
</constant>
- <constant name="FLAG_VIDEO_SURFACE" value="4096" enum="Flags">
+ <constant name="FLAG_VIDEO_SURFACE" value="2048" enum="Flags">
Texture is a video surface.
</constant>
</constants>
diff --git a/doc/classes/Texture3D.xml b/doc/classes/Texture3D.xml
new file mode 100644
index 0000000000..691d1f229e
--- /dev/null
+++ b/doc/classes/Texture3D.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="Texture3D" inherits="TextureLayered" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/TextureArray.xml b/doc/classes/TextureArray.xml
new file mode 100644
index 0000000000..a08d8421f1
--- /dev/null
+++ b/doc/classes/TextureArray.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="TextureArray" inherits="TextureLayered" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ </methods>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/TextureLayered.xml b/doc/classes/TextureLayered.xml
new file mode 100644
index 0000000000..026144cf5a
--- /dev/null
+++ b/doc/classes/TextureLayered.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="TextureLayered" inherits="Resource" category="Core" version="3.1">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <demos>
+ </demos>
+ <methods>
+ <method name="create">
+ <return type="void">
+ </return>
+ <argument index="0" name="width" type="int">
+ </argument>
+ <argument index="1" name="height" type="int">
+ </argument>
+ <argument index="2" name="depth" type="int">
+ </argument>
+ <argument index="3" name="format" type="int" enum="Image.Format">
+ </argument>
+ <argument index="4" name="flags" type="int" default="4">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="get_depth" qualifiers="const">
+ <return type="int">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="get_format" qualifiers="const">
+ <return type="int" enum="Image.Format">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="get_height" qualifiers="const">
+ <return type="int">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="get_layer_data" qualifiers="const">
+ <return type="Image">
+ </return>
+ <argument index="0" name="layer" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="get_width" qualifiers="const">
+ <return type="int">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="set_data_partial">
+ <return type="void">
+ </return>
+ <argument index="0" name="image" type="Image">
+ </argument>
+ <argument index="1" name="x_offset" type="int">
+ </argument>
+ <argument index="2" name="y_offset" type="int">
+ </argument>
+ <argument index="3" name="layer" type="int">
+ </argument>
+ <argument index="4" name="mipmap" type="int" default="0">
+ </argument>
+ <description>
+ </description>
+ </method>
+ <method name="set_layer_data">
+ <return type="void">
+ </return>
+ <argument index="0" name="image" type="Image">
+ </argument>
+ <argument index="1" name="layer" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="data" type="Dictionary" setter="_set_data" getter="_get_data">
+ </member>
+ <member name="flags" type="int" setter="set_flags" getter="get_flags">
+ </member>
+ </members>
+ <constants>
+ <constant name="FLAG_MIPMAPS" value="1" enum="Flags">
+ </constant>
+ <constant name="FLAG_REPEAT" value="2" enum="Flags">
+ </constant>
+ <constant name="FLAG_FILTER" value="4" enum="Flags">
+ </constant>
+ <constant name="FLAGS_DEFAULT" value="4" enum="Flags">
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml
index 7121bc8b9c..56bb33c5e1 100644
--- a/doc/classes/TileSet.xml
+++ b/doc/classes/TileSet.xml
@@ -58,7 +58,7 @@
<return type="void">
</return>
<description>
- Clear all tiles.
+ Clears all tiles.
</description>
</method>
<method name="create_tile">
@@ -67,7 +67,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Create a new tile which will be referenced by the given ID.
+ Creates a new tile which will be referenced by the given ID.
</description>
</method>
<method name="find_tile_by_name" qualifiers="const">
@@ -76,21 +76,21 @@
<argument index="0" name="name" type="String">
</argument>
<description>
- Find the first tile matching the given name.
+ Returns the first tile matching the given name.
</description>
</method>
<method name="get_last_unused_tile_id" qualifiers="const">
<return type="int">
</return>
<description>
- Return the ID following the last currently used ID, useful when creating a new tile.
+ Returns the ID following the last currently used ID, useful when creating a new tile.
</description>
</method>
<method name="get_tiles_ids" qualifiers="const">
<return type="Array">
</return>
<description>
- Return an array of all currently used tile IDs.
+ Returns an array of all currently used tile IDs.
</description>
</method>
<method name="remove_tile">
@@ -99,7 +99,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Remove the tile referenced by the given ID.
+ Removes the tile referenced by the given ID.
</description>
</method>
<method name="tile_add_shape">
@@ -124,7 +124,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the light occluder of the tile.
+ Returns the light occluder of the tile.
</description>
</method>
<method name="tile_get_material" qualifiers="const">
@@ -133,7 +133,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the material of the tile.
+ Returns the material of the tile.
</description>
</method>
<method name="tile_get_modulate" qualifiers="const">
@@ -150,7 +150,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the name of the tile.
+ Returns the name of the tile.
</description>
</method>
<method name="tile_get_navigation_polygon" qualifiers="const">
@@ -159,7 +159,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the navigation polygon of the tile.
+ Returns the navigation polygon of the tile.
</description>
</method>
<method name="tile_get_navigation_polygon_offset" qualifiers="const">
@@ -168,7 +168,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the offset of the tile's navigation polygon.
+ Returns the offset of the tile's navigation polygon.
</description>
</method>
<method name="tile_get_normal_map" qualifiers="const">
@@ -185,7 +185,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the offset of the tile's light occluder.
+ Returns the offset of the tile's light occluder.
</description>
</method>
<method name="tile_get_region" qualifiers="const">
@@ -194,7 +194,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the tile sub-region in the texture.
+ Returns the tile sub-region in the texture.
</description>
</method>
<method name="tile_get_shape" qualifiers="const">
@@ -241,7 +241,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the array of shapes of the tile.
+ Returns the array of shapes of the tile.
</description>
</method>
<method name="tile_get_texture" qualifiers="const">
@@ -250,7 +250,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the texture of the tile.
+ Returns the texture of the tile.
</description>
</method>
<method name="tile_get_texture_offset" qualifiers="const">
@@ -259,7 +259,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
- Return the texture offset of the tile.
+ Returns the texture offset of the tile.
</description>
</method>
<method name="tile_get_tile_mode" qualifiers="const">
@@ -286,7 +286,7 @@
<argument index="1" name="light_occluder" type="OccluderPolygon2D">
</argument>
<description>
- Set a light occluder for the tile.
+ Sets a light occluder for the tile.
</description>
</method>
<method name="tile_set_material">
@@ -297,7 +297,7 @@
<argument index="1" name="material" type="ShaderMaterial">
</argument>
<description>
- Set the material of the tile.
+ Sets the tile's material.
</description>
</method>
<method name="tile_set_modulate">
@@ -308,6 +308,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
+ Sets the tile's modulation color.
</description>
</method>
<method name="tile_set_name">
@@ -318,7 +319,7 @@
<argument index="1" name="name" type="String">
</argument>
<description>
- Set the name of the tile, for descriptive purposes.
+ Sets the tile's name.
</description>
</method>
<method name="tile_set_navigation_polygon">
@@ -329,7 +330,7 @@
<argument index="1" name="navigation_polygon" type="NavigationPolygon">
</argument>
<description>
- Set a navigation polygon for the tile.
+ Sets the tile's navigation polygon.
</description>
</method>
<method name="tile_set_navigation_polygon_offset">
@@ -340,7 +341,7 @@
<argument index="1" name="navigation_polygon_offset" type="Vector2">
</argument>
<description>
- Set an offset for the tile's navigation polygon.
+ Sets an offset for the tile's navigation polygon.
</description>
</method>
<method name="tile_set_normal_map">
@@ -351,6 +352,7 @@
<argument index="1" name="normal_map" type="Texture">
</argument>
<description>
+ Sets the tile's normal map texture.
</description>
</method>
<method name="tile_set_occluder_offset">
@@ -372,7 +374,7 @@
<argument index="1" name="region" type="Rect2">
</argument>
<description>
- Set the tile sub-region in the texture. This is common in texture atlases.
+ Set the tile's sub-region in the texture. This is common in texture atlases.
</description>
</method>
<method name="tile_set_shape">
@@ -419,7 +421,7 @@
<argument index="1" name="shapes" type="Array">
</argument>
<description>
- Set an array of shapes for the tile, enabling physics to collide with it.
+ Sets an array of shapes for the tile, enabling collision.
</description>
</method>
<method name="tile_set_texture">
@@ -430,7 +432,7 @@
<argument index="1" name="texture" type="Texture">
</argument>
<description>
- Set the texture of the tile.
+ Sets the tile's texture.
</description>
</method>
<method name="tile_set_texture_offset">
@@ -441,7 +443,7 @@
<argument index="1" name="texture_offset" type="Vector2">
</argument>
<description>
- Set the texture offset of the tile.
+ Sets the tile's texture offset.
</description>
</method>
<method name="tile_set_tile_mode">
@@ -452,6 +454,7 @@
<argument index="1" name="tilemode" type="int" enum="TileSet.TileMode">
</argument>
<description>
+ Sets the tile's [enum TileMode].
</description>
</method>
<method name="tile_set_z_index">
@@ -462,6 +465,7 @@
<argument index="1" name="z_index" type="int">
</argument>
<description>
+ Sets the tile's drawing index.
</description>
</method>
</methods>
@@ -492,7 +496,7 @@
</constant>
<constant name="AUTO_TILE" value="1" enum="TileMode">
</constant>
- <constant name="ANIMATED_TILE" value="2" enum="TileMode">
+ <constant name="ATLAS_TILE" value="2" enum="TileMode">
</constant>
</constants>
</class>
diff --git a/doc/classes/Transform.xml b/doc/classes/Transform.xml
index 0dd8038b36..24c009d922 100644
--- a/doc/classes/Transform.xml
+++ b/doc/classes/Transform.xml
@@ -168,5 +168,13 @@
</member>
</members>
<constants>
+ <constant name="IDENTITY" value="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
+ </constant>
+ <constant name="FLIP_X" value="Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
+ </constant>
+ <constant name="FLIP_Y" value="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
+ </constant>
+ <constant name="FLIP_Z" value="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml
index d5427ad7f8..b38d9a1a86 100644
--- a/doc/classes/Transform2D.xml
+++ b/doc/classes/Transform2D.xml
@@ -173,5 +173,11 @@
</member>
</members>
<constants>
+ <constant name="IDENTITY" value="Transform2D( 1, 0, 0, 1, 0, 0 )">
+ </constant>
+ <constant name="FLIP_X" value="Transform2D( -1, 0, 0, 1, 0, 0 )">
+ </constant>
+ <constant name="FLIP_Y" value="Transform2D( 1, 0, 0, -1, 0, 0 )">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml
index 9b18962a6f..4bc18b926e 100644
--- a/doc/classes/Vector2.xml
+++ b/doc/classes/Vector2.xml
@@ -130,15 +130,6 @@
Returns the distance to vector [code]b[/code].
</description>
</method>
- <method name="project">
- <return type="Vector2">
- </return>
- <argument index="0" name="b" type="Vector2">
- </argument>
- <description>
- Returns the vector projected onto the vector [code]b[/code].
- </description>
- </method>
<method name="dot">
<return type="float">
</return>
@@ -194,6 +185,15 @@
Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code].
</description>
</method>
+ <method name="project">
+ <return type="Vector2">
+ </return>
+ <argument index="0" name="b" type="Vector2">
+ </argument>
+ <description>
+ Returns the vector projected onto the vector [code]b[/code].
+ </description>
+ </method>
<method name="reflect">
<return type="Vector2">
</return>
@@ -266,5 +266,17 @@
</member>
</members>
<constants>
+ <constant name="ZERO" value="Vector2( 0, 0 )">
+ </constant>
+ <constant name="INF" value="Vector2( inf, inf )">
+ </constant>
+ <constant name="LEFT" value="Vector2( -1, 0 )">
+ </constant>
+ <constant name="RIGHT" value="Vector2( 1, 0 )">
+ </constant>
+ <constant name="UP" value="Vector2( 0, -1 )">
+ </constant>
+ <constant name="DOWN" value="Vector2( 0, 1 )">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml
index 22384c5012..b4dcc6c6aa 100644
--- a/doc/classes/Vector3.xml
+++ b/doc/classes/Vector3.xml
@@ -99,15 +99,6 @@
Returns the distance to [code]b[/code].
</description>
</method>
- <method name="project_onto">
- <return type="Vector3">
- </return>
- <argument index="0" name="b" type="Vector3">
- </argument>
- <description>
- Returns the vector projected onto the vector [code]b[/code].
- </description>
- </method>
<method name="dot">
<return type="float">
</return>
@@ -193,6 +184,15 @@
Returns the outer product with [code]b[/code].
</description>
</method>
+ <method name="project">
+ <return type="Vector3">
+ </return>
+ <argument index="0" name="b" type="Vector3">
+ </argument>
+ <description>
+ Returns the vector projected onto the vector [code]b[/code].
+ </description>
+ </method>
<method name="reflect">
<return type="Vector3">
</return>
@@ -279,5 +279,21 @@
<constant name="AXIS_Z" value="2">
Enumerated value for the Z axis.
</constant>
+ <constant name="ZERO" value="Vector3( 0, 0, 0 )">
+ </constant>
+ <constant name="INF" value="Vector3( inf, inf, inf )">
+ </constant>
+ <constant name="LEFT" value="Vector3( -1, 0, 0 )">
+ </constant>
+ <constant name="RIGHT" value="Vector3( 1, 0, 0 )">
+ </constant>
+ <constant name="UP" value="Vector3( 0, 1, 0 )">
+ </constant>
+ <constant name="DOWN" value="Vector3( 0, -1, 0 )">
+ </constant>
+ <constant name="FORWARD" value="Vector3( 0, 0, -1 )">
+ </constant>
+ <constant name="BACK" value="Vector3( 0, 0, 1 )">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index af0712d357..05649193a6 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -22,35 +22,35 @@
<return type="World">
</return>
<description>
- Return the 3D world of the viewport, or if no such present, the one of the parent viewport.
+ Returns the 3D world of the viewport, or if none the world of the parent viewport.
</description>
</method>
<method name="find_world_2d" qualifiers="const">
<return type="World2D">
</return>
<description>
- Return the 2D world of the viewport.
+ Returns the 2D world of the viewport.
</description>
</method>
<method name="get_camera" qualifiers="const">
<return type="Camera">
</return>
<description>
- Return the active 3D camera.
+ Returns the active 3D camera.
</description>
</method>
<method name="get_final_transform" qualifiers="const">
<return type="Transform2D">
</return>
<description>
- Get the total transform of the viewport.
+ Returns the total transform of the viewport.
</description>
</method>
<method name="get_mouse_position" qualifiers="const">
<return type="Vector2">
</return>
<description>
- Get the mouse position, relative to the viewport.
+ Returns the mouse position relative to the viewport.
</description>
</method>
<method name="get_render_info">
@@ -59,35 +59,35 @@
<argument index="0" name="info" type="int" enum="Viewport.RenderInfo">
</argument>
<description>
- Get the specific information about the viewport from rendering pipeline.
+ Returns information about the viewport from the rendering pipeline.
</description>
</method>
<method name="get_size_override" qualifiers="const">
<return type="Vector2">
</return>
<description>
- Get the size override set with [method set_size_override].
+ Returns the size override set with [method set_size_override].
</description>
</method>
<method name="get_texture" qualifiers="const">
<return type="ViewportTexture">
</return>
<description>
- Get the viewport's texture, for use with various objects that you want to texture with the viewport.
+ Returns the viewport's texture.
</description>
</method>
<method name="get_viewport_rid" qualifiers="const">
<return type="RID">
</return>
<description>
- Get the viewport RID from the [VisualServer].
+ Returns the viewport's RID from the [VisualServer].
</description>
</method>
<method name="get_visible_rect" qualifiers="const">
<return type="Rect2">
</return>
<description>
- Return the final, visible rect in global screen coordinates.
+ Returns the visible rectangle in global screen coordinates.
</description>
</method>
<method name="gui_get_drag_data" qualifiers="const">
@@ -101,7 +101,7 @@
<return type="bool">
</return>
<description>
- Returns whether there are shown modals on-screen.
+ Returns [code]true[/code] if there are visible modals on-screen.
</description>
</method>
<method name="input">
@@ -116,14 +116,14 @@
<return type="bool">
</return>
<description>
- Get the enabled status of the size override set with [method set_size_override].
+ Returns [code]true[/code] if the size override is enabled. See [method set_size_override].
</description>
</method>
<method name="is_size_override_stretch_enabled" qualifiers="const">
<return type="bool">
</return>
<description>
- Get the enabled status of the size stretch override set with [method set_size_override_stretch].
+ Returns [code]true[/code] if the size stretch override is enabled. See [method set_size_override_stretch].
</description>
</method>
<method name="set_attach_to_screen_rect">
@@ -144,7 +144,7 @@
<argument index="2" name="margin" type="Vector2" default="Vector2( 0, 0 )">
</argument>
<description>
- Set the size override of the viewport. If the enable parameter is true, it would use the override, otherwise it would use the default size. If the size parameter is equal to [code](-1, -1)[/code], it won't update the size.
+ Sets the size override of the viewport. If the [code]enable[/code] parameter is [code]true[/code] the override is used, otherwise it uses the default size. If the size parameter is [code](-1, -1)[/code], it won't update the size.
</description>
</method>
<method name="set_size_override_stretch">
@@ -153,7 +153,7 @@
<argument index="0" name="enabled" type="bool">
</argument>
<description>
- Set whether the size override affects stretch as well.
+ If [code]true[/code] the size override affects stretch as well.
</description>
</method>
<method name="unhandled_input">
@@ -168,7 +168,7 @@
<return type="void">
</return>
<description>
- Force update of the 2D and 3D worlds.
+ Forces update of the 2D and 3D worlds.
</description>
</method>
<method name="warp_mouse">
@@ -177,7 +177,7 @@
<argument index="0" name="to_position" type="Vector2">
</argument>
<description>
- Warp the mouse to a position, relative to the viewport.
+ Warps the mouse to a position relative to the viewport.
</description>
</method>
</methods>
diff --git a/doc/classes/VisualInstance.xml b/doc/classes/VisualInstance.xml
index 502209fac5..30dedb06f4 100644
--- a/doc/classes/VisualInstance.xml
+++ b/doc/classes/VisualInstance.xml
@@ -16,6 +16,14 @@
Returns the [AABB] (also known as the bounding box) for this VisualInstance.
</description>
</method>
+ <method name="get_layer_mask_bit" qualifiers="const">
+ <return type="bool">
+ </return>
+ <argument index="0" name="layer" type="int">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="get_transformed_aabb" qualifiers="const">
<return type="AABB">
</return>
@@ -34,6 +42,16 @@
It is recommended to only use set_base if you know what you're doing.
</description>
</method>
+ <method name="set_layer_mask_bit">
+ <return type="void">
+ </return>
+ <argument index="0" name="layer" type="int">
+ </argument>
+ <argument index="1" name="enabled" type="bool">
+ </argument>
+ <description>
+ </description>
+ </method>
</methods>
<members>
<member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask">
diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml
index c4ebf7c96f..395fb9e829 100644
--- a/doc/classes/VisualServer.xml
+++ b/doc/classes/VisualServer.xml
@@ -1336,7 +1336,7 @@
<method name="gi_probe_get_bias" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1360,7 +1360,7 @@
<method name="gi_probe_get_dynamic_data" qualifiers="const">
<return type="PoolIntArray">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1368,7 +1368,7 @@
<method name="gi_probe_get_dynamic_range" qualifiers="const">
<return type="int">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1376,7 +1376,7 @@
<method name="gi_probe_get_energy" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1384,7 +1384,7 @@
<method name="gi_probe_get_normal_bias" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1392,7 +1392,7 @@
<method name="gi_probe_get_propagation" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1400,7 +1400,7 @@
<method name="gi_probe_get_to_cell_xform" qualifiers="const">
<return type="Transform">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1408,7 +1408,7 @@
<method name="gi_probe_is_compressed" qualifiers="const">
<return type="bool">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1416,7 +1416,7 @@
<method name="gi_probe_is_interior" qualifiers="const">
<return type="bool">
</return>
- <argument index="0" name="arg0" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
<description>
</description>
@@ -1424,9 +1424,9 @@
<method name="gi_probe_set_bias">
<return type="void">
</return>
- <argument index="0" name="bias" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="float">
+ <argument index="1" name="bias" type="float">
</argument>
<description>
</description>
@@ -1454,9 +1454,9 @@
<method name="gi_probe_set_compress">
<return type="void">
</return>
- <argument index="0" name="enable" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="bool">
+ <argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
@@ -1464,9 +1464,9 @@
<method name="gi_probe_set_dynamic_data">
<return type="void">
</return>
- <argument index="0" name="data" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="PoolIntArray">
+ <argument index="1" name="data" type="PoolIntArray">
</argument>
<description>
</description>
@@ -1474,9 +1474,9 @@
<method name="gi_probe_set_dynamic_range">
<return type="void">
</return>
- <argument index="0" name="range" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="int">
+ <argument index="1" name="range" type="int">
</argument>
<description>
</description>
@@ -1484,9 +1484,9 @@
<method name="gi_probe_set_energy">
<return type="void">
</return>
- <argument index="0" name="energy" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="float">
+ <argument index="1" name="energy" type="float">
</argument>
<description>
</description>
@@ -1494,9 +1494,9 @@
<method name="gi_probe_set_interior">
<return type="void">
</return>
- <argument index="0" name="enable" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="bool">
+ <argument index="1" name="enable" type="bool">
</argument>
<description>
</description>
@@ -1504,9 +1504,9 @@
<method name="gi_probe_set_normal_bias">
<return type="void">
</return>
- <argument index="0" name="bias" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="float">
+ <argument index="1" name="bias" type="float">
</argument>
<description>
</description>
@@ -1514,9 +1514,9 @@
<method name="gi_probe_set_propagation">
<return type="void">
</return>
- <argument index="0" name="propagation" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="float">
+ <argument index="1" name="propagation" type="float">
</argument>
<description>
</description>
@@ -1524,9 +1524,9 @@
<method name="gi_probe_set_to_cell_xform">
<return type="void">
</return>
- <argument index="0" name="xform" type="RID">
+ <argument index="0" name="probe" type="RID">
</argument>
- <argument index="1" name="arg1" type="Transform">
+ <argument index="1" name="xform" type="Transform">
</argument>
<description>
</description>
@@ -3300,12 +3300,15 @@
</argument>
<argument index="2" name="height" type="int">
</argument>
- <argument index="3" name="format" type="int" enum="Image.Format">
+ <argument index="3" name="depth_3d" type="int">
</argument>
- <argument index="4" name="flags" type="int" default="7">
+ <argument index="4" name="format" type="int" enum="Image.Format">
+ </argument>
+ <argument index="5" name="type" type="int" enum="VisualServer.TextureType">
+ </argument>
+ <argument index="6" name="flags" type="int" default="7">
</argument>
<description>
- Allocates space for a texture's image or video.
</description>
</method>
<method name="texture_create">
@@ -3338,12 +3341,20 @@
</return>
<argument index="0" name="texture" type="RID">
</argument>
- <argument index="1" name="cube_side" type="int" enum="VisualServer.CubeMapSide" default="0">
+ <argument index="1" name="cube_side" type="int" default="0">
</argument>
<description>
Returns a copy of a texture's image unless it's a CubeMap, in which case it returns the [RID] of the image at one of the cubes sides.
</description>
</method>
+ <method name="texture_get_depth" qualifiers="const">
+ <return type="int">
+ </return>
+ <argument index="0" name="texture" type="RID">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="texture_get_flags" qualifiers="const">
<return type="int">
</return>
@@ -3389,6 +3400,14 @@
Returns the opengl id of the texture's image.
</description>
</method>
+ <method name="texture_get_type" qualifiers="const">
+ <return type="int" enum="VisualServer.TextureType">
+ </return>
+ <argument index="0" name="texture" type="RID">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="texture_get_width" qualifiers="const">
<return type="int">
</return>
@@ -3405,7 +3424,7 @@
</argument>
<argument index="1" name="image" type="Image">
</argument>
- <argument index="2" name="cube_side" type="int" enum="VisualServer.CubeMapSide" default="0">
+ <argument index="2" name="layer" type="int" default="0">
</argument>
<description>
Sets the texture's image data. If it's a CubeMap, it sets the image data at a cube side.
@@ -3432,7 +3451,7 @@
</argument>
<argument index="8" name="dst_mip" type="int">
</argument>
- <argument index="9" name="cube_side" type="int" enum="VisualServer.CubeMapSide" default="0">
+ <argument index="9" name="layer" type="int" default="0">
</argument>
<description>
</description>
@@ -3477,8 +3496,9 @@
</argument>
<argument index="2" name="height" type="int">
</argument>
+ <argument index="3" name="depth" type="int">
+ </argument>
<description>
- Overwrites the texture's width and height.
</description>
</method>
<method name="textures_keep_original">
@@ -3873,6 +3893,14 @@
<constant name="CUBEMAP_BACK" value="5" enum="CubeMapSide">
Marks the back side of a cubemap.
</constant>
+ <constant name="TEXTURE_TYPE_2D" value="0" enum="TextureType">
+ </constant>
+ <constant name="TEXTURE_TYPE_CUBEMAP" value="1" enum="TextureType">
+ </constant>
+ <constant name="TEXTURE_TYPE_2D_ARRAY" value="2" enum="TextureType">
+ </constant>
+ <constant name="TEXTURE_TYPE_3D" value="3" enum="TextureType">
+ </constant>
<constant name="TEXTURE_FLAG_MIPMAPS" value="1" enum="TextureFlags">
Generate mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
</constant>
@@ -3892,10 +3920,7 @@
<constant name="TEXTURE_FLAG_MIRRORED_REPEAT" value="32" enum="TextureFlags">
Repeat texture with alternate sections mirrored.
</constant>
- <constant name="TEXTURE_FLAG_CUBEMAP" value="2048" enum="TextureFlags">
- Texture is a cubemap.
- </constant>
- <constant name="TEXTURE_FLAG_USED_FOR_STREAMING" value="4096" enum="TextureFlags">
+ <constant name="TEXTURE_FLAG_USED_FOR_STREAMING" value="2048" enum="TextureFlags">
Texture is a video surface.
</constant>
<constant name="TEXTURE_FLAGS_DEFAULT" value="7" enum="TextureFlags">
@@ -4208,7 +4233,7 @@
</constant>
<constant name="INSTANCE_FLAG_USE_BAKED_LIGHT" value="0" enum="InstanceFlags">
</constant>
- <constant name="INSTANCE_FLAG_REDRAW_FRAME_IF_VISIBLE" value="1" enum="InstanceFlags">
+ <constant name="INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="1" enum="InstanceFlags">
</constant>
<constant name="INSTANCE_FLAG_MAX" value="2" enum="InstanceFlags">
</constant>
diff --git a/drivers/alsa/audio_driver_alsa.cpp b/drivers/alsa/audio_driver_alsa.cpp
index a44a11a46d..1f53d52951 100644
--- a/drivers/alsa/audio_driver_alsa.cpp
+++ b/drivers/alsa/audio_driver_alsa.cpp
@@ -116,9 +116,7 @@ Error AudioDriverALSA::init_device() {
status = snd_pcm_hw_params_set_period_size_near(pcm_handle, hwparams, &period_size, NULL);
CHECK_FAIL(status < 0);
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("audio buffer frames: " + itos(period_size) + " calculated latency: " + itos(period_size * 1000 / mix_rate) + "ms");
- }
+ print_verbose("Audio buffer frames: " + itos(period_size) + " calculated latency: " + itos(period_size * 1000 / mix_rate) + "ms");
status = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &periods, NULL);
CHECK_FAIL(status < 0);
diff --git a/drivers/coreaudio/audio_driver_coreaudio.cpp b/drivers/coreaudio/audio_driver_coreaudio.cpp
index e1f47cb8c2..689f1f462d 100644
--- a/drivers/coreaudio/audio_driver_coreaudio.cpp
+++ b/drivers/coreaudio/audio_driver_coreaudio.cpp
@@ -178,10 +178,8 @@ Error AudioDriverCoreAudio::init() {
input_position = 0;
input_size = 0;
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("CoreAudio: detected " + itos(channels) + " channels");
- print_line("CoreAudio: audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
- }
+ print_verbose("CoreAudio: detected " + itos(channels) + " channels");
+ print_verbose("CoreAudio: audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
AURenderCallbackStruct callback;
zeromem(&callback, sizeof(AURenderCallbackStruct));
diff --git a/drivers/gles2/rasterizer_canvas_gles2.cpp b/drivers/gles2/rasterizer_canvas_gles2.cpp
index d6fbf04353..9a9ede761a 100644
--- a/drivers/gles2/rasterizer_canvas_gles2.cpp
+++ b/drivers/gles2/rasterizer_canvas_gles2.cpp
@@ -152,7 +152,7 @@ RasterizerStorageGLES2::Texture *RasterizerCanvasGLES2::_bind_canvas_texture(con
state.current_tex = RID();
state.current_tex_ptr = NULL;
- glActiveTexture(GL_TEXTURE0);
+ glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 1);
glBindTexture(GL_TEXTURE_2D, storage->resources.white_tex);
} else {
@@ -167,7 +167,7 @@ RasterizerStorageGLES2::Texture *RasterizerCanvasGLES2::_bind_canvas_texture(con
texture->render_target->used_in_frame = true;
}
- glActiveTexture(GL_TEXTURE0);
+ glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 1);
glBindTexture(GL_TEXTURE_2D, texture->tex_id);
state.current_tex = p_texture;
@@ -179,7 +179,7 @@ RasterizerStorageGLES2::Texture *RasterizerCanvasGLES2::_bind_canvas_texture(con
state.current_tex = RID();
state.current_tex_ptr = NULL;
- glActiveTexture(GL_TEXTURE0);
+ glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 1);
glBindTexture(GL_TEXTURE_2D, storage->resources.white_tex);
}
@@ -486,7 +486,8 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur
RasterizerStorageGLES2::Texture *tex = _bind_canvas_texture(np->texture, np->normal_map);
if (!tex) {
- print_line("TODO: ninepatch without texture");
+ // FIXME: Handle textureless ninepatch gracefully
+ WARN_PRINT("NinePatch without texture not supported yet in GLES2 backend, skipping.");
continue;
}
@@ -612,8 +613,6 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur
buffer[(3 * 4 * 4) + 14] = (source.position.x + source.size.x) * texpixel_size.x;
buffer[(3 * 4 * 4) + 15] = (source.position.y + source.size.y) * texpixel_size.y;
-
- // print_line(String::num((source.position.y + source.size.y) * texpixel_size.y));
}
glBindBuffer(GL_ARRAY_BUFFER, data.ninepatch_vertices);
@@ -789,7 +788,8 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur
} break;
default: {
- print_line("other");
+ // FIXME: Proper error handling if relevant
+ //print_line("other");
} break;
}
}
@@ -889,7 +889,7 @@ void RasterizerCanvasGLES2::canvas_render_items(Item *p_item_list, int p_z, cons
for (int i = 0; i < tc; i++) {
- glActiveTexture(GL_TEXTURE2 + i);
+ glActiveTexture(GL_TEXTURE0 + i);
RasterizerStorageGLES2::Texture *t = storage->texture_owner.getornull(textures[i].second);
@@ -937,7 +937,7 @@ void RasterizerCanvasGLES2::canvas_render_items(Item *p_item_list, int p_z, cons
}
int blend_mode = shader_cache ? shader_cache->canvas_item.blend_mode : RasterizerStorageGLES2::Shader::CanvasItem::BLEND_MODE_MIX;
- bool unshaded = true || (shader_cache && blend_mode != RasterizerStorageGLES2::Shader::CanvasItem::BLEND_MODE_MIX);
+ bool unshaded = (shader_cache && blend_mode != RasterizerStorageGLES2::Shader::CanvasItem::BLEND_MODE_MIX);
bool reclip = false;
if (last_blend_mode != blend_mode) {
@@ -1027,8 +1027,8 @@ void RasterizerCanvasGLES2::reset_canvas() {
// keeping this for now as there's nothing else that uses texture unit 2
// TODO ^
if (storage->frame.current_rt) {
- glActiveTexture(GL_TEXTURE0 + 2);
- glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->copy_screen_effect.color);
+ // glActiveTexture(GL_TEXTURE0 + 2);
+ // glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->copy_screen_effect.color);
}
glBindBuffer(GL_ARRAY_BUFFER, 0);
diff --git a/drivers/gles2/rasterizer_gles2.cpp b/drivers/gles2/rasterizer_gles2.cpp
index 73d93f7b46..c926f2bcc4 100644
--- a/drivers/gles2/rasterizer_gles2.cpp
+++ b/drivers/gles2/rasterizer_gles2.cpp
@@ -138,9 +138,7 @@ RasterizerScene *RasterizerGLES2::get_scene() {
void RasterizerGLES2::initialize() {
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("Using GLES2 video driver");
- }
+ print_verbose("Using GLES2 video driver");
#ifdef GLAD_ENABLED
if (!gladLoadGL()) {
@@ -327,7 +325,7 @@ void RasterizerGLES2::set_boot_image(const Ref<Image> &p_image, const Color &p_c
screenrect.position += ((Size2(window_w, window_h) - screenrect.size) / 2.0).floor();
RasterizerStorageGLES2::Texture *t = storage->texture_owner.get(texture);
- glActiveTexture(GL_TEXTURE0);
+ glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 1);
glBindTexture(GL_TEXTURE_2D, t->tex_id);
canvas->draw_generic_textured_rect(screenrect, Rect2(0, 0, 1, 1));
glBindTexture(GL_TEXTURE_2D, 0);
@@ -354,7 +352,7 @@ void RasterizerGLES2::blit_render_target_to_screen(RID p_render_target, const Re
canvas->canvas_begin();
glDisable(GL_BLEND);
glBindFramebuffer(GL_FRAMEBUFFER, RasterizerStorageGLES2::system_fbo);
- glActiveTexture(GL_TEXTURE0);
+ glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 1);
glBindTexture(GL_TEXTURE_2D, rt->color);
// TODO normals
@@ -392,12 +390,6 @@ void RasterizerGLES2::end_frame(bool p_swap_buffers) {
OS::get_singleton()->swap_buffers();
else
glFinish();
-
- if (p_swap_buffers) {
- glColorMask(true, true, true, true);
- glClearColor(0, 0, 0, 1);
- glClear(GL_COLOR_BUFFER_BIT);
- }
}
void RasterizerGLES2::finalize() {
diff --git a/drivers/gles2/rasterizer_scene_gles2.cpp b/drivers/gles2/rasterizer_scene_gles2.cpp
index 288a144b32..e21998d55e 100644
--- a/drivers/gles2/rasterizer_scene_gles2.cpp
+++ b/drivers/gles2/rasterizer_scene_gles2.cpp
@@ -107,7 +107,7 @@ void RasterizerSceneGLES2::shadow_atlas_set_size(RID p_atlas, int p_size) {
glActiveTexture(GL_TEXTURE0);
glGenTextures(1, &shadow_atlas->depth);
glBindTexture(GL_TEXTURE_2D, shadow_atlas->depth);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT16, shadow_atlas->size, shadow_atlas->size, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, shadow_atlas->size, shadow_atlas->size, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
@@ -837,7 +837,7 @@ static const GLenum gl_primitive[] = {
GL_TRIANGLE_FAN
};
-void RasterizerSceneGLES2::_setup_material(RasterizerStorageGLES2::Material *p_material, bool p_reverse_cull, Size2i p_skeleton_tex_size) {
+void RasterizerSceneGLES2::_setup_material(RasterizerStorageGLES2::Material *p_material, bool p_reverse_cull, bool p_alpha_pass, Size2i p_skeleton_tex_size) {
// material parameters
@@ -851,6 +851,20 @@ void RasterizerSceneGLES2::_setup_material(RasterizerStorageGLES2::Material *p_m
glEnable(GL_DEPTH_TEST);
}
+ switch (p_material->shader->spatial.depth_draw_mode) {
+ case RasterizerStorageGLES2::Shader::Spatial::DEPTH_DRAW_ALPHA_PREPASS:
+ case RasterizerStorageGLES2::Shader::Spatial::DEPTH_DRAW_OPAQUE: {
+
+ glDepthMask(!p_alpha_pass);
+ } break;
+ case RasterizerStorageGLES2::Shader::Spatial::DEPTH_DRAW_ALWAYS: {
+ glDepthMask(GL_TRUE);
+ } break;
+ case RasterizerStorageGLES2::Shader::Spatial::DEPTH_DRAW_NEVER: {
+ glDepthMask(GL_FALSE);
+ } break;
+ }
+
// TODO whyyyyy????
p_reverse_cull = true;
@@ -913,8 +927,8 @@ void RasterizerSceneGLES2::_setup_material(RasterizerStorageGLES2::Material *p_m
void RasterizerSceneGLES2::_setup_geometry(RenderList::Element *p_element, RasterizerStorageGLES2::Skeleton *p_skeleton) {
state.scene_shader.set_conditional(SceneShaderGLES2::USE_SKELETON, p_skeleton != NULL);
- // state.scene_shader.set_conditional(SceneShaderGLES2::USE_SKELETON_SOFTWARE, !storage->config.float_texture_supported);
- state.scene_shader.set_conditional(SceneShaderGLES2::USE_SKELETON_SOFTWARE, true);
+ state.scene_shader.set_conditional(SceneShaderGLES2::USE_SKELETON_SOFTWARE, !storage->config.float_texture_supported);
+ // state.scene_shader.set_conditional(SceneShaderGLES2::USE_SKELETON_SOFTWARE, true);
switch (p_element->instance->base_type) {
@@ -951,9 +965,9 @@ void RasterizerSceneGLES2::_setup_geometry(RenderList::Element *p_element, Raste
} break;
}
- if (false && storage->config.float_texture_supported) {
+ if (storage->config.float_texture_supported) {
if (p_skeleton) {
- glActiveTexture(GL_TEXTURE4);
+ glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 1);
glBindTexture(GL_TEXTURE_2D, p_skeleton->tex_id);
}
@@ -1202,6 +1216,12 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
glDisableVertexAttribArray(15); // color
glDisableVertexAttribArray(8); // custom data
+ if (!s->attribs[VS::ARRAY_COLOR].enabled) {
+ glDisableVertexAttribArray(VS::ARRAY_COLOR);
+
+ glVertexAttrib4f(VS::ARRAY_COLOR, 1, 1, 1, 1);
+ }
+
glVertexAttrib4f(15, 1, 1, 1, 1);
glVertexAttrib4f(8, 0, 0, 0, 0);
@@ -1245,7 +1265,12 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
}
if (multi_mesh->color_floats) {
- glVertexAttrib4fv(15, buffer + color_ofs);
+ if (multi_mesh->color_format == VS::MULTIMESH_COLOR_8BIT) {
+ uint8_t *color_data = (uint8_t *)(buffer + color_ofs);
+ glVertexAttrib4f(15, color_data[0] / 255.0, color_data[1] / 255.0, color_data[2] / 255.0, color_data[3] / 255.0);
+ } else {
+ glVertexAttrib4fv(15, buffer + color_ofs);
+ }
}
if (multi_mesh->custom_data_floats) {
@@ -1432,7 +1457,7 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements,
_setup_geometry(e, skeleton);
- _setup_material(material, p_reverse_cull, Size2i(skeleton ? skeleton->size * 3 : 0, 0));
+ _setup_material(material, p_reverse_cull, p_alpha_pass, Size2i(skeleton ? skeleton->size * 3 : 0, 0));
if (use_radiance_map) {
state.scene_shader.set_uniform(SceneShaderGLES2::RADIANCE_INVERSE_XFORM, p_view_transform);
@@ -1568,7 +1593,7 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements,
{
_setup_geometry(e, skeleton);
- _setup_material(material, p_reverse_cull, Size2i(skeleton ? skeleton->size * 3 : 0, 0));
+ _setup_material(material, p_reverse_cull, p_alpha_pass, Size2i(skeleton ? skeleton->size * 3 : 0, 0));
if (shadow_atlas != NULL) {
glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 4);
glBindTexture(GL_TEXTURE_2D, shadow_atlas->depth);
@@ -1757,7 +1782,7 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements,
RasterizerStorageGLES2::Skeleton *skeleton = storage->skeleton_owner.getornull(e->instance->skeleton);
{
- _setup_material(material, p_reverse_cull, Size2i(skeleton ? skeleton->size * 3 : 0, 0));
+ _setup_material(material, p_reverse_cull, false, Size2i(skeleton ? skeleton->size * 3 : 0, 0));
if (directional_shadow.depth) {
glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 4); // TODO move into base pass
@@ -2401,7 +2426,7 @@ void RasterizerSceneGLES2::initialize() {
glBindTexture(GL_TEXTURE_CUBE_MAP, cube.cubemap);
for (int i = 0; i < 6; i++) {
- glTexImage2D(_cube_side_enum[i], 0, GL_DEPTH_COMPONENT16, cube_size, cube_size, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, NULL);
+ glTexImage2D(_cube_side_enum[i], 0, GL_DEPTH_COMPONENT, cube_size, cube_size, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, NULL);
}
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
@@ -2435,7 +2460,7 @@ void RasterizerSceneGLES2::initialize() {
glGenTextures(1, &directional_shadow.depth);
glBindTexture(GL_TEXTURE_2D, directional_shadow.depth);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT16, directional_shadow.size, directional_shadow.size, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, directional_shadow.size, directional_shadow.size, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
diff --git a/drivers/gles2/rasterizer_scene_gles2.h b/drivers/gles2/rasterizer_scene_gles2.h
index e153080e15..72dbe14387 100644
--- a/drivers/gles2/rasterizer_scene_gles2.h
+++ b/drivers/gles2/rasterizer_scene_gles2.h
@@ -563,7 +563,7 @@ public:
void _draw_sky(RasterizerStorageGLES2::Sky *p_sky, const CameraMatrix &p_projection, const Transform &p_transform, bool p_vflip, float p_custom_fov, float p_energy);
- void _setup_material(RasterizerStorageGLES2::Material *p_material, bool p_reverse_cull, Size2i p_skeleton_tex_size = Size2i(0, 0));
+ void _setup_material(RasterizerStorageGLES2::Material *p_material, bool p_reverse_cull, bool p_alpha_pass, Size2i p_skeleton_tex_size = Size2i(0, 0));
void _setup_geometry(RenderList::Element *p_element, RasterizerStorageGLES2::Skeleton *p_skeleton);
void _render_geometry(RenderList::Element *p_element);
diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp
index 6ff6bd7ced..3cee42983d 100644
--- a/drivers/gles2/rasterizer_storage_gles2.cpp
+++ b/drivers/gles2/rasterizer_storage_gles2.cpp
@@ -28,6 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "rasterizer_storage_gles2.h"
+
#include "project_settings.h"
#include "rasterizer_canvas_gles2.h"
#include "rasterizer_scene_gles2.h"
@@ -61,11 +62,12 @@ void RasterizerStorageGLES2::bind_quad_array() const {
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
}
-Ref<Image> RasterizerStorageGLES2::_get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed) {
+Ref<Image> RasterizerStorageGLES2::_get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed) const {
r_gl_format = 0;
Ref<Image> image = p_image;
r_compressed = false;
+ r_real_format = p_format;
bool need_decompress = false;
@@ -317,6 +319,7 @@ Ref<Image> RasterizerStorageGLES2::_get_gl_image_and_format(const Ref<Image> &p_
r_gl_format = GL_RGBA;
r_gl_internal_format = GL_RGBA;
r_gl_type = GL_UNSIGNED_BYTE;
+ r_real_format = Image::FORMAT_RGBA8;
return image;
}
@@ -382,9 +385,14 @@ void RasterizerStorageGLES2::texture_allocate(RID p_texture, int p_width, int p_
case VS::TEXTURE_TYPE_3D: {
texture->images.resize(p_depth_3d);
} break;
+ default: {
+ ERR_PRINT("Unknown texture type!");
+ return;
+ }
}
- _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, format, internal_format, type, compressed);
+ Image::Format real_format;
+ _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, real_format, format, internal_format, type, compressed);
texture->alloc_width = texture->width;
texture->alloc_height = texture->height;
@@ -426,7 +434,8 @@ void RasterizerStorageGLES2::texture_set_data(RID p_texture, const Ref<Image> &p
texture->images.write[p_layer] = p_image;
}
- Ref<Image> img = _get_gl_image_and_format(p_image, p_image->get_format(), texture->flags, format, internal_format, type, compressed);
+ Image::Format real_format;
+ Ref<Image> img = _get_gl_image_and_format(p_image, p_image->get_format(), texture->flags, real_format, format, internal_format, type, compressed);
if (config.shrink_textures_x2 && (p_image->has_mipmaps() || !p_image->is_compressed()) && !(texture->flags & VS::TEXTURE_FLAG_USED_FOR_STREAMING)) {
@@ -570,11 +579,19 @@ Ref<Image> RasterizerStorageGLES2::texture_get_data(RID p_texture, int p_layer)
if (texture->type == VS::TEXTURE_TYPE_CUBEMAP && p_layer < 6 && p_layer >= 0 && !texture->images[p_layer].is_null()) {
return texture->images[p_layer];
}
+
#ifdef GLES_OVER_GL
+ Image::Format real_format;
+ GLenum gl_format;
+ GLenum gl_internal_format;
+ GLenum gl_type;
+ bool compressed;
+ _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, real_format, gl_format, gl_internal_format, gl_type, compressed);
+
PoolVector<uint8_t> data;
- int data_size = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, texture->format, texture->mipmaps > 1 ? -1 : 0);
+ int data_size = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, real_format, texture->mipmaps > 1 ? -1 : 0);
data.resize(data_size * 2); //add some memory at the end, just in case for buggy drivers
PoolVector<uint8_t>::Write wb = data.write();
@@ -585,13 +602,11 @@ Ref<Image> RasterizerStorageGLES2::texture_get_data(RID p_texture, int p_layer)
glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);
- //print_line("GET FORMAT: " + Image::get_format_name(texture->format) + " mipmaps: " + itos(texture->mipmaps));
-
for (int i = 0; i < texture->mipmaps; i++) {
int ofs = 0;
if (i > 0) {
- ofs = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, texture->format, i - 1);
+ ofs = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, real_format, i - 1);
}
if (texture->compressed) {
@@ -607,7 +622,7 @@ Ref<Image> RasterizerStorageGLES2::texture_get_data(RID p_texture, int p_layer)
data.resize(data_size);
- Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, texture->mipmaps > 1 ? true : false, texture->format, data));
+ Image *img = memnew(Image(texture->alloc_width, texture->alloc_height, texture->mipmaps > 1 ? true : false, real_format, data));
return Ref<Image>(img);
#else
@@ -624,6 +639,8 @@ void RasterizerStorageGLES2::texture_set_flags(RID p_texture, uint32_t p_flags)
bool had_mipmaps = texture->flags & VS::TEXTURE_FLAG_MIPMAPS;
+ texture->flags = p_flags;
+
glActiveTexture(GL_TEXTURE0);
glBindTexture(texture->target, texture->tex_id);
@@ -1291,6 +1308,10 @@ void RasterizerStorageGLES2::shader_get_param_list(RID p_shader, List<PropertyIn
pi.hint = PROPERTY_HINT_RESOURCE_TYPE;
pi.hint_string = "CubeMap";
} break;
+
+ default: {
+
+ } break;
}
p_param_list->push_back(pi);
@@ -2836,7 +2857,11 @@ void RasterizerStorageGLES2::skeleton_allocate(RID p_skeleton, int p_bones, bool
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, skeleton->tex_id);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, p_bones * 3, 1, 0, GL_RGB, GL_FLOAT, NULL);
+#ifdef GLES_OVER_GL
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, p_bones * 3, 1, 0, GL_RGBA, GL_FLOAT, NULL);
+#else
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, p_bones * 3, 1, 0, GL_RGBA, GL_FLOAT, NULL);
+#endif
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
diff --git a/drivers/gles2/rasterizer_storage_gles2.h b/drivers/gles2/rasterizer_storage_gles2.h
index c1fbf73254..88783d7160 100644
--- a/drivers/gles2/rasterizer_storage_gles2.h
+++ b/drivers/gles2/rasterizer_storage_gles2.h
@@ -325,7 +325,7 @@ public:
mutable RID_Owner<Texture> texture_owner;
- Ref<Image> _get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed);
+ Ref<Image> _get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed) const;
virtual RID texture_create();
virtual void texture_allocate(RID p_texture, int p_width, int p_height, int p_depth_3d, Image::Format p_format, VS::TextureType p_type, uint32_t p_flags = VS::TEXTURE_FLAGS_DEFAULT);
diff --git a/drivers/gles2/shader_compiler_gles2.cpp b/drivers/gles2/shader_compiler_gles2.cpp
index 5ac2af6e5c..1c87b3ffb5 100644
--- a/drivers/gles2/shader_compiler_gles2.cpp
+++ b/drivers/gles2/shader_compiler_gles2.cpp
@@ -161,7 +161,7 @@ static String get_constant_text(SL::DataType p_type, const Vector<SL::ConstantNo
return text.as_string();
} break;
- case SL::TYPE_FLOAT: return f2sp0(p_values[0].real) + "f";
+ case SL::TYPE_FLOAT: return f2sp0(p_values[0].real);
case SL::TYPE_VEC2:
case SL::TYPE_VEC3:
case SL::TYPE_VEC4: {
@@ -596,6 +596,7 @@ String ShaderCompilerGLES2::_dump_node_code(SL::Node *p_node, int p_level, Gener
default: {
SL::DataType type = op_node->arguments[3]->get_datatype();
+ // FIXME: Proper error print or graceful handling
print_line(String("uhhhh invalid mix with type: ") + itos(type));
} break;
}
diff --git a/drivers/gles2/shader_gles2.cpp b/drivers/gles2/shader_gles2.cpp
index e9b58cb272..3b2a29d3ee 100644
--- a/drivers/gles2/shader_gles2.cpp
+++ b/drivers/gles2/shader_gles2.cpp
@@ -231,7 +231,6 @@ static String _fix_error_code_line(const String &p_error, int p_code_start, int
continue;
String numstr = error.substr(last_find_pos + 1, (end_pos - last_find_pos) - 1);
- print_line("numstr: " + numstr);
String begin = error.substr(0, last_find_pos + 1);
String end = error.substr(end_pos, error.length());
int num = numstr.to_int() + p_code_start - p_offset;
@@ -967,19 +966,7 @@ void ShaderGLES2::use_material(void *p_material) {
value.second.write[15].real = 1;
} break;
- case ShaderLanguage::TYPE_SAMPLER2D: {
-
- } break;
-
- case ShaderLanguage::TYPE_ISAMPLER2D: {
-
- } break;
-
- case ShaderLanguage::TYPE_USAMPLER2D: {
-
- } break;
-
- case ShaderLanguage::TYPE_SAMPLERCUBE: {
+ default: {
} break;
}
diff --git a/drivers/gles2/shaders/blend_shape.glsl b/drivers/gles2/shaders/blend_shape.glsl
index 4e0d066823..d019062ba0 100644
--- a/drivers/gles2/shaders/blend_shape.glsl
+++ b/drivers/gles2/shaders/blend_shape.glsl
@@ -1,6 +1,5 @@
[vertex]
-
/*
from VisualServer:
@@ -23,56 +22,56 @@ ARRAY_INDEX=8,
/* INPUT ATTRIBS */
-layout(location=0) in highp VFORMAT vertex_attrib;
-layout(location=1) in vec3 normal_attrib;
+layout(location = 0) in highp VFORMAT vertex_attrib;
+layout(location = 1) in vec3 normal_attrib;
#ifdef ENABLE_TANGENT
-layout(location=2) in vec4 tangent_attrib;
+layout(location = 2) in vec4 tangent_attrib;
#endif
#ifdef ENABLE_COLOR
-layout(location=3) in vec4 color_attrib;
+layout(location = 3) in vec4 color_attrib;
#endif
#ifdef ENABLE_UV
-layout(location=4) in vec2 uv_attrib;
+layout(location = 4) in vec2 uv_attrib;
#endif
#ifdef ENABLE_UV2
-layout(location=5) in vec2 uv2_attrib;
+layout(location = 5) in vec2 uv2_attrib;
#endif
#ifdef ENABLE_SKELETON
-layout(location=6) in ivec4 bone_attrib;
-layout(location=7) in vec4 weight_attrib;
+layout(location = 6) in ivec4 bone_attrib;
+layout(location = 7) in vec4 weight_attrib;
#endif
/* BLEND ATTRIBS */
#ifdef ENABLE_BLEND
-layout(location=8) in highp VFORMAT vertex_attrib_blend;
-layout(location=9) in vec3 normal_attrib_blend;
+layout(location = 8) in highp VFORMAT vertex_attrib_blend;
+layout(location = 9) in vec3 normal_attrib_blend;
#ifdef ENABLE_TANGENT
-layout(location=10) in vec4 tangent_attrib_blend;
+layout(location = 10) in vec4 tangent_attrib_blend;
#endif
#ifdef ENABLE_COLOR
-layout(location=11) in vec4 color_attrib_blend;
+layout(location = 11) in vec4 color_attrib_blend;
#endif
#ifdef ENABLE_UV
-layout(location=12) in vec2 uv_attrib_blend;
+layout(location = 12) in vec2 uv_attrib_blend;
#endif
#ifdef ENABLE_UV2
-layout(location=13) in vec2 uv2_attrib_blend;
+layout(location = 13) in vec2 uv2_attrib_blend;
#endif
#ifdef ENABLE_SKELETON
-layout(location=14) in ivec4 bone_attrib_blend;
-layout(location=15) in vec4 weight_attrib_blend;
+layout(location = 14) in ivec4 bone_attrib_blend;
+layout(location = 15) in vec4 weight_attrib_blend;
#endif
#endif
@@ -110,7 +109,6 @@ uniform float blend_amount;
void main() {
-
#ifdef ENABLE_BLEND
vertex_out = vertex_attrib_blend + vertex_attrib * blend_amount;
@@ -140,7 +138,6 @@ void main() {
uv2_out = uv2_attrib_blend + uv2_attrib * blend_amount;
#endif
-
#ifdef ENABLE_SKELETON
bone_out = bone_attrib_blend;
@@ -149,7 +146,6 @@ void main() {
#else //ENABLE_BLEND
-
vertex_out = vertex_attrib * blend_amount;
#ifdef ENABLE_NORMAL
@@ -177,7 +173,6 @@ void main() {
uv2_out = uv2_attrib * blend_amount;
#endif
-
#ifdef ENABLE_SKELETON
bone_out = bone_attrib;
@@ -190,8 +185,6 @@ void main() {
[fragment]
-
void main() {
}
-
diff --git a/drivers/gles2/shaders/canvas.glsl b/drivers/gles2/shaders/canvas.glsl
index 29d81bb2c4..cee68a58ff 100644
--- a/drivers/gles2/shaders/canvas.glsl
+++ b/drivers/gles2/shaders/canvas.glsl
@@ -75,7 +75,7 @@ void main() {
#endif
{
- vec2 src_vtx=outvec.xy;
+ vec2 src_vtx = outvec.xy;
VERTEX_SHADER_CODE
}
@@ -83,7 +83,6 @@ VERTEX_SHADER_CODE
color_interp = color;
gl_Position = projection_matrix * modelview_matrix * outvec;
-
}
[fragment]
@@ -96,9 +95,9 @@ precision mediump float;
precision mediump int;
#endif
-uniform sampler2D color_texture; // texunit:0
+uniform sampler2D color_texture; // texunit:-1
uniform highp vec2 color_texpixel_size;
-uniform mediump sampler2D normal_texture; // texunit:1
+uniform mediump sampler2D normal_texture; // texunit:-2
varying mediump vec2 uv_interp;
varying mediump vec4 color_interp;
@@ -109,7 +108,7 @@ uniform vec4 final_modulate;
#ifdef SCREEN_TEXTURE_USED
-uniform sampler2D screen_texture; // texunit:2
+uniform sampler2D screen_texture; // texunit:-3
#endif
@@ -121,7 +120,6 @@ uniform vec2 screen_pixel_size;
FRAGMENT_SHADER_GLOBALS
-
void main() {
vec4 color = color_interp;
@@ -135,11 +133,9 @@ void main() {
FRAGMENT_SHADER_CODE
-
}
color *= final_modulate;
gl_FragColor = color;
-
}
diff --git a/drivers/gles2/shaders/canvas_shadow.glsl b/drivers/gles2/shaders/canvas_shadow.glsl
index c757990de0..81af486101 100644
--- a/drivers/gles2/shaders/canvas_shadow.glsl
+++ b/drivers/gles2/shaders/canvas_shadow.glsl
@@ -1,20 +1,18 @@
[vertex]
-
-
uniform highp mat4 projection_matrix;
uniform highp mat4 light_matrix;
uniform highp mat4 world_matrix;
uniform highp float distance_norm;
-layout(location=0) in highp vec3 vertex;
+layout(location = 0) in highp vec3 vertex;
out highp vec4 position_interp;
void main() {
- gl_Position = projection_matrix * (light_matrix * (world_matrix * vec4(vertex,1.0)));
- position_interp=gl_Position;
+ gl_Position = projection_matrix * (light_matrix * (world_matrix * vec4(vertex, 1.0)));
+ position_interp = gl_Position;
}
[fragment]
@@ -23,27 +21,26 @@ in highp vec4 position_interp;
#ifdef USE_RGBA_SHADOWS
-layout(location=0) out lowp vec4 distance_buf;
+layout(location = 0) out lowp vec4 distance_buf;
#else
-layout(location=0) out highp float distance_buf;
+layout(location = 0) out highp float distance_buf;
#endif
void main() {
- highp float depth = ((position_interp.z / position_interp.w) + 1.0) * 0.5 + 0.0;//bias;
+ highp float depth = ((position_interp.z / position_interp.w) + 1.0) * 0.5 + 0.0; //bias;
#ifdef USE_RGBA_SHADOWS
highp vec4 comp = fract(depth * vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0));
comp -= comp.xxyz * vec4(0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);
- distance_buf=comp;
+ distance_buf = comp;
#else
- distance_buf=depth;
+ distance_buf = depth;
#endif
}
-
diff --git a/drivers/gles2/shaders/copy.glsl b/drivers/gles2/shaders/copy.glsl
index feaeb2152b..6e9aad2a5d 100644
--- a/drivers/gles2/shaders/copy.glsl
+++ b/drivers/gles2/shaders/copy.glsl
@@ -85,17 +85,15 @@ uniform float custom_alpha;
vec4 texturePanorama(sampler2D pano, vec3 normal) {
vec2 st = vec2(
- atan(normal.x, normal.z),
- acos(normal.y)
- );
+ atan(normal.x, normal.z),
+ acos(normal.y));
- if(st.x < 0.0)
- st.x += M_PI*2.0;
+ if (st.x < 0.0)
+ st.x += M_PI * 2.0;
- st/=vec2(M_PI*2.0,M_PI);
-
- return texture2D(pano,st);
+ st /= vec2(M_PI * 2.0, M_PI);
+ return texture2D(pano, st);
}
#endif
@@ -109,16 +107,15 @@ void main() {
#elif defined(USE_CUBEMAP)
vec4 color = textureCube(source_cube, normalize(cube_interp));
#else
- vec4 color = texture2D( source, uv_interp );
+ vec4 color = texture2D(source, uv_interp);
#endif
-
#ifdef USE_NO_ALPHA
- color.a=1.0;
+ color.a = 1.0;
#endif
#ifdef USE_CUSTOM_ALPHA
- color.a=custom_alpha;
+ color.a = custom_alpha;
#endif
#ifdef USE_MULTIPLIER
diff --git a/drivers/gles2/shaders/cube_to_dp.glsl b/drivers/gles2/shaders/cube_to_dp.glsl
index 0b3f53a870..b44aab8946 100644
--- a/drivers/gles2/shaders/cube_to_dp.glsl
+++ b/drivers/gles2/shaders/cube_to_dp.glsl
@@ -39,55 +39,53 @@ uniform highp float bias;
void main() {
- highp vec3 normal = vec3( uv_interp * 2.0 - 1.0, 0.0 );
-/*
- if(z_flip) {
- normal.z = 0.5 - 0.5*((normal.x * normal.x) + (normal.y * normal.y));
+ highp vec3 normal = vec3(uv_interp * 2.0 - 1.0, 0.0);
+ /*
+ if (z_flip) {
+ normal.z = 0.5 - 0.5 * ((normal.x * normal.x) + (normal.y * normal.y));
} else {
- normal.z = -0.5 + 0.5*((normal.x * normal.x) + (normal.y * normal.y));
+ normal.z = -0.5 + 0.5 * ((normal.x * normal.x) + (normal.y * normal.y));
}
-*/
+ */
- //normal.z = sqrt(1.0-dot(normal.xy,normal.xy));
- //normal.xy*=1.0+normal.z;
+ //normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
+ //normal.xy *= 1.0 + normal.z;
- normal.z = 0.5 - 0.5*((normal.x * normal.x) + (normal.y * normal.y));
+ normal.z = 0.5 - 0.5 * ((normal.x * normal.x) + (normal.y * normal.y));
normal = normalize(normal);
+ /*
+ normal.z = 0.5;
+ normal = normalize(normal);
+ */
-/*
- normal.z=0.5;
- normal=normalize(normal);
-*/
if (!z_flip) {
- normal.z=-normal.z;
+ normal.z = -normal.z;
}
//normal = normalize(vec3( uv_interp * 2.0 - 1.0, 1.0 ));
- float depth = textureCube(source_cube,normal).r;
+ float depth = textureCube(source_cube, normal).r;
// absolute values for direction cosines, bigger value equals closer to basis axis
vec3 unorm = abs(normal);
- if ( (unorm.x >= unorm.y) && (unorm.x >= unorm.z) ) {
- // x code
- unorm = normal.x > 0.0 ? vec3( 1.0, 0.0, 0.0 ) : vec3( -1.0, 0.0, 0.0 ) ;
- } else if ( (unorm.y > unorm.x) && (unorm.y >= unorm.z) ) {
- // y code
- unorm = normal.y > 0.0 ? vec3( 0.0, 1.0, 0.0 ) : vec3( 0.0, -1.0, 0.0 ) ;
- } else if ( (unorm.z > unorm.x) && (unorm.z > unorm.y) ) {
- // z code
- unorm = normal.z > 0.0 ? vec3( 0.0, 0.0, 1.0 ) : vec3( 0.0, 0.0, -1.0 ) ;
+ if ((unorm.x >= unorm.y) && (unorm.x >= unorm.z)) {
+ // x code
+ unorm = normal.x > 0.0 ? vec3(1.0, 0.0, 0.0) : vec3(-1.0, 0.0, 0.0);
+ } else if ((unorm.y > unorm.x) && (unorm.y >= unorm.z)) {
+ // y code
+ unorm = normal.y > 0.0 ? vec3(0.0, 1.0, 0.0) : vec3(0.0, -1.0, 0.0);
+ } else if ((unorm.z > unorm.x) && (unorm.z > unorm.y)) {
+ // z code
+ unorm = normal.z > 0.0 ? vec3(0.0, 0.0, 1.0) : vec3(0.0, 0.0, -1.0);
} else {
- // oh-no we messed up code
- // has to be
- unorm = vec3( 1.0, 0.0, 0.0 );
+ // oh-no we messed up code
+ // has to be
+ unorm = vec3(1.0, 0.0, 0.0);
}
- float depth_fix = 1.0 / dot(normal,unorm);
-
+ float depth_fix = 1.0 / dot(normal, unorm);
depth = 2.0 * depth - 1.0;
float linear_depth = 2.0 * z_near * z_far / (z_far + z_near - depth * (z_far - z_near));
- gl_FragDepth = (linear_depth*depth_fix+bias) / z_far;
+ gl_FragDepth = (linear_depth * depth_fix + bias) / z_far;
}
-
diff --git a/drivers/gles2/shaders/cubemap_filter.glsl b/drivers/gles2/shaders/cubemap_filter.glsl
index 62ecd9471b..6c26c5ce89 100644
--- a/drivers/gles2/shaders/cubemap_filter.glsl
+++ b/drivers/gles2/shaders/cubemap_filter.glsl
@@ -15,13 +15,18 @@ varying highp vec2 uv_interp;
void main() {
- uv_interp=uv;
- gl_Position=vec4(vertex,0,1);
+ uv_interp = uv;
+ gl_Position = vec4(vertex, 0, 1);
}
[fragment]
-#extension GL_ARB_shader_texture_lod : require
+#extension GL_ARB_shader_texture_lod : enable
+
+#ifndef GL_ARB_shader_texture_lod
+#define texture2DLod(img, coord, lod) texture2D(img, coord)
+#define textureCubeLod(img, coord, lod) textureCube(img, coord)
+#endif
#ifdef USE_GLES_OVER_GL
#define mediump
@@ -60,17 +65,15 @@ uniform sampler2D radical_inverse_vdc_cache; // texunit:1
vec4 texturePanorama(sampler2D pano, vec3 normal) {
vec2 st = vec2(
- atan(normal.x, normal.z),
- acos(normal.y)
- );
+ atan(normal.x, normal.z),
+ acos(normal.y));
- if(st.x < 0.0)
- st.x += M_PI*2.0;
+ if (st.x < 0.0)
+ st.x += M_PI * 2.0;
- st/=vec2(M_PI*2.0,M_PI);
-
- return texture2DLod(pano,st,0.0);
+ st /= vec2(M_PI * 2.0, M_PI);
+ return texture2DLod(pano, st, 0.0);
}
#endif
@@ -79,24 +82,24 @@ vec3 texelCoordToVec(vec2 uv, int faceID) {
mat3 faceUvVectors[6];
// -x
- faceUvVectors[0][0] = vec3(0.0, 0.0, 1.0); // u -> +z
+ faceUvVectors[0][0] = vec3(0.0, 0.0, 1.0); // u -> +z
faceUvVectors[0][1] = vec3(0.0, -1.0, 0.0); // v -> -y
faceUvVectors[0][2] = vec3(-1.0, 0.0, 0.0); // -x face
// +x
faceUvVectors[1][0] = vec3(0.0, 0.0, -1.0); // u -> -z
faceUvVectors[1][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[1][2] = vec3(1.0, 0.0, 0.0); // +x face
+ faceUvVectors[1][2] = vec3(1.0, 0.0, 0.0); // +x face
// -y
- faceUvVectors[2][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[2][0] = vec3(1.0, 0.0, 0.0); // u -> +x
faceUvVectors[2][1] = vec3(0.0, 0.0, -1.0); // v -> -z
faceUvVectors[2][2] = vec3(0.0, -1.0, 0.0); // -y face
// +y
- faceUvVectors[3][0] = vec3(1.0, 0.0, 0.0); // u -> +x
- faceUvVectors[3][1] = vec3(0.0, 0.0, 1.0); // v -> +z
- faceUvVectors[3][2] = vec3(0.0, 1.0, 0.0); // +y face
+ faceUvVectors[3][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[3][1] = vec3(0.0, 0.0, 1.0); // v -> +z
+ faceUvVectors[3][2] = vec3(0.0, 1.0, 0.0); // +y face
// -z
faceUvVectors[4][0] = vec3(-1.0, 0.0, 0.0); // u -> -x
@@ -104,9 +107,9 @@ vec3 texelCoordToVec(vec2 uv, int faceID) {
faceUvVectors[4][2] = vec3(0.0, 0.0, -1.0); // -z face
// +z
- faceUvVectors[5][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[5][0] = vec3(1.0, 0.0, 0.0); // u -> +x
faceUvVectors[5][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[5][2] = vec3(0.0, 0.0, 1.0); // +z face
+ faceUvVectors[5][2] = vec3(0.0, 0.0, 1.0); // +z face
// out = u * s_faceUv[0] + v * s_faceUv[1] + s_faceUv[2].
vec3 result = (faceUvVectors[faceID][0] * uv.x) + (faceUvVectors[faceID][1] * uv.y) + faceUvVectors[faceID][2];
@@ -118,7 +121,7 @@ vec3 ImportanceSampleGGX(vec2 Xi, float Roughness, vec3 N) {
// Compute distribution direction
float Phi = 2.0 * M_PI * Xi.x;
- float CosTheta = sqrt((1.0 - Xi.y) / (1.0 + (a*a - 1.0) * Xi.y));
+ float CosTheta = sqrt((1.0 - Xi.y) / (1.0 + (a * a - 1.0) * Xi.y));
float SinTheta = sqrt(1.0 - CosTheta * CosTheta);
// Convert to spherical direction
@@ -174,14 +177,10 @@ void main() {
#endif
sum.a += NdotL;
-
}
-
}
sum /= sum.a;
gl_FragColor = vec4(sum.rgb, 1.0);
-
}
-
diff --git a/drivers/gles2/shaders/effect_blur.glsl b/drivers/gles2/shaders/effect_blur.glsl
index b5f98a1244..0e2d28af20 100644
--- a/drivers/gles2/shaders/effect_blur.glsl
+++ b/drivers/gles2/shaders/effect_blur.glsl
@@ -1,8 +1,7 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
@@ -39,7 +38,6 @@ uniform sampler2D source_ssao; //texunit:1
uniform float lod;
uniform vec2 pixel_size;
-
layout(location = 0) out vec4 frag_color;
#ifdef SSAO_MERGE
@@ -48,31 +46,31 @@ uniform vec4 ssao_color;
#endif
-#if defined (GLOW_GAUSSIAN_HORIZONTAL) || defined(GLOW_GAUSSIAN_VERTICAL)
+#if defined(GLOW_GAUSSIAN_HORIZONTAL) || defined(GLOW_GAUSSIAN_VERTICAL)
uniform float glow_strength;
#endif
-#if defined(DOF_FAR_BLUR) || defined (DOF_NEAR_BLUR)
+#if defined(DOF_FAR_BLUR) || defined(DOF_NEAR_BLUR)
#ifdef DOF_QUALITY_LOW
-const int dof_kernel_size=5;
-const int dof_kernel_from=2;
-const float dof_kernel[5] = float[] (0.153388,0.221461,0.250301,0.221461,0.153388);
+const int dof_kernel_size = 5;
+const int dof_kernel_from = 2;
+const float dof_kernel[5] = float[](0.153388, 0.221461, 0.250301, 0.221461, 0.153388);
#endif
#ifdef DOF_QUALITY_MEDIUM
-const int dof_kernel_size=11;
-const int dof_kernel_from=5;
-const float dof_kernel[11] = float[] (0.055037,0.072806,0.090506,0.105726,0.116061,0.119726,0.116061,0.105726,0.090506,0.072806,0.055037);
+const int dof_kernel_size = 11;
+const int dof_kernel_from = 5;
+const float dof_kernel[11] = float[](0.055037, 0.072806, 0.090506, 0.105726, 0.116061, 0.119726, 0.116061, 0.105726, 0.090506, 0.072806, 0.055037);
#endif
#ifdef DOF_QUALITY_HIGH
-const int dof_kernel_size=21;
-const int dof_kernel_from=10;
-const float dof_kernel[21] = float[] (0.028174,0.032676,0.037311,0.041944,0.046421,0.050582,0.054261,0.057307,0.059587,0.060998,0.061476,0.060998,0.059587,0.057307,0.054261,0.050582,0.046421,0.041944,0.037311,0.032676,0.028174);
+const int dof_kernel_size = 21;
+const int dof_kernel_from = 10;
+const float dof_kernel[21] = float[](0.028174, 0.032676, 0.037311, 0.041944, 0.046421, 0.050582, 0.054261, 0.057307, 0.059587, 0.060998, 0.061476, 0.060998, 0.059587, 0.057307, 0.054261, 0.050582, 0.046421, 0.041944, 0.037311, 0.032676, 0.028174);
#endif
uniform sampler2D dof_source_depth; //texunit:1
@@ -88,7 +86,6 @@ uniform sampler2D source_dof_original; //texunit:2
#endif
-
#ifdef GLOW_FIRST_PASS
uniform float exposure;
@@ -112,53 +109,51 @@ uniform float camera_z_near;
void main() {
-
-
#ifdef GAUSSIAN_HORIZONTAL
vec2 pix_size = pixel_size;
- pix_size*=0.5; //reading from larger buffer, so use more samples
- vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pix_size,lod )*0.214607;
- color+=textureLod( source_color, uv_interp+vec2( 1.0, 0.0)*pix_size,lod )*0.189879;
- color+=textureLod( source_color, uv_interp+vec2( 2.0, 0.0)*pix_size,lod )*0.157305;
- color+=textureLod( source_color, uv_interp+vec2( 3.0, 0.0)*pix_size,lod )*0.071303;
- color+=textureLod( source_color, uv_interp+vec2(-1.0, 0.0)*pix_size,lod )*0.189879;
- color+=textureLod( source_color, uv_interp+vec2(-2.0, 0.0)*pix_size,lod )*0.157305;
- color+=textureLod( source_color, uv_interp+vec2(-3.0, 0.0)*pix_size,lod )*0.071303;
+ pix_size *= 0.5; //reading from larger buffer, so use more samples
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pix_size, lod) * 0.214607;
+ color += textureLod(source_color, uv_interp + vec2(1.0, 0.0) * pix_size, lod) * 0.189879;
+ color += textureLod(source_color, uv_interp + vec2(2.0, 0.0) * pix_size, lod) * 0.157305;
+ color += textureLod(source_color, uv_interp + vec2(3.0, 0.0) * pix_size, lod) * 0.071303;
+ color += textureLod(source_color, uv_interp + vec2(-1.0, 0.0) * pix_size, lod) * 0.189879;
+ color += textureLod(source_color, uv_interp + vec2(-2.0, 0.0) * pix_size, lod) * 0.157305;
+ color += textureLod(source_color, uv_interp + vec2(-3.0, 0.0) * pix_size, lod) * 0.071303;
frag_color = color;
#endif
#ifdef GAUSSIAN_VERTICAL
- vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pixel_size,lod )*0.38774;
- color+=textureLod( source_color, uv_interp+vec2( 0.0, 1.0)*pixel_size,lod )*0.24477;
- color+=textureLod( source_color, uv_interp+vec2( 0.0, 2.0)*pixel_size,lod )*0.06136;
- color+=textureLod( source_color, uv_interp+vec2( 0.0,-1.0)*pixel_size,lod )*0.24477;
- color+=textureLod( source_color, uv_interp+vec2( 0.0,-2.0)*pixel_size,lod )*0.06136;
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pixel_size, lod) * 0.38774;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 1.0) * pixel_size, lod) * 0.24477;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 2.0) * pixel_size, lod) * 0.06136;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -1.0) * pixel_size, lod) * 0.24477;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -2.0) * pixel_size, lod) * 0.06136;
frag_color = color;
#endif
-//glow uses larger sigma for a more rounded blur effect
+ //glow uses larger sigma for a more rounded blur effect
#ifdef GLOW_GAUSSIAN_HORIZONTAL
vec2 pix_size = pixel_size;
- pix_size*=0.5; //reading from larger buffer, so use more samples
- vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pix_size,lod )*0.174938;
- color+=textureLod( source_color, uv_interp+vec2( 1.0, 0.0)*pix_size,lod )*0.165569;
- color+=textureLod( source_color, uv_interp+vec2( 2.0, 0.0)*pix_size,lod )*0.140367;
- color+=textureLod( source_color, uv_interp+vec2( 3.0, 0.0)*pix_size,lod )*0.106595;
- color+=textureLod( source_color, uv_interp+vec2(-1.0, 0.0)*pix_size,lod )*0.165569;
- color+=textureLod( source_color, uv_interp+vec2(-2.0, 0.0)*pix_size,lod )*0.140367;
- color+=textureLod( source_color, uv_interp+vec2(-3.0, 0.0)*pix_size,lod )*0.106595;
- color*=glow_strength;
+ pix_size *= 0.5; //reading from larger buffer, so use more samples
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pix_size, lod) * 0.174938;
+ color += textureLod(source_color, uv_interp + vec2(1.0, 0.0) * pix_size, lod) * 0.165569;
+ color += textureLod(source_color, uv_interp + vec2(2.0, 0.0) * pix_size, lod) * 0.140367;
+ color += textureLod(source_color, uv_interp + vec2(3.0, 0.0) * pix_size, lod) * 0.106595;
+ color += textureLod(source_color, uv_interp + vec2(-1.0, 0.0) * pix_size, lod) * 0.165569;
+ color += textureLod(source_color, uv_interp + vec2(-2.0, 0.0) * pix_size, lod) * 0.140367;
+ color += textureLod(source_color, uv_interp + vec2(-3.0, 0.0) * pix_size, lod) * 0.106595;
+ color *= glow_strength;
frag_color = color;
#endif
#ifdef GLOW_GAUSSIAN_VERTICAL
- vec4 color =textureLod( source_color, uv_interp+vec2(0.0, 0.0)*pixel_size,lod )*0.288713;
- color+=textureLod( source_color, uv_interp+vec2(0.0, 1.0)*pixel_size,lod )*0.233062;
- color+=textureLod( source_color, uv_interp+vec2(0.0, 2.0)*pixel_size,lod )*0.122581;
- color+=textureLod( source_color, uv_interp+vec2(0.0,-1.0)*pixel_size,lod )*0.233062;
- color+=textureLod( source_color, uv_interp+vec2(0.0,-2.0)*pixel_size,lod )*0.122581;
- color*=glow_strength;
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pixel_size, lod) * 0.288713;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 1.0) * pixel_size, lod) * 0.233062;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 2.0) * pixel_size, lod) * 0.122581;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -1.0) * pixel_size, lod) * 0.233062;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -2.0) * pixel_size, lod) * 0.122581;
+ color *= glow_strength;
frag_color = color;
#endif
@@ -166,47 +161,45 @@ void main() {
vec4 color_accum = vec4(0.0);
- float depth = textureLod( dof_source_depth, uv_interp, 0.0).r;
+ float depth = textureLod(dof_source_depth, uv_interp, 0.0).r;
depth = depth * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth = ((depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth = ((depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth * (camera_z_far - camera_z_near));
#endif
- float amount = smoothstep(dof_begin,dof_end,depth);
- float k_accum=0.0;
+ float amount = smoothstep(dof_begin, dof_end, depth);
+ float k_accum = 0.0;
- for(int i=0;i<dof_kernel_size;i++) {
+ for (int i = 0; i < dof_kernel_size; i++) {
- int int_ofs = i-dof_kernel_from;
+ int int_ofs = i - dof_kernel_from;
vec2 tap_uv = uv_interp + dof_dir * float(int_ofs) * amount * dof_radius;
float tap_k = dof_kernel[i];
- float tap_depth = texture( dof_source_depth, tap_uv, 0.0).r;
+ float tap_depth = texture(dof_source_depth, tap_uv, 0.0).r;
tap_depth = tap_depth * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- tap_depth = ((tap_depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ tap_depth = ((tap_depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
tap_depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - tap_depth * (camera_z_far - camera_z_near));
#endif
- float tap_amount = mix(smoothstep(dof_begin,dof_end,tap_depth),1.0,int_ofs==0);
- tap_amount*=tap_amount*tap_amount; //prevent undesired glow effect
-
- vec4 tap_color = textureLod( source_color, tap_uv, 0.0) * tap_k;
-
- k_accum+=tap_k*tap_amount;
- color_accum+=tap_color*tap_amount;
+ float tap_amount = mix(smoothstep(dof_begin, dof_end, tap_depth), 1.0, int_ofs == 0);
+ tap_amount *= tap_amount * tap_amount; //prevent undesired glow effect
+ vec4 tap_color = textureLod(source_color, tap_uv, 0.0) * tap_k;
+ k_accum += tap_k * tap_amount;
+ color_accum += tap_color * tap_amount;
}
- if (k_accum>0.0) {
- color_accum/=k_accum;
+ if (k_accum > 0.0) {
+ color_accum /= k_accum;
}
- frag_color = color_accum;///k_accum;
+ frag_color = color_accum; ///k_accum;
#endif
@@ -214,47 +207,45 @@ void main() {
vec4 color_accum = vec4(0.0);
- float max_accum=0;
+ float max_accum = 0;
- for(int i=0;i<dof_kernel_size;i++) {
+ for (int i = 0; i < dof_kernel_size; i++) {
- int int_ofs = i-dof_kernel_from;
+ int int_ofs = i - dof_kernel_from;
vec2 tap_uv = uv_interp + dof_dir * float(int_ofs) * dof_radius;
- float ofs_influence = max(0.0,1.0-float(abs(int_ofs))/float(dof_kernel_from));
+ float ofs_influence = max(0.0, 1.0 - float(abs(int_ofs)) / float(dof_kernel_from));
float tap_k = dof_kernel[i];
- vec4 tap_color = textureLod( source_color, tap_uv, 0.0);
+ vec4 tap_color = textureLod(source_color, tap_uv, 0.0);
- float tap_depth = texture( dof_source_depth, tap_uv, 0.0).r;
+ float tap_depth = texture(dof_source_depth, tap_uv, 0.0).r;
tap_depth = tap_depth * 2.0 - 1.0;
-#ifdef USE_ORTHOGONAL_PROJECTION
- tap_depth = ((tap_depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+#ifdef USE_ORTHOGONAL_PROJECTION
+ tap_depth = ((tap_depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
tap_depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - tap_depth * (camera_z_far - camera_z_near));
#endif
- float tap_amount = 1.0-smoothstep(dof_end,dof_begin,tap_depth);
- tap_amount*=tap_amount*tap_amount; //prevent undesired glow effect
+ float tap_amount = 1.0 - smoothstep(dof_end, dof_begin, tap_depth);
+ tap_amount *= tap_amount * tap_amount; //prevent undesired glow effect
#ifdef DOF_NEAR_FIRST_TAP
- tap_color.a= 1.0-smoothstep(dof_end,dof_begin,tap_depth);
+ tap_color.a = 1.0 - smoothstep(dof_end, dof_begin, tap_depth);
#endif
- max_accum=max(max_accum,tap_amount*ofs_influence);
-
- color_accum+=tap_color*tap_k;
+ max_accum = max(max_accum, tap_amount * ofs_influence);
+ color_accum += tap_color * tap_k;
}
- color_accum.a=max(color_accum.a,sqrt(max_accum));
-
+ color_accum.a = max(color_accum.a, sqrt(max_accum));
#ifdef DOF_NEAR_BLUR_MERGE
- vec4 original = textureLod( source_dof_original, uv_interp, 0.0);
- color_accum = mix(original,color_accum,color_accum.a);
+ vec4 original = textureLod(source_dof_original, uv_interp, 0.0);
+ color_accum = mix(original, color_accum, color_accum.a);
#endif
@@ -265,37 +256,32 @@ void main() {
#endif
-
-
#ifdef GLOW_FIRST_PASS
#ifdef GLOW_USE_AUTO_EXPOSURE
- frag_color/=texelFetch(source_auto_exposure,ivec2(0,0),0).r/auto_exposure_grey;
+ frag_color /= texelFetch(source_auto_exposure, ivec2(0, 0), 0).r / auto_exposure_grey;
#endif
- frag_color*=exposure;
+ frag_color *= exposure;
- float luminance = max(frag_color.r,max(frag_color.g,frag_color.b));
- float feedback = max( smoothstep(glow_hdr_threshold,glow_hdr_threshold+glow_hdr_scale,luminance), glow_bloom );
+ float luminance = max(frag_color.r, max(frag_color.g, frag_color.b));
+ float feedback = max(smoothstep(glow_hdr_threshold, glow_hdr_threshold + glow_hdr_scale, luminance), glow_bloom);
frag_color *= feedback;
#endif
-
#ifdef SIMPLE_COPY
- vec4 color =textureLod( source_color, uv_interp,0.0);
+ vec4 color = textureLod(source_color, uv_interp, 0.0);
frag_color = color;
#endif
#ifdef SSAO_MERGE
- vec4 color =textureLod( source_color, uv_interp,0.0);
- float ssao =textureLod( source_ssao, uv_interp,0.0).r;
+ vec4 color = textureLod(source_color, uv_interp, 0.0);
+ float ssao = textureLod(source_ssao, uv_interp, 0.0).r;
- frag_color = vec4( mix(color.rgb,color.rgb*mix(ssao_color.rgb,vec3(1.0),ssao),color.a), 1.0 );
+ frag_color = vec4(mix(color.rgb, color.rgb * mix(ssao_color.rgb, vec3(1.0), ssao), color.a), 1.0);
#endif
-
-
}
diff --git a/drivers/gles2/shaders/exposure.glsl b/drivers/gles2/shaders/exposure.glsl
index 001b90a0f1..18fff1ae36 100644
--- a/drivers/gles2/shaders/exposure.glsl
+++ b/drivers/gles2/shaders/exposure.glsl
@@ -1,18 +1,14 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
gl_Position = vertex_attrib;
-
}
[fragment]
-
uniform highp sampler2D source_exposure; //texunit:0
#ifdef EXPOSURE_BEGIN
@@ -33,66 +29,56 @@ uniform highp float max_luminance;
layout(location = 0) out highp float exposure;
-
-
void main() {
-
-
#ifdef EXPOSURE_BEGIN
-
- ivec2 src_pos = ivec2(gl_FragCoord.xy)*source_render_size/target_size;
+ ivec2 src_pos = ivec2(gl_FragCoord.xy) * source_render_size / target_size;
#if 1
//more precise and expensive, but less jittery
- ivec2 next_pos = ivec2(gl_FragCoord.xy+ivec2(1))*source_render_size/target_size;
- next_pos = max(next_pos,src_pos+ivec2(1)); //so it at least reads one pixel
- highp vec3 source_color=vec3(0.0);
- for(int i=src_pos.x;i<next_pos.x;i++) {
- for(int j=src_pos.y;j<next_pos.y;j++) {
- source_color += texelFetch(source_exposure,ivec2(i,j),0).rgb;
+ ivec2 next_pos = ivec2(gl_FragCoord.xy + ivec2(1)) * source_render_size / target_size;
+ next_pos = max(next_pos, src_pos + ivec2(1)); //so it at least reads one pixel
+ highp vec3 source_color = vec3(0.0);
+ for (int i = src_pos.x; i < next_pos.x; i++) {
+ for (int j = src_pos.y; j < next_pos.y; j++) {
+ source_color += texelFetch(source_exposure, ivec2(i, j), 0).rgb;
}
}
- source_color/=float( (next_pos.x-src_pos.x)*(next_pos.y-src_pos.y) );
+ source_color /= float((next_pos.x - src_pos.x) * (next_pos.y - src_pos.y));
#else
- highp vec3 source_color = texelFetch(source_exposure,src_pos,0).rgb;
+ highp vec3 source_color = texelFetch(source_exposure, src_pos, 0).rgb;
#endif
- exposure = max(source_color.r,max(source_color.g,source_color.b));
+ exposure = max(source_color.r, max(source_color.g, source_color.b));
#else
ivec2 coord = ivec2(gl_FragCoord.xy);
- exposure = texelFetch(source_exposure,coord*3+ivec2(0,0),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(1,0),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(2,0),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(0,1),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(1,1),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(2,1),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(0,2),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(1,2),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(2,2),0).r;
- exposure *= (1.0/9.0);
+ exposure = texelFetch(source_exposure, coord * 3 + ivec2(0, 0), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(1, 0), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(2, 0), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(0, 1), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(1, 1), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(2, 1), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(0, 2), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(1, 2), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(2, 2), 0).r;
+ exposure *= (1.0 / 9.0);
#ifdef EXPOSURE_END
#ifdef EXPOSURE_FORCE_SET
//will stay as is
#else
- highp float prev_lum = texelFetch(prev_exposure,ivec2(0,0),0).r; //1 pixel previous exposure
- exposure = clamp( prev_lum + (exposure-prev_lum)*exposure_adjust,min_luminance,max_luminance);
+ highp float prev_lum = texelFetch(prev_exposure, ivec2(0, 0), 0).r; //1 pixel previous exposure
+ exposure = clamp(prev_lum + (exposure - prev_lum) * exposure_adjust, min_luminance, max_luminance);
#endif //EXPOSURE_FORCE_SET
-
#endif //EXPOSURE_END
#endif //EXPOSURE_BEGIN
-
-
}
-
-
diff --git a/drivers/gles2/shaders/particles.glsl b/drivers/gles2/shaders/particles.glsl
index a62c124dfe..5af4b65b28 100644
--- a/drivers/gles2/shaders/particles.glsl
+++ b/drivers/gles2/shaders/particles.glsl
@@ -1,14 +1,11 @@
[vertex]
-
-
-layout(location=0) in highp vec4 color;
-layout(location=1) in highp vec4 velocity_active;
-layout(location=2) in highp vec4 custom;
-layout(location=3) in highp vec4 xform_1;
-layout(location=4) in highp vec4 xform_2;
-layout(location=5) in highp vec4 xform_3;
-
+layout(location = 0) in highp vec4 color;
+layout(location = 1) in highp vec4 velocity_active;
+layout(location = 2) in highp vec4 custom;
+layout(location = 3) in highp vec4 xform_1;
+layout(location = 4) in highp vec4 xform_2;
+layout(location = 5) in highp vec4 xform_3;
struct Attractor {
@@ -39,7 +36,6 @@ uniform float lifetime;
uniform mat4 emission_transform;
uniform uint random_seed;
-
out highp vec4 out_color; //tfb:
out highp vec4 out_velocity_active; //tfb:
out highp vec4 out_custom; //tfb:
@@ -47,7 +43,6 @@ out highp vec4 out_xform_1; //tfb:
out highp vec4 out_xform_2; //tfb:
out highp vec4 out_xform_3; //tfb:
-
#if defined(USE_MATERIAL)
layout(std140) uniform UniformData { //ubo:0
@@ -58,7 +53,6 @@ MATERIAL_UNIFORMS
#endif
-
VERTEX_SHADER_GLOBALS
uint hash(uint x) {
@@ -69,13 +63,12 @@ uint hash(uint x) {
return x;
}
-
void main() {
#ifdef PARTICLES_COPY
- out_color=color;
- out_velocity_active=velocity_active;
+ out_color = color;
+ out_velocity_active = velocity_active;
out_custom = custom;
out_xform_1 = xform_1;
out_xform_2 = xform_2;
@@ -83,34 +76,34 @@ void main() {
#else
- bool apply_forces=true;
- bool apply_velocity=true;
- float local_delta=delta;
+ bool apply_forces = true;
+ bool apply_velocity = true;
+ float local_delta = delta;
float mass = 1.0;
- float restart_phase = float(gl_VertexID)/float(total_particles);
+ float restart_phase = float(gl_VertexID) / float(total_particles);
- if (randomness>0.0) {
+ if (randomness > 0.0) {
uint seed = cycle;
if (restart_phase >= system_phase) {
- seed-=uint(1);
+ seed -= uint(1);
}
- seed*=uint(total_particles);
- seed+=uint(gl_VertexID);
+ seed *= uint(total_particles);
+ seed += uint(gl_VertexID);
float random = float(hash(seed) % uint(65536)) / 65536.0;
- restart_phase+=randomness * random * 1.0 / float(total_particles);
+ restart_phase += randomness * random * 1.0 / float(total_particles);
}
- restart_phase*= (1.0-explosiveness);
- bool restart=false;
+ restart_phase *= (1.0 - explosiveness);
+ bool restart = false;
bool shader_active = velocity_active.a > 0.5;
if (system_phase > prev_system_phase) {
// restart_phase >= prev_system_phase is used so particles emit in the first frame they are processed
- if (restart_phase >= prev_system_phase && restart_phase < system_phase ) {
- restart=true;
+ if (restart_phase >= prev_system_phase && restart_phase < system_phase) {
+ restart = true;
#ifdef USE_FRACTIONAL_DELTA
local_delta = (system_phase - restart_phase) * lifetime;
#endif
@@ -118,12 +111,12 @@ void main() {
} else {
if (restart_phase >= prev_system_phase) {
- restart=true;
+ restart = true;
#ifdef USE_FRACTIONAL_DELTA
local_delta = (1.0 - restart_phase + system_phase) * lifetime;
#endif
- } else if (restart_phase < system_phase ) {
- restart=true;
+ } else if (restart_phase < system_phase) {
+ restart = true;
#ifdef USE_FRACTIONAL_DELTA
local_delta = (system_phase - restart_phase) * lifetime;
#endif
@@ -133,14 +126,14 @@ void main() {
uint current_cycle = cycle;
if (system_phase < restart_phase) {
- current_cycle-=uint(1);
+ current_cycle -= uint(1);
}
uint particle_number = current_cycle * uint(total_particles) + uint(gl_VertexID);
int index = int(gl_VertexID);
if (restart) {
- shader_active=emitting;
+ shader_active = emitting;
}
mat4 xform;
@@ -150,30 +143,31 @@ void main() {
#else
if (clear || restart) {
#endif
- out_color=vec4(1.0);
- out_velocity_active=vec4(0.0);
- out_custom=vec4(0.0);
+ out_color = vec4(1.0);
+ out_velocity_active = vec4(0.0);
+ out_custom = vec4(0.0);
if (!restart)
- shader_active=false;
+ shader_active = false;
xform = mat4(
- vec4(1.0,0.0,0.0,0.0),
- vec4(0.0,1.0,0.0,0.0),
- vec4(0.0,0.0,1.0,0.0),
- vec4(0.0,0.0,0.0,1.0)
- );
+ vec4(1.0, 0.0, 0.0, 0.0),
+ vec4(0.0, 1.0, 0.0, 0.0),
+ vec4(0.0, 0.0, 1.0, 0.0),
+ vec4(0.0, 0.0, 0.0, 1.0));
} else {
- out_color=color;
- out_velocity_active=velocity_active;
- out_custom=custom;
- xform = transpose(mat4(xform_1,xform_2,xform_3,vec4(vec3(0.0),1.0)));
+ out_color = color;
+ out_velocity_active = velocity_active;
+ out_custom = custom;
+ xform = transpose(mat4(xform_1, xform_2, xform_3, vec4(vec3(0.0), 1.0)));
}
if (shader_active) {
//execute shader
{
+
VERTEX_SHADER_CODE
+
}
#if !defined(DISABLE_FORCE)
@@ -181,26 +175,25 @@ VERTEX_SHADER_CODE
if (false) {
vec3 force = vec3(0.0);
- for(int i=0;i<attractor_count;i++) {
+ for (int i = 0; i < attractor_count; i++) {
vec3 rel_vec = xform[3].xyz - attractors[i].pos;
float dist = length(rel_vec);
if (attractors[i].radius < dist)
continue;
- if (attractors[i].eat_radius>0.0 && attractors[i].eat_radius > dist) {
- out_velocity_active.a=0.0;
+ if (attractors[i].eat_radius > 0.0 && attractors[i].eat_radius > dist) {
+ out_velocity_active.a = 0.0;
}
rel_vec = normalize(rel_vec);
- float attenuation = pow(dist / attractors[i].radius,attractors[i].attenuation);
+ float attenuation = pow(dist / attractors[i].radius, attractors[i].attenuation);
- if (attractors[i].dir==vec3(0.0)) {
+ if (attractors[i].dir == vec3(0.0)) {
//towards center
- force+=attractors[i].strength * rel_vec * attenuation * mass;
+ force += attractors[i].strength * rel_vec * attenuation * mass;
} else {
- force+=attractors[i].strength * attractors[i].dir * attenuation *mass;
-
+ force += attractors[i].strength * attractors[i].dir * attenuation * mass;
}
}
@@ -216,26 +209,24 @@ VERTEX_SHADER_CODE
}
#endif
} else {
- xform=mat4(0.0);
+ xform = mat4(0.0);
}
xform = transpose(xform);
- out_velocity_active.a = mix(0.0,1.0,shader_active);
+ out_velocity_active.a = mix(0.0, 1.0, shader_active);
out_xform_1 = xform[0];
out_xform_2 = xform[1];
out_xform_3 = xform[2];
#endif //PARTICLES_COPY
-
}
[fragment]
//any code here is never executed, stuff is filled just so it works
-
#if defined(USE_MATERIAL)
layout(std140) uniform UniformData {
diff --git a/drivers/gles2/shaders/resolve.glsl b/drivers/gles2/shaders/resolve.glsl
index 0b50a9c57b..05bb922eec 100644
--- a/drivers/gles2/shaders/resolve.glsl
+++ b/drivers/gles2/shaders/resolve.glsl
@@ -1,12 +1,10 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
-
void main() {
uv_interp = uv_in;
@@ -31,14 +29,12 @@ layout(location = 0) out vec4 frag_color;
void main() {
- vec4 specular = texture( source_specular, uv_interp );
+ vec4 specular = texture(source_specular, uv_interp);
#ifdef USE_SSR
-
- vec4 ssr = textureLod(source_ssr,uv_interp,0.0);
- specular.rgb = mix(specular.rgb,ssr.rgb*specular.a,ssr.a);
+ vec4 ssr = textureLod(source_ssr, uv_interp, 0.0);
+ specular.rgb = mix(specular.rgb, ssr.rgb * specular.a, ssr.a);
#endif
- frag_color = vec4(specular.rgb,1.0);
+ frag_color = vec4(specular.rgb, 1.0);
}
-
diff --git a/drivers/gles2/shaders/scene.glsl b/drivers/gles2/shaders/scene.glsl
index 3e64c92e96..8bcb3b5f1d 100644
--- a/drivers/gles2/shaders/scene.glsl
+++ b/drivers/gles2/shaders/scene.glsl
@@ -10,8 +10,6 @@ precision mediump int;
#include "stdlib.glsl"
-
-
//
// attributes
//
@@ -66,8 +64,6 @@ attribute highp vec4 instance_custom_data; // attrib:8
#endif
-
-
//
// uniforms
//
@@ -88,7 +84,6 @@ uniform float light_bias;
uniform float light_normal_bias;
#endif
-
//
// varyings
//
@@ -113,7 +108,6 @@ varying vec2 uv_interp;
varying vec2 uv2_interp;
#endif
-
VERTEX_SHADER_GLOBALS
void main() {
@@ -124,10 +118,11 @@ void main() {
#ifdef USE_INSTANCING
{
- highp mat4 m = mat4(instance_xform_row_0,
- instance_xform_row_1,
- instance_xform_row_2,
- vec4(0.0, 0.0, 0.0, 1.0));
+ highp mat4 m = mat4(
+ instance_xform_row_0,
+ instance_xform_row_1,
+ instance_xform_row_2,
+ vec4(0.0, 0.0, 0.0, 1.0));
world_matrix = world_matrix * transpose(m);
}
#endif
@@ -161,14 +156,14 @@ void main() {
normal = normalize((world_matrix * vec4(normal, 0.0)).xyz);
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP)
- tangent = normalize((world_matrix * vec4(tangent, 0.0)),xyz);
+ tangent = normalize((world_matrix * vec4(tangent, 0.0)), xyz);
binormal = normalize((world_matrix * vec4(binormal, 0.0)).xyz);
#endif
#endif
#ifdef USE_SKELETON
- highp mat4 bone_transform = mat4(1.0);
+ highp mat4 bone_transform = mat4(0.0);
#ifdef USE_SKELETON_SOFTWARE
// passing the transform as attributes
@@ -185,10 +180,11 @@ void main() {
for (int i = 0; i < 4; i++) {
ivec2 tex_ofs = ivec2(int(bone_ids[i]) * 3, 0);
- highp mat4 b = mat4(texel2DFetch(bone_transforms, skeleton_texture_size, tex_ofs + ivec2(0, 0)),
- texel2DFetch(bone_transforms, skeleton_texture_size, tex_ofs + ivec2(1, 0)),
- texel2DFetch(bone_transforms, skeleton_texture_size, tex_ofs + ivec2(2, 0)),
- vec4(0.0, 0.0, 0.0, 1.0));
+ highp mat4 b = mat4(
+ texel2DFetch(bone_transforms, skeleton_texture_size, tex_ofs + ivec2(0, 0)),
+ texel2DFetch(bone_transforms, skeleton_texture_size, tex_ofs + ivec2(1, 0)),
+ texel2DFetch(bone_transforms, skeleton_texture_size, tex_ofs + ivec2(2, 0)),
+ vec4(0.0, 0.0, 0.0, 1.0));
bone_transform += transpose(b) * bone_weights[i];
}
@@ -199,7 +195,6 @@ void main() {
world_matrix = bone_transform * world_matrix;
#endif
-
#ifdef USE_INSTANCING
vec4 instance_custom = instance_custom_data;
#else
@@ -207,7 +202,6 @@ void main() {
#endif
-
mat4 modelview = camera_matrix * world_matrix;
#define world_transform world_matrix
@@ -258,11 +252,15 @@ VERTEX_SHADER_CODE
#endif
gl_Position = projection_matrix * vec4(vertex_interp, 1.0);
-
}
[fragment]
-#extension GL_ARB_shader_texture_lod : require
+#extension GL_ARB_shader_texture_lod : enable
+
+#ifndef GL_ARB_shader_texture_lod
+#define texture2DLod(img, coord, lod) texture2D(img, coord)
+#define textureCubeLod(img, coord, lod) textureCube(img, coord)
+#endif
#ifdef USE_GLES_OVER_GL
#define mediump
@@ -289,7 +287,6 @@ uniform mat4 world_transform;
uniform highp float time;
-
#ifdef SCREEN_UV_USED
uniform vec2 screen_pixel_size;
#endif
@@ -343,7 +340,6 @@ uniform float light_spot_attenuation;
uniform float light_spot_range;
uniform float light_spot_angle;
-
// shadows
uniform highp sampler2D light_shadow_atlas; //texunit:-4
uniform float light_has_shadow;
@@ -362,7 +358,6 @@ uniform mat4 light_shadow_matrix3;
uniform mat4 light_shadow_matrix4;
#endif
-
//
// varyings
//
@@ -397,27 +392,27 @@ vec3 metallic_to_specular_color(float metallic, float specular, vec3 albedo) {
FRAGMENT_SHADER_GLOBALS
-
#ifdef LIGHT_PASS
-void light_compute(vec3 N,
- vec3 L,
- vec3 V,
- vec3 B,
- vec3 T,
- vec3 light_color,
- vec3 attenuation,
- vec3 diffuse_color,
- vec3 transmission,
- float specular_blob_intensity,
- float roughness,
- float metallic,
- float rim,
- float rim_tint,
- float clearcoat,
- float clearcoat_gloss,
- float anisotropy,
- inout vec3 diffuse_light,
- inout vec3 specular_light) {
+void light_compute(
+ vec3 N,
+ vec3 L,
+ vec3 V,
+ vec3 B,
+ vec3 T,
+ vec3 light_color,
+ vec3 attenuation,
+ vec3 diffuse_color,
+ vec3 transmission,
+ float specular_blob_intensity,
+ float roughness,
+ float metallic,
+ float rim,
+ float rim_tint,
+ float clearcoat,
+ float clearcoat_gloss,
+ float anisotropy,
+ inout vec3 diffuse_light,
+ inout vec3 specular_light) {
float NdotL = dot(N, L);
float cNdotL = max(NdotL, 0.0);
@@ -430,7 +425,7 @@ void light_compute(vec3 N,
// TODO hardcode Oren Nayar for now
float diffuse_brdf_NL;
- diffuse_brdf_NL = max(0.0,(NdotL + roughness) / ((1.0 + roughness) * (1.0 + roughness)));
+ diffuse_brdf_NL = max(0.0, (NdotL + roughness) / ((1.0 + roughness) * (1.0 + roughness)));
// diffuse_brdf_NL = cNdotL * (1.0 / M_PI);
diffuse_light += light_color * diffuse_color * diffuse_brdf_NL * attenuation;
@@ -439,25 +434,21 @@ void light_compute(vec3 N,
{
// calculate specular reflection
- vec3 R = normalize(-reflect(L,N));
+ vec3 R = normalize(-reflect(L, N));
float cRdotV = max(dot(R, V), 0.0);
float blob_intensity = pow(cRdotV, (1.0 - roughness) * 256.0);
specular_light += light_color * attenuation * blob_intensity * specular_blob_intensity;
-
}
}
-
-
-
// shadows
-float sample_shadow(highp sampler2D shadow,
- vec2 shadow_pixel_size,
- vec2 pos,
- float depth,
- vec4 clamp_rect)
-{
+float sample_shadow(
+ highp sampler2D shadow,
+ vec2 shadow_pixel_size,
+ vec2 pos,
+ float depth,
+ vec4 clamp_rect) {
// vec4 depth_value = texture2D(shadow, pos);
// return depth_value.z;
@@ -465,11 +456,9 @@ float sample_shadow(highp sampler2D shadow,
// return (depth_value.x + depth_value.y + depth_value.z + depth_value.w) / 4.0;
}
-
#endif
-void main()
-{
+void main() {
highp vec3 vertex = vertex_interp;
vec3 albedo = vec3(1.0);
@@ -493,7 +482,6 @@ void main()
float ao_light_affect = 0.0;
#endif
-
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP)
vec3 binormal = normalize(binormal_interp) * side;
vec3 tangent = normalize(tangent_interp) * side;
@@ -508,7 +496,6 @@ void main()
#endif
float normaldepth = 1.0;
-
#ifdef ALPHA_SCISSOR_USED
float alpha_scissor = 0.5;
#endif
@@ -521,7 +508,6 @@ void main()
FRAGMENT_SHADER_CODE
-
}
#if defined(ENABLE_NORMALMAP)
@@ -567,7 +553,7 @@ FRAGMENT_SHADER_CODE
vec3 attenuation = vec3(omni_attenuation);
if (light_has_shadow > 0.5) {
- highp vec3 splane = (light_shadow_matrix * vec4(vertex, 1.0)).xyz;
+ highp vec3 splane = (light_shadow_matrix * vec4(vertex, 1.0)).xyz;
float shadow_len = length(splane);
splane = normalize(splane);
@@ -596,25 +582,26 @@ FRAGMENT_SHADER_CODE
}
}
- light_compute(normal,
- normalize(light_vec),
- eye_position,
- binormal,
- tangent,
- light_color.xyz * light_energy,
- attenuation,
- albedo,
- transmission,
- specular * light_specular,
- roughness,
- metallic,
- rim,
- rim_tint,
- clearcoat,
- clearcoat_gloss,
- anisotropy,
- diffuse_light,
- specular_light);
+ light_compute(
+ normal,
+ normalize(light_vec),
+ eye_position,
+ binormal,
+ tangent,
+ light_color.xyz * light_energy,
+ attenuation,
+ albedo,
+ transmission,
+ specular * light_specular,
+ roughness,
+ metallic,
+ rim,
+ rim_tint,
+ clearcoat,
+ clearcoat_gloss,
+ anisotropy,
+ diffuse_light,
+ specular_light);
} else if (light_type == LIGHT_TYPE_DIRECTIONAL) {
@@ -633,133 +620,130 @@ FRAGMENT_SHADER_CODE
if (depth_z < light_split_offsets.x) {
#endif
- vec3 pssm_coord;
- float pssm_fade = 0.0;
+ vec3 pssm_coord;
+ float pssm_fade = 0.0;
#ifdef LIGHT_USE_PSSM_BLEND
- float pssm_blend;
- vec3 pssm_coord2;
- bool use_blend = true;
+ float pssm_blend;
+ vec3 pssm_coord2;
+ bool use_blend = true;
#endif
#ifdef LIGHT_USE_PSSM4
- if (depth_z < light_split_offsets.y) {
- if (depth_z < light_split_offsets.x) {
- highp vec4 splane = (light_shadow_matrix1 * vec4(vertex, 1.0));
- pssm_coord = splane.xyz / splane.w;
+ if (depth_z < light_split_offsets.y) {
+ if (depth_z < light_split_offsets.x) {
+ highp vec4 splane = (light_shadow_matrix1 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#ifdef LIGHT_USE_PSSM_BLEND
- splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
- pssm_coord2 = splane.xyz / splane.w;
+ splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
- pssm_blend = smoothstep(0.0, light_split_offsets.x, depth_z);
+ pssm_blend = smoothstep(0.0, light_split_offsets.x, depth_z);
#endif
- } else {
- highp vec4 splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
- pssm_coord = splane.xyz / splane.w;
+ } else {
+ highp vec4 splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#ifdef LIGHT_USE_PSSM_BLEND
- splane = (light_shadow_matrix3 * vec4(vertex, 1.0));
- pssm_coord2 = splane.xyz / splane.w;
+ splane = (light_shadow_matrix3 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
- pssm_blend = smoothstep(light_split_offsets.x, light_split_offsets.y, depth_z);
+ pssm_blend = smoothstep(light_split_offsets.x, light_split_offsets.y, depth_z);
#endif
- }
- } else {
- if (depth_z < light_split_offsets.z) {
+ }
+ } else {
+ if (depth_z < light_split_offsets.z) {
- highp vec4 splane = (light_shadow_matrix3 * vec4(vertex, 1.0));
- pssm_coord = splane.xyz / splane.w;
+ highp vec4 splane = (light_shadow_matrix3 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#if defined(LIGHT_USE_PSSM_BLEND)
- splane = (light_shadow_matrix4 * vec4(vertex, 1.0));
- pssm_coord2 = splane.xyz / splane.w;
- pssm_blend = smoothstep(light_split_offsets.y, light_split_offsets.z, depth_z);
+ splane = (light_shadow_matrix4 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
+ pssm_blend = smoothstep(light_split_offsets.y, light_split_offsets.z, depth_z);
#endif
- } else {
+ } else {
- highp vec4 splane = (light_shadow_matrix4 * vec4(vertex, 1.0));
- pssm_coord = splane.xyz / splane.w;
- pssm_fade = smoothstep(light_split_offsets.z, light_split_offsets.w, depth_z);
+ highp vec4 splane = (light_shadow_matrix4 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
+ pssm_fade = smoothstep(light_split_offsets.z, light_split_offsets.w, depth_z);
#if defined(LIGHT_USE_PSSM_BLEND)
- use_blend = false;
+ use_blend = false;
#endif
+ }
}
- }
#endif // LIGHT_USE_PSSM4
#ifdef LIGHT_USE_PSSM2
- if (depth_z < light_split_offsets.x) {
+ if (depth_z < light_split_offsets.x) {
- highp vec4 splane = (light_shadow_matrix1 * vec4(vertex, 1.0));
- pssm_coord = splane.xyz / splane.w;
+ highp vec4 splane = (light_shadow_matrix1 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#ifdef LIGHT_USE_PSSM_BLEND
- splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
- pssm_coord2 = splane.xyz / splane.w;
- pssm_blend = smoothstep(0.0, light_split_offsets.x, depth_z);
+ splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
+ pssm_blend = smoothstep(0.0, light_split_offsets.x, depth_z);
#endif
- } else {
- highp vec4 splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
- pssm_coord = splane.xyz / splane.w;
- pssm_fade = smoothstep(light_split_offsets.x, light_split_offsets.y, depth_z);
+ } else {
+ highp vec4 splane = (light_shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
+ pssm_fade = smoothstep(light_split_offsets.x, light_split_offsets.y, depth_z);
#ifdef LIGHT_USE_PSSM_BLEND
- use_blend = false;
+ use_blend = false;
#endif
- }
+ }
#endif // LIGHT_USE_PSSM2
#if !defined(LIGHT_USE_PSSM4) && !defined(LIGHT_USE_PSSM2)
- {
- highp vec4 splane = (light_shadow_matrix1 * vec4(vertex, 1.0));
- pssm_coord = splane.xyz / splane.w;
- }
+ {
+ highp vec4 splane = (light_shadow_matrix1 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
+ }
#endif
- float shadow = sample_shadow(light_shadow_atlas, vec2(0.0), pssm_coord.xy, pssm_coord.z, light_clamp);
+ float shadow = sample_shadow(light_shadow_atlas, vec2(0.0), pssm_coord.xy, pssm_coord.z, light_clamp);
#ifdef LIGHT_USE_PSSM_BLEND
- if (use_blend) {
- shadow = mix(shadow, sample_shadow(light_shadow_atlas, vec2(0.0), pssm_coord2.xy, pssm_coord2.z, light_clamp), pssm_blend);
- }
+ if (use_blend) {
+ shadow = mix(shadow, sample_shadow(light_shadow_atlas, vec2(0.0), pssm_coord2.xy, pssm_coord2.z, light_clamp), pssm_blend);
+ }
#endif
- attenuation *= shadow;
-
-
- }
-
+ attenuation *= shadow;
+ }
}
light_compute(normal,
- normalize(light_vec),
- eye_position,
- binormal,
- tangent,
- light_color.xyz * light_energy,
- attenuation,
- albedo,
- transmission,
- specular * light_specular,
- roughness,
- metallic,
- rim,
- rim_tint,
- clearcoat,
- clearcoat_gloss,
- anisotropy,
- diffuse_light,
- specular_light);
+ normalize(light_vec),
+ eye_position,
+ binormal,
+ tangent,
+ light_color.xyz * light_energy,
+ attenuation,
+ albedo,
+ transmission,
+ specular * light_specular,
+ roughness,
+ metallic,
+ rim,
+ rim_tint,
+ clearcoat,
+ clearcoat_gloss,
+ anisotropy,
+ diffuse_light,
+ specular_light);
} else if (light_type == LIGHT_TYPE_SPOT) {
vec3 light_att = vec3(1.0);
if (light_has_shadow > 0.5) {
- highp vec4 splane = (light_shadow_matrix * vec4(vertex, 1.0));
+ highp vec4 splane = (light_shadow_matrix * vec4(vertex, 1.0));
splane.xyz /= splane.w;
float shadow = sample_shadow(light_shadow_atlas, vec2(0.0), splane.xy, splane.z, light_clamp);
@@ -768,8 +752,6 @@ FRAGMENT_SHADER_CODE
} else {
light_att = vec3(0.0);
}
-
-
}
vec3 light_rel_vec = light_position - vertex;
@@ -788,25 +770,26 @@ FRAGMENT_SHADER_CODE
light_att *= vec3(spot_attenuation);
- light_compute(normal,
- normalize(light_rel_vec),
- eye_position,
- binormal,
- tangent,
- light_color.xyz * light_energy,
- light_att,
- albedo,
- transmission,
- specular * light_specular,
- roughness,
- metallic,
- rim,
- rim_tint,
- clearcoat,
- clearcoat_gloss,
- anisotropy,
- diffuse_light,
- specular_light);
+ light_compute(
+ normal,
+ normalize(light_rel_vec),
+ eye_position,
+ binormal,
+ tangent,
+ light_color.xyz * light_energy,
+ light_att,
+ albedo,
+ transmission,
+ specular * light_specular,
+ roughness,
+ metallic,
+ rim,
+ rim_tint,
+ clearcoat,
+ clearcoat_gloss,
+ anisotropy,
+ diffuse_light,
+ specular_light);
}
gl_FragColor = vec4(ambient_light + diffuse_light + specular_light, alpha);
@@ -818,7 +801,6 @@ FRAGMENT_SHADER_CODE
#ifdef USE_RADIANCE_MAP
-
vec3 ref_vec = reflect(-eye_position, N);
ref_vec = normalize((radiance_inverse_xform * vec4(ref_vec, 0.0)).xyz);
@@ -831,7 +813,6 @@ FRAGMENT_SHADER_CODE
vec3 env_ambient = textureCubeLod(radiance_map, ambient_dir, RADIANCE_MAX_LOD).xyz * bg_energy;
ambient_light = mix(ambient_color.rgb, env_ambient, ambient_sky_contribution);
-
}
ambient_light *= ambient_energy;
@@ -855,28 +836,23 @@ FRAGMENT_SHADER_CODE
// TODO shadeless
{
const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
- const vec4 c1 = vec4( 1.0, 0.0425, 1.04, -0.04);
+ const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);
vec4 r = roughness * c0 + c1;
- float ndotv = clamp(dot(normal,eye_position),0.0,1.0);
- float a004 = min( r.x * r.x, exp2( -9.28 * ndotv ) ) * r.x + r.y;
- vec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;
+ float ndotv = clamp(dot(normal, eye_position), 0.0, 1.0);
+ float a004 = min(r.x * r.x, exp2(-9.28 * ndotv)) * r.x + r.y;
+ vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;
vec3 specular_color = metallic_to_specular_color(metallic, specular, albedo);
specular_light *= AB.x * specular_color + AB.y;
}
-
gl_FragColor = vec4(ambient_light + diffuse_light + specular_light, alpha);
// gl_FragColor = vec4(normal, 1.0);
-
#else
gl_FragColor = vec4(albedo, alpha);
#endif
#endif // RENDER_DEPTH
-
#endif // lighting
-
-
}
diff --git a/drivers/gles2/shaders/screen_space_reflection.glsl b/drivers/gles2/shaders/screen_space_reflection.glsl
index b2e6f7a736..77af874ee4 100644
--- a/drivers/gles2/shaders/screen_space_reflection.glsl
+++ b/drivers/gles2/shaders/screen_space_reflection.glsl
@@ -1,8 +1,7 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
out vec2 pos_interp;
@@ -11,12 +10,11 @@ void main() {
uv_interp = uv_in;
gl_Position = vertex_attrib;
- pos_interp.xy=gl_Position.xy;
+ pos_interp.xy = gl_Position.xy;
}
[fragment]
-
in vec2 uv_interp;
in vec2 pos_interp;
@@ -40,81 +38,70 @@ uniform float depth_tolerance;
uniform float distance_fade;
uniform float curve_fade_in;
-
layout(location = 0) out vec4 frag_color;
-
-vec2 view_to_screen(vec3 view_pos,out float w) {
- vec4 projected = projection * vec4(view_pos, 1.0);
- projected.xyz /= projected.w;
- projected.xy = projected.xy * 0.5 + 0.5;
- w=projected.w;
- return projected.xy;
+vec2 view_to_screen(vec3 view_pos, out float w) {
+ vec4 projected = projection * vec4(view_pos, 1.0);
+ projected.xyz /= projected.w;
+ projected.xy = projected.xy * 0.5 + 0.5;
+ w = projected.w;
+ return projected.xy;
}
-
-
#define M_PI 3.14159265359
void main() {
-
- ////
-
- vec4 diffuse = texture( source_diffuse, uv_interp );
- vec4 normal_roughness = texture( source_normal_roughness, uv_interp);
+ vec4 diffuse = texture(source_diffuse, uv_interp);
+ vec4 normal_roughness = texture(source_normal_roughness, uv_interp);
vec3 normal;
- normal = normal_roughness.xyz*2.0-1.0;
+ normal = normal_roughness.xyz * 2.0 - 1.0;
float roughness = normal_roughness.w;
- float depth_tex = texture(source_depth,uv_interp).r;
+ float depth_tex = texture(source_depth, uv_interp).r;
- vec4 world_pos = inverse_projection * vec4( uv_interp*2.0-1.0, depth_tex*2.0-1.0, 1.0 );
- vec3 vertex = world_pos.xyz/world_pos.w;
+ vec4 world_pos = inverse_projection * vec4(uv_interp * 2.0 - 1.0, depth_tex * 2.0 - 1.0, 1.0);
+ vec3 vertex = world_pos.xyz / world_pos.w;
vec3 view_dir = normalize(vertex);
vec3 ray_dir = normalize(reflect(view_dir, normal));
- if (dot(ray_dir,normal)<0.001) {
- frag_color=vec4(0.0);
+ if (dot(ray_dir, normal) < 0.001) {
+ frag_color = vec4(0.0);
return;
}
//ray_dir = normalize(view_dir - normal * dot(normal,view_dir) * 2.0);
//ray_dir = normalize(vec3(1,1,-1));
-
////////////////
-
//make ray length and clip it against the near plane (don't want to trace beyond visible)
float ray_len = (vertex.z + ray_dir.z * camera_z_far) > -camera_z_near ? (-camera_z_near - vertex.z) / ray_dir.z : camera_z_far;
- vec3 ray_end = vertex + ray_dir*ray_len;
+ vec3 ray_end = vertex + ray_dir * ray_len;
float w_begin;
- vec2 vp_line_begin = view_to_screen(vertex,w_begin);
+ vec2 vp_line_begin = view_to_screen(vertex, w_begin);
float w_end;
- vec2 vp_line_end = view_to_screen( ray_end, w_end);
- vec2 vp_line_dir = vp_line_end-vp_line_begin;
+ vec2 vp_line_end = view_to_screen(ray_end, w_end);
+ vec2 vp_line_dir = vp_line_end - vp_line_begin;
//we need to interpolate w along the ray, to generate perspective correct reflections
- w_begin = 1.0/w_begin;
- w_end = 1.0/w_end;
+ w_begin = 1.0 / w_begin;
+ w_end = 1.0 / w_end;
+ float z_begin = vertex.z * w_begin;
+ float z_end = ray_end.z * w_end;
- float z_begin = vertex.z*w_begin;
- float z_end = ray_end.z*w_end;
-
- vec2 line_begin = vp_line_begin/pixel_size;
- vec2 line_dir = vp_line_dir/pixel_size;
+ vec2 line_begin = vp_line_begin / pixel_size;
+ vec2 line_dir = vp_line_dir / pixel_size;
float z_dir = z_end - z_begin;
float w_dir = w_end - w_begin;
-
// clip the line to the viewport edges
float scale_max_x = min(1.0, 0.99 * (1.0 - vp_line_begin.x) / max(1e-5, vp_line_dir.x));
@@ -124,121 +111,109 @@ void main() {
float line_clip = min(scale_max_x, scale_max_y) * min(scale_min_x, scale_min_y);
line_dir *= line_clip;
z_dir *= line_clip;
- w_dir *=line_clip;
+ w_dir *= line_clip;
//clip z and w advance to line advance
vec2 line_advance = normalize(line_dir); //down to pixel
- float step_size = length(line_advance)/length(line_dir);
- float z_advance = z_dir*step_size; // adapt z advance to line advance
- float w_advance = w_dir*step_size; // adapt w advance to line advance
+ float step_size = length(line_advance) / length(line_dir);
+ float z_advance = z_dir * step_size; // adapt z advance to line advance
+ float w_advance = w_dir * step_size; // adapt w advance to line advance
//make line advance faster if direction is closer to pixel edges (this avoids sampling the same pixel twice)
- float advance_angle_adj = 1.0/max(abs(line_advance.x),abs(line_advance.y));
- line_advance*=advance_angle_adj; // adapt z advance to line advance
- z_advance*=advance_angle_adj;
- w_advance*=advance_angle_adj;
+ float advance_angle_adj = 1.0 / max(abs(line_advance.x), abs(line_advance.y));
+ line_advance *= advance_angle_adj; // adapt z advance to line advance
+ z_advance *= advance_angle_adj;
+ w_advance *= advance_angle_adj;
vec2 pos = line_begin;
float z = z_begin;
float w = w_begin;
- float z_from=z/w;
- float z_to=z_from;
+ float z_from = z / w;
+ float z_to = z_from;
float depth;
- vec2 prev_pos=pos;
+ vec2 prev_pos = pos;
- bool found=false;
+ bool found = false;
- float steps_taken=0.0;
+ float steps_taken = 0.0;
- for(int i=0;i<num_steps;i++) {
+ for (int i = 0; i < num_steps; i++) {
- pos+=line_advance;
- z+=z_advance;
- w+=w_advance;
+ pos += line_advance;
+ z += z_advance;
+ w += w_advance;
//convert to linear depth
- depth = texture(source_depth, pos*pixel_size).r * 2.0 - 1.0;
+ depth = texture(source_depth, pos * pixel_size).r * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth = ((depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth = ((depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth * (camera_z_far - camera_z_near));
#endif
- depth=-depth;
+ depth = -depth;
z_from = z_to;
- z_to = z/w;
+ z_to = z / w;
- if (depth>z_to) {
+ if (depth > z_to) {
//if depth was surpassed
- if (depth<=max(z_to,z_from)+depth_tolerance) {
+ if (depth <= max(z_to, z_from) + depth_tolerance) {
//check the depth tolerance
- found=true;
+ found = true;
}
break;
}
- steps_taken+=1.0;
- prev_pos=pos;
+ steps_taken += 1.0;
+ prev_pos = pos;
}
-
-
-
if (found) {
- float margin_blend=1.0;
-
+ float margin_blend = 1.0;
- vec2 margin = vec2((viewport_size.x+viewport_size.y)*0.5*0.05); //make a uniform margin
- if (any(bvec4(lessThan(pos,-margin),greaterThan(pos,viewport_size+margin)))) {
+ vec2 margin = vec2((viewport_size.x + viewport_size.y) * 0.5 * 0.05); //make a uniform margin
+ if (any(bvec4(lessThan(pos, -margin), greaterThan(pos, viewport_size + margin)))) {
//clip outside screen + margin
- frag_color=vec4(0.0);
+ frag_color = vec4(0.0);
return;
}
{
//blend fading out towards external margin
- vec2 margin_grad = mix(pos-viewport_size,-pos,lessThan(pos,vec2(0.0)));
- margin_blend = 1.0-smoothstep(0.0,margin.x,max(margin_grad.x,margin_grad.y));
+ vec2 margin_grad = mix(pos - viewport_size, -pos, lessThan(pos, vec2(0.0)));
+ margin_blend = 1.0 - smoothstep(0.0, margin.x, max(margin_grad.x, margin_grad.y));
//margin_blend=1.0;
-
}
vec2 final_pos;
float grad;
- grad=steps_taken/float(num_steps);
- float initial_fade = curve_fade_in==0.0 ? 1.0 : pow(clamp(grad,0.0,1.0),curve_fade_in);
- float fade = pow(clamp(1.0-grad,0.0,1.0),distance_fade)*initial_fade;
- final_pos=pos;
-
-
-
-
-
-
+ grad = steps_taken / float(num_steps);
+ float initial_fade = curve_fade_in == 0.0 ? 1.0 : pow(clamp(grad, 0.0, 1.0), curve_fade_in);
+ float fade = pow(clamp(1.0 - grad, 0.0, 1.0), distance_fade) * initial_fade;
+ final_pos = pos;
#ifdef REFLECT_ROUGHNESS
-
vec4 final_color;
//if roughness is enabled, do screen space cone tracing
if (roughness > 0.001) {
///////////////////////////////////////////////////////////////////////////////////////
//use a blurred version (in consecutive mipmaps) of the screen to simulate roughness
- float gloss = 1.0-roughness;
+ float gloss = 1.0 - roughness;
float cone_angle = roughness * M_PI * 0.5;
vec2 cone_dir = final_pos - line_begin;
float cone_len = length(cone_dir);
cone_dir = normalize(cone_dir); //will be used normalized from now on
float max_mipmap = filter_mipmap_levels - 1.0;
- float gloss_mult=gloss;
+ float gloss_mult = gloss;
- float rem_alpha=1.0;
+ float rem_alpha = 1.0;
final_color = vec4(0.0);
- for(int i=0;i<7;i++) {
+ for (int i = 0; i < 7; i++) {
float op_len = 2.0 * tan(cone_angle) * cone_len; //opposite side of iso triangle
float radius;
@@ -258,30 +233,30 @@ void main() {
}
//find the place where screen must be sampled
- vec2 sample_pos = ( line_begin + cone_dir * (cone_len - radius) ) * pixel_size;
+ vec2 sample_pos = (line_begin + cone_dir * (cone_len - radius)) * pixel_size;
//radius is in pixels, so it's natural that log2(radius) maps to the right mipmap for the amount of pixels
- float mipmap = clamp( log2( radius ), 0.0, max_mipmap );
+ float mipmap = clamp(log2(radius), 0.0, max_mipmap);
//mipmap = max(mipmap-1.0,0.0);
//do sampling
vec4 sample_color;
{
- sample_color = textureLod(source_diffuse,sample_pos,mipmap);
+ sample_color = textureLod(source_diffuse, sample_pos, mipmap);
}
//multiply by gloss
- sample_color.rgb*=gloss_mult;
- sample_color.a=gloss_mult;
+ sample_color.rgb *= gloss_mult;
+ sample_color.a = gloss_mult;
rem_alpha -= sample_color.a;
- if(rem_alpha < 0.0) {
+ if (rem_alpha < 0.0) {
sample_color.rgb *= (1.0 - abs(rem_alpha));
}
- final_color+=sample_color;
+ final_color += sample_color;
- if (final_color.a>=0.95) {
+ if (final_color.a >= 0.95) {
// This code of accumulating gloss and aborting on near one
// makes sense when you think of cone tracing.
// Think of it as if roughness was 0, then we could abort on the first
@@ -290,29 +265,21 @@ void main() {
break;
}
- cone_len-=radius*2.0; //go to next (smaller) circle.
-
- gloss_mult*=gloss;
-
+ cone_len -= radius * 2.0; //go to next (smaller) circle.
+ gloss_mult *= gloss;
}
} else {
- final_color = textureLod(source_diffuse,final_pos*pixel_size,0.0);
+ final_color = textureLod(source_diffuse, final_pos * pixel_size, 0.0);
}
- frag_color = vec4(final_color.rgb,fade*margin_blend);
+ frag_color = vec4(final_color.rgb, fade * margin_blend);
#else
- frag_color = vec4(textureLod(source_diffuse,final_pos*pixel_size,0.0).rgb,fade*margin_blend);
+ frag_color = vec4(textureLod(source_diffuse, final_pos * pixel_size, 0.0).rgb, fade * margin_blend);
#endif
-
-
} else {
- frag_color = vec4(0.0,0.0,0.0,0.0);
+ frag_color = vec4(0.0, 0.0, 0.0, 0.0);
}
-
-
-
}
-
diff --git a/drivers/gles2/shaders/ssao.glsl b/drivers/gles2/shaders/ssao.glsl
index 219f0957e0..8dbe8c6ba9 100644
--- a/drivers/gles2/shaders/ssao.glsl
+++ b/drivers/gles2/shaders/ssao.glsl
@@ -1,12 +1,11 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
gl_Position = vertex_attrib;
- gl_Position.z=1.0;
+ gl_Position.z = 1.0;
}
[fragment]
@@ -43,19 +42,20 @@ void main() {
// This is the number of turns around the circle that the spiral pattern makes. This should be prime to prevent
// taps from lining up. This particular choice was tuned for NUM_SAMPLES == 9
-const int ROTATIONS[] = int[]( 1, 1, 2, 3, 2, 5, 2, 3, 2,
-3, 3, 5, 5, 3, 4, 7, 5, 5, 7,
-9, 8, 5, 5, 7, 7, 7, 8, 5, 8,
-11, 12, 7, 10, 13, 8, 11, 8, 7, 14,
-11, 11, 13, 12, 13, 19, 17, 13, 11, 18,
-19, 11, 11, 14, 17, 21, 15, 16, 17, 18,
-13, 17, 11, 17, 19, 18, 25, 18, 19, 19,
-29, 21, 19, 27, 31, 29, 21, 18, 17, 29,
-31, 31, 23, 18, 25, 26, 25, 23, 19, 34,
-19, 27, 21, 25, 39, 29, 17, 21, 27 );
+const int ROTATIONS[] = int[](
+ 1, 1, 2, 3, 2, 5, 2, 3, 2,
+ 3, 3, 5, 5, 3, 4, 7, 5, 5, 7,
+ 9, 8, 5, 5, 7, 7, 7, 8, 5, 8,
+ 11, 12, 7, 10, 13, 8, 11, 8, 7, 14,
+ 11, 11, 13, 12, 13, 19, 17, 13, 11, 18,
+ 19, 11, 11, 14, 17, 21, 15, 16, 17, 18,
+ 13, 17, 11, 17, 19, 18, 25, 18, 19, 19,
+ 29, 21, 19, 27, 31, 29, 21, 18, 17, 29,
+ 31, 31, 23, 18, 25, 26, 25, 23, 19, 34,
+ 19, 27, 21, 25, 39, 29, 17, 21, 27);
//#define NUM_SPIRAL_TURNS (7)
-const int NUM_SPIRAL_TURNS = ROTATIONS[NUM_SAMPLES-1];
+const int NUM_SPIRAL_TURNS = ROTATIONS[NUM_SAMPLES - 1];
uniform sampler2D source_depth; //texunit:0
uniform highp usampler2D source_depth_mipmaps; //texunit:1
@@ -90,44 +90,41 @@ vec3 reconstructCSPosition(vec2 S, float z) {
}
vec3 getPosition(ivec2 ssP) {
- vec3 P;
- P.z = texelFetch(source_depth, ssP, 0).r;
+ vec3 P;
+ P.z = texelFetch(source_depth, ssP, 0).r;
- P.z = P.z * 2.0 - 1.0;
+ P.z = P.z * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- P.z = ((P.z + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ P.z = ((P.z + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
- P.z = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - P.z * (camera_z_far - camera_z_near));
+ P.z = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - P.z * (camera_z_far - camera_z_near));
#endif
- P.z = -P.z;
+ P.z = -P.z;
- // Offset to pixel center
- P = reconstructCSPosition(vec2(ssP) + vec2(0.5), P.z);
- return P;
+ // Offset to pixel center
+ P = reconstructCSPosition(vec2(ssP) + vec2(0.5), P.z);
+ return P;
}
/** Reconstructs screen-space unit normal from screen-space position */
vec3 reconstructCSFaceNormal(vec3 C) {
- return normalize(cross(dFdy(C), dFdx(C)));
+ return normalize(cross(dFdy(C), dFdx(C)));
}
-
-
/** Returns a unit vector and a screen-space radius for the tap on a unit disk (the caller should scale by the actual disk radius) */
-vec2 tapLocation(int sampleNumber, float spinAngle, out float ssR){
- // Radius relative to ssR
- float alpha = (float(sampleNumber) + 0.5) * (1.0 / float(NUM_SAMPLES));
- float angle = alpha * (float(NUM_SPIRAL_TURNS) * 6.28) + spinAngle;
+vec2 tapLocation(int sampleNumber, float spinAngle, out float ssR) {
+ // Radius relative to ssR
+ float alpha = (float(sampleNumber) + 0.5) * (1.0 / float(NUM_SAMPLES));
+ float angle = alpha * (float(NUM_SPIRAL_TURNS) * 6.28) + spinAngle;
- ssR = alpha;
- return vec2(cos(angle), sin(angle));
+ ssR = alpha;
+ return vec2(cos(angle), sin(angle));
}
-
/** Read the camera-space position of the point at screen-space pixel ssP + unitOffset * ssR. Assumes length(unitOffset) == 1 */
vec3 getOffsetPosition(ivec2 ssC, vec2 unitOffset, float ssR) {
- // Derivation:
- // mipLevel = floor(log(ssR / MAX_OFFSET));
+ // Derivation:
+ // mipLevel = floor(log(ssR / MAX_OFFSET));
int mipLevel = clamp(int(floor(log2(ssR))) - LOG_MAX_OFFSET, 0, MAX_MIP_LEVEL);
ivec2 ssP = ivec2(ssR * unitOffset) + ssC;
@@ -138,13 +135,12 @@ vec3 getOffsetPosition(ivec2 ssC, vec2 unitOffset, float ssR) {
// Manually clamp to the texture size because texelFetch bypasses the texture unit
ivec2 mipP = clamp(ssP >> mipLevel, ivec2(0), (screen_size >> mipLevel) - ivec2(1));
-
if (mipLevel < 1) {
//read from depth buffer
P.z = texelFetch(source_depth, mipP, 0).r;
P.z = P.z * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- P.z = ((P.z + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ P.z = ((P.z + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
P.z = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - P.z * (camera_z_far - camera_z_near));
@@ -153,78 +149,74 @@ vec3 getOffsetPosition(ivec2 ssC, vec2 unitOffset, float ssR) {
} else {
//read from mipmaps
- uint d = texelFetch(source_depth_mipmaps, mipP, mipLevel-1).r;
- P.z = -(float(d)/65535.0)*camera_z_far;
+ uint d = texelFetch(source_depth_mipmaps, mipP, mipLevel - 1).r;
+ P.z = -(float(d) / 65535.0) * camera_z_far;
}
-
// Offset to pixel center
P = reconstructCSPosition(vec2(ssP) + vec2(0.5), P.z);
return P;
}
-
-
/** Compute the occlusion due to sample with index \a i about the pixel at \a ssC that corresponds
- to camera-space point \a C with unit normal \a n_C, using maximum screen-space sampling radius \a ssDiskRadius
+ to camera-space point \a C with unit normal \a n_C, using maximum screen-space sampling radius \a ssDiskRadius
- Note that units of H() in the HPG12 paper are meters, not
- unitless. The whole falloff/sampling function is therefore
- unitless. In this implementation, we factor out (9 / radius).
+ Note that units of H() in the HPG12 paper are meters, not
+ unitless. The whole falloff/sampling function is therefore
+ unitless. In this implementation, we factor out (9 / radius).
- Four versions of the falloff function are implemented below
+ Four versions of the falloff function are implemented below
*/
-float sampleAO(in ivec2 ssC, in vec3 C, in vec3 n_C, in float ssDiskRadius,in float p_radius, in int tapIndex, in float randomPatternRotationAngle) {
- // Offset on the unit disk, spun for this pixel
- float ssR;
- vec2 unitOffset = tapLocation(tapIndex, randomPatternRotationAngle, ssR);
- ssR *= ssDiskRadius;
+float sampleAO(in ivec2 ssC, in vec3 C, in vec3 n_C, in float ssDiskRadius, in float p_radius, in int tapIndex, in float randomPatternRotationAngle) {
+ // Offset on the unit disk, spun for this pixel
+ float ssR;
+ vec2 unitOffset = tapLocation(tapIndex, randomPatternRotationAngle, ssR);
+ ssR *= ssDiskRadius;
- // The occluding point in camera space
- vec3 Q = getOffsetPosition(ssC, unitOffset, ssR);
+ // The occluding point in camera space
+ vec3 Q = getOffsetPosition(ssC, unitOffset, ssR);
- vec3 v = Q - C;
+ vec3 v = Q - C;
- float vv = dot(v, v);
- float vn = dot(v, n_C);
+ float vv = dot(v, v);
+ float vn = dot(v, n_C);
- const float epsilon = 0.01;
- float radius2 = p_radius*p_radius;
+ const float epsilon = 0.01;
+ float radius2 = p_radius * p_radius;
- // A: From the HPG12 paper
- // Note large epsilon to avoid overdarkening within cracks
- //return float(vv < radius2) * max((vn - bias) / (epsilon + vv), 0.0) * radius2 * 0.6;
+ // A: From the HPG12 paper
+ // Note large epsilon to avoid overdarkening within cracks
+ //return float(vv < radius2) * max((vn - bias) / (epsilon + vv), 0.0) * radius2 * 0.6;
- // B: Smoother transition to zero (lowers contrast, smoothing out corners). [Recommended]
- float f=max(radius2 - vv, 0.0);
- return f * f * f * max((vn - bias) / (epsilon + vv), 0.0);
+ // B: Smoother transition to zero (lowers contrast, smoothing out corners). [Recommended]
+ float f = max(radius2 - vv, 0.0);
+ return f * f * f * max((vn - bias) / (epsilon + vv), 0.0);
- // C: Medium contrast (which looks better at high radii), no division. Note that the
- // contribution still falls off with radius^2, but we've adjusted the rate in a way that is
- // more computationally efficient and happens to be aesthetically pleasing.
- // return 4.0 * max(1.0 - vv * invRadius2, 0.0) * max(vn - bias, 0.0);
+ // C: Medium contrast (which looks better at high radii), no division. Note that the
+ // contribution still falls off with radius^2, but we've adjusted the rate in a way that is
+ // more computationally efficient and happens to be aesthetically pleasing.
+ // return 4.0 * max(1.0 - vv * invRadius2, 0.0) * max(vn - bias, 0.0);
- // D: Low contrast, no division operation
- // return 2.0 * float(vv < radius * radius) * max(vn - bias, 0.0);
+ // D: Low contrast, no division operation
+ // return 2.0 * float(vv < radius * radius) * max(vn - bias, 0.0);
}
-
-
void main() {
-
// Pixel being shaded
ivec2 ssC = ivec2(gl_FragCoord.xy);
// World space point being shaded
vec3 C = getPosition(ssC);
-/* if (C.z <= -camera_z_far*0.999) {
- // We're on the skybox
- visibility=1.0;
- return;
- }*/
+ /*
+ if (C.z <= -camera_z_far*0.999) {
+ // We're on the skybox
+ visibility=1.0;
+ return;
+ }
+ */
//visibility=-C.z/camera_z_far;
//return;
@@ -251,7 +243,7 @@ void main() {
#endif
float sum = 0.0;
for (int i = 0; i < NUM_SAMPLES; ++i) {
- sum += sampleAO(ssC, C, n_C, ssDiskRadius, radius,i, randomPatternRotationAngle);
+ sum += sampleAO(ssC, C, n_C, ssDiskRadius, radius, i, randomPatternRotationAngle);
}
float A = max(0.0, 1.0 - sum * intensity_div_r6 * (5.0 / float(NUM_SAMPLES)));
@@ -271,10 +263,10 @@ void main() {
sum = 0.0;
for (int i = 0; i < NUM_SAMPLES; ++i) {
- sum += sampleAO(ssC, C, n_C, ssDiskRadius,radius2, i, randomPatternRotationAngle);
+ sum += sampleAO(ssC, C, n_C, ssDiskRadius, radius2, i, randomPatternRotationAngle);
}
- A= min(A,max(0.0, 1.0 - sum * intensity_div_r62 * (5.0 / float(NUM_SAMPLES))));
+ A = min(A, max(0.0, 1.0 - sum * intensity_div_r62 * (5.0 / float(NUM_SAMPLES))));
#endif
// Bilateral box-filter over a quad for free, respecting depth edges
// (the difference that this makes is subtle)
@@ -286,8 +278,4 @@ void main() {
}
visibility = A;
-
}
-
-
-
diff --git a/drivers/gles2/shaders/ssao_blur.glsl b/drivers/gles2/shaders/ssao_blur.glsl
index 472dc21acf..82b735a2b4 100644
--- a/drivers/gles2/shaders/ssao_blur.glsl
+++ b/drivers/gles2/shaders/ssao_blur.glsl
@@ -1,26 +1,21 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
gl_Position = vertex_attrib;
- gl_Position.z=1.0;
+ gl_Position.z = 1.0;
}
[fragment]
-
uniform sampler2D source_ssao; //texunit:0
uniform sampler2D source_depth; //texunit:1
uniform sampler2D source_normal; //texunit:3
-
layout(location = 0) out float visibility;
-
//////////////////////////////////////////////////////////////////////////////////////////////
// Tunable Parameters:
@@ -28,32 +23,30 @@ layout(location = 0) out float visibility;
uniform float edge_sharpness;
/** Step in 2-pixel intervals since we already blurred against neighbors in the
- first AO pass. This constant can be increased while R decreases to improve
- performance at the expense of some dithering artifacts.
+ first AO pass. This constant can be increased while R decreases to improve
+ performance at the expense of some dithering artifacts.
- Morgan found that a scale of 3 left a 1-pixel checkerboard grid that was
- unobjectionable after shading was applied but eliminated most temporal incoherence
- from using small numbers of sample taps.
- */
+ Morgan found that a scale of 3 left a 1-pixel checkerboard grid that was
+ unobjectionable after shading was applied but eliminated most temporal incoherence
+ from using small numbers of sample taps.
+ */
uniform int filter_scale;
/** Filter radius in pixels. This will be multiplied by SCALE. */
-#define R (4)
-
+#define R (4)
//////////////////////////////////////////////////////////////////////////////////////////////
-
// Gaussian coefficients
const float gaussian[R + 1] =
-// float[](0.356642, 0.239400, 0.072410, 0.009869);
-// float[](0.398943, 0.241971, 0.053991, 0.004432, 0.000134); // stddev = 1.0
- float[](0.153170, 0.144893, 0.122649, 0.092902, 0.062970); // stddev = 2.0
-// float[](0.111220, 0.107798, 0.098151, 0.083953, 0.067458, 0.050920, 0.036108); // stddev = 3.0
+ //float[](0.356642, 0.239400, 0.072410, 0.009869);
+ //float[](0.398943, 0.241971, 0.053991, 0.004432, 0.000134); // stddev = 1.0
+ float[](0.153170, 0.144893, 0.122649, 0.092902, 0.062970); // stddev = 2.0
+ //float[](0.111220, 0.107798, 0.098151, 0.083953, 0.067458, 0.050920, 0.036108); // stddev = 3.0
/** (1, 0) or (0, 1)*/
-uniform ivec2 axis;
+uniform ivec2 axis;
uniform float camera_z_far;
uniform float camera_z_near;
@@ -72,11 +65,11 @@ void main() {
float depth_divide = 1.0 / camera_z_far;
-// depth*=depth_divide;
+ //depth *= depth_divide;
/*
- if (depth > camera_z_far*0.999) {
- discard;//skybox
+ if (depth > camera_z_far * 0.999) {
+ discard; //skybox
}
*/
@@ -96,23 +89,21 @@ void main() {
if (r != 0) {
ivec2 ppos = ssC + axis * (r * filter_scale);
- float value = texelFetch(source_ssao, clamp(ppos,ivec2(0),clamp_limit), 0).r;
- ivec2 rpos = clamp(ppos,ivec2(0),clamp_limit);
+ float value = texelFetch(source_ssao, clamp(ppos, ivec2(0), clamp_limit), 0).r;
+ ivec2 rpos = clamp(ppos, ivec2(0), clamp_limit);
float temp_depth = texelFetch(source_depth, rpos, 0).r;
//vec3 temp_normal = texelFetch(source_normal, rpos, 0).rgb * 2.0 - 1.0;
temp_depth = temp_depth * 2.0 - 1.0;
temp_depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - temp_depth * (camera_z_far - camera_z_near));
-// temp_depth *= depth_divide;
+ // temp_depth *= depth_divide;
// spatial domain: offset gaussian tap
float weight = 0.3 + gaussian[abs(r)];
//weight *= max(0.0,dot(temp_normal,normal));
// range domain (the "bilateral" weight). As depth difference increases, decrease weight.
- weight *= max(0.0, 1.0
- - edge_sharpness * abs(temp_depth - depth)
- );
+ weight *= max(0.0, 1.0 - edge_sharpness * abs(temp_depth - depth));
sum += value * weight;
totalWeight += weight;
diff --git a/drivers/gles2/shaders/ssao_minify.glsl b/drivers/gles2/shaders/ssao_minify.glsl
index 647c762438..777a0069fc 100644
--- a/drivers/gles2/shaders/ssao_minify.glsl
+++ b/drivers/gles2/shaders/ssao_minify.glsl
@@ -1,7 +1,6 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
@@ -10,7 +9,6 @@ void main() {
[fragment]
-
#ifdef MINIFY_START
#define SDEPTH_TYPE highp sampler2D
@@ -32,28 +30,23 @@ layout(location = 0) out mediump uint depth;
void main() {
-
ivec2 ssP = ivec2(gl_FragCoord.xy);
- // Rotated grid subsampling to avoid XY directional bias or Z precision bias while downsampling.
- // On DX9, the bit-and can be implemented with floating-point modulo
+ // Rotated grid subsampling to avoid XY directional bias or Z precision bias while downsampling.
+ // On DX9, the bit-and can be implemented with floating-point modulo
#ifdef MINIFY_START
float fdepth = texelFetch(source_depth, clamp(ssP * 2 + ivec2(ssP.y & 1, ssP.x & 1), ivec2(0), from_size - ivec2(1)), source_mipmap).r;
fdepth = fdepth * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- fdepth = ((fdepth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ fdepth = ((fdepth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
fdepth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - fdepth * (camera_z_far - camera_z_near));
#endif
fdepth /= camera_z_far;
- depth = uint(clamp(fdepth*65535.0,0.0,65535.0));
+ depth = uint(clamp(fdepth * 65535.0, 0.0, 65535.0));
#else
depth = texelFetch(source_depth, clamp(ssP * 2 + ivec2(ssP.y & 1, ssP.x & 1), ivec2(0), from_size - ivec2(1)), source_mipmap).r;
#endif
-
-
}
-
-
diff --git a/drivers/gles2/shaders/stdlib.glsl b/drivers/gles2/shaders/stdlib.glsl
index ebbdb96311..6bc81a22d8 100644
--- a/drivers/gles2/shaders/stdlib.glsl
+++ b/drivers/gles2/shaders/stdlib.glsl
@@ -1,6 +1,5 @@
-vec2 select2(vec2 a, vec2 b, bvec2 c)
-{
+vec2 select2(vec2 a, vec2 b, bvec2 c) {
vec2 ret;
ret.x = c.x ? b.x : a.x;
@@ -9,8 +8,7 @@ vec2 select2(vec2 a, vec2 b, bvec2 c)
return ret;
}
-vec3 select3(vec3 a, vec3 b, bvec3 c)
-{
+vec3 select3(vec3 a, vec3 b, bvec3 c) {
vec3 ret;
ret.x = c.x ? b.x : a.x;
@@ -20,8 +18,7 @@ vec3 select3(vec3 a, vec3 b, bvec3 c)
return ret;
}
-vec4 select4(vec4 a, vec4 b, bvec4 c)
-{
+vec4 select4(vec4 a, vec4 b, bvec4 c) {
vec4 ret;
ret.x = c.x ? b.x : a.x;
@@ -32,14 +29,9 @@ vec4 select4(vec4 a, vec4 b, bvec4 c)
return ret;
}
-
-highp vec4 texel2DFetch(highp sampler2D tex, ivec2 size, ivec2 coord)
-{
+highp vec4 texel2DFetch(highp sampler2D tex, ivec2 size, ivec2 coord) {
float x_coord = float(2 * coord.x + 1) / float(size.x * 2);
float y_coord = float(2 * coord.y + 1) / float(size.y * 2);
- x_coord = float(coord.x) / float(size.x);
- y_coord = float(coord.y) / float(size.y);
-
return texture2DLod(tex, vec2(x_coord, y_coord), 0.0);
}
diff --git a/drivers/gles2/shaders/subsurf_scattering.glsl b/drivers/gles2/shaders/subsurf_scattering.glsl
index fc66d66198..fb7908f06a 100644
--- a/drivers/gles2/shaders/subsurf_scattering.glsl
+++ b/drivers/gles2/shaders/subsurf_scattering.glsl
@@ -1,12 +1,10 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
-
void main() {
uv_interp = uv_in;
@@ -19,87 +17,73 @@ void main() {
#define QUALIFIER const
#ifdef USE_25_SAMPLES
-
-const int kernel_size=25;
-QUALIFIER vec2 kernel[25] = vec2[] (
- vec2(0.530605, 0.0),
- vec2(0.000973794, -3.0),
- vec2(0.00333804, -2.52083),
- vec2(0.00500364, -2.08333),
- vec2(0.00700976, -1.6875),
- vec2(0.0094389, -1.33333),
- vec2(0.0128496, -1.02083),
- vec2(0.017924, -0.75),
- vec2(0.0263642, -0.520833),
- vec2(0.0410172, -0.333333),
- vec2(0.0493588, -0.1875),
- vec2(0.0402784, -0.0833333),
- vec2(0.0211412, -0.0208333),
- vec2(0.0211412, 0.0208333),
- vec2(0.0402784, 0.0833333),
- vec2(0.0493588, 0.1875),
- vec2(0.0410172, 0.333333),
- vec2(0.0263642, 0.520833),
- vec2(0.017924, 0.75),
- vec2(0.0128496, 1.02083),
- vec2(0.0094389, 1.33333),
- vec2(0.00700976, 1.6875),
- vec2(0.00500364, 2.08333),
- vec2(0.00333804, 2.52083),
- vec2(0.000973794, 3.0)
-);
-
+const int kernel_size = 25;
+QUALIFIER vec2 kernel[25] = vec2[](
+ vec2(0.530605, 0.0),
+ vec2(0.000973794, -3.0),
+ vec2(0.00333804, -2.52083),
+ vec2(0.00500364, -2.08333),
+ vec2(0.00700976, -1.6875),
+ vec2(0.0094389, -1.33333),
+ vec2(0.0128496, -1.02083),
+ vec2(0.017924, -0.75),
+ vec2(0.0263642, -0.520833),
+ vec2(0.0410172, -0.333333),
+ vec2(0.0493588, -0.1875),
+ vec2(0.0402784, -0.0833333),
+ vec2(0.0211412, -0.0208333),
+ vec2(0.0211412, 0.0208333),
+ vec2(0.0402784, 0.0833333),
+ vec2(0.0493588, 0.1875),
+ vec2(0.0410172, 0.333333),
+ vec2(0.0263642, 0.520833),
+ vec2(0.017924, 0.75),
+ vec2(0.0128496, 1.02083),
+ vec2(0.0094389, 1.33333),
+ vec2(0.00700976, 1.6875),
+ vec2(0.00500364, 2.08333),
+ vec2(0.00333804, 2.52083),
+ vec2(0.000973794, 3.0));
#endif //USE_25_SAMPLES
#ifdef USE_17_SAMPLES
-
-const int kernel_size=17;
-
+const int kernel_size = 17;
QUALIFIER vec2 kernel[17] = vec2[](
- vec2(0.536343, 0.0),
- vec2(0.00317394, -2.0),
- vec2(0.0100386, -1.53125),
- vec2(0.0144609, -1.125),
- vec2(0.0216301, -0.78125),
- vec2(0.0347317, -0.5),
- vec2(0.0571056, -0.28125),
- vec2(0.0582416, -0.125),
- vec2(0.0324462, -0.03125),
- vec2(0.0324462, 0.03125),
- vec2(0.0582416, 0.125),
- vec2(0.0571056, 0.28125),
- vec2(0.0347317, 0.5),
- vec2(0.0216301, 0.78125),
- vec2(0.0144609, 1.125),
- vec2(0.0100386, 1.53125),
- vec2(0.00317394,2.0)
-);
-
+ vec2(0.536343, 0.0),
+ vec2(0.00317394, -2.0),
+ vec2(0.0100386, -1.53125),
+ vec2(0.0144609, -1.125),
+ vec2(0.0216301, -0.78125),
+ vec2(0.0347317, -0.5),
+ vec2(0.0571056, -0.28125),
+ vec2(0.0582416, -0.125),
+ vec2(0.0324462, -0.03125),
+ vec2(0.0324462, 0.03125),
+ vec2(0.0582416, 0.125),
+ vec2(0.0571056, 0.28125),
+ vec2(0.0347317, 0.5),
+ vec2(0.0216301, 0.78125),
+ vec2(0.0144609, 1.125),
+ vec2(0.0100386, 1.53125),
+ vec2(0.00317394, 2.0));
#endif //USE_17_SAMPLES
-
#ifdef USE_11_SAMPLES
-
-const int kernel_size=11;
-
+const int kernel_size = 11;
QUALIFIER vec2 kernel[11] = vec2[](
- vec2(0.560479, 0.0),
- vec2(0.00471691, -2.0),
- vec2(0.0192831, -1.28),
- vec2(0.03639, -0.72),
- vec2(0.0821904, -0.32),
- vec2(0.0771802, -0.08),
- vec2(0.0771802, 0.08),
- vec2(0.0821904, 0.32),
- vec2(0.03639, 0.72),
- vec2(0.0192831, 1.28),
- vec2(0.00471691,2.0)
-);
-
+ vec2(0.560479, 0.0),
+ vec2(0.00471691, -2.0),
+ vec2(0.0192831, -1.28),
+ vec2(0.03639, -0.72),
+ vec2(0.0821904, -0.32),
+ vec2(0.0771802, -0.08),
+ vec2(0.0771802, 0.08),
+ vec2(0.0821904, 0.32),
+ vec2(0.03639, 0.72),
+ vec2(0.0192831, 1.28),
+ vec2(0.00471691, 2.0));
#endif //USE_11_SAMPLES
-
-
uniform float max_radius;
uniform float camera_z_far;
uniform float camera_z_near;
@@ -115,28 +99,24 @@ layout(location = 0) out vec4 frag_color;
void main() {
- float strength = texture(source_sss,uv_interp).r;
- strength*=strength; //stored as sqrt
+ float strength = texture(source_sss, uv_interp).r;
+ strength *= strength; //stored as sqrt
// Fetch color of current pixel:
vec4 base_color = texture(source_diffuse, uv_interp);
-
- if (strength>0.0) {
-
+ if (strength > 0.0) {
// Fetch linear depth of current pixel:
float depth = texture(source_depth, uv_interp).r * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth = ((depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth = ((depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
float scale = unit_size; //remember depth is negative by default in OpenGL
#else
depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth * (camera_z_far - camera_z_near));
float scale = unit_size / depth; //remember depth is negative by default in OpenGL
#endif
-
-
// Calculate the final step to fetch the surrounding pixels:
vec2 step = max_radius * scale * dir;
step *= strength; // Modulate it using the alpha channel.
@@ -157,35 +137,33 @@ void main() {
#ifdef ENABLE_FOLLOW_SURFACE
// If the difference in depth is huge, we lerp color back to "colorM":
- float depth_cmp = texture(source_depth, offset).r *2.0 - 1.0;
+ float depth_cmp = texture(source_depth, offset).r * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth_cmp = ((depth_cmp + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth_cmp = ((depth_cmp + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
depth_cmp = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth_cmp * (camera_z_far - camera_z_near));
#endif
- float s = clamp(300.0f * scale *
- max_radius * abs(depth - depth_cmp),0.0,1.0);
+ float s = clamp(300.0f * scale * max_radius * abs(depth - depth_cmp), 0.0, 1.0);
color = mix(color, base_color.rgb, s);
#endif
// Accumulate:
- color*=kernel[i].x;
+ color *= kernel[i].x;
#ifdef ENABLE_STRENGTH_WEIGHTING
float color_s = texture(source_sss, offset).r;
- color_weight+=color_s * kernel[i].x;
- color*=color_s;
+ color_weight += color_s * kernel[i].x;
+ color *= color_s;
#endif
color_accum += color;
-
}
#ifdef ENABLE_STRENGTH_WEIGHTING
- color_accum/=color_weight;
+ color_accum /= color_weight;
#endif
- frag_color = vec4(color_accum,base_color.a); //keep alpha (used for SSAO)
+ frag_color = vec4(color_accum, base_color.a); //keep alpha (used for SSAO)
} else {
frag_color = base_color;
}
diff --git a/drivers/gles2/shaders/tonemap.glsl b/drivers/gles2/shaders/tonemap.glsl
index 2f671158b2..f3f6a85565 100644
--- a/drivers/gles2/shaders/tonemap.glsl
+++ b/drivers/gles2/shaders/tonemap.glsl
@@ -1,8 +1,7 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
@@ -11,9 +10,8 @@ void main() {
gl_Position = vertex_attrib;
uv_interp = uv_in;
#ifdef V_FLIP
- uv_interp.y = 1.0-uv_interp.y;
+ uv_interp.y = 1.0 - uv_interp.y;
#endif
-
}
[fragment]
@@ -22,7 +20,6 @@ void main() {
precision mediump float;
#endif
-
in vec2 uv_interp;
uniform highp sampler2D source; //texunit:0
@@ -56,64 +53,54 @@ uniform sampler2D color_correction; //texunit:3
#endif
-
layout(location = 0) out vec4 frag_color;
#ifdef USE_GLOW_FILTER_BICUBIC
// w0, w1, w2, and w3 are the four cubic B-spline basis functions
-float w0(float a)
-{
- return (1.0/6.0)*(a*(a*(-a + 3.0) - 3.0) + 1.0);
+float w0(float a) {
+ return (1.0 / 6.0) * (a * (a * (-a + 3.0) - 3.0) + 1.0);
}
-float w1(float a)
-{
- return (1.0/6.0)*(a*a*(3.0*a - 6.0) + 4.0);
+float w1(float a) {
+ return (1.0 / 6.0) * (a * a * (3.0 * a - 6.0) + 4.0);
}
-float w2(float a)
-{
- return (1.0/6.0)*(a*(a*(-3.0*a + 3.0) + 3.0) + 1.0);
+float w2(float a) {
+ return (1.0 / 6.0) * (a * (a * (-3.0 * a + 3.0) + 3.0) + 1.0);
}
-float w3(float a)
-{
- return (1.0/6.0)*(a*a*a);
+float w3(float a) {
+ return (1.0 / 6.0) * (a * a * a);
}
// g0 and g1 are the two amplitude functions
-float g0(float a)
-{
- return w0(a) + w1(a);
+float g0(float a) {
+ return w0(a) + w1(a);
}
-float g1(float a)
-{
- return w2(a) + w3(a);
+float g1(float a) {
+ return w2(a) + w3(a);
}
// h0 and h1 are the two offset functions
-float h0(float a)
-{
- return -1.0 + w1(a) / (w0(a) + w1(a));
+float h0(float a) {
+ return -1.0 + w1(a) / (w0(a) + w1(a));
}
-float h1(float a)
-{
- return 1.0 + w3(a) / (w2(a) + w3(a));
+float h1(float a) {
+ return 1.0 + w3(a) / (w2(a) + w3(a));
}
uniform ivec2 glow_texture_size;
-vec4 texture2D_bicubic(sampler2D tex, vec2 uv,int p_lod)
-{
- float lod=float(p_lod);
+vec4 texture2D_bicubic(sampler2D tex, vec2 uv, int p_lod) {
+ float lod = float(p_lod);
vec2 tex_size = vec2(glow_texture_size >> p_lod);
- vec2 pixel_size =1.0/tex_size;
- uv = uv*tex_size + 0.5;
- vec2 iuv = floor( uv );
- vec2 fuv = fract( uv );
+ vec2 pixel_size = 1.0 / tex_size;
+ uv = uv * tex_size + 0.5;
+ vec2 iuv = floor(uv);
+ vec2 fuv = fract(uv);
float g0x = g0(fuv.x);
float g1x = g1(fuv.x);
@@ -127,24 +114,19 @@ vec4 texture2D_bicubic(sampler2D tex, vec2 uv,int p_lod)
vec2 p2 = (vec2(iuv.x + h0x, iuv.y + h1y) - 0.5) * pixel_size;
vec2 p3 = (vec2(iuv.x + h1x, iuv.y + h1y) - 0.5) * pixel_size;
- return g0(fuv.y) * (g0x * textureLod(tex, p0,lod) +
- g1x * textureLod(tex, p1,lod)) +
- g1(fuv.y) * (g0x * textureLod(tex, p2,lod) +
- g1x * textureLod(tex, p3,lod));
+ return (g0(fuv.y) * (g0x * textureLod(tex, p0, lod) + g1x * textureLod(tex, p1, lod))) +
+ (g1(fuv.y) * (g0x * textureLod(tex, p2, lod) + g1x * textureLod(tex, p3, lod)));
}
-
-
-#define GLOW_TEXTURE_SAMPLE(m_tex,m_uv,m_lod) texture2D_bicubic(m_tex,m_uv,m_lod)
+#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) texture2D_bicubic(m_tex, m_uv, m_lod)
#else
-#define GLOW_TEXTURE_SAMPLE(m_tex,m_uv,m_lod) textureLod(m_tex,m_uv,float(m_lod))
+#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) textureLod(m_tex, m_uv, float(m_lod))
#endif
-
-vec3 tonemap_filmic(vec3 color,float white) {
+vec3 tonemap_filmic(vec3 color, float white) {
float A = 0.15;
float B = 0.50;
@@ -154,11 +136,10 @@ vec3 tonemap_filmic(vec3 color,float white) {
float F = 0.30;
float W = 11.2;
- vec3 coltn = ((color*(A*color+C*B)+D*E)/(color*(A*color+B)+D*F))-E/F;
- float whitetn = ((white*(A*white+C*B)+D*E)/(white*(A*white+B)+D*F))-E/F;
-
- return coltn/whitetn;
+ vec3 coltn = ((color * (A * color + C * B) + D * E) / (color * (A * color + B) + D * F)) - E / F;
+ float whitetn = ((white * (A * white + C * B) + D * E) / (white * (A * white + B) + D * F)) - E / F;
+ return coltn / whitetn;
}
vec3 tonemap_aces(vec3 color) {
@@ -167,12 +148,12 @@ vec3 tonemap_aces(vec3 color) {
float c = 2.43f;
float d = 0.59f;
float e = 0.14f;
- return color = clamp((color*(a*color+b))/(color*(c*color+d)+e),vec3(0.0),vec3(1.0));
+ return color = clamp((color * (a * color + b)) / (color * (c * color + d) + e), vec3(0.0), vec3(1.0));
}
-vec3 tonemap_reindhart(vec3 color,float white) {
+vec3 tonemap_reindhart(vec3 color, float white) {
- return ( color * ( 1.0 + ( color / ( white) ) ) ) / ( 1.0 + color );
+ return (color * (1.0 + (color / (white)))) / (1.0 + color);
}
void main() {
@@ -181,10 +162,10 @@ void main() {
#ifdef USE_AUTO_EXPOSURE
- color/=texelFetch(source_auto_exposure,ivec2(0,0),0).r/auto_exposure_grey;
+ color /= texelFetch(source_auto_exposure, ivec2(0, 0), 0).r / auto_exposure_grey;
#endif
- color*=exposure;
+ color *= exposure;
#if defined(USE_GLOW_LEVEL1) || defined(USE_GLOW_LEVEL2) || defined(USE_GLOW_LEVEL3) || defined(USE_GLOW_LEVEL4) || defined(USE_GLOW_LEVEL5) || defined(USE_GLOW_LEVEL6) || defined(USE_GLOW_LEVEL7)
#define USING_GLOW
@@ -195,56 +176,54 @@ void main() {
#ifdef USE_GLOW_LEVEL1
- glow+=GLOW_TEXTURE_SAMPLE(source_glow,uv_interp,1).rgb;
+ glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 1).rgb;
#endif
#ifdef USE_GLOW_LEVEL2
- glow+=GLOW_TEXTURE_SAMPLE(source_glow,uv_interp,2).rgb;
+ glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 2).rgb;
#endif
#ifdef USE_GLOW_LEVEL3
- glow+=GLOW_TEXTURE_SAMPLE(source_glow,uv_interp,3).rgb;
+ glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 3).rgb;
#endif
#ifdef USE_GLOW_LEVEL4
- glow+=GLOW_TEXTURE_SAMPLE(source_glow,uv_interp,4).rgb;
+ glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 4).rgb;
#endif
#ifdef USE_GLOW_LEVEL5
- glow+=GLOW_TEXTURE_SAMPLE(source_glow,uv_interp,5).rgb;
+ glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 5).rgb;
#endif
#ifdef USE_GLOW_LEVEL6
- glow+=GLOW_TEXTURE_SAMPLE(source_glow,uv_interp,6).rgb;
+ glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 6).rgb;
#endif
#ifdef USE_GLOW_LEVEL7
- glow+=GLOW_TEXTURE_SAMPLE(source_glow,uv_interp,7).rgb;
+ glow += GLOW_TEXTURE_SAMPLE(source_glow, uv_interp, 7).rgb;
#endif
-
glow *= glow_intensity;
#endif
-
#ifdef USE_REINDHART_TONEMAPPER
- color.rgb = tonemap_reindhart(color.rgb,white);
+ color.rgb = tonemap_reindhart(color.rgb, white);
-# if defined(USING_GLOW)
- glow = tonemap_reindhart(glow,white);
-# endif
+#if defined(USING_GLOW)
+ glow = tonemap_reindhart(glow, white);
+#endif
#endif
#ifdef USE_FILMIC_TONEMAPPER
- color.rgb = tonemap_filmic(color.rgb,white);
+ color.rgb = tonemap_filmic(color.rgb, white);
-# if defined(USING_GLOW)
- glow = tonemap_filmic(glow,white);
-# endif
+#if defined(USING_GLOW)
+ glow = tonemap_filmic(glow, white);
+#endif
#endif
@@ -252,26 +231,26 @@ void main() {
color.rgb = tonemap_aces(color.rgb);
-# if defined(USING_GLOW)
+#if defined(USING_GLOW)
glow = tonemap_aces(glow);
-# endif
+#endif
#endif
//regular Linear -> SRGB conversion
vec3 a = vec3(0.055);
- color.rgb = mix( (vec3(1.0)+a)*pow(color.rgb,vec3(1.0/2.4))-a , 12.92*color.rgb , lessThan(color.rgb,vec3(0.0031308)));
+ color.rgb = mix((vec3(1.0) + a) * pow(color.rgb, vec3(1.0 / 2.4)) - a, 12.92 * color.rgb, lessThan(color.rgb, vec3(0.0031308)));
#if defined(USING_GLOW)
- glow = mix( (vec3(1.0)+a)*pow(glow,vec3(1.0/2.4))-a , 12.92*glow , lessThan(glow,vec3(0.0031308)));
+ glow = mix((vec3(1.0) + a) * pow(glow, vec3(1.0 / 2.4)) - a, 12.92 * glow, lessThan(glow, vec3(0.0031308)));
#endif
-//glow needs to be added in SRGB space (together with image space effects)
+ //glow needs to be added in SRGB space (together with image space effects)
- color.rgb = clamp(color.rgb,0.0,1.0);
+ color.rgb = clamp(color.rgb, 0.0, 1.0);
#if defined(USING_GLOW)
- glow = clamp(glow,0.0,1.0);
+ glow = clamp(glow, 0.0, 1.0);
#endif
#ifdef USE_GLOW_REPLACE
@@ -291,33 +270,32 @@ void main() {
{
glow = (glow * 0.5) + 0.5;
- color.r = (glow.r <= 0.5) ? (color.r - (1.0 - 2.0 * glow.r) * color.r * (1.0 - color.r)) : (((glow.r > 0.5) && (color.r <= 0.25)) ? (color.r + (2.0 * glow.r - 1.0) * (4.0 * color.r * (4.0 * color.r + 1.0) * (color.r - 1.0) + 7.0 * color.r)) : (color.r + (2.0 * glow.r - 1.0) * (sqrt(color.r) - color.r)));
- color.g = (glow.g <= 0.5) ? (color.g - (1.0 - 2.0 * glow.g) * color.g * (1.0 - color.g)) : (((glow.g > 0.5) && (color.g <= 0.25)) ? (color.g + (2.0 * glow.g - 1.0) * (4.0 * color.g * (4.0 * color.g + 1.0) * (color.g - 1.0) + 7.0 * color.g)) : (color.g + (2.0 * glow.g - 1.0) * (sqrt(color.g) - color.g)));
- color.b = (glow.b <= 0.5) ? (color.b - (1.0 - 2.0 * glow.b) * color.b * (1.0 - color.b)) : (((glow.b > 0.5) && (color.b <= 0.25)) ? (color.b + (2.0 * glow.b - 1.0) * (4.0 * color.b * (4.0 * color.b + 1.0) * (color.b - 1.0) + 7.0 * color.b)) : (color.b + (2.0 * glow.b - 1.0) * (sqrt(color.b) - color.b)));
+ color.r = (glow.r <= 0.5) ? (color.r - (1.0 - 2.0 * glow.r) * color.r * (1.0 - color.r)) : (((glow.r > 0.5) && (color.r <= 0.25)) ? (color.r + (2.0 * glow.r - 1.0) * (4.0 * color.r * (4.0 * color.r + 1.0) * (color.r - 1.0) + 7.0 * color.r)) : (color.r + (2.0 * glow.r - 1.0) * (sqrt(color.r) - color.r)));
+ color.g = (glow.g <= 0.5) ? (color.g - (1.0 - 2.0 * glow.g) * color.g * (1.0 - color.g)) : (((glow.g > 0.5) && (color.g <= 0.25)) ? (color.g + (2.0 * glow.g - 1.0) * (4.0 * color.g * (4.0 * color.g + 1.0) * (color.g - 1.0) + 7.0 * color.g)) : (color.g + (2.0 * glow.g - 1.0) * (sqrt(color.g) - color.g)));
+ color.b = (glow.b <= 0.5) ? (color.b - (1.0 - 2.0 * glow.b) * color.b * (1.0 - color.b)) : (((glow.b > 0.5) && (color.b <= 0.25)) ? (color.b + (2.0 * glow.b - 1.0) * (4.0 * color.b * (4.0 * color.b + 1.0) * (color.b - 1.0) + 7.0 * color.b)) : (color.b + (2.0 * glow.b - 1.0) * (sqrt(color.b) - color.b)));
}
#endif
#if defined(USING_GLOW) && !defined(USE_GLOW_SCREEN) && !defined(USE_GLOW_SOFTLIGHT) && !defined(USE_GLOW_REPLACE)
//additive
- color.rgb+=glow;
+ color.rgb += glow;
#endif
#ifdef USE_BCS
- color.rgb = mix(vec3(0.0),color.rgb,bcs.x);
- color.rgb = mix(vec3(0.5),color.rgb,bcs.y);
- color.rgb = mix(vec3(dot(vec3(1.0),color.rgb)*0.33333),color.rgb,bcs.z);
+ color.rgb = mix(vec3(0.0), color.rgb, bcs.x);
+ color.rgb = mix(vec3(0.5), color.rgb, bcs.y);
+ color.rgb = mix(vec3(dot(vec3(1.0), color.rgb) * 0.33333), color.rgb, bcs.z);
#endif
#ifdef USE_COLOR_CORRECTION
- color.r = texture(color_correction,vec2(color.r,0.0)).r;
- color.g = texture(color_correction,vec2(color.g,0.0)).g;
- color.b = texture(color_correction,vec2(color.b,0.0)).b;
+ color.r = texture(color_correction, vec2(color.r, 0.0)).r;
+ color.g = texture(color_correction, vec2(color.g, 0.0)).g;
+ color.b = texture(color_correction, vec2(color.b, 0.0)).b;
#endif
-
- frag_color=vec4(color.rgb,1.0);
+ frag_color = vec4(color.rgb, 1.0);
}
diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp
index 5e13bed198..643d50797e 100644
--- a/drivers/gles3/rasterizer_canvas_gles3.cpp
+++ b/drivers/gles3/rasterizer_canvas_gles3.cpp
@@ -1173,8 +1173,8 @@ void RasterizerCanvasGLES3::canvas_render_items(Item *p_item_list, int p_z, cons
{
//skeleton handling
- if (ci->skeleton.is_valid()) {
- skeleton = storage->skeleton_owner.getornull(ci->skeleton);
+ if (ci->skeleton.is_valid() && storage->skeleton_owner.owns(ci->skeleton)) {
+ skeleton = storage->skeleton_owner.get(ci->skeleton);
if (!skeleton->use_2d) {
skeleton = NULL;
} else {
@@ -1557,17 +1557,12 @@ void RasterizerCanvasGLES3::canvas_debug_viewport_shadows(Light *p_lights_with_s
int ofs = h;
glDisable(GL_BLEND);
- //print_line(" debug lights ");
while (light) {
-
- //print_line("debug light");
if (light->shadow_buffer.is_valid()) {
- //print_line("sb is valid");
RasterizerStorageGLES3::CanvasLightShadow *sb = storage->canvas_light_shadow_owner.get(light->shadow_buffer);
if (sb) {
glBindTexture(GL_TEXTURE_2D, sb->distance);
- //glBindTexture(GL_TEXTURE_2D,storage->resources.white_tex);
draw_generic_textured_rect(Rect2(h, ofs, w - h * 2, h), Rect2(0, 0, 1, 1));
ofs += h * 2;
}
@@ -1677,19 +1672,7 @@ void RasterizerCanvasGLES3::canvas_light_shadow_buffer_update(RID p_buffer, cons
} break;
}
}
- /*
- if (i==0) {
- for(int i=0;i<cc->lines.size();i++) {
- Vector2 p = instance->xform_cache.xform(cc->lines.get(i));
- Plane pp(Vector3(p.x,p.y,0),1);
- pp.normal = light.xform(pp.normal);
- pp = projection.xform4(pp);
- print_line(itos(i)+": "+pp.normal/pp.d);
- //pp=light_mat.xform4(pp);
- //print_line(itos(i)+": "+pp.normal/pp.d);
- }
- }
-*/
+
glBindVertexArray(cc->array_id);
glDrawElements(GL_TRIANGLES, cc->len * 3, GL_UNSIGNED_SHORT, 0);
diff --git a/drivers/gles3/rasterizer_gles3.cpp b/drivers/gles3/rasterizer_gles3.cpp
index cb17695c5f..0d42635194 100644
--- a/drivers/gles3/rasterizer_gles3.cpp
+++ b/drivers/gles3/rasterizer_gles3.cpp
@@ -33,7 +33,9 @@
#include "gl_context/context_gl.h"
#include "os/os.h"
#include "project_settings.h"
+
#include <string.h>
+
RasterizerStorage *RasterizerGLES3::get_storage() {
return storage;
@@ -136,9 +138,7 @@ typedef void (*DebugMessageCallbackARB)(DEBUGPROCARB callback, const void *userP
void RasterizerGLES3::initialize() {
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("Using GLES3 video driver");
- }
+ print_verbose("Using GLES3 video driver");
#ifdef GLAD_ENABLED
if (!gladLoadGL()) {
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp
index a5c81d6c4d..3697cccef4 100644
--- a/drivers/gles3/rasterizer_storage_gles3.cpp
+++ b/drivers/gles3/rasterizer_storage_gles3.cpp
@@ -118,10 +118,11 @@ void glTexStorage2DCustom(GLenum target, GLsizei levels, GLenum internalformat,
GLuint RasterizerStorageGLES3::system_fbo = 0;
-Ref<Image> RasterizerStorageGLES3::_get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool &srgb) {
+Ref<Image> RasterizerStorageGLES3::_get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool &srgb) const {
r_compressed = false;
r_gl_format = 0;
+ r_real_format = p_format;
Ref<Image> image = p_image;
srgb = false;
@@ -565,6 +566,7 @@ Ref<Image> RasterizerStorageGLES3::_get_gl_image_and_format(const Ref<Image> &p_
r_gl_internal_format = (config.srgb_decode_supported || (p_flags & VS::TEXTURE_FLAG_CONVERT_TO_LINEAR)) ? GL_SRGB8_ALPHA8 : GL_RGBA8;
r_gl_type = GL_UNSIGNED_BYTE;
r_compressed = false;
+ r_real_format = Image::FORMAT_RGBA8;
srgb = true;
return image;
@@ -638,7 +640,8 @@ void RasterizerStorageGLES3::texture_allocate(RID p_texture, int p_width, int p_
} break;
}
- _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, format, internal_format, type, compressed, srgb);
+ Image::Format real_format;
+ _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, real_format, format, internal_format, type, compressed, srgb);
texture->alloc_width = texture->width;
texture->alloc_height = texture->height;
@@ -710,7 +713,8 @@ void RasterizerStorageGLES3::texture_set_data(RID p_texture, const Ref<Image> &p
texture->images.write[p_layer] = p_image;
}
- Ref<Image> img = _get_gl_image_and_format(p_image, p_image->get_format(), texture->flags, format, internal_format, type, compressed, srgb);
+ Image::Format real_format;
+ Ref<Image> img = _get_gl_image_and_format(p_image, p_image->get_format(), texture->flags, real_format, format, internal_format, type, compressed, srgb);
if (config.shrink_textures_x2 && (p_image->has_mipmaps() || !p_image->is_compressed()) && !(texture->flags & VS::TEXTURE_FLAG_USED_FOR_STREAMING)) {
@@ -941,7 +945,8 @@ void RasterizerStorageGLES3::texture_set_data_partial(RID p_texture, const Ref<I
p_sub_img = p_image->get_rect(Rect2(src_x, src_y, src_w, src_h));
}
- Ref<Image> img = _get_gl_image_and_format(p_sub_img, p_sub_img->get_format(), texture->flags, format, internal_format, type, compressed, srgb);
+ Image::Format real_format;
+ Ref<Image> img = _get_gl_image_and_format(p_sub_img, p_sub_img->get_format(), texture->flags, real_format, format, internal_format, type, compressed, srgb);
GLenum blit_target;
@@ -1014,9 +1019,17 @@ Ref<Image> RasterizerStorageGLES3::texture_get_data(RID p_texture, int p_layer)
#ifdef GLES_OVER_GL
+ Image::Format real_format;
+ GLenum gl_format;
+ GLenum gl_internal_format;
+ GLenum gl_type;
+ bool compressed;
+ bool srgb;
+ _get_gl_image_and_format(Ref<Image>(), texture->format, texture->flags, real_format, gl_format, gl_internal_format, gl_type, compressed, srgb);
+
PoolVector<uint8_t> data;
- int data_size = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, texture->format, texture->mipmaps > 1 ? -1 : 0);
+ int data_size = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, real_format, texture->mipmaps > 1 ? -1 : 0);
data.resize(data_size * 2); //add some memory at the end, just in case for buggy drivers
PoolVector<uint8_t>::Write wb = data.write();
@@ -1033,7 +1046,7 @@ Ref<Image> RasterizerStorageGLES3::texture_get_data(RID p_texture, int p_layer)
int ofs = 0;
if (i > 0) {
- ofs = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, texture->format, i - 1);
+ ofs = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, real_format, i - 1);
}
if (texture->compressed) {
@@ -1069,7 +1082,7 @@ Ref<Image> RasterizerStorageGLES3::texture_get_data(RID p_texture, int p_layer)
(a | a << 2 | a << 4 | a << 6) << 24;
}
} else {
- img_format = texture->format;
+ img_format = real_format;
}
wb = PoolVector<uint8_t>::Write();
@@ -7368,6 +7381,9 @@ bool RasterizerStorageGLES3::free(RID p_rid) {
bool RasterizerStorageGLES3::has_os_feature(const String &p_feature) const {
+ if (p_feature == "bptc")
+ return config.bptc_supported;
+
if (p_feature == "s3tc")
return config.s3tc_supported;
diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h
index f55c8026ea..b74dd77e26 100644
--- a/drivers/gles3/rasterizer_storage_gles3.h
+++ b/drivers/gles3/rasterizer_storage_gles3.h
@@ -340,7 +340,7 @@ public:
mutable RID_Owner<Texture> texture_owner;
- Ref<Image> _get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool &srgb);
+ Ref<Image> _get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, uint32_t p_flags, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool &srgb) const;
virtual RID texture_create();
virtual void texture_allocate(RID p_texture, int p_width, int p_height, int p_depth_3d, Image::Format p_format, VS::TextureType p_type, uint32_t p_flags = VS::TEXTURE_FLAGS_DEFAULT);
diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp
index 0c353d42bb..a78a392cbd 100644
--- a/drivers/gles3/shader_compiler_gles3.cpp
+++ b/drivers/gles3/shader_compiler_gles3.cpp
@@ -436,8 +436,6 @@ String ShaderCompilerGLES3::_dump_node_code(SL::Node *p_node, int p_level, Gener
continue;
}
- print_line("u - "+String(E->key())+" offset: "+itos(r_gen_code.uniform_offsets[E->get().order]));
-
}
*/
diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp
index ca0ce5cd3e..007600bb42 100644
--- a/drivers/gles3/shader_gles3.cpp
+++ b/drivers/gles3/shader_gles3.cpp
@@ -240,8 +240,6 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() {
CharString code_globals;
CharString material_string;
- //print_line("code version? "+itos(conditional_version.code_version));
-
CustomCode *cc = NULL;
if (conditional_version.code_version > 0) {
@@ -743,13 +741,6 @@ void ShaderGLES3::set_custom_shader(uint32_t p_code_id) {
void ShaderGLES3::free_custom_shader(uint32_t p_code_id) {
- /* if (! custom_code_map.has( p_code_id )) {
- print_line("no code id "+itos(p_code_id));
- } else {
- print_line("freed code id "+itos(p_code_id));
-
- }*/
-
ERR_FAIL_COND(!custom_code_map.has(p_code_id));
if (conditional_version.code_version == p_code_id)
conditional_version.code_version = 0; //bye
diff --git a/drivers/gles3/shaders/blend_shape.glsl b/drivers/gles3/shaders/blend_shape.glsl
index 4e0d066823..d019062ba0 100644
--- a/drivers/gles3/shaders/blend_shape.glsl
+++ b/drivers/gles3/shaders/blend_shape.glsl
@@ -1,6 +1,5 @@
[vertex]
-
/*
from VisualServer:
@@ -23,56 +22,56 @@ ARRAY_INDEX=8,
/* INPUT ATTRIBS */
-layout(location=0) in highp VFORMAT vertex_attrib;
-layout(location=1) in vec3 normal_attrib;
+layout(location = 0) in highp VFORMAT vertex_attrib;
+layout(location = 1) in vec3 normal_attrib;
#ifdef ENABLE_TANGENT
-layout(location=2) in vec4 tangent_attrib;
+layout(location = 2) in vec4 tangent_attrib;
#endif
#ifdef ENABLE_COLOR
-layout(location=3) in vec4 color_attrib;
+layout(location = 3) in vec4 color_attrib;
#endif
#ifdef ENABLE_UV
-layout(location=4) in vec2 uv_attrib;
+layout(location = 4) in vec2 uv_attrib;
#endif
#ifdef ENABLE_UV2
-layout(location=5) in vec2 uv2_attrib;
+layout(location = 5) in vec2 uv2_attrib;
#endif
#ifdef ENABLE_SKELETON
-layout(location=6) in ivec4 bone_attrib;
-layout(location=7) in vec4 weight_attrib;
+layout(location = 6) in ivec4 bone_attrib;
+layout(location = 7) in vec4 weight_attrib;
#endif
/* BLEND ATTRIBS */
#ifdef ENABLE_BLEND
-layout(location=8) in highp VFORMAT vertex_attrib_blend;
-layout(location=9) in vec3 normal_attrib_blend;
+layout(location = 8) in highp VFORMAT vertex_attrib_blend;
+layout(location = 9) in vec3 normal_attrib_blend;
#ifdef ENABLE_TANGENT
-layout(location=10) in vec4 tangent_attrib_blend;
+layout(location = 10) in vec4 tangent_attrib_blend;
#endif
#ifdef ENABLE_COLOR
-layout(location=11) in vec4 color_attrib_blend;
+layout(location = 11) in vec4 color_attrib_blend;
#endif
#ifdef ENABLE_UV
-layout(location=12) in vec2 uv_attrib_blend;
+layout(location = 12) in vec2 uv_attrib_blend;
#endif
#ifdef ENABLE_UV2
-layout(location=13) in vec2 uv2_attrib_blend;
+layout(location = 13) in vec2 uv2_attrib_blend;
#endif
#ifdef ENABLE_SKELETON
-layout(location=14) in ivec4 bone_attrib_blend;
-layout(location=15) in vec4 weight_attrib_blend;
+layout(location = 14) in ivec4 bone_attrib_blend;
+layout(location = 15) in vec4 weight_attrib_blend;
#endif
#endif
@@ -110,7 +109,6 @@ uniform float blend_amount;
void main() {
-
#ifdef ENABLE_BLEND
vertex_out = vertex_attrib_blend + vertex_attrib * blend_amount;
@@ -140,7 +138,6 @@ void main() {
uv2_out = uv2_attrib_blend + uv2_attrib * blend_amount;
#endif
-
#ifdef ENABLE_SKELETON
bone_out = bone_attrib_blend;
@@ -149,7 +146,6 @@ void main() {
#else //ENABLE_BLEND
-
vertex_out = vertex_attrib * blend_amount;
#ifdef ENABLE_NORMAL
@@ -177,7 +173,6 @@ void main() {
uv2_out = uv2_attrib * blend_amount;
#endif
-
#ifdef ENABLE_SKELETON
bone_out = bone_attrib;
@@ -190,8 +185,6 @@ void main() {
[fragment]
-
void main() {
}
-
diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl
index e7828d265c..9e99305fe7 100644
--- a/drivers/gles3/shaders/canvas.glsl
+++ b/drivers/gles3/shaders/canvas.glsl
@@ -1,12 +1,11 @@
[vertex]
-
-layout(location=0) in highp vec2 vertex;
-layout(location=3) in vec4 color_attrib;
+layout(location = 0) in highp vec2 vertex;
+layout(location = 3) in vec4 color_attrib;
#ifdef USE_SKELETON
-layout(location=6) in uvec4 bone_indices; // attrib:6
-layout(location=7) in vec4 bone_weights; // attrib:7
+layout(location = 6) in uvec4 bone_indices; // attrib:6
+layout(location = 7) in vec4 bone_weights; // attrib:7
#endif
#ifdef USE_TEXTURE_RECT
@@ -18,25 +17,24 @@ uniform vec4 src_rect;
#ifdef USE_INSTANCING
-layout(location=8) in highp vec4 instance_xform0;
-layout(location=9) in highp vec4 instance_xform1;
-layout(location=10) in highp vec4 instance_xform2;
-layout(location=11) in lowp vec4 instance_color;
+layout(location = 8) in highp vec4 instance_xform0;
+layout(location = 9) in highp vec4 instance_xform1;
+layout(location = 10) in highp vec4 instance_xform2;
+layout(location = 11) in lowp vec4 instance_color;
#ifdef USE_INSTANCE_CUSTOM
-layout(location=12) in highp vec4 instance_custom_data;
+layout(location = 12) in highp vec4 instance_custom_data;
#endif
#endif
-layout(location=4) in highp vec2 uv_attrib;
+layout(location = 4) in highp vec2 uv_attrib;
-//skeletn
+// skeleton
#endif
uniform highp vec2 color_texpixel_size;
-
layout(std140) uniform CanvasItemData { //ubo:0
highp mat4 projection_matrix;
@@ -46,7 +44,6 @@ layout(std140) uniform CanvasItemData { //ubo:0
uniform highp mat4 modelview_matrix;
uniform highp mat4 extra_matrix;
-
out highp vec2 uv_interp;
out mediump vec4 color_interp;
@@ -55,7 +52,6 @@ out mediump vec4 color_interp;
out highp vec2 pixel_size_interp;
#endif
-
#ifdef USE_SKELETON
uniform mediump sampler2D skeleton_texture; // texunit:-1
uniform highp mat4 skeleton_transform;
@@ -66,7 +62,7 @@ uniform highp mat4 skeleton_transform_inverse;
layout(std140) uniform LightData { //ubo:1
- //light matrices
+ // light matrices
highp mat4 light_matrix;
highp mat4 light_local_matrix;
highp mat4 shadow_matrix;
@@ -80,11 +76,9 @@ layout(std140) uniform LightData { //ubo:1
highp float shadow_distance_mult;
};
-
out vec4 light_uv_interp;
out vec2 transformed_light_uv;
-
out vec4 local_rot;
#ifdef USE_SHADOWS
@@ -101,7 +95,6 @@ uniform int h_frames;
uniform int v_frames;
#endif
-
#if defined(USE_MATERIAL)
layout(std140) uniform UniformData { //ubo:2
@@ -112,7 +105,6 @@ MATERIAL_UNIFORMS
#endif
-
VERTEX_SHADER_GLOBALS
void main() {
@@ -120,8 +112,8 @@ void main() {
vec4 color = color_attrib;
#ifdef USE_INSTANCING
- mat4 extra_matrix2 = extra_matrix * transpose(mat4(instance_xform0,instance_xform1,instance_xform2,vec4(0.0,0.0,0.0,1.0)));
- color*=instance_color;
+ mat4 extra_matrix2 = extra_matrix * transpose(mat4(instance_xform0, instance_xform1, instance_xform2, vec4(0.0, 0.0, 0.0, 1.0)));
+ color *= instance_color;
vec4 instance_custom = instance_custom_data;
#else
@@ -136,29 +128,27 @@ void main() {
} else {
uv_interp = src_rect.xy + abs(src_rect.zw) * vertex;
}
- highp vec4 outvec = vec4(dst_rect.xy + abs(dst_rect.zw) * mix(vertex,vec2(1.0,1.0)-vertex,lessThan(src_rect.zw,vec2(0.0,0.0))),0.0,1.0);
+ highp vec4 outvec = vec4(dst_rect.xy + abs(dst_rect.zw) * mix(vertex, vec2(1.0, 1.0) - vertex, lessThan(src_rect.zw, vec2(0.0, 0.0))), 0.0, 1.0);
#else
uv_interp = uv_attrib;
- highp vec4 outvec = vec4(vertex,0.0,1.0);
+ highp vec4 outvec = vec4(vertex, 0.0, 1.0);
#endif
-
#ifdef USE_PARTICLES
//scale by texture size
- outvec.xy/=color_texpixel_size;
+ outvec.xy /= color_texpixel_size;
//compute h and v frames and adjust UV interp for animation
int total_frames = h_frames * v_frames;
- int frame = min(int(float(total_frames) *instance_custom.z),total_frames-1);
- float frame_w = 1.0/float(h_frames);
- float frame_h = 1.0/float(v_frames);
+ int frame = min(int(float(total_frames) * instance_custom.z), total_frames - 1);
+ float frame_w = 1.0 / float(h_frames);
+ float frame_h = 1.0 / float(v_frames);
uv_interp.x = uv_interp.x * frame_w + frame_w * float(frame % h_frames);
uv_interp.y = uv_interp.y * frame_h + frame_h * float(frame / h_frames);
#endif
-
#define extra_matrix extra_matrix2
{
@@ -167,10 +157,9 @@ VERTEX_SHADER_CODE
}
-
#ifdef USE_NINEPATCH
- pixel_size_interp=abs(dst_rect.zw) * vertex;
+ pixel_size_interp = abs(dst_rect.zw) * vertex;
#endif
#if !defined(SKIP_TRANSFORM_USED)
@@ -184,47 +173,46 @@ VERTEX_SHADER_CODE
#ifdef USE_PIXEL_SNAP
- outvec.xy=floor(outvec+0.5).xy;
+ outvec.xy = floor(outvec + 0.5).xy;
#endif
-
#ifdef USE_SKELETON
- if (bone_weights!=vec4(0.0)){ //must be a valid bone
+ if (bone_weights != vec4(0.0)) { //must be a valid bone
//skeleton transform
ivec4 bone_indicesi = ivec4(bone_indices);
- ivec2 tex_ofs = ivec2( bone_indicesi.x%256, (bone_indicesi.x/256)*2 );
+ ivec2 tex_ofs = ivec2(bone_indicesi.x % 256, (bone_indicesi.x / 256) * 2);
- highp mat2x4 m = mat2x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0)
- ) * bone_weights.x;
+ highp mat2x4 m;
+ m = mat2x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0))
+ * bone_weights.x;
- tex_ofs = ivec2( bone_indicesi.y%256, (bone_indicesi.y/256)*2 );
+ tex_ofs = ivec2(bone_indicesi.y % 256, (bone_indicesi.y / 256) * 2);
- m+= mat2x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0)
- ) * bone_weights.y;
+ m += mat2x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0))
+ * bone_weights.y;
- tex_ofs = ivec2( bone_indicesi.z%256, (bone_indicesi.z/256)*2 );
+ tex_ofs = ivec2(bone_indicesi.z % 256, (bone_indicesi.z / 256) * 2);
- m+= mat2x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0)
- ) * bone_weights.z;
+ m += mat2x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0))
+ * bone_weights.z;
+ tex_ofs = ivec2(bone_indicesi.w % 256, (bone_indicesi.w / 256) * 2);
- tex_ofs = ivec2( bone_indicesi.w%256, (bone_indicesi.w/256)*2 );
+ m += mat2x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0))
+ * bone_weights.w;
- m+= mat2x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0)
- ) * bone_weights.w;
-
- mat4 bone_matrix = skeleton_transform * transpose(mat4(m[0],m[1],vec4(0.0,0.0,1.0,0.0),vec4(0.0,0.0,0.0,1.0))) * skeleton_transform_inverse;
+ mat4 bone_matrix = skeleton_transform * transpose(mat4(m[0], m[1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))) * skeleton_transform_inverse;
outvec = bone_matrix * outvec;
}
@@ -236,45 +224,37 @@ VERTEX_SHADER_CODE
#ifdef USE_LIGHTING
light_uv_interp.xy = (light_matrix * outvec).xy;
- light_uv_interp.zw =(light_local_matrix * outvec).xy;
+ light_uv_interp.zw = (light_local_matrix * outvec).xy;
mat3 inverse_light_matrix = mat3(inverse(light_matrix));
inverse_light_matrix[0] = normalize(inverse_light_matrix[0]);
inverse_light_matrix[1] = normalize(inverse_light_matrix[1]);
inverse_light_matrix[2] = normalize(inverse_light_matrix[2]);
- transformed_light_uv = (inverse_light_matrix * vec3(light_uv_interp.zw,0.0)).xy; //for normal mapping
+ transformed_light_uv = (inverse_light_matrix * vec3(light_uv_interp.zw, 0.0)).xy; //for normal mapping
#ifdef USE_SHADOWS
- pos=outvec.xy;
+ pos = outvec.xy;
#endif
-
- local_rot.xy=normalize( (modelview_matrix * ( extra_matrix * vec4(1.0,0.0,0.0,0.0) )).xy );
- local_rot.zw=normalize( (modelview_matrix * ( extra_matrix * vec4(0.0,1.0,0.0,0.0) )).xy );
+ local_rot.xy = normalize((modelview_matrix * (extra_matrix * vec4(1.0, 0.0, 0.0, 0.0))).xy);
+ local_rot.zw = normalize((modelview_matrix * (extra_matrix * vec4(0.0, 1.0, 0.0, 0.0))).xy);
#ifdef USE_TEXTURE_RECT
- local_rot.xy*=sign(src_rect.z);
- local_rot.zw*=sign(src_rect.w);
+ local_rot.xy *= sign(src_rect.z);
+ local_rot.zw *= sign(src_rect.w);
#endif
-
-
#endif
-
}
[fragment]
-
-
uniform mediump sampler2D color_texture; // texunit:0
uniform highp vec2 color_texpixel_size;
uniform mediump sampler2D normal_texture; // texunit:1
-
in highp vec2 uv_interp;
in mediump vec4 color_interp;
-
#if defined(SCREEN_TEXTURE_USED)
uniform sampler2D screen_texture; // texunit:-3
@@ -292,7 +272,6 @@ layout(std140) uniform CanvasItemData {
highp float time;
};
-
#ifdef USE_LIGHTING
layout(std140) uniform LightData {
@@ -314,10 +293,8 @@ uniform lowp sampler2D light_texture; // texunit:-1
in vec4 light_uv_interp;
in vec2 transformed_light_uv;
-
in vec4 local_rot;
-
#ifdef USE_SHADOWS
uniform highp sampler2D shadow_texture; // texunit:-2
@@ -332,11 +309,7 @@ const bool at_light_pass = false;
uniform mediump vec4 final_modulate;
-
-
-
-layout(location=0) out mediump vec4 frag_color;
-
+layout(location = 0) out mediump vec4 frag_color;
#if defined(USE_MATERIAL)
@@ -351,25 +324,24 @@ MATERIAL_UNIFORMS
FRAGMENT_SHADER_GLOBALS
void light_compute(
- inout vec4 light,
- inout vec2 light_vec,
- inout float light_height,
- inout vec4 light_color,
- vec2 light_uv,
- inout vec4 shadow_color,
- vec3 normal,
- vec2 uv,
+ inout vec4 light,
+ inout vec2 light_vec,
+ inout float light_height,
+ inout vec4 light_color,
+ vec2 light_uv,
+ inout vec4 shadow_color,
+ vec3 normal,
+ vec2 uv,
#if defined(SCREEN_UV_USED)
- vec2 screen_uv,
+ vec2 screen_uv,
#endif
- vec4 color) {
+ vec4 color) {
#if defined(USE_LIGHT_SHADER_CODE)
LIGHT_SHADER_CODE
#endif
-
}
#ifdef USE_TEXTURE_RECT
@@ -385,48 +357,44 @@ in highp vec2 pixel_size_interp;
uniform int np_repeat_v;
uniform int np_repeat_h;
uniform bool np_draw_center;
-//left top right bottom in pixel coordinates
+// left top right bottom in pixel coordinates
uniform vec4 np_margins;
+float map_ninepatch_axis(float pixel, float draw_size, float tex_pixel_size, float margin_begin, float margin_end, int np_repeat, inout int draw_center) {
-
-float map_ninepatch_axis(float pixel, float draw_size,float tex_pixel_size,float margin_begin,float margin_end,int np_repeat,inout int draw_center) {
-
-
- float tex_size = 1.0/tex_pixel_size;
+ float tex_size = 1.0 / tex_pixel_size;
if (pixel < margin_begin) {
return pixel * tex_pixel_size;
- } else if (pixel >= draw_size-margin_end) {
- return (tex_size-(draw_size-pixel)) * tex_pixel_size;
+ } else if (pixel >= draw_size - margin_end) {
+ return (tex_size - (draw_size - pixel)) * tex_pixel_size;
} else {
- if (!np_draw_center){
+ if (!np_draw_center) {
draw_center--;
}
- if (np_repeat==0) { //stretch
+ if (np_repeat == 0) { //stretch
//convert to ratio
float ratio = (pixel - margin_begin) / (draw_size - margin_begin - margin_end);
//scale to source texture
return (margin_begin + ratio * (tex_size - margin_begin - margin_end)) * tex_pixel_size;
- } else if (np_repeat==1) { //tile
+ } else if (np_repeat == 1) { //tile
//convert to ratio
float ofs = mod((pixel - margin_begin), tex_size - margin_begin - margin_end);
//scale to source texture
return (margin_begin + ofs) * tex_pixel_size;
- } else if (np_repeat==2) { //tile fit
+ } else if (np_repeat == 2) { //tile fit
//convert to ratio
float src_area = draw_size - margin_begin - margin_end;
float dst_area = tex_size - margin_begin - margin_end;
- float scale = max(1.0,floor(src_area / max(dst_area,0.0000001) + 0.5));
+ float scale = max(1.0, floor(src_area / max(dst_area, 0.0000001) + 0.5));
//convert to ratio
float ratio = (pixel - margin_begin) / src_area;
- ratio = mod(ratio * scale,1.0);
+ ratio = mod(ratio * scale, 1.0);
return (margin_begin + ratio * dst_area) * tex_pixel_size;
}
}
-
}
#endif
@@ -443,42 +411,39 @@ void main() {
#ifdef USE_NINEPATCH
- int draw_center=2;
+ int draw_center = 2;
uv = vec2(
- map_ninepatch_axis(pixel_size_interp.x,abs(dst_rect.z),color_texpixel_size.x,np_margins.x,np_margins.z,np_repeat_h,draw_center),
- map_ninepatch_axis(pixel_size_interp.y,abs(dst_rect.w),color_texpixel_size.y,np_margins.y,np_margins.w,np_repeat_v,draw_center)
- );
+ map_ninepatch_axis(pixel_size_interp.x, abs(dst_rect.z), color_texpixel_size.x, np_margins.x, np_margins.z, np_repeat_h, draw_center),
+ map_ninepatch_axis(pixel_size_interp.y, abs(dst_rect.w), color_texpixel_size.y, np_margins.y, np_margins.w, np_repeat_v, draw_center));
- if (draw_center==0) {
- color.a=0.0;
+ if (draw_center == 0) {
+ color.a = 0.0;
}
- uv = uv*src_rect.zw+src_rect.xy; //apply region if needed
+ uv = uv * src_rect.zw + src_rect.xy; //apply region if needed
#endif
if (clip_rect_uv) {
- uv = clamp(uv,src_rect.xy,src_rect.xy+abs(src_rect.zw));
+ uv = clamp(uv, src_rect.xy, src_rect.xy + abs(src_rect.zw));
}
#endif
#if !defined(COLOR_USED)
-//default behavior, texture by color
+ //default behavior, texture by color
#ifdef USE_DISTANCE_FIELD
- const float smoothing = 1.0/32.0;
- float distance = textureLod(color_texture, uv,0.0).a;
+ const float smoothing = 1.0 / 32.0;
+ float distance = textureLod(color_texture, uv, 0.0).a;
color.a = smoothstep(0.5 - smoothing, 0.5 + smoothing, distance) * color.a;
#else
- color *= texture( color_texture, uv );
+ color *= texture(color_texture, uv);
#endif
#endif
-
-
vec3 normal;
#if defined(NORMAL_USED)
@@ -489,59 +454,52 @@ void main() {
#endif
if (use_default_normal) {
- normal.xy = textureLod(normal_texture, uv,0.0).xy * 2.0 - 1.0;
- normal.z = sqrt(1.0-dot(normal.xy,normal.xy));
- normal_used=true;
+ normal.xy = textureLod(normal_texture, uv, 0.0).xy * 2.0 - 1.0;
+ normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
+ normal_used = true;
} else {
- normal = vec3(0.0,0.0,1.0);
+ normal = vec3(0.0, 0.0, 1.0);
}
-
-
#if defined(SCREEN_UV_USED)
- vec2 screen_uv = gl_FragCoord.xy*screen_pixel_size;
+ vec2 screen_uv = gl_FragCoord.xy * screen_pixel_size;
#endif
-
-{
- float normal_depth=1.0;
+ {
+ float normal_depth = 1.0;
#if defined(NORMALMAP_USED)
- vec3 normal_map=vec3(0.0,0.0,1.0);
+ vec3 normal_map = vec3(0.0, 0.0, 1.0);
#endif
FRAGMENT_SHADER_CODE
#if defined(NORMALMAP_USED)
- normal = mix(vec3(0.0,0.0,1.0), normal_map * vec3(2.0,-2.0,1.0) - vec3( 1.0, -1.0, 0.0 ), normal_depth );
+ normal = mix(vec3(0.0, 0.0, 1.0), normal_map * vec3(2.0, -2.0, 1.0) - vec3(1.0, -1.0, 0.0), normal_depth);
#endif
-
-}
+ }
#ifdef DEBUG_ENCODED_32
- highp float enc32 = dot( color,highp vec4(1.0 / (256.0 * 256.0 * 256.0),1.0 / (256.0 * 256.0),1.0 / 256.0,1) );
- color = vec4(vec3(enc32),1.0);
+ highp float enc32 = dot(color, highp vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1));
+ color = vec4(vec3(enc32), 1.0);
#endif
-
- color*=final_modulate;
-
-
+ color *= final_modulate;
#ifdef USE_LIGHTING
vec2 light_vec = transformed_light_uv;
if (normal_used) {
- normal.xy = mat2(local_rot.xy,local_rot.zw) * normal.xy;
+ normal.xy = mat2(local_rot.xy, local_rot.zw) * normal.xy;
}
- float att=1.0;
+ float att = 1.0;
vec2 light_uv = light_uv_interp.xy;
- vec4 light = texture(light_texture,light_uv);
+ vec4 light = texture(light_texture, light_uv);
- if (any(lessThan(light_uv_interp.xy,vec2(0.0,0.0))) || any(greaterThanEqual(light_uv_interp.xy,vec2(1.0,1.0)))) {
- color.a*=light_outside_alpha; //invisible
+ if (any(lessThan(light_uv_interp.xy, vec2(0.0, 0.0))) || any(greaterThanEqual(light_uv_interp.xy, vec2(1.0, 1.0)))) {
+ color.a *= light_outside_alpha; //invisible
} else {
float real_light_height = light_height;
@@ -549,178 +507,176 @@ FRAGMENT_SHADER_CODE
vec4 real_light_shadow_color = light_shadow_color;
#if defined(USE_LIGHT_SHADER_CODE)
-//light is written by the light shader
+ //light is written by the light shader
light_compute(
- light,
- light_vec,
- real_light_height,
- real_light_color,
- light_uv,
- real_light_shadow_color,
- normal,
- uv,
+ light,
+ light_vec,
+ real_light_height,
+ real_light_color,
+ light_uv,
+ real_light_shadow_color,
+ normal,
+ uv,
#if defined(SCREEN_UV_USED)
- screen_uv,
+ screen_uv,
#endif
- color);
+ color);
#endif
light *= real_light_color;
if (normal_used) {
- vec3 light_normal = normalize(vec3(light_vec,-real_light_height));
- light*=max(dot(-light_normal,normal),0.0);
+ vec3 light_normal = normalize(vec3(light_vec, -real_light_height));
+ light *= max(dot(-light_normal, normal), 0.0);
}
- color*=light;
+ color *= light;
#ifdef USE_SHADOWS
light_vec = light_uv_interp.zw; //for shadows
- float angle_to_light = -atan(light_vec.x,light_vec.y);
+ float angle_to_light = -atan(light_vec.x, light_vec.y);
float PI = 3.14159265358979323846264;
/*int i = int(mod(floor((angle_to_light+7.0*PI/6.0)/(4.0*PI/6.0))+1.0, 3.0)); // +1 pq os indices estao em ordem 2,0,1 nos arrays
float ang*/
- float su,sz;
+ float su, sz;
float abs_angle = abs(angle_to_light);
vec2 point;
float sh;
- if (abs_angle<45.0*PI/180.0) {
+ if (abs_angle < 45.0 * PI / 180.0) {
point = light_vec;
- sh=0.0+(1.0/8.0);
- } else if (abs_angle>135.0*PI/180.0) {
+ sh = 0.0 + (1.0 / 8.0);
+ } else if (abs_angle > 135.0 * PI / 180.0) {
point = -light_vec;
- sh = 0.5+(1.0/8.0);
- } else if (angle_to_light>0.0) {
+ sh = 0.5 + (1.0 / 8.0);
+ } else if (angle_to_light > 0.0) {
- point = vec2(light_vec.y,-light_vec.x);
- sh = 0.25+(1.0/8.0);
+ point = vec2(light_vec.y, -light_vec.x);
+ sh = 0.25 + (1.0 / 8.0);
} else {
- point = vec2(-light_vec.y,light_vec.x);
- sh = 0.75+(1.0/8.0);
-
+ point = vec2(-light_vec.y, light_vec.x);
+ sh = 0.75 + (1.0 / 8.0);
}
-
- highp vec4 s = shadow_matrix * vec4(point,0.0,1.0);
- s.xyz/=s.w;
- su=s.x*0.5+0.5;
- sz=s.z*0.5+0.5;
+ highp vec4 s = shadow_matrix * vec4(point, 0.0, 1.0);
+ s.xyz /= s.w;
+ su = s.x * 0.5 + 0.5;
+ sz = s.z * 0.5 + 0.5;
//sz=lightlength(light_vec);
- highp float shadow_attenuation=0.0;
+ highp float shadow_attenuation = 0.0;
#ifdef USE_RGBA_SHADOWS
-#define SHADOW_DEPTH(m_tex,m_uv) dot(texture((m_tex),(m_uv)),vec4(1.0 / (256.0 * 256.0 * 256.0),1.0 / (256.0 * 256.0),1.0 / 256.0,1) )
+#define SHADOW_DEPTH(m_tex, m_uv) dot(texture((m_tex), (m_uv)), vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1))
#else
-#define SHADOW_DEPTH(m_tex,m_uv) (texture((m_tex),(m_uv)).r)
+#define SHADOW_DEPTH(m_tex, m_uv) (texture((m_tex), (m_uv)).r)
#endif
-
-
#ifdef SHADOW_USE_GRADIENT
-#define SHADOW_TEST(m_ofs) { highp float sd = SHADOW_DEPTH(shadow_texture,vec2(m_ofs,sh)); shadow_attenuation+=1.0-smoothstep(sd,sd+shadow_gradient,sz); }
+#define SHADOW_TEST(m_ofs) \
+ { \
+ highp float sd = SHADOW_DEPTH(shadow_texture, vec2(m_ofs, sh)); \
+ shadow_attenuation += 1.0 - smoothstep(sd, sd + shadow_gradient, sz); \
+ }
#else
-#define SHADOW_TEST(m_ofs) { highp float sd = SHADOW_DEPTH(shadow_texture,vec2(m_ofs,sh)); shadow_attenuation+=step(sz,sd); }
+#define SHADOW_TEST(m_ofs) \
+ { \
+ highp float sd = SHADOW_DEPTH(shadow_texture, vec2(m_ofs, sh)); \
+ shadow_attenuation += step(sz, sd); \
+ }
#endif
-
#ifdef SHADOW_FILTER_NEAREST
SHADOW_TEST(su);
#endif
-
#ifdef SHADOW_FILTER_PCF3
- SHADOW_TEST(su+shadowpixel_size);
+ SHADOW_TEST(su + shadowpixel_size);
SHADOW_TEST(su);
- SHADOW_TEST(su-shadowpixel_size);
- shadow_attenuation/=3.0;
+ SHADOW_TEST(su - shadowpixel_size);
+ shadow_attenuation /= 3.0;
#endif
-
#ifdef SHADOW_FILTER_PCF5
- SHADOW_TEST(su+shadowpixel_size*2.0);
- SHADOW_TEST(su+shadowpixel_size);
+ SHADOW_TEST(su + shadowpixel_size * 2.0);
+ SHADOW_TEST(su + shadowpixel_size);
SHADOW_TEST(su);
- SHADOW_TEST(su-shadowpixel_size);
- SHADOW_TEST(su-shadowpixel_size*2.0);
- shadow_attenuation/=5.0;
+ SHADOW_TEST(su - shadowpixel_size);
+ SHADOW_TEST(su - shadowpixel_size * 2.0);
+ shadow_attenuation /= 5.0;
#endif
-
#ifdef SHADOW_FILTER_PCF7
- SHADOW_TEST(su+shadowpixel_size*3.0);
- SHADOW_TEST(su+shadowpixel_size*2.0);
- SHADOW_TEST(su+shadowpixel_size);
+ SHADOW_TEST(su + shadowpixel_size * 3.0);
+ SHADOW_TEST(su + shadowpixel_size * 2.0);
+ SHADOW_TEST(su + shadowpixel_size);
SHADOW_TEST(su);
- SHADOW_TEST(su-shadowpixel_size);
- SHADOW_TEST(su-shadowpixel_size*2.0);
- SHADOW_TEST(su-shadowpixel_size*3.0);
- shadow_attenuation/=7.0;
+ SHADOW_TEST(su - shadowpixel_size);
+ SHADOW_TEST(su - shadowpixel_size * 2.0);
+ SHADOW_TEST(su - shadowpixel_size * 3.0);
+ shadow_attenuation /= 7.0;
#endif
-
#ifdef SHADOW_FILTER_PCF9
- SHADOW_TEST(su+shadowpixel_size*4.0);
- SHADOW_TEST(su+shadowpixel_size*3.0);
- SHADOW_TEST(su+shadowpixel_size*2.0);
- SHADOW_TEST(su+shadowpixel_size);
+ SHADOW_TEST(su + shadowpixel_size * 4.0);
+ SHADOW_TEST(su + shadowpixel_size * 3.0);
+ SHADOW_TEST(su + shadowpixel_size * 2.0);
+ SHADOW_TEST(su + shadowpixel_size);
SHADOW_TEST(su);
- SHADOW_TEST(su-shadowpixel_size);
- SHADOW_TEST(su-shadowpixel_size*2.0);
- SHADOW_TEST(su-shadowpixel_size*3.0);
- SHADOW_TEST(su-shadowpixel_size*4.0);
- shadow_attenuation/=9.0;
+ SHADOW_TEST(su - shadowpixel_size);
+ SHADOW_TEST(su - shadowpixel_size * 2.0);
+ SHADOW_TEST(su - shadowpixel_size * 3.0);
+ SHADOW_TEST(su - shadowpixel_size * 4.0);
+ shadow_attenuation /= 9.0;
#endif
#ifdef SHADOW_FILTER_PCF13
- SHADOW_TEST(su+shadowpixel_size*6.0);
- SHADOW_TEST(su+shadowpixel_size*5.0);
- SHADOW_TEST(su+shadowpixel_size*4.0);
- SHADOW_TEST(su+shadowpixel_size*3.0);
- SHADOW_TEST(su+shadowpixel_size*2.0);
- SHADOW_TEST(su+shadowpixel_size);
+ SHADOW_TEST(su + shadowpixel_size * 6.0);
+ SHADOW_TEST(su + shadowpixel_size * 5.0);
+ SHADOW_TEST(su + shadowpixel_size * 4.0);
+ SHADOW_TEST(su + shadowpixel_size * 3.0);
+ SHADOW_TEST(su + shadowpixel_size * 2.0);
+ SHADOW_TEST(su + shadowpixel_size);
SHADOW_TEST(su);
- SHADOW_TEST(su-shadowpixel_size);
- SHADOW_TEST(su-shadowpixel_size*2.0);
- SHADOW_TEST(su-shadowpixel_size*3.0);
- SHADOW_TEST(su-shadowpixel_size*4.0);
- SHADOW_TEST(su-shadowpixel_size*5.0);
- SHADOW_TEST(su-shadowpixel_size*6.0);
- shadow_attenuation/=13.0;
+ SHADOW_TEST(su - shadowpixel_size);
+ SHADOW_TEST(su - shadowpixel_size * 2.0);
+ SHADOW_TEST(su - shadowpixel_size * 3.0);
+ SHADOW_TEST(su - shadowpixel_size * 4.0);
+ SHADOW_TEST(su - shadowpixel_size * 5.0);
+ SHADOW_TEST(su - shadowpixel_size * 6.0);
+ shadow_attenuation /= 13.0;
#endif
- //color*=shadow_attenuation;
- color=mix(real_light_shadow_color,color,shadow_attenuation);
+ //color *= shadow_attenuation;
+ color = mix(real_light_shadow_color, color, shadow_attenuation);
//use shadows
#endif
}
//use lighting
#endif
- //color.rgb*=color.a;
+ //color.rgb *= color.a;
frag_color = color;
-
}
diff --git a/drivers/gles3/shaders/canvas_shadow.glsl b/drivers/gles3/shaders/canvas_shadow.glsl
index c757990de0..b06e9076d9 100644
--- a/drivers/gles3/shaders/canvas_shadow.glsl
+++ b/drivers/gles3/shaders/canvas_shadow.glsl
@@ -1,20 +1,18 @@
[vertex]
-
-
uniform highp mat4 projection_matrix;
uniform highp mat4 light_matrix;
uniform highp mat4 world_matrix;
uniform highp float distance_norm;
-layout(location=0) in highp vec3 vertex;
+layout(location = 0) in highp vec3 vertex;
out highp vec4 position_interp;
void main() {
- gl_Position = projection_matrix * (light_matrix * (world_matrix * vec4(vertex,1.0)));
- position_interp=gl_Position;
+ gl_Position = projection_matrix * (light_matrix * (world_matrix * vec4(vertex, 1.0)));
+ position_interp = gl_Position;
}
[fragment]
@@ -22,28 +20,22 @@ void main() {
in highp vec4 position_interp;
#ifdef USE_RGBA_SHADOWS
-
-layout(location=0) out lowp vec4 distance_buf;
-
+layout(location = 0) out lowp vec4 distance_buf;
#else
-
-layout(location=0) out highp float distance_buf;
-
+layout(location = 0) out highp float distance_buf;
#endif
void main() {
- highp float depth = ((position_interp.z / position_interp.w) + 1.0) * 0.5 + 0.0;//bias;
+ highp float depth = ((position_interp.z / position_interp.w) + 1.0) * 0.5 + 0.0; // bias
#ifdef USE_RGBA_SHADOWS
highp vec4 comp = fract(depth * vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0));
comp -= comp.xxyz * vec4(0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);
- distance_buf=comp;
+ distance_buf = comp;
#else
- distance_buf=depth;
-
+ distance_buf = depth;
#endif
}
-
diff --git a/drivers/gles3/shaders/copy.glsl b/drivers/gles3/shaders/copy.glsl
index 1b7c626d3c..e17b71df27 100644
--- a/drivers/gles3/shaders/copy.glsl
+++ b/drivers/gles3/shaders/copy.glsl
@@ -1,13 +1,12 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
+layout(location = 0) in highp vec4 vertex_attrib;
#if defined(USE_CUBEMAP) || defined(USE_PANORAMA)
-layout(location=4) in vec3 cube_in;
+layout(location = 4) in vec3 cube_in;
#else
-layout(location=4) in vec2 uv_in;
+layout(location = 4) in vec2 uv_in;
#endif
-layout(location=5) in vec2 uv2_in;
+layout(location = 5) in vec2 uv2_in;
#if defined(USE_CUBEMAP) || defined(USE_PANORAMA)
out vec3 cube_interp;
@@ -32,7 +31,7 @@ void main() {
#else
uv_interp = uv_in;
#ifdef V_FLIP
- uv_interp.y = 1.0-uv_interp.y;
+ uv_interp.y = 1.0 - uv_interp.y;
#endif
#endif
@@ -44,7 +43,6 @@ void main() {
uv_interp = copy_section.xy + uv_interp * copy_section.zw;
gl_Position.xy = (copy_section.xy + (gl_Position.xy * 0.5 + 0.5) * copy_section.zw) * 2.0 - 1.0;
#endif
-
}
[fragment]
@@ -72,38 +70,33 @@ uniform samplerCube source_cube; //texunit:0
uniform sampler2D source; //texunit:0
#endif
-
#ifdef USE_MULTIPLIER
uniform float multiplier;
#endif
#if defined(USE_PANORAMA) || defined(USE_ASYM_PANO)
-vec4 texturePanorama(vec3 normal,sampler2D pano ) {
+vec4 texturePanorama(vec3 normal, sampler2D pano) {
vec2 st = vec2(
- atan(normal.x, normal.z),
- acos(normal.y)
- );
-
- if(st.x < 0.0)
- st.x += M_PI*2.0;
+ atan(normal.x, normal.z),
+ acos(normal.y));
- st/=vec2(M_PI*2.0,M_PI);
+ if (st.x < 0.0)
+ st.x += M_PI * 2.0;
- return textureLod(pano,st,0.0);
+ st /= vec2(M_PI * 2.0, M_PI);
+ return textureLod(pano, st, 0.0);
}
#endif
-
uniform float stuff;
uniform vec2 pixel_size;
in vec2 uv2_interp;
-
#ifdef USE_BCS
uniform vec3 bcs;
@@ -118,20 +111,17 @@ uniform sampler2D color_correction; //texunit:1
layout(location = 0) out vec4 frag_color;
-
-
-
void main() {
//vec4 color = color_interp;
#ifdef USE_PANORAMA
- vec4 color = texturePanorama( normalize(cube_interp), source );
+ vec4 color = texturePanorama(normalize(cube_interp), source);
#elif defined(USE_ASYM_PANO)
- // When an asymmetrical projection matrix is used (applicable for stereoscopic rendering i.e. VR) we need to do this calculation per fragment to get a perspective correct result.
+ // When an asymmetrical projection matrix is used (applicable for stereoscopic rendering i.e. VR) we need to do this calculation per fragment to get a perspective correct result.
// Note that we're ignoring the x-offset for IPD, with Z sufficiently in the distance it becomes neglectible, as a result we could probably just set cube_normal.z to -1.
// The Matrix[2][0] (= asym_proj.x) and Matrix[2][1] (= asym_proj.z) values are what provide the right shift in the image.
@@ -142,72 +132,68 @@ void main() {
cube_normal = mat3(pano_transform) * cube_normal;
cube_normal.z = -cube_normal.z;
- vec4 color = texturePanorama( normalize(cube_normal.xyz), source );
+ vec4 color = texturePanorama(normalize(cube_normal.xyz), source);
#elif defined(USE_CUBEMAP)
- vec4 color = texture( source_cube, normalize(cube_interp) );
+ vec4 color = texture(source_cube, normalize(cube_interp));
#else
- vec4 color = textureLod( source, uv_interp,0.0 );
+ vec4 color = textureLod(source, uv_interp, 0.0);
#endif
-
-
#ifdef LINEAR_TO_SRGB
//regular Linear -> SRGB conversion
vec3 a = vec3(0.055);
- color.rgb = mix( (vec3(1.0)+a)*pow(color.rgb,vec3(1.0/2.4))-a , 12.92*color.rgb , lessThan(color.rgb,vec3(0.0031308)));
+ color.rgb = mix((vec3(1.0) + a) * pow(color.rgb, vec3(1.0 / 2.4)) - a, 12.92 * color.rgb, lessThan(color.rgb, vec3(0.0031308)));
#endif
#ifdef SRGB_TO_LINEAR
- color.rgb = mix(pow((color.rgb + vec3(0.055)) * (1.0 / (1.0 + 0.055)),vec3(2.4)),color.rgb * (1.0 / 12.92),lessThan(color.rgb,vec3(0.04045)));
+ color.rgb = mix(pow((color.rgb + vec3(0.055)) * (1.0 / (1.0 + 0.055)), vec3(2.4)), color.rgb * (1.0 / 12.92), lessThan(color.rgb, vec3(0.04045)));
#endif
#ifdef DEBUG_GRADIENT
- color.rg=uv_interp;
- color.b=0.0;
+ color.rg = uv_interp;
+ color.b = 0.0;
#endif
#ifdef DISABLE_ALPHA
- color.a=1.0;
+ color.a = 1.0;
#endif
-
#ifdef GAUSSIAN_HORIZONTAL
- color*=0.38774;
- color+=texture( source, uv_interp+vec2( 1.0, 0.0)*pixel_size )*0.24477;
- color+=texture( source, uv_interp+vec2( 2.0, 0.0)*pixel_size )*0.06136;
- color+=texture( source, uv_interp+vec2(-1.0, 0.0)*pixel_size )*0.24477;
- color+=texture( source, uv_interp+vec2(-2.0, 0.0)*pixel_size )*0.06136;
+ color *= 0.38774;
+ color += texture(source, uv_interp + vec2(1.0, 0.0) * pixel_size) * 0.24477;
+ color += texture(source, uv_interp + vec2(2.0, 0.0) * pixel_size) * 0.06136;
+ color += texture(source, uv_interp + vec2(-1.0, 0.0) * pixel_size) * 0.24477;
+ color += texture(source, uv_interp + vec2(-2.0, 0.0) * pixel_size) * 0.06136;
#endif
#ifdef GAUSSIAN_VERTICAL
- color*=0.38774;
- color+=texture( source, uv_interp+vec2( 0.0, 1.0)*pixel_size )*0.24477;
- color+=texture( source, uv_interp+vec2( 0.0, 2.0)*pixel_size )*0.06136;
- color+=texture( source, uv_interp+vec2( 0.0,-1.0)*pixel_size )*0.24477;
- color+=texture( source, uv_interp+vec2( 0.0,-2.0)*pixel_size )*0.06136;
+ color *= 0.38774;
+ color += texture(source, uv_interp + vec2(0.0, 1.0) * pixel_size) * 0.24477;
+ color += texture(source, uv_interp + vec2(0.0, 2.0) * pixel_size) * 0.06136;
+ color += texture(source, uv_interp + vec2(0.0, -1.0) * pixel_size) * 0.24477;
+ color += texture(source, uv_interp + vec2(0.0, -2.0) * pixel_size) * 0.06136;
#endif
#ifdef USE_BCS
- color.rgb = mix(vec3(0.0),color.rgb,bcs.x);
- color.rgb = mix(vec3(0.5),color.rgb,bcs.y);
- color.rgb = mix(vec3(dot(vec3(1.0),color.rgb)*0.33333),color.rgb,bcs.z);
+ color.rgb = mix(vec3(0.0), color.rgb, bcs.x);
+ color.rgb = mix(vec3(0.5), color.rgb, bcs.y);
+ color.rgb = mix(vec3(dot(vec3(1.0), color.rgb) * 0.33333), color.rgb, bcs.z);
#endif
#ifdef USE_COLOR_CORRECTION
- color.r = texture(color_correction,vec2(color.r,0.0)).r;
- color.g = texture(color_correction,vec2(color.g,0.0)).g;
- color.b = texture(color_correction,vec2(color.b,0.0)).b;
+ color.r = texture(color_correction, vec2(color.r, 0.0)).r;
+ color.g = texture(color_correction, vec2(color.g, 0.0)).g;
+ color.b = texture(color_correction, vec2(color.b, 0.0)).b;
#endif
#ifdef USE_MULTIPLIER
- color.rgb*=multiplier;
+ color.rgb *= multiplier;
#endif
frag_color = color;
}
-
diff --git a/drivers/gles3/shaders/cube_to_dp.glsl b/drivers/gles3/shaders/cube_to_dp.glsl
index 5ffc78c0b9..2911746bb7 100644
--- a/drivers/gles3/shaders/cube_to_dp.glsl
+++ b/drivers/gles3/shaders/cube_to_dp.glsl
@@ -1,8 +1,7 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
@@ -14,7 +13,6 @@ void main() {
[fragment]
-
uniform highp samplerCube source_cube; //texunit:0
in vec2 uv_interp;
@@ -25,55 +23,53 @@ uniform highp float bias;
void main() {
- highp vec3 normal = vec3( uv_interp * 2.0 - 1.0, 0.0 );
-/*
- if(z_flip) {
- normal.z = 0.5 - 0.5*((normal.x * normal.x) + (normal.y * normal.y));
+ highp vec3 normal = vec3(uv_interp * 2.0 - 1.0, 0.0);
+ /*
+ if (z_flip) {
+ normal.z = 0.5 - 0.5 * ((normal.x * normal.x) + (normal.y * normal.y));
} else {
- normal.z = -0.5 + 0.5*((normal.x * normal.x) + (normal.y * normal.y));
+ normal.z = -0.5 + 0.5 * ((normal.x * normal.x) + (normal.y * normal.y));
}
-*/
+ */
- //normal.z = sqrt(1.0-dot(normal.xy,normal.xy));
- //normal.xy*=1.0+normal.z;
+ //normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
+ //normal.xy *= 1.0 + normal.z;
- normal.z = 0.5 - 0.5*((normal.x * normal.x) + (normal.y * normal.y));
+ normal.z = 0.5 - 0.5 * ((normal.x * normal.x) + (normal.y * normal.y));
+ normal = normalize(normal);
+ /*
+ normal.z = 0.5;
normal = normalize(normal);
+ */
-/*
- normal.z=0.5;
- normal=normalize(normal);
-*/
if (!z_flip) {
- normal.z=-normal.z;
+ normal.z = -normal.z;
}
- //normal = normalize(vec3( uv_interp * 2.0 - 1.0, 1.0 ));
- float depth = texture(source_cube,normal).r;
+ //normal = normalize(vec3(uv_interp * 2.0 - 1.0, 1.0));
+ float depth = texture(source_cube, normal).r;
// absolute values for direction cosines, bigger value equals closer to basis axis
vec3 unorm = abs(normal);
- if ( (unorm.x >= unorm.y) && (unorm.x >= unorm.z) ) {
- // x code
- unorm = normal.x > 0.0 ? vec3( 1.0, 0.0, 0.0 ) : vec3( -1.0, 0.0, 0.0 ) ;
- } else if ( (unorm.y > unorm.x) && (unorm.y >= unorm.z) ) {
- // y code
- unorm = normal.y > 0.0 ? vec3( 0.0, 1.0, 0.0 ) : vec3( 0.0, -1.0, 0.0 ) ;
- } else if ( (unorm.z > unorm.x) && (unorm.z > unorm.y) ) {
- // z code
- unorm = normal.z > 0.0 ? vec3( 0.0, 0.0, 1.0 ) : vec3( 0.0, 0.0, -1.0 ) ;
+ if ((unorm.x >= unorm.y) && (unorm.x >= unorm.z)) {
+ // x code
+ unorm = normal.x > 0.0 ? vec3(1.0, 0.0, 0.0) : vec3(-1.0, 0.0, 0.0);
+ } else if ((unorm.y > unorm.x) && (unorm.y >= unorm.z)) {
+ // y code
+ unorm = normal.y > 0.0 ? vec3(0.0, 1.0, 0.0) : vec3(0.0, -1.0, 0.0);
+ } else if ((unorm.z > unorm.x) && (unorm.z > unorm.y)) {
+ // z code
+ unorm = normal.z > 0.0 ? vec3(0.0, 0.0, 1.0) : vec3(0.0, 0.0, -1.0);
} else {
- // oh-no we messed up code
- // has to be
- unorm = vec3( 1.0, 0.0, 0.0 );
+ // oh-no we messed up code
+ // has to be
+ unorm = vec3(1.0, 0.0, 0.0);
}
- float depth_fix = 1.0 / dot(normal,unorm);
-
+ float depth_fix = 1.0 / dot(normal, unorm);
depth = 2.0 * depth - 1.0;
float linear_depth = 2.0 * z_near * z_far / (z_far + z_near - depth * (z_far - z_near));
- gl_FragDepth = (linear_depth*depth_fix+bias) / z_far;
+ gl_FragDepth = (linear_depth * depth_fix + bias) / z_far;
}
-
diff --git a/drivers/gles3/shaders/cubemap_filter.glsl b/drivers/gles3/shaders/cubemap_filter.glsl
index 485fbb6ee0..1462aacf89 100644
--- a/drivers/gles3/shaders/cubemap_filter.glsl
+++ b/drivers/gles3/shaders/cubemap_filter.glsl
@@ -1,21 +1,19 @@
[vertex]
+layout(location = 0) in highp vec2 vertex;
-layout(location=0) in highp vec2 vertex;
-
-layout(location=4) in highp vec2 uv;
+layout(location = 4) in highp vec2 uv;
out highp vec2 uv_interp;
void main() {
- uv_interp=uv;
- gl_Position=vec4(vertex,0,1);
+ uv_interp = uv;
+ gl_Position = vec4(vertex, 0, 1);
}
[fragment]
-
precision highp float;
precision highp int;
@@ -36,90 +34,85 @@ uniform int face_id;
uniform float roughness;
in highp vec2 uv_interp;
-
layout(location = 0) out vec4 frag_color;
-
#define M_PI 3.14159265359
-
-vec3 texelCoordToVec(vec2 uv, int faceID)
-{
- mat3 faceUvVectors[6];
-/*
- // -x
- faceUvVectors[1][0] = vec3(0.0, 0.0, 1.0); // u -> +z
- faceUvVectors[1][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[1][2] = vec3(-1.0, 0.0, 0.0); // -x face
-
- // +x
- faceUvVectors[0][0] = vec3(0.0, 0.0, -1.0); // u -> -z
- faceUvVectors[0][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[0][2] = vec3(1.0, 0.0, 0.0); // +x face
-
- // -y
- faceUvVectors[3][0] = vec3(1.0, 0.0, 0.0); // u -> +x
- faceUvVectors[3][1] = vec3(0.0, 0.0, -1.0); // v -> -z
- faceUvVectors[3][2] = vec3(0.0, -1.0, 0.0); // -y face
-
- // +y
- faceUvVectors[2][0] = vec3(1.0, 0.0, 0.0); // u -> +x
- faceUvVectors[2][1] = vec3(0.0, 0.0, 1.0); // v -> +z
- faceUvVectors[2][2] = vec3(0.0, 1.0, 0.0); // +y face
-
- // -z
- faceUvVectors[5][0] = vec3(-1.0, 0.0, 0.0); // u -> -x
- faceUvVectors[5][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[5][2] = vec3(0.0, 0.0, -1.0); // -z face
-
- // +z
- faceUvVectors[4][0] = vec3(1.0, 0.0, 0.0); // u -> +x
- faceUvVectors[4][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[4][2] = vec3(0.0, 0.0, 1.0); // +z face
-*/
-
- // -x
- faceUvVectors[0][0] = vec3(0.0, 0.0, 1.0); // u -> +z
- faceUvVectors[0][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[0][2] = vec3(-1.0, 0.0, 0.0); // -x face
-
- // +x
- faceUvVectors[1][0] = vec3(0.0, 0.0, -1.0); // u -> -z
- faceUvVectors[1][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[1][2] = vec3(1.0, 0.0, 0.0); // +x face
-
- // -y
- faceUvVectors[2][0] = vec3(1.0, 0.0, 0.0); // u -> +x
- faceUvVectors[2][1] = vec3(0.0, 0.0, -1.0); // v -> -z
- faceUvVectors[2][2] = vec3(0.0, -1.0, 0.0); // -y face
-
- // +y
- faceUvVectors[3][0] = vec3(1.0, 0.0, 0.0); // u -> +x
- faceUvVectors[3][1] = vec3(0.0, 0.0, 1.0); // v -> +z
- faceUvVectors[3][2] = vec3(0.0, 1.0, 0.0); // +y face
-
- // -z
- faceUvVectors[4][0] = vec3(-1.0, 0.0, 0.0); // u -> -x
- faceUvVectors[4][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[4][2] = vec3(0.0, 0.0, -1.0); // -z face
-
- // +z
- faceUvVectors[5][0] = vec3(1.0, 0.0, 0.0); // u -> +x
- faceUvVectors[5][1] = vec3(0.0, -1.0, 0.0); // v -> -y
- faceUvVectors[5][2] = vec3(0.0, 0.0, 1.0); // +z face
-
- // out = u * s_faceUv[0] + v * s_faceUv[1] + s_faceUv[2].
- vec3 result = (faceUvVectors[faceID][0] * uv.x) + (faceUvVectors[faceID][1] * uv.y) + faceUvVectors[faceID][2];
- return normalize(result);
+vec3 texelCoordToVec(vec2 uv, int faceID) {
+ mat3 faceUvVectors[6];
+ /*
+ // -x
+ faceUvVectors[1][0] = vec3(0.0, 0.0, 1.0); // u -> +z
+ faceUvVectors[1][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[1][2] = vec3(-1.0, 0.0, 0.0); // -x face
+
+ // +x
+ faceUvVectors[0][0] = vec3(0.0, 0.0, -1.0); // u -> -z
+ faceUvVectors[0][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[0][2] = vec3(1.0, 0.0, 0.0); // +x face
+
+ // -y
+ faceUvVectors[3][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[3][1] = vec3(0.0, 0.0, -1.0); // v -> -z
+ faceUvVectors[3][2] = vec3(0.0, -1.0, 0.0); // -y face
+
+ // +y
+ faceUvVectors[2][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[2][1] = vec3(0.0, 0.0, 1.0); // v -> +z
+ faceUvVectors[2][2] = vec3(0.0, 1.0, 0.0); // +y face
+
+ // -z
+ faceUvVectors[5][0] = vec3(-1.0, 0.0, 0.0); // u -> -x
+ faceUvVectors[5][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[5][2] = vec3(0.0, 0.0, -1.0); // -z face
+
+ // +z
+ faceUvVectors[4][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[4][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[4][2] = vec3(0.0, 0.0, 1.0); // +z face
+ */
+
+ // -x
+ faceUvVectors[0][0] = vec3(0.0, 0.0, 1.0); // u -> +z
+ faceUvVectors[0][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[0][2] = vec3(-1.0, 0.0, 0.0); // -x face
+
+ // +x
+ faceUvVectors[1][0] = vec3(0.0, 0.0, -1.0); // u -> -z
+ faceUvVectors[1][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[1][2] = vec3(1.0, 0.0, 0.0); // +x face
+
+ // -y
+ faceUvVectors[2][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[2][1] = vec3(0.0, 0.0, -1.0); // v -> -z
+ faceUvVectors[2][2] = vec3(0.0, -1.0, 0.0); // -y face
+
+ // +y
+ faceUvVectors[3][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[3][1] = vec3(0.0, 0.0, 1.0); // v -> +z
+ faceUvVectors[3][2] = vec3(0.0, 1.0, 0.0); // +y face
+
+ // -z
+ faceUvVectors[4][0] = vec3(-1.0, 0.0, 0.0); // u -> -x
+ faceUvVectors[4][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[4][2] = vec3(0.0, 0.0, -1.0); // -z face
+
+ // +z
+ faceUvVectors[5][0] = vec3(1.0, 0.0, 0.0); // u -> +x
+ faceUvVectors[5][1] = vec3(0.0, -1.0, 0.0); // v -> -y
+ faceUvVectors[5][2] = vec3(0.0, 0.0, 1.0); // +z face
+
+ // out = u * s_faceUv[0] + v * s_faceUv[1] + s_faceUv[2].
+ vec3 result = (faceUvVectors[faceID][0] * uv.x) + (faceUvVectors[faceID][1] * uv.y) + faceUvVectors[faceID][2];
+ return normalize(result);
}
-vec3 ImportanceSampleGGX(vec2 Xi, float Roughness, vec3 N)
-{
+vec3 ImportanceSampleGGX(vec2 Xi, float Roughness, vec3 N) {
float a = Roughness * Roughness; // DISNEY'S ROUGHNESS [see Burley'12 siggraph]
// Compute distribution direction
float Phi = 2.0 * M_PI * Xi.x;
- float CosTheta = sqrt((1.0 - Xi.y) / (1.0 + (a*a - 1.0) * Xi.y));
+ float CosTheta = sqrt((1.0 - Xi.y) / (1.0 + (a * a - 1.0) * Xi.y));
float SinTheta = sqrt(1.0 - CosTheta * CosTheta);
// Convert to spherical direction
@@ -137,33 +130,29 @@ vec3 ImportanceSampleGGX(vec2 Xi, float Roughness, vec3 N)
}
// http://graphicrants.blogspot.com.au/2013/08/specular-brdf-reference.html
-float GGX(float NdotV, float a)
-{
+float GGX(float NdotV, float a) {
float k = a / 2.0;
return NdotV / (NdotV * (1.0 - k) + k);
}
// http://graphicrants.blogspot.com.au/2013/08/specular-brdf-reference.html
-float G_Smith(float a, float nDotV, float nDotL)
-{
+float G_Smith(float a, float nDotV, float nDotL) {
return GGX(nDotL, a * a) * GGX(nDotV, a * a);
}
float radicalInverse_VdC(uint bits) {
- bits = (bits << 16u) | (bits >> 16u);
- bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u);
- bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u);
- bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u);
- bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u);
- return float(bits) * 2.3283064365386963e-10; // / 0x100000000
+ bits = (bits << 16u) | (bits >> 16u);
+ bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u);
+ bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u);
+ bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u);
+ bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u);
+ return float(bits) * 2.3283064365386963e-10; // / 0x100000000
}
vec2 Hammersley(uint i, uint N) {
- return vec2(float(i)/float(N), radicalInverse_VdC(i));
+ return vec2(float(i) / float(N), radicalInverse_VdC(i));
}
-
-
#ifdef LOW_QUALITY
#define SAMPLE_COUNT 64u
@@ -178,37 +167,33 @@ uniform bool z_flip;
#ifdef USE_SOURCE_PANORAMA
-vec4 texturePanorama(vec3 normal,sampler2D pano ) {
+vec4 texturePanorama(vec3 normal, sampler2D pano) {
vec2 st = vec2(
- atan(normal.x, normal.z),
- acos(normal.y)
- );
-
- if(st.x < 0.0)
- st.x += M_PI*2.0;
+ atan(normal.x, normal.z),
+ acos(normal.y));
- st/=vec2(M_PI*2.0,M_PI);
+ if (st.x < 0.0)
+ st.x += M_PI * 2.0;
- return textureLod(pano,st,0.0);
+ st /= vec2(M_PI * 2.0, M_PI);
+ return textureLod(pano, st, 0.0);
}
#endif
#ifdef USE_SOURCE_DUAL_PARABOLOID_ARRAY
-
vec4 textureDualParaboloidArray(vec3 normal) {
vec3 norm = normalize(normal);
- norm.xy/=1.0+abs(norm.z);
- norm.xy=norm.xy * vec2(0.5,0.25) + vec2(0.5,0.25);
- if (norm.z<0.0) {
- norm.y=0.5-norm.y+0.5;
+ norm.xy /= 1.0 + abs(norm.z);
+ norm.xy = norm.xy * vec2(0.5, 0.25) + vec2(0.5, 0.25);
+ if (norm.z < 0.0) {
+ norm.y = 0.5 - norm.y + 0.5;
}
- return textureLod(source_dual_paraboloid_array, vec3(norm.xy, float(source_array_index) ), 0.0);
-
+ return textureLod(source_dual_paraboloid_array, vec3(norm.xy, float(source_array_index)), 0.0);
}
#endif
@@ -217,19 +202,18 @@ void main() {
#ifdef USE_DUAL_PARABOLOID
- vec3 N = vec3( uv_interp * 2.0 - 1.0, 0.0 );
- N.z = 0.5 - 0.5*((N.x * N.x) + (N.y * N.y));
+ vec3 N = vec3(uv_interp * 2.0 - 1.0, 0.0);
+ N.z = 0.5 - 0.5 * ((N.x * N.x) + (N.y * N.y));
N = normalize(N);
if (z_flip) {
- N.y=-N.y; //y is flipped to improve blending between both sides
- N.z=-N.z;
+ N.y = -N.y; //y is flipped to improve blending between both sides
+ N.z = -N.z;
}
-
#else
- vec2 uv = (uv_interp * 2.0) - 1.0;
- vec3 N = texelCoordToVec(uv, face_id);
+ vec2 uv = (uv_interp * 2.0) - 1.0;
+ vec3 N = texelCoordToVec(uv, face_id);
#endif
//vec4 color = color_interp;
@@ -237,49 +221,46 @@ void main() {
#ifdef USE_SOURCE_PANORAMA
- frag_color=vec4(texturePanorama(N,source_panorama).rgb,1.0);
+ frag_color = vec4(texturePanorama(N, source_panorama).rgb, 1.0);
#endif
#ifdef USE_SOURCE_DUAL_PARABOLOID_ARRAY
- frag_color=vec4(textureDualParaboloidArray(N).rgb,1.0);
+ frag_color = vec4(textureDualParaboloidArray(N).rgb, 1.0);
#endif
#if !defined(USE_SOURCE_DUAL_PARABOLOID_ARRAY) && !defined(USE_SOURCE_PANORAMA)
- N.y=-N.y;
- frag_color=vec4(texture(N,source_cube).rgb,1.0);
+ N.y = -N.y;
+ frag_color = vec4(texture(N, source_cube).rgb, 1.0);
#endif
-
-
-
#else
vec4 sum = vec4(0.0, 0.0, 0.0, 0.0);
- for(uint sampleNum = 0u; sampleNum < SAMPLE_COUNT; sampleNum++) {
+ for (uint sampleNum = 0u; sampleNum < SAMPLE_COUNT; sampleNum++) {
vec2 xi = Hammersley(sampleNum, SAMPLE_COUNT);
- vec3 H = ImportanceSampleGGX( xi, roughness, N );
- vec3 V = N;
- vec3 L = normalize(2.0 * dot( V, H ) * H - V);
+ vec3 H = ImportanceSampleGGX(xi, roughness, N);
+ vec3 V = N;
+ vec3 L = normalize(2.0 * dot(V, H) * H - V);
- float ndotl = clamp(dot(N, L),0.0,1.0);
+ float ndotl = clamp(dot(N, L), 0.0, 1.0);
- if (ndotl>0.0) {
+ if (ndotl > 0.0) {
#ifdef USE_SOURCE_PANORAMA
- sum.rgb += texturePanorama(H,source_panorama).rgb *ndotl;
+ sum.rgb += texturePanorama(H, source_panorama).rgb * ndotl;
#endif
#ifdef USE_SOURCE_DUAL_PARABOLOID_ARRAY
- sum.rgb += textureDualParaboloidArray(H).rgb *ndotl;
+ sum.rgb += textureDualParaboloidArray(H).rgb * ndotl;
#endif
#if !defined(USE_SOURCE_DUAL_PARABOLOID_ARRAY) && !defined(USE_SOURCE_PANORAMA)
- H.y=-H.y;
- sum.rgb += textureLod(source_cube, H, 0.0).rgb *ndotl;
+ H.y = -H.y;
+ sum.rgb += textureLod(source_cube, H, 0.0).rgb * ndotl;
#endif
sum.a += ndotl;
}
@@ -289,6 +270,4 @@ void main() {
frag_color = vec4(sum.rgb, 1.0);
#endif
-
}
-
diff --git a/drivers/gles3/shaders/effect_blur.glsl b/drivers/gles3/shaders/effect_blur.glsl
index c8567b4d53..3872ee8d1d 100644
--- a/drivers/gles3/shaders/effect_blur.glsl
+++ b/drivers/gles3/shaders/effect_blur.glsl
@@ -1,8 +1,7 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
@@ -39,7 +38,6 @@ uniform sampler2D source_ssao; //texunit:1
uniform float lod;
uniform vec2 pixel_size;
-
layout(location = 0) out vec4 frag_color;
#ifdef SSAO_MERGE
@@ -48,31 +46,31 @@ uniform vec4 ssao_color;
#endif
-#if defined (GLOW_GAUSSIAN_HORIZONTAL) || defined(GLOW_GAUSSIAN_VERTICAL)
+#if defined(GLOW_GAUSSIAN_HORIZONTAL) || defined(GLOW_GAUSSIAN_VERTICAL)
uniform float glow_strength;
#endif
-#if defined(DOF_FAR_BLUR) || defined (DOF_NEAR_BLUR)
+#if defined(DOF_FAR_BLUR) || defined(DOF_NEAR_BLUR)
#ifdef DOF_QUALITY_LOW
-const int dof_kernel_size=5;
-const int dof_kernel_from=2;
-const float dof_kernel[5] = float[] (0.153388,0.221461,0.250301,0.221461,0.153388);
+const int dof_kernel_size = 5;
+const int dof_kernel_from = 2;
+const float dof_kernel[5] = float[](0.153388, 0.221461, 0.250301, 0.221461, 0.153388);
#endif
#ifdef DOF_QUALITY_MEDIUM
-const int dof_kernel_size=11;
-const int dof_kernel_from=5;
-const float dof_kernel[11] = float[] (0.055037,0.072806,0.090506,0.105726,0.116061,0.119726,0.116061,0.105726,0.090506,0.072806,0.055037);
+const int dof_kernel_size = 11;
+const int dof_kernel_from = 5;
+const float dof_kernel[11] = float[](0.055037, 0.072806, 0.090506, 0.105726, 0.116061, 0.119726, 0.116061, 0.105726, 0.090506, 0.072806, 0.055037);
#endif
#ifdef DOF_QUALITY_HIGH
-const int dof_kernel_size=21;
-const int dof_kernel_from=10;
-const float dof_kernel[21] = float[] (0.028174,0.032676,0.037311,0.041944,0.046421,0.050582,0.054261,0.057307,0.059587,0.060998,0.061476,0.060998,0.059587,0.057307,0.054261,0.050582,0.046421,0.041944,0.037311,0.032676,0.028174);
+const int dof_kernel_size = 21;
+const int dof_kernel_from = 10;
+const float dof_kernel[21] = float[](0.028174, 0.032676, 0.037311, 0.041944, 0.046421, 0.050582, 0.054261, 0.057307, 0.059587, 0.060998, 0.061476, 0.060998, 0.059587, 0.057307, 0.054261, 0.050582, 0.046421, 0.041944, 0.037311, 0.032676, 0.028174);
#endif
uniform sampler2D dof_source_depth; //texunit:1
@@ -88,7 +86,6 @@ uniform sampler2D source_dof_original; //texunit:2
#endif
-
#ifdef GLOW_FIRST_PASS
uniform float exposure;
@@ -112,53 +109,51 @@ uniform float camera_z_near;
void main() {
-
-
#ifdef GAUSSIAN_HORIZONTAL
vec2 pix_size = pixel_size;
- pix_size*=0.5; //reading from larger buffer, so use more samples
- vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pix_size,lod )*0.214607;
- color+=textureLod( source_color, uv_interp+vec2( 1.0, 0.0)*pix_size,lod )*0.189879;
- color+=textureLod( source_color, uv_interp+vec2( 2.0, 0.0)*pix_size,lod )*0.157305;
- color+=textureLod( source_color, uv_interp+vec2( 3.0, 0.0)*pix_size,lod )*0.071303;
- color+=textureLod( source_color, uv_interp+vec2(-1.0, 0.0)*pix_size,lod )*0.189879;
- color+=textureLod( source_color, uv_interp+vec2(-2.0, 0.0)*pix_size,lod )*0.157305;
- color+=textureLod( source_color, uv_interp+vec2(-3.0, 0.0)*pix_size,lod )*0.071303;
+ pix_size *= 0.5; //reading from larger buffer, so use more samples
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pix_size, lod) * 0.214607;
+ color += textureLod(source_color, uv_interp + vec2(1.0, 0.0) * pix_size, lod) * 0.189879;
+ color += textureLod(source_color, uv_interp + vec2(2.0, 0.0) * pix_size, lod) * 0.157305;
+ color += textureLod(source_color, uv_interp + vec2(3.0, 0.0) * pix_size, lod) * 0.071303;
+ color += textureLod(source_color, uv_interp + vec2(-1.0, 0.0) * pix_size, lod) * 0.189879;
+ color += textureLod(source_color, uv_interp + vec2(-2.0, 0.0) * pix_size, lod) * 0.157305;
+ color += textureLod(source_color, uv_interp + vec2(-3.0, 0.0) * pix_size, lod) * 0.071303;
frag_color = color;
#endif
#ifdef GAUSSIAN_VERTICAL
- vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pixel_size,lod )*0.38774;
- color+=textureLod( source_color, uv_interp+vec2( 0.0, 1.0)*pixel_size,lod )*0.24477;
- color+=textureLod( source_color, uv_interp+vec2( 0.0, 2.0)*pixel_size,lod )*0.06136;
- color+=textureLod( source_color, uv_interp+vec2( 0.0,-1.0)*pixel_size,lod )*0.24477;
- color+=textureLod( source_color, uv_interp+vec2( 0.0,-2.0)*pixel_size,lod )*0.06136;
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pixel_size, lod) * 0.38774;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 1.0) * pixel_size, lod) * 0.24477;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 2.0) * pixel_size, lod) * 0.06136;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -1.0) * pixel_size, lod) * 0.24477;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -2.0) * pixel_size, lod) * 0.06136;
frag_color = color;
#endif
-//glow uses larger sigma for a more rounded blur effect
+ //glow uses larger sigma for a more rounded blur effect
#ifdef GLOW_GAUSSIAN_HORIZONTAL
vec2 pix_size = pixel_size;
- pix_size*=0.5; //reading from larger buffer, so use more samples
- vec4 color =textureLod( source_color, uv_interp+vec2( 0.0, 0.0)*pix_size,lod )*0.174938;
- color+=textureLod( source_color, uv_interp+vec2( 1.0, 0.0)*pix_size,lod )*0.165569;
- color+=textureLod( source_color, uv_interp+vec2( 2.0, 0.0)*pix_size,lod )*0.140367;
- color+=textureLod( source_color, uv_interp+vec2( 3.0, 0.0)*pix_size,lod )*0.106595;
- color+=textureLod( source_color, uv_interp+vec2(-1.0, 0.0)*pix_size,lod )*0.165569;
- color+=textureLod( source_color, uv_interp+vec2(-2.0, 0.0)*pix_size,lod )*0.140367;
- color+=textureLod( source_color, uv_interp+vec2(-3.0, 0.0)*pix_size,lod )*0.106595;
- color*=glow_strength;
+ pix_size *= 0.5; //reading from larger buffer, so use more samples
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pix_size, lod) * 0.174938;
+ color += textureLod(source_color, uv_interp + vec2(1.0, 0.0) * pix_size, lod) * 0.165569;
+ color += textureLod(source_color, uv_interp + vec2(2.0, 0.0) * pix_size, lod) * 0.140367;
+ color += textureLod(source_color, uv_interp + vec2(3.0, 0.0) * pix_size, lod) * 0.106595;
+ color += textureLod(source_color, uv_interp + vec2(-1.0, 0.0) * pix_size, lod) * 0.165569;
+ color += textureLod(source_color, uv_interp + vec2(-2.0, 0.0) * pix_size, lod) * 0.140367;
+ color += textureLod(source_color, uv_interp + vec2(-3.0, 0.0) * pix_size, lod) * 0.106595;
+ color *= glow_strength;
frag_color = color;
#endif
#ifdef GLOW_GAUSSIAN_VERTICAL
- vec4 color =textureLod( source_color, uv_interp+vec2(0.0, 0.0)*pixel_size,lod )*0.288713;
- color+=textureLod( source_color, uv_interp+vec2(0.0, 1.0)*pixel_size,lod )*0.233062;
- color+=textureLod( source_color, uv_interp+vec2(0.0, 2.0)*pixel_size,lod )*0.122581;
- color+=textureLod( source_color, uv_interp+vec2(0.0,-1.0)*pixel_size,lod )*0.233062;
- color+=textureLod( source_color, uv_interp+vec2(0.0,-2.0)*pixel_size,lod )*0.122581;
- color*=glow_strength;
+ vec4 color = textureLod(source_color, uv_interp + vec2(0.0, 0.0) * pixel_size, lod) * 0.288713;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 1.0) * pixel_size, lod) * 0.233062;
+ color += textureLod(source_color, uv_interp + vec2(0.0, 2.0) * pixel_size, lod) * 0.122581;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -1.0) * pixel_size, lod) * 0.233062;
+ color += textureLod(source_color, uv_interp + vec2(0.0, -2.0) * pixel_size, lod) * 0.122581;
+ color *= glow_strength;
frag_color = color;
#endif
@@ -166,47 +161,45 @@ void main() {
vec4 color_accum = vec4(0.0);
- float depth = textureLod( dof_source_depth, uv_interp, 0.0).r;
+ float depth = textureLod(dof_source_depth, uv_interp, 0.0).r;
depth = depth * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth = ((depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth = ((depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth * (camera_z_far - camera_z_near));
#endif
- float amount = smoothstep(dof_begin,dof_end,depth);
- float k_accum=0.0;
+ float amount = smoothstep(dof_begin, dof_end, depth);
+ float k_accum = 0.0;
- for(int i=0;i<dof_kernel_size;i++) {
+ for (int i = 0; i < dof_kernel_size; i++) {
- int int_ofs = i-dof_kernel_from;
+ int int_ofs = i - dof_kernel_from;
vec2 tap_uv = uv_interp + dof_dir * float(int_ofs) * amount * dof_radius;
float tap_k = dof_kernel[i];
- float tap_depth = texture( dof_source_depth, tap_uv, 0.0).r;
+ float tap_depth = texture(dof_source_depth, tap_uv, 0.0).r;
tap_depth = tap_depth * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- tap_depth = ((tap_depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ tap_depth = ((tap_depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
tap_depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - tap_depth * (camera_z_far - camera_z_near));
#endif
- float tap_amount = mix(smoothstep(dof_begin,dof_end,tap_depth),1.0,int_ofs==0);
- tap_amount*=tap_amount*tap_amount; //prevent undesired glow effect
-
- vec4 tap_color = textureLod( source_color, tap_uv, 0.0) * tap_k;
-
- k_accum+=tap_k*tap_amount;
- color_accum+=tap_color*tap_amount;
+ float tap_amount = mix(smoothstep(dof_begin, dof_end, tap_depth), 1.0, int_ofs == 0);
+ tap_amount *= tap_amount * tap_amount; //prevent undesired glow effect
+ vec4 tap_color = textureLod(source_color, tap_uv, 0.0) * tap_k;
+ k_accum += tap_k * tap_amount;
+ color_accum += tap_color * tap_amount;
}
- if (k_accum>0.0) {
- color_accum/=k_accum;
+ if (k_accum > 0.0) {
+ color_accum /= k_accum;
}
- frag_color = color_accum;///k_accum;
+ frag_color = color_accum; ///k_accum;
#endif
@@ -214,47 +207,45 @@ void main() {
vec4 color_accum = vec4(0.0);
- float max_accum=0.0;
+ float max_accum = 0.0;
- for(int i=0;i<dof_kernel_size;i++) {
+ for (int i = 0; i < dof_kernel_size; i++) {
- int int_ofs = i-dof_kernel_from;
+ int int_ofs = i - dof_kernel_from;
vec2 tap_uv = uv_interp + dof_dir * float(int_ofs) * dof_radius;
- float ofs_influence = max(0.0,1.0-float(abs(int_ofs))/float(dof_kernel_from));
+ float ofs_influence = max(0.0, 1.0 - float(abs(int_ofs)) / float(dof_kernel_from));
float tap_k = dof_kernel[i];
- vec4 tap_color = textureLod( source_color, tap_uv, 0.0);
+ vec4 tap_color = textureLod(source_color, tap_uv, 0.0);
- float tap_depth = texture( dof_source_depth, tap_uv, 0.0).r;
+ float tap_depth = texture(dof_source_depth, tap_uv, 0.0).r;
tap_depth = tap_depth * 2.0 - 1.0;
-#ifdef USE_ORTHOGONAL_PROJECTION
- tap_depth = ((tap_depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+#ifdef USE_ORTHOGONAL_PROJECTION
+ tap_depth = ((tap_depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
tap_depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - tap_depth * (camera_z_far - camera_z_near));
#endif
- float tap_amount = 1.0-smoothstep(dof_end,dof_begin,tap_depth);
- tap_amount*=tap_amount*tap_amount; //prevent undesired glow effect
+ float tap_amount = 1.0 - smoothstep(dof_end, dof_begin, tap_depth);
+ tap_amount *= tap_amount * tap_amount; //prevent undesired glow effect
#ifdef DOF_NEAR_FIRST_TAP
- tap_color.a= 1.0-smoothstep(dof_end,dof_begin,tap_depth);
+ tap_color.a = 1.0 - smoothstep(dof_end, dof_begin, tap_depth);
#endif
- max_accum=max(max_accum,tap_amount*ofs_influence);
-
- color_accum+=tap_color*tap_k;
+ max_accum = max(max_accum, tap_amount * ofs_influence);
+ color_accum += tap_color * tap_k;
}
- color_accum.a=max(color_accum.a,sqrt(max_accum));
-
+ color_accum.a = max(color_accum.a, sqrt(max_accum));
#ifdef DOF_NEAR_BLUR_MERGE
- vec4 original = textureLod( source_dof_original, uv_interp, 0.0);
- color_accum = mix(original,color_accum,color_accum.a);
+ vec4 original = textureLod(source_dof_original, uv_interp, 0.0);
+ color_accum = mix(original, color_accum, color_accum.a);
#endif
@@ -265,37 +256,32 @@ void main() {
#endif
-
-
#ifdef GLOW_FIRST_PASS
#ifdef GLOW_USE_AUTO_EXPOSURE
- frag_color/=texelFetch(source_auto_exposure,ivec2(0,0),0).r/auto_exposure_grey;
+ frag_color /= texelFetch(source_auto_exposure, ivec2(0, 0), 0).r / auto_exposure_grey;
#endif
- frag_color*=exposure;
+ frag_color *= exposure;
- float luminance = max(frag_color.r,max(frag_color.g,frag_color.b));
- float feedback = max( smoothstep(glow_hdr_threshold,glow_hdr_threshold+glow_hdr_scale,luminance), glow_bloom );
+ float luminance = max(frag_color.r, max(frag_color.g, frag_color.b));
+ float feedback = max(smoothstep(glow_hdr_threshold, glow_hdr_threshold + glow_hdr_scale, luminance), glow_bloom);
frag_color *= feedback;
#endif
-
#ifdef SIMPLE_COPY
- vec4 color =textureLod( source_color, uv_interp,0.0);
+ vec4 color = textureLod(source_color, uv_interp, 0.0);
frag_color = color;
#endif
#ifdef SSAO_MERGE
- vec4 color =textureLod( source_color, uv_interp,0.0);
- float ssao =textureLod( source_ssao, uv_interp,0.0).r;
+ vec4 color = textureLod(source_color, uv_interp, 0.0);
+ float ssao = textureLod(source_ssao, uv_interp, 0.0).r;
- frag_color = vec4( mix(color.rgb,color.rgb*mix(ssao_color.rgb,vec3(1.0),ssao),color.a), 1.0 );
+ frag_color = vec4(mix(color.rgb, color.rgb * mix(ssao_color.rgb, vec3(1.0), ssao), color.a), 1.0);
#endif
-
-
}
diff --git a/drivers/gles3/shaders/exposure.glsl b/drivers/gles3/shaders/exposure.glsl
index 001b90a0f1..18fff1ae36 100644
--- a/drivers/gles3/shaders/exposure.glsl
+++ b/drivers/gles3/shaders/exposure.glsl
@@ -1,18 +1,14 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
gl_Position = vertex_attrib;
-
}
[fragment]
-
uniform highp sampler2D source_exposure; //texunit:0
#ifdef EXPOSURE_BEGIN
@@ -33,66 +29,56 @@ uniform highp float max_luminance;
layout(location = 0) out highp float exposure;
-
-
void main() {
-
-
#ifdef EXPOSURE_BEGIN
-
- ivec2 src_pos = ivec2(gl_FragCoord.xy)*source_render_size/target_size;
+ ivec2 src_pos = ivec2(gl_FragCoord.xy) * source_render_size / target_size;
#if 1
//more precise and expensive, but less jittery
- ivec2 next_pos = ivec2(gl_FragCoord.xy+ivec2(1))*source_render_size/target_size;
- next_pos = max(next_pos,src_pos+ivec2(1)); //so it at least reads one pixel
- highp vec3 source_color=vec3(0.0);
- for(int i=src_pos.x;i<next_pos.x;i++) {
- for(int j=src_pos.y;j<next_pos.y;j++) {
- source_color += texelFetch(source_exposure,ivec2(i,j),0).rgb;
+ ivec2 next_pos = ivec2(gl_FragCoord.xy + ivec2(1)) * source_render_size / target_size;
+ next_pos = max(next_pos, src_pos + ivec2(1)); //so it at least reads one pixel
+ highp vec3 source_color = vec3(0.0);
+ for (int i = src_pos.x; i < next_pos.x; i++) {
+ for (int j = src_pos.y; j < next_pos.y; j++) {
+ source_color += texelFetch(source_exposure, ivec2(i, j), 0).rgb;
}
}
- source_color/=float( (next_pos.x-src_pos.x)*(next_pos.y-src_pos.y) );
+ source_color /= float((next_pos.x - src_pos.x) * (next_pos.y - src_pos.y));
#else
- highp vec3 source_color = texelFetch(source_exposure,src_pos,0).rgb;
+ highp vec3 source_color = texelFetch(source_exposure, src_pos, 0).rgb;
#endif
- exposure = max(source_color.r,max(source_color.g,source_color.b));
+ exposure = max(source_color.r, max(source_color.g, source_color.b));
#else
ivec2 coord = ivec2(gl_FragCoord.xy);
- exposure = texelFetch(source_exposure,coord*3+ivec2(0,0),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(1,0),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(2,0),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(0,1),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(1,1),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(2,1),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(0,2),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(1,2),0).r;
- exposure += texelFetch(source_exposure,coord*3+ivec2(2,2),0).r;
- exposure *= (1.0/9.0);
+ exposure = texelFetch(source_exposure, coord * 3 + ivec2(0, 0), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(1, 0), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(2, 0), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(0, 1), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(1, 1), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(2, 1), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(0, 2), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(1, 2), 0).r;
+ exposure += texelFetch(source_exposure, coord * 3 + ivec2(2, 2), 0).r;
+ exposure *= (1.0 / 9.0);
#ifdef EXPOSURE_END
#ifdef EXPOSURE_FORCE_SET
//will stay as is
#else
- highp float prev_lum = texelFetch(prev_exposure,ivec2(0,0),0).r; //1 pixel previous exposure
- exposure = clamp( prev_lum + (exposure-prev_lum)*exposure_adjust,min_luminance,max_luminance);
+ highp float prev_lum = texelFetch(prev_exposure, ivec2(0, 0), 0).r; //1 pixel previous exposure
+ exposure = clamp(prev_lum + (exposure - prev_lum) * exposure_adjust, min_luminance, max_luminance);
#endif //EXPOSURE_FORCE_SET
-
#endif //EXPOSURE_END
#endif //EXPOSURE_BEGIN
-
-
}
-
-
diff --git a/drivers/gles3/shaders/particles.glsl b/drivers/gles3/shaders/particles.glsl
index fbee08c0fe..56e5545efe 100644
--- a/drivers/gles3/shaders/particles.glsl
+++ b/drivers/gles3/shaders/particles.glsl
@@ -1,14 +1,11 @@
[vertex]
-
-
-layout(location=0) in highp vec4 color;
-layout(location=1) in highp vec4 velocity_active;
-layout(location=2) in highp vec4 custom;
-layout(location=3) in highp vec4 xform_1;
-layout(location=4) in highp vec4 xform_2;
-layout(location=5) in highp vec4 xform_3;
-
+layout(location = 0) in highp vec4 color;
+layout(location = 1) in highp vec4 velocity_active;
+layout(location = 2) in highp vec4 custom;
+layout(location = 3) in highp vec4 xform_1;
+layout(location = 4) in highp vec4 xform_2;
+layout(location = 5) in highp vec4 xform_3;
struct Attractor {
@@ -39,7 +36,6 @@ uniform float lifetime;
uniform mat4 emission_transform;
uniform uint random_seed;
-
out highp vec4 out_color; //tfb:
out highp vec4 out_velocity_active; //tfb:
out highp vec4 out_custom; //tfb:
@@ -47,7 +43,6 @@ out highp vec4 out_xform_1; //tfb:
out highp vec4 out_xform_2; //tfb:
out highp vec4 out_xform_3; //tfb:
-
#if defined(USE_MATERIAL)
layout(std140) uniform UniformData { //ubo:0
@@ -58,7 +53,6 @@ MATERIAL_UNIFORMS
#endif
-
VERTEX_SHADER_GLOBALS
uint hash(uint x) {
@@ -69,13 +63,12 @@ uint hash(uint x) {
return x;
}
-
void main() {
#ifdef PARTICLES_COPY
- out_color=color;
- out_velocity_active=velocity_active;
+ out_color = color;
+ out_velocity_active = velocity_active;
out_custom = custom;
out_xform_1 = xform_1;
out_xform_2 = xform_2;
@@ -83,47 +76,47 @@ void main() {
#else
- bool apply_forces=true;
- bool apply_velocity=true;
- float local_delta=delta;
+ bool apply_forces = true;
+ bool apply_velocity = true;
+ float local_delta = delta;
float mass = 1.0;
- float restart_phase = float(gl_VertexID)/float(total_particles);
+ float restart_phase = float(gl_VertexID) / float(total_particles);
- if (randomness>0.0) {
+ if (randomness > 0.0) {
uint seed = cycle;
if (restart_phase >= system_phase) {
- seed-=uint(1);
+ seed -= uint(1);
}
- seed*=uint(total_particles);
- seed+=uint(gl_VertexID);
+ seed *= uint(total_particles);
+ seed += uint(gl_VertexID);
float random = float(hash(seed) % uint(65536)) / 65536.0;
- restart_phase+=randomness * random * 1.0 / float(total_particles);
+ restart_phase += randomness * random * 1.0 / float(total_particles);
}
- restart_phase*= (1.0-explosiveness);
- bool restart=false;
+ restart_phase *= (1.0 - explosiveness);
+ bool restart = false;
bool shader_active = velocity_active.a > 0.5;
if (system_phase > prev_system_phase) {
// restart_phase >= prev_system_phase is used so particles emit in the first frame they are processed
- if (restart_phase >= prev_system_phase && restart_phase < system_phase ) {
- restart=true;
+ if (restart_phase >= prev_system_phase && restart_phase < system_phase) {
+ restart = true;
#ifdef USE_FRACTIONAL_DELTA
local_delta = (system_phase - restart_phase) * lifetime;
#endif
}
- } else if(delta > 0.0) {
+ } else if (delta > 0.0) {
if (restart_phase >= prev_system_phase) {
- restart=true;
+ restart = true;
#ifdef USE_FRACTIONAL_DELTA
local_delta = (1.0 - restart_phase + system_phase) * lifetime;
#endif
- } else if (restart_phase < system_phase ) {
- restart=true;
+ } else if (restart_phase < system_phase) {
+ restart = true;
#ifdef USE_FRACTIONAL_DELTA
local_delta = (system_phase - restart_phase) * lifetime;
#endif
@@ -133,14 +126,14 @@ void main() {
uint current_cycle = cycle;
if (system_phase < restart_phase) {
- current_cycle-=uint(1);
+ current_cycle -= uint(1);
}
uint particle_number = current_cycle * uint(total_particles) + uint(gl_VertexID);
int index = int(gl_VertexID);
if (restart) {
- shader_active=emitting;
+ shader_active = emitting;
}
mat4 xform;
@@ -150,23 +143,22 @@ void main() {
#else
if (clear || restart) {
#endif
- out_color=vec4(1.0);
- out_velocity_active=vec4(0.0);
- out_custom=vec4(0.0);
+ out_color = vec4(1.0);
+ out_velocity_active = vec4(0.0);
+ out_custom = vec4(0.0);
if (!restart)
- shader_active=false;
+ shader_active = false;
xform = mat4(
- vec4(1.0,0.0,0.0,0.0),
- vec4(0.0,1.0,0.0,0.0),
- vec4(0.0,0.0,1.0,0.0),
- vec4(0.0,0.0,0.0,1.0)
- );
+ vec4(1.0, 0.0, 0.0, 0.0),
+ vec4(0.0, 1.0, 0.0, 0.0),
+ vec4(0.0, 0.0, 1.0, 0.0),
+ vec4(0.0, 0.0, 0.0, 1.0));
} else {
- out_color=color;
- out_velocity_active=velocity_active;
- out_custom=custom;
- xform = transpose(mat4(xform_1,xform_2,xform_3,vec4(vec3(0.0),1.0)));
+ out_color = color;
+ out_velocity_active = velocity_active;
+ out_custom = custom;
+ xform = transpose(mat4(xform_1, xform_2, xform_3, vec4(vec3(0.0), 1.0)));
}
if (shader_active) {
@@ -181,26 +173,25 @@ VERTEX_SHADER_CODE
if (false) {
vec3 force = vec3(0.0);
- for(int i=0;i<attractor_count;i++) {
+ for (int i = 0; i < attractor_count; i++) {
vec3 rel_vec = xform[3].xyz - attractors[i].pos;
float dist = length(rel_vec);
if (attractors[i].radius < dist)
continue;
- if (attractors[i].eat_radius>0.0 && attractors[i].eat_radius > dist) {
- out_velocity_active.a=0.0;
+ if (attractors[i].eat_radius > 0.0 && attractors[i].eat_radius > dist) {
+ out_velocity_active.a = 0.0;
}
rel_vec = normalize(rel_vec);
- float attenuation = pow(dist / attractors[i].radius,attractors[i].attenuation);
+ float attenuation = pow(dist / attractors[i].radius, attractors[i].attenuation);
- if (attractors[i].dir==vec3(0.0)) {
+ if (attractors[i].dir == vec3(0.0)) {
//towards center
- force+=attractors[i].strength * rel_vec * attenuation * mass;
+ force += attractors[i].strength * rel_vec * attenuation * mass;
} else {
- force+=attractors[i].strength * attractors[i].dir * attenuation *mass;
-
+ force += attractors[i].strength * attractors[i].dir * attenuation * mass;
}
}
@@ -216,25 +207,23 @@ VERTEX_SHADER_CODE
}
#endif
} else {
- xform=mat4(0.0);
+ xform = mat4(0.0);
}
xform = transpose(xform);
- out_velocity_active.a = mix(0.0,1.0,shader_active);
+ out_velocity_active.a = mix(0.0, 1.0, shader_active);
out_xform_1 = xform[0];
out_xform_2 = xform[1];
out_xform_3 = xform[2];
#endif //PARTICLES_COPY
-
}
[fragment]
-//any code here is never executed, stuff is filled just so it works
-
+// any code here is never executed, stuff is filled just so it works
#if defined(USE_MATERIAL)
diff --git a/drivers/gles3/shaders/resolve.glsl b/drivers/gles3/shaders/resolve.glsl
index 0b50a9c57b..d860fa544f 100644
--- a/drivers/gles3/shaders/resolve.glsl
+++ b/drivers/gles3/shaders/resolve.glsl
@@ -1,12 +1,10 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
-
void main() {
uv_interp = uv_in;
@@ -20,8 +18,8 @@ precision mediump float;
#endif
in vec2 uv_interp;
-uniform sampler2D source_specular; //texunit:0
-uniform sampler2D source_ssr; //texunit:1
+uniform sampler2D source_specular; // texunit:0
+uniform sampler2D source_ssr; // texunit:1
uniform vec2 pixel_size;
@@ -31,14 +29,12 @@ layout(location = 0) out vec4 frag_color;
void main() {
- vec4 specular = texture( source_specular, uv_interp );
+ vec4 specular = texture(source_specular, uv_interp);
#ifdef USE_SSR
-
- vec4 ssr = textureLod(source_ssr,uv_interp,0.0);
- specular.rgb = mix(specular.rgb,ssr.rgb*specular.a,ssr.a);
+ vec4 ssr = textureLod(source_ssr, uv_interp, 0.0);
+ specular.rgb = mix(specular.rgb, ssr.rgb * specular.a, ssr.a);
#endif
- frag_color = vec4(specular.rgb,1.0);
+ frag_color = vec4(specular.rgb, 1.0);
}
-
diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl
index 2d6f42679f..cacce93dc5 100644
--- a/drivers/gles3/shaders/scene.glsl
+++ b/drivers/gles3/shaders/scene.glsl
@@ -16,50 +16,49 @@ ARRAY_WEIGHTS=7,
ARRAY_INDEX=8,
*/
-//hack to use uv if no uv present so it works with lightmap
-
+// hack to use uv if no uv present so it works with lightmap
/* INPUT ATTRIBS */
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=1) in vec3 normal_attrib;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 1) in vec3 normal_attrib;
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
-layout(location=2) in vec4 tangent_attrib;
+layout(location = 2) in vec4 tangent_attrib;
#endif
#if defined(ENABLE_COLOR_INTERP)
-layout(location=3) in vec4 color_attrib;
+layout(location = 3) in vec4 color_attrib;
#endif
#if defined(ENABLE_UV_INTERP)
-layout(location=4) in vec2 uv_attrib;
+layout(location = 4) in vec2 uv_attrib;
#endif
#if defined(ENABLE_UV2_INTERP) || defined(USE_LIGHTMAP)
-layout(location=5) in vec2 uv2_attrib;
+layout(location = 5) in vec2 uv2_attrib;
#endif
uniform float normal_mult;
#ifdef USE_SKELETON
-layout(location=6) in uvec4 bone_indices; // attrib:6
-layout(location=7) in vec4 bone_weights; // attrib:7
+layout(location = 6) in uvec4 bone_indices; // attrib:6
+layout(location = 7) in vec4 bone_weights; // attrib:7
#endif
#ifdef USE_INSTANCING
-layout(location=8) in highp vec4 instance_xform0;
-layout(location=9) in highp vec4 instance_xform1;
-layout(location=10) in highp vec4 instance_xform2;
-layout(location=11) in lowp vec4 instance_color;
+layout(location = 8) in highp vec4 instance_xform0;
+layout(location = 9) in highp vec4 instance_xform1;
+layout(location = 10) in highp vec4 instance_xform2;
+layout(location = 11) in lowp vec4 instance_color;
#if defined(ENABLE_INSTANCE_CUSTOM)
-layout(location=12) in highp vec4 instance_custom_data;
+layout(location = 12) in highp vec4 instance_custom_data;
#endif
#endif
-layout(std140) uniform SceneData { //ubo:0
+layout(std140) uniform SceneData { // ubo:0
highp mat4 projection_matrix;
highp mat4 inv_projection_matrix;
@@ -102,12 +101,10 @@ layout(std140) uniform SceneData { //ubo:0
highp float fog_height_min;
highp float fog_height_max;
highp float fog_height_curve;
-
};
uniform highp mat4 world_transform;
-
#ifdef USE_LIGHT_DIRECTIONAL
layout(std140) uniform DirectionalLightData { //ubo:3
@@ -115,7 +112,7 @@ layout(std140) uniform DirectionalLightData { //ubo:3
highp vec4 light_pos_inv_radius;
mediump vec4 light_direction_attenuation;
mediump vec4 light_color_energy;
- mediump vec4 light_params; //cone attenuation, angle, specular, shadow enabled,
+ mediump vec4 light_params; // cone attenuation, angle, specular, shadow enabled,
mediump vec4 light_clamp;
mediump vec4 shadow_color_contact;
highp mat4 shadow_matrix1;
@@ -135,14 +132,12 @@ struct LightData {
highp vec4 light_pos_inv_radius;
mediump vec4 light_direction_attenuation;
mediump vec4 light_color_energy;
- mediump vec4 light_params; //cone attenuation, angle, specular, shadow enabled,
+ mediump vec4 light_params; // cone attenuation, angle, specular, shadow enabled,
mediump vec4 light_clamp;
mediump vec4 shadow_color_contact;
highp mat4 shadow_matrix;
-
};
-
layout(std140) uniform OmniLightData { //ubo:4
LightData omni_lights[MAX_LIGHT_DATA_STRUCTS];
@@ -155,7 +150,6 @@ layout(std140) uniform SpotLightData { //ubo:5
#ifdef USE_FORWARD_LIGHTING
-
uniform int omni_light_indices[MAX_FORWARD_LIGHTS];
uniform int omni_light_count;
@@ -167,49 +161,45 @@ uniform int spot_light_count;
out vec4 diffuse_light_interp;
out vec4 specular_light_interp;
-void light_compute(vec3 N, vec3 L,vec3 V, vec3 light_color, float roughness, inout vec3 diffuse, inout vec3 specular) {
+void light_compute(vec3 N, vec3 L, vec3 V, vec3 light_color, float roughness, inout vec3 diffuse, inout vec3 specular) {
- float dotNL = max(dot(N,L), 0.0 );
+ float dotNL = max(dot(N, L), 0.0);
diffuse += dotNL * light_color / M_PI;
if (roughness > 0.0) {
vec3 H = normalize(V + L);
- float dotNH = max(dot(N,H), 0.0 );
- float intensity = (roughness >= 1.0 ? 1.0 : pow( dotNH, (1.0-roughness) * 256.0));
+ float dotNH = max(dot(N, H), 0.0);
+ float intensity = (roughness >= 1.0 ? 1.0 : pow(dotNH, (1.0 - roughness) * 256.0));
specular += light_color * intensity;
-
}
}
-void light_process_omni(int idx, vec3 vertex, vec3 eye_vec,vec3 normal, float roughness,inout vec3 diffuse, inout vec3 specular) {
-
- vec3 light_rel_vec = omni_lights[idx].light_pos_inv_radius.xyz-vertex;
- float light_length = length( light_rel_vec );
- float normalized_distance = light_length*omni_lights[idx].light_pos_inv_radius.w;
- vec3 light_attenuation = vec3(pow( max(1.0 - normalized_distance, 0.0), omni_lights[idx].light_direction_attenuation.w ));
+void light_process_omni(int idx, vec3 vertex, vec3 eye_vec, vec3 normal, float roughness, inout vec3 diffuse, inout vec3 specular) {
- light_compute(normal,normalize(light_rel_vec),eye_vec,omni_lights[idx].light_color_energy.rgb * light_attenuation,roughness,diffuse,specular);
+ vec3 light_rel_vec = omni_lights[idx].light_pos_inv_radius.xyz - vertex;
+ float light_length = length(light_rel_vec);
+ float normalized_distance = light_length * omni_lights[idx].light_pos_inv_radius.w;
+ vec3 light_attenuation = vec3(pow(max(1.0 - normalized_distance, 0.0), omni_lights[idx].light_direction_attenuation.w));
+ light_compute(normal, normalize(light_rel_vec), eye_vec, omni_lights[idx].light_color_energy.rgb * light_attenuation, roughness, diffuse, specular);
}
void light_process_spot(int idx, vec3 vertex, vec3 eye_vec, vec3 normal, float roughness, inout vec3 diffuse, inout vec3 specular) {
- vec3 light_rel_vec = spot_lights[idx].light_pos_inv_radius.xyz-vertex;
- float light_length = length( light_rel_vec );
- float normalized_distance = light_length*spot_lights[idx].light_pos_inv_radius.w;
- vec3 light_attenuation = vec3(pow( max(1.0 - normalized_distance, 0.001), spot_lights[idx].light_direction_attenuation.w ));
+ vec3 light_rel_vec = spot_lights[idx].light_pos_inv_radius.xyz - vertex;
+ float light_length = length(light_rel_vec);
+ float normalized_distance = light_length * spot_lights[idx].light_pos_inv_radius.w;
+ vec3 light_attenuation = vec3(pow(max(1.0 - normalized_distance, 0.001), spot_lights[idx].light_direction_attenuation.w));
vec3 spot_dir = spot_lights[idx].light_direction_attenuation.xyz;
- float spot_cutoff=spot_lights[idx].light_params.y;
- float scos = max(dot(-normalize(light_rel_vec), spot_dir),spot_cutoff);
+ float spot_cutoff = spot_lights[idx].light_params.y;
+ float scos = max(dot(-normalize(light_rel_vec), spot_dir), spot_cutoff);
float spot_rim = (1.0 - scos) / (1.0 - spot_cutoff);
- light_attenuation *= 1.0 - pow( max(spot_rim,0.001), spot_lights[idx].light_params.x);
-
+ light_attenuation *= 1.0 - pow(max(spot_rim, 0.001), spot_lights[idx].light_params.x);
- light_compute(normal,normalize(light_rel_vec),eye_vec,spot_lights[idx].light_color_energy.rgb*light_attenuation,roughness,diffuse,specular);
+ light_compute(normal, normalize(light_rel_vec), eye_vec, spot_lights[idx].light_color_energy.rgb * light_attenuation, roughness, diffuse, specular);
}
-
#endif
/* Varyings */
@@ -225,20 +215,18 @@ out vec4 color_interp;
out vec2 uv_interp;
#endif
-#if defined(ENABLE_UV2_INTERP) || defined (USE_LIGHTMAP)
+#if defined(ENABLE_UV2_INTERP) || defined(USE_LIGHTMAP)
out vec2 uv2_interp;
#endif
-
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
out vec3 tangent_interp;
out vec3 binormal_interp;
#endif
-
#if defined(USE_MATERIAL)
-layout(std140) uniform UniformData { //ubo:1
+layout(std140) uniform UniformData { // ubo:1
MATERIAL_UNIFORMS
@@ -257,7 +245,7 @@ out highp float dp_clip;
#define SKELETON_TEXTURE_WIDTH 256
#ifdef USE_SKELETON
-uniform highp sampler2D skeleton_texture; //texunit:-1
+uniform highp sampler2D skeleton_texture; // texunit:-1
#endif
out highp vec4 position_interp;
@@ -272,21 +260,19 @@ void main() {
mat4 world_matrix = world_transform;
-
#ifdef USE_INSTANCING
{
- highp mat4 m=mat4(instance_xform0,instance_xform1,instance_xform2,vec4(0.0,0.0,0.0,1.0));
+ highp mat4 m = mat4(instance_xform0, instance_xform1, instance_xform2, vec4(0.0, 0.0, 0.0, 1.0));
world_matrix = world_matrix * transpose(m);
}
#endif
vec3 normal = normal_attrib * normal_mult;
-
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
vec3 tangent = tangent_attrib.xyz;
- tangent*=normal_mult;
+ tangent *= normal_mult;
float binormalf = tangent_attrib.a;
#endif
@@ -298,10 +284,9 @@ void main() {
#endif
-
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
- vec3 binormal = normalize( cross(normal,tangent) * binormalf );
+ vec3 binormal = normalize(cross(normal, tangent) * binormalf);
#endif
#if defined(ENABLE_UV_INTERP)
@@ -329,13 +314,13 @@ void main() {
mat3 normal_matrix = mat3(transpose(inverse(world_matrix)));
normal = normal_matrix * normal;
#else
- normal = normalize((world_matrix * vec4(normal,0.0)).xyz);
+ normal = normalize((world_matrix * vec4(normal, 0.0)).xyz);
#endif
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
- tangent = normalize((world_matrix * vec4(tangent,0.0)).xyz);
- binormal = normalize((world_matrix * vec4(binormal,0.0)).xyz);
+ tangent = normalize((world_matrix * vec4(tangent, 0.0)).xyz);
+ binormal = normalize((world_matrix * vec4(binormal, 0.0)).xyz);
#endif
#endif
@@ -345,45 +330,44 @@ void main() {
#define projection_matrix local_projection
#define world_transform world_matrix
-
#ifdef USE_SKELETON
{
//skeleton transform
ivec4 bone_indicesi = ivec4(bone_indices); // cast to signed int
- ivec2 tex_ofs = ivec2( bone_indicesi.x%256, (bone_indicesi.x/256)*3 );
- highp mat3x4 m = mat3x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,2),0)
- ) * bone_weights.x;
-
- tex_ofs = ivec2( bone_indicesi.y%256, (bone_indicesi.y/256)*3 );
+ ivec2 tex_ofs = ivec2(bone_indicesi.x % 256, (bone_indicesi.x / 256) * 3);
+ highp mat3x4 m;
+ m = mat3x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 2), 0))
+ * bone_weights.x;
- m+= mat3x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,2),0)
- ) * bone_weights.y;
+ tex_ofs = ivec2(bone_indicesi.y % 256, (bone_indicesi.y / 256) * 3);
- tex_ofs = ivec2( bone_indicesi.z%256, (bone_indicesi.z/256)*3 );
+ m += mat3x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 2), 0))
+ * bone_weights.y;
- m+= mat3x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,2),0)
- ) * bone_weights.z;
+ tex_ofs = ivec2(bone_indicesi.z % 256, (bone_indicesi.z / 256) * 3);
+ m += mat3x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 2), 0))
+ * bone_weights.z;
- tex_ofs = ivec2( bone_indicesi.w%256, (bone_indicesi.w/256)*3 );
+ tex_ofs = ivec2(bone_indicesi.w % 256, (bone_indicesi.w / 256) * 3);
- m+= mat3x4(
- texelFetch(skeleton_texture,tex_ofs,0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,1),0),
- texelFetch(skeleton_texture,tex_ofs+ivec2(0,2),0)
- ) * bone_weights.w;
+ m += mat3x4(
+ texelFetch(skeleton_texture, tex_ofs, 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0),
+ texelFetch(skeleton_texture, tex_ofs + ivec2(0, 2), 0))
+ * bone_weights.w;
- mat4 bone_matrix = transpose(mat4(m[0],m[1],m[2],vec4(0.0,0.0,0.0,1.0)));
+ mat4 bone_matrix = transpose(mat4(m[0], m[1], m[2], vec4(0.0, 0.0, 0.0, 1.0)));
world_matrix = bone_matrix * world_matrix;
}
@@ -396,9 +380,7 @@ VERTEX_SHADER_CODE
}
-
-
-//using local coordinates (default)
+// using local coordinates (default)
#if !defined(SKIP_TRANSFORM_USED) && !defined(VERTEX_WORLD_COORDS_USED)
vertex = modelview * vertex;
@@ -407,13 +389,13 @@ VERTEX_SHADER_CODE
mat3 normal_matrix = mat3(transpose(inverse(modelview)));
normal = normal_matrix * normal;
#else
- normal = normalize((modelview * vec4(normal,0.0)).xyz);
+ normal = normalize((modelview * vec4(normal, 0.0)).xyz);
#endif
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
- tangent = normalize((modelview * vec4(tangent,0.0)).xyz);
- binormal = normalize((modelview * vec4(binormal,0.0)).xyz);
+ tangent = normalize((modelview * vec4(tangent, 0.0)).xyz);
+ binormal = normalize((modelview * vec4(binormal, 0.0)).xyz);
#endif
#endif
@@ -421,74 +403,70 @@ VERTEX_SHADER_CODE
#if !defined(SKIP_TRANSFORM_USED) && defined(VERTEX_WORLD_COORDS_USED)
vertex = camera_inverse_matrix * vertex;
- normal = normalize((camera_inverse_matrix * vec4(normal,0.0)).xyz);
+ normal = normalize((camera_inverse_matrix * vec4(normal, 0.0)).xyz);
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
- tangent = normalize((camera_inverse_matrix * vec4(tangent,0.0)).xyz);
- binormal = normalize((camera_inverse_matrix * vec4(binormal,0.0)).xyz);
+ tangent = normalize((camera_inverse_matrix * vec4(tangent, 0.0)).xyz);
+ binormal = normalize((camera_inverse_matrix * vec4(binormal, 0.0)).xyz);
#endif
#endif
vertex_interp = vertex.xyz;
normal_interp = normal;
-
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
tangent_interp = tangent;
binormal_interp = binormal;
#endif
-
#ifdef RENDER_DEPTH
-
#ifdef RENDER_DEPTH_DUAL_PARABOLOID
- vertex_interp.z*= shadow_dual_paraboloid_render_side;
- normal_interp.z*= shadow_dual_paraboloid_render_side;
+ vertex_interp.z *= shadow_dual_paraboloid_render_side;
+ normal_interp.z *= shadow_dual_paraboloid_render_side;
- dp_clip=vertex_interp.z; //this attempts to avoid noise caused by objects sent to the other parabolloid side due to bias
+ dp_clip = vertex_interp.z; //this attempts to avoid noise caused by objects sent to the other parabolloid side due to bias
//for dual paraboloid shadow mapping, this is the fastest but least correct way, as it curves straight edges
- highp vec3 vtx = vertex_interp+normalize(vertex_interp)*z_offset;
+ highp vec3 vtx = vertex_interp + normalize(vertex_interp) * z_offset;
highp float distance = length(vtx);
vtx = normalize(vtx);
- vtx.xy/=1.0-vtx.z;
- vtx.z=(distance/shadow_dual_paraboloid_render_zfar);
- vtx.z=vtx.z * 2.0 - 1.0;
+ vtx.xy /= 1.0 - vtx.z;
+ vtx.z = (distance / shadow_dual_paraboloid_render_zfar);
+ vtx.z = vtx.z * 2.0 - 1.0;
vertex_interp = vtx;
-
#else
float z_ofs = z_offset;
- z_ofs += (1.0-abs(normal_interp.z))*z_slope_scale;
- vertex_interp.z-=z_ofs;
+ z_ofs += (1.0 - abs(normal_interp.z)) * z_slope_scale;
+ vertex_interp.z -= z_ofs;
#endif //RENDER_DEPTH_DUAL_PARABOLOID
#endif //RENDER_DEPTH
- gl_Position = projection_matrix * vec4(vertex_interp,1.0);
+ gl_Position = projection_matrix * vec4(vertex_interp, 1.0);
- position_interp=gl_Position;
+ position_interp = gl_Position;
#ifdef USE_VERTEX_LIGHTING
- diffuse_light_interp=vec4(0.0);
- specular_light_interp=vec4(0.0);
+ diffuse_light_interp = vec4(0.0);
+ specular_light_interp = vec4(0.0);
#ifdef USE_FORWARD_LIGHTING
- for(int i=0;i<omni_light_count;i++) {
- light_process_omni(omni_light_indices[i],vertex_interp,-normalize( vertex_interp ),normal_interp,roughness,diffuse_light_interp.rgb,specular_light_interp.rgb);
+ for (int i = 0; i < omni_light_count; i++) {
+ light_process_omni(omni_light_indices[i], vertex_interp, -normalize(vertex_interp), normal_interp, roughness, diffuse_light_interp.rgb, specular_light_interp.rgb);
}
- for(int i=0;i<spot_light_count;i++) {
- light_process_spot(spot_light_indices[i],vertex_interp,-normalize( vertex_interp ),normal_interp,roughness,diffuse_light_interp.rgb,specular_light_interp.rgb);
+ for (int i = 0; i < spot_light_count; i++) {
+ light_process_spot(spot_light_indices[i], vertex_interp, -normalize(vertex_interp), normal_interp, roughness, diffuse_light_interp.rgb, specular_light_interp.rgb);
}
#endif
@@ -496,36 +474,33 @@ VERTEX_SHADER_CODE
vec3 directional_diffuse = vec3(0.0);
vec3 directional_specular = vec3(0.0);
- light_compute(normal_interp,-light_direction_attenuation.xyz,-normalize( vertex_interp ),light_color_energy.rgb,roughness,directional_diffuse,directional_specular);
+ light_compute(normal_interp, -light_direction_attenuation.xyz, -normalize(vertex_interp), light_color_energy.rgb, roughness, directional_diffuse, directional_specular);
- float diff_avg = dot(diffuse_light_interp.rgb,vec3(0.33333));
- float diff_dir_avg = dot(directional_diffuse,vec3(0.33333));
- if (diff_avg>0.0) {
- diffuse_light_interp.a=diff_dir_avg/(diff_avg+diff_dir_avg);
+ float diff_avg = dot(diffuse_light_interp.rgb, vec3(0.33333));
+ float diff_dir_avg = dot(directional_diffuse, vec3(0.33333));
+ if (diff_avg > 0.0) {
+ diffuse_light_interp.a = diff_dir_avg / (diff_avg + diff_dir_avg);
} else {
- diffuse_light_interp.a=1.0;
+ diffuse_light_interp.a = 1.0;
}
- diffuse_light_interp.rgb+=directional_diffuse;
+ diffuse_light_interp.rgb += directional_diffuse;
- float spec_avg = dot(specular_light_interp.rgb,vec3(0.33333));
- float spec_dir_avg = dot(directional_specular,vec3(0.33333));
- if (spec_avg>0.0) {
- specular_light_interp.a=spec_dir_avg/(spec_avg+spec_dir_avg);
+ float spec_avg = dot(specular_light_interp.rgb, vec3(0.33333));
+ float spec_dir_avg = dot(directional_specular, vec3(0.33333));
+ if (spec_avg > 0.0) {
+ specular_light_interp.a = spec_dir_avg / (spec_avg + spec_dir_avg);
} else {
- specular_light_interp.a=1.0;
+ specular_light_interp.a = 1.0;
}
- specular_light_interp.rgb+=directional_specular;
+ specular_light_interp.rgb += directional_specular;
#endif //USE_LIGHT_DIRECTIONAL
-
#endif // USE_VERTEX_LIGHTING
-
}
-
[fragment]
/* texture unit usage, N is max_texture_unity-N
@@ -569,14 +544,11 @@ in vec3 binormal_interp;
in highp vec3 vertex_interp;
in vec3 normal_interp;
-
/* PBR CHANNELS */
#ifdef USE_RADIANCE_MAP
-
-
-layout(std140) uniform Radiance { //ubo:2
+layout(std140) uniform Radiance { // ubo:2
mat4 radiance_inverse_xform;
float radiance_ambient_contribution;
@@ -587,19 +559,19 @@ layout(std140) uniform Radiance { //ubo:2
#ifdef USE_RADIANCE_MAP_ARRAY
-uniform sampler2DArray radiance_map; //texunit:-2
+uniform sampler2DArray radiance_map; // texunit:-2
-vec3 textureDualParaboloid(sampler2DArray p_tex, vec3 p_vec,float p_roughness) {
+vec3 textureDualParaboloid(sampler2DArray p_tex, vec3 p_vec, float p_roughness) {
vec3 norm = normalize(p_vec);
- norm.xy/=1.0+abs(norm.z);
- norm.xy=norm.xy * vec2(0.5,0.25) + vec2(0.5,0.25);
+ norm.xy /= 1.0 + abs(norm.z);
+ norm.xy = norm.xy * vec2(0.5, 0.25) + vec2(0.5, 0.25);
// we need to lie the derivatives (normg) and assume that DP side is always the same
// to get proper texture filtering
- vec2 normg=norm.xy;
- if (norm.z>0.0) {
- norm.y=0.5-norm.y+0.5;
+ vec2 normg = norm.xy;
+ if (norm.z > 0.0) {
+ norm.y = 0.5 - norm.y + 0.5;
}
// thanks to OpenGL spec using floor(layer + 0.5) for texture arrays,
@@ -608,22 +580,22 @@ vec3 textureDualParaboloid(sampler2DArray p_tex, vec3 p_vec,float p_roughness) {
float index = p_roughness * RADIANCE_MAX_LOD;
int indexi = int(index * 256.0);
- vec3 base = textureGrad(p_tex, vec3(norm.xy, float(indexi/256)),dFdx(normg),dFdy(normg)).xyz;
- vec3 next = textureGrad(p_tex, vec3(norm.xy, float(indexi/256+1)),dFdx(normg),dFdy(normg)).xyz;
- return mix(base,next,float(indexi%256)/256.0);
+ vec3 base = textureGrad(p_tex, vec3(norm.xy, float(indexi / 256)), dFdx(normg), dFdy(normg)).xyz;
+ vec3 next = textureGrad(p_tex, vec3(norm.xy, float(indexi / 256 + 1)), dFdx(normg), dFdy(normg)).xyz;
+ return mix(base, next, float(indexi % 256) / 256.0);
}
#else
-uniform sampler2D radiance_map; //texunit:-2
+uniform sampler2D radiance_map; // texunit:-2
-vec3 textureDualParaboloid(sampler2D p_tex, vec3 p_vec,float p_roughness) {
+vec3 textureDualParaboloid(sampler2D p_tex, vec3 p_vec, float p_roughness) {
vec3 norm = normalize(p_vec);
- norm.xy/=1.0+abs(norm.z);
- norm.xy=norm.xy * vec2(0.5,0.25) + vec2(0.5,0.25);
- if (norm.z>0.0) {
- norm.y=0.5-norm.y+0.5;
+ norm.xy /= 1.0 + abs(norm.z);
+ norm.xy = norm.xy * vec2(0.5, 0.25) + vec2(0.5, 0.25);
+ if (norm.z > 0.0) {
+ norm.y = 0.5 - norm.y + 0.5;
}
return textureLod(p_tex, norm.xy, p_roughness * RADIANCE_MAX_LOD).xyz;
}
@@ -634,8 +606,6 @@ vec3 textureDualParaboloid(sampler2D p_tex, vec3 p_vec,float p_roughness) {
/* Material Uniforms */
-
-
#if defined(USE_MATERIAL)
layout(std140) uniform UniformData {
@@ -702,7 +672,7 @@ layout(std140) uniform DirectionalLightData {
highp vec4 light_pos_inv_radius;
mediump vec4 light_direction_attenuation;
mediump vec4 light_color_energy;
- mediump vec4 light_params; //cone attenuation, angle, specular, shadow enabled,
+ mediump vec4 light_params; // cone attenuation, angle, specular, shadow enabled,
mediump vec4 light_clamp;
mediump vec4 shadow_color_contact;
highp mat4 shadow_matrix1;
@@ -712,8 +682,7 @@ layout(std140) uniform DirectionalLightData {
mediump vec4 shadow_split_offsets;
};
-
-uniform highp sampler2DShadow directional_shadow; //texunit:-4
+uniform highp sampler2DShadow directional_shadow; // texunit:-4
#endif
@@ -721,52 +690,48 @@ uniform highp sampler2DShadow directional_shadow; //texunit:-4
in vec4 diffuse_light_interp;
in vec4 specular_light_interp;
#endif
-//omni and spot
+// omni and spot
struct LightData {
highp vec4 light_pos_inv_radius;
mediump vec4 light_direction_attenuation;
mediump vec4 light_color_energy;
- mediump vec4 light_params; //cone attenuation, angle, specular, shadow enabled,
+ mediump vec4 light_params; // cone attenuation, angle, specular, shadow enabled,
mediump vec4 light_clamp;
mediump vec4 shadow_color_contact;
highp mat4 shadow_matrix;
};
-
-layout(std140) uniform OmniLightData { //ubo:4
+layout(std140) uniform OmniLightData { // ubo:4
LightData omni_lights[MAX_LIGHT_DATA_STRUCTS];
};
-layout(std140) uniform SpotLightData { //ubo:5
+layout(std140) uniform SpotLightData { // ubo:5
LightData spot_lights[MAX_LIGHT_DATA_STRUCTS];
};
-
-uniform highp sampler2DShadow shadow_atlas; //texunit:-5
-
+uniform highp sampler2DShadow shadow_atlas; // texunit:-5
struct ReflectionData {
mediump vec4 box_extents;
mediump vec4 box_offset;
mediump vec4 params; // intensity, 0, interior , boxproject
- mediump vec4 ambient; //ambient color, energy
+ mediump vec4 ambient; // ambient color, energy
mediump vec4 atlas_clamp;
- highp mat4 local_matrix; //up to here for spot and omni, rest is for directional
- //notes: for ambientblend, use distance to edge to blend between already existing global environment
+ highp mat4 local_matrix; // up to here for spot and omni, rest is for directional
+ // notes: for ambientblend, use distance to edge to blend between already existing global environment
};
layout(std140) uniform ReflectionProbeData { //ubo:6
ReflectionData reflections[MAX_REFLECTION_DATA_STRUCTS];
};
-uniform mediump sampler2D reflection_atlas; //texunit:-3
-
+uniform mediump sampler2D reflection_atlas; // texunit:-3
#ifdef USE_FORWARD_LIGHTING
@@ -781,39 +746,38 @@ uniform int reflection_count;
#endif
-
#if defined(SCREEN_TEXTURE_USED)
-uniform highp sampler2D screen_texture; //texunit:-7
+uniform highp sampler2D screen_texture; // texunit:-7
#endif
#ifdef USE_MULTIPLE_RENDER_TARGETS
-layout(location=0) out vec4 diffuse_buffer;
-layout(location=1) out vec4 specular_buffer;
-layout(location=2) out vec4 normal_mr_buffer;
+layout(location = 0) out vec4 diffuse_buffer;
+layout(location = 1) out vec4 specular_buffer;
+layout(location = 2) out vec4 normal_mr_buffer;
#if defined(ENABLE_SSS)
-layout(location=3) out float sss_buffer;
+layout(location = 3) out float sss_buffer;
#endif
#else
-layout(location=0) out vec4 frag_color;
+layout(location = 0) out vec4 frag_color;
#endif
in highp vec4 position_interp;
-uniform highp sampler2D depth_buffer; //texunit:-8
+uniform highp sampler2D depth_buffer; // texunit:-8
#ifdef USE_CONTACT_SHADOWS
float contact_shadow_compute(vec3 pos, vec3 dir, float max_distance) {
- if (abs(dir.z)>0.99)
+ if (abs(dir.z) > 0.99)
return 1.0;
- vec3 endpoint = pos+dir*max_distance;
+ vec3 endpoint = pos + dir * max_distance;
vec4 source = position_interp;
vec4 dest = projection_matrix * vec4(endpoint, 1.0);
@@ -822,51 +786,48 @@ float contact_shadow_compute(vec3 pos, vec3 dir, float max_distance) {
vec2 screen_rel = to_screen - from_screen;
- if (length(screen_rel)<0.00001)
- return 1.0; //too small, don't do anything
+ if (length(screen_rel) < 0.00001)
+ return 1.0; // too small, don't do anything
- /*float pixel_size; //approximate pixel size
+ /*
+ float pixel_size; // approximate pixel size
if (screen_rel.x > screen_rel.y) {
- pixel_size = abs((pos.x-endpoint.x)/(screen_rel.x/screen_pixel_size.x));
+ pixel_size = abs((pos.x - endpoint.x) / (screen_rel.x / screen_pixel_size.x));
} else {
- pixel_size = abs((pos.y-endpoint.y)/(screen_rel.y/screen_pixel_size.y));
-
- }*/
- vec4 bias = projection_matrix * vec4(pos+vec3(0.0,0.0,max_distance*0.5), 1.0); //todo un-harcode the 0.04
-
-
-
- vec2 pixel_incr = normalize(screen_rel)*screen_pixel_size;
+ pixel_size = abs((pos.y - endpoint.y) / (screen_rel.y / screen_pixel_size.y));
+ }
+ */
+ vec4 bias = projection_matrix * vec4(pos + vec3(0.0, 0.0, max_distance * 0.5), 1.0);
+ vec2 pixel_incr = normalize(screen_rel) * screen_pixel_size;
float steps = length(screen_rel) / length(pixel_incr);
- steps = min(2000.0,steps); //put a limit to avoid freezing in some strange situation
- //steps=10.0;
+ steps = min(2000.0, steps); // put a limit to avoid freezing in some strange situation
+ //steps = 10.0;
- vec4 incr = (dest - source)/steps;
- float ratio=0.0;
- float ratio_incr = 1.0/steps;
+ vec4 incr = (dest - source) / steps;
+ float ratio = 0.0;
+ float ratio_incr = 1.0 / steps;
- while(steps>0.0) {
- source += incr*2.0;
- bias+=incr*2.0;
+ while (steps > 0.0) {
+ source += incr * 2.0;
+ bias += incr * 2.0;
vec3 uv_depth = (source.xyz / source.w) * 0.5 + 0.5;
- float depth = texture(depth_buffer,uv_depth.xy).r;
+ float depth = texture(depth_buffer, uv_depth.xy).r;
if (depth < uv_depth.z) {
- if (depth > (bias.z/bias.w) * 0.5 + 0.5) {
- return min(pow(ratio,4.0),1.0);
+ if (depth > (bias.z / bias.w) * 0.5 + 0.5) {
+ return min(pow(ratio, 4.0), 1.0);
} else {
return 1.0;
}
}
-
- ratio+=ratio_incr;
- steps-=1.0;
+ ratio += ratio_incr;
+ steps -= 1.0;
}
return 1.0;
@@ -874,7 +835,6 @@ float contact_shadow_compute(vec3 pos, vec3 dir, float max_distance) {
#endif
-
// This returns the G_GGX function divided by 2 cos_theta_m, where in practice cos_theta_m is either N.L or N.V.
// We're dividing this factor off because the overall term we'll end up looks like
// (see, for example, the first unnumbered equation in B. Burley, "Physically Based Shading at Disney", SIGGRAPH 2012):
@@ -896,51 +856,48 @@ float G_GGX_2cos(float cos_theta_m, float alpha) {
// C. Schlick, "An Inexpensive BRDF Model for Physically-based Rendering", Computer Graphics Forum. 13 (3): 233 (1994)
// Eq. (19), although see Heitz (2014) the about the problems with his derivation.
// It nevertheless approximates GGX well with k = alpha/2.
- float k = 0.5*alpha;
+ float k = 0.5 * alpha;
return 0.5 / (cos_theta_m * (1.0 - k) + k);
- // float cos2 = cos_theta_m*cos_theta_m;
- // float sin2 = (1.0-cos2);
- // return 1.0 /( cos_theta_m + sqrt(cos2 + alpha*alpha*sin2) );
+ // float cos2 = cos_theta_m * cos_theta_m;
+ // float sin2 = (1.0 - cos2);
+ // return 1.0 / (cos_theta_m + sqrt(cos2 + alpha * alpha * sin2));
}
float D_GGX(float cos_theta_m, float alpha) {
- float alpha2 = alpha*alpha;
- float d = 1.0 + (alpha2-1.0)*cos_theta_m*cos_theta_m;
- return alpha2/(M_PI * d * d);
+ float alpha2 = alpha * alpha;
+ float d = 1.0 + (alpha2 - 1.0) * cos_theta_m * cos_theta_m;
+ return alpha2 / (M_PI * d * d);
}
float G_GGX_anisotropic_2cos(float cos_theta_m, float alpha_x, float alpha_y, float cos_phi, float sin_phi) {
float cos2 = cos_theta_m * cos_theta_m;
- float sin2 = (1.0-cos2);
+ float sin2 = (1.0 - cos2);
float s_x = alpha_x * cos_phi;
float s_y = alpha_y * sin_phi;
- return 1.0 / max(cos_theta_m + sqrt(cos2 + (s_x*s_x + s_y*s_y)*sin2 ), 0.001);
+ return 1.0 / max(cos_theta_m + sqrt(cos2 + (s_x * s_x + s_y * s_y) * sin2), 0.001);
}
float D_GGX_anisotropic(float cos_theta_m, float alpha_x, float alpha_y, float cos_phi, float sin_phi) {
float cos2 = cos_theta_m * cos_theta_m;
- float sin2 = (1.0-cos2);
- float r_x = cos_phi/alpha_x;
- float r_y = sin_phi/alpha_y;
- float d = cos2 + sin2*(r_x * r_x + r_y * r_y);
+ float sin2 = (1.0 - cos2);
+ float r_x = cos_phi / alpha_x;
+ float r_y = sin_phi / alpha_y;
+ float d = cos2 + sin2 * (r_x * r_x + r_y * r_y);
return 1.0 / max(M_PI * alpha_x * alpha_y * d * d, 0.001);
}
-
-float SchlickFresnel(float u)
-{
- float m = 1.0-u;
- float m2 = m*m;
- return m2*m2*m; // pow(m,5)
+float SchlickFresnel(float u) {
+ float m = 1.0 - u;
+ float m2 = m * m;
+ return m2 * m2 * m; // pow(m,5)
}
-float GTR1(float NdotH, float a)
-{
- if (a >= 1.0) return 1.0/M_PI;
- float a2 = a*a;
- float t = 1.0 + (a2-1.0)*NdotH*NdotH;
- return (a2-1.0) / (M_PI*log(a2)*t);
+float GTR1(float NdotH, float a) {
+ if (a >= 1.0) return 1.0 / M_PI;
+ float a2 = a * a;
+ float t = 1.0 + (a2 - 1.0) * NdotH * NdotH;
+ return (a2 - 1.0) / (M_PI * log(a2) * t);
}
vec3 metallic_to_specular_color(float metallic, float specular, vec3 albedo) {
@@ -952,7 +909,7 @@ vec3 metallic_to_specular_color(float metallic, float specular, vec3 albedo) {
void light_compute(vec3 N, vec3 L, vec3 V, vec3 B, vec3 T, vec3 light_color, vec3 attenuation, vec3 diffuse_color, vec3 transmission, float specular_blob_intensity, float roughness, float metallic, float rim, float rim_tint, float clearcoat, float clearcoat_gloss, float anisotropy, inout vec3 diffuse_light, inout vec3 specular_light) {
#if defined(USE_LIGHT_SHADER_CODE)
-//light is written by the light shader
+ // light is written by the light shader
vec3 normal = N;
vec3 albedo = diffuse_color;
@@ -961,9 +918,8 @@ void light_compute(vec3 N, vec3 L, vec3 V, vec3 B, vec3 T, vec3 light_color, vec
LIGHT_SHADER_CODE
-
#else
- float NdotL = dot(N,L);
+ float NdotL = dot(N, L);
float cNdotL = max(NdotL, 0.0); // clamped NdotL
float NdotV = dot(N, V);
float cNdotV = max(NdotV, 0.0);
@@ -975,10 +931,9 @@ LIGHT_SHADER_CODE
float diffuse_brdf_NL; // BRDF times N.L for calculating diffuse radiance
#endif
-
#if defined(DIFFUSE_LAMBERT_WRAP)
- //energy conserving lambert wrap shader
- diffuse_brdf_NL = max(0.0,(NdotL + roughness) / ((1.0 + roughness) * (1.0 + roughness)));
+ // energy conserving lambert wrap shader
+ diffuse_brdf_NL = max(0.0, (NdotL + roughness) / ((1.0 + roughness) * (1.0 + roughness)));
#elif defined(DIFFUSE_OREN_NAYAR)
@@ -986,12 +941,11 @@ LIGHT_SHADER_CODE
// see http://mimosa-pudica.net/improved-oren-nayar.html
float LdotV = dot(L, V);
-
float s = LdotV - NdotL * NdotV;
float t = mix(1.0, max(NdotL, NdotV), step(0.0, s));
float sigma2 = roughness * roughness; // TODO: this needs checking
- vec3 A = 1.0 + sigma2 * (- 0.5 / (sigma2 + 0.33) + 0.17*diffuse_color / (sigma2 + 0.13) );
+ vec3 A = 1.0 + sigma2 * (-0.5 / (sigma2 + 0.33) + 0.17 * diffuse_color / (sigma2 + 0.13));
float B = 0.45 * sigma2 / (sigma2 + 0.09);
diffuse_brdf_NL = cNdotL * (A + vec3(B) * s / t) * (1.0 / M_PI);
@@ -999,21 +953,20 @@ LIGHT_SHADER_CODE
#elif defined(DIFFUSE_TOON)
- diffuse_brdf_NL = smoothstep(-roughness,max(roughness,0.01),NdotL);
+ diffuse_brdf_NL = smoothstep(-roughness, max(roughness, 0.01), NdotL);
#elif defined(DIFFUSE_BURLEY)
{
-
vec3 H = normalize(V + L);
- float cLdotH = max(0.0,dot(L, H));
+ float cLdotH = max(0.0, dot(L, H));
float FD90 = 0.5 + 2.0 * cLdotH * cLdotH * roughness;
float FdV = 1.0 + (FD90 - 1.0) * SchlickFresnel(cNdotV);
float FdL = 1.0 + (FD90 - 1.0) * SchlickFresnel(cNdotL);
diffuse_brdf_NL = (1.0 / M_PI) * FdV * FdL * cNdotL;
- /*
+ /*
float energyBias = mix(roughness, 0.0, 0.5);
float energyFactor = mix(roughness, 1.0, 1.0 / 1.51);
float fd90 = energyBias + 2.0 * VoH * VoH * roughness;
@@ -1021,10 +974,11 @@ LIGHT_SHADER_CODE
float lightScatter = f0 + (fd90 - f0) * pow(1.0 - cNdotL, 5.0);
float viewScatter = f0 + (fd90 - f0) * pow(1.0 - cNdotV, 5.0);
- diffuse_brdf_NL = lightScatter * viewScatter * energyFactor;*/
+ diffuse_brdf_NL = lightScatter * viewScatter * energyFactor;
+ */
}
#else
- //lambert
+ // lambert
diffuse_brdf_NL = cNdotL * (1.0 / M_PI);
#endif
@@ -1034,70 +988,67 @@ LIGHT_SHADER_CODE
diffuse_light += light_color * diffuse_color * (vec3(1.0 / M_PI) - diffuse_brdf_NL) * transmission * attenuation;
#endif
-
#if defined(LIGHT_USE_RIM)
- float rim_light = pow(max(0.0,1.0-cNdotV), max(0.0,(1.0-roughness)*16.0));
- diffuse_light += rim_light * rim * mix(vec3(1.0),diffuse_color,rim_tint) * light_color;
+ float rim_light = pow(max(0.0, 1.0 - cNdotV), max(0.0, (1.0 - roughness) * 16.0));
+ diffuse_light += rim_light * rim * mix(vec3(1.0), diffuse_color, rim_tint) * light_color;
#endif
}
-
if (roughness > 0.0) { // FIXME: roughness == 0 should not disable specular light entirely
-
// D
#if defined(SPECULAR_BLINN)
vec3 H = normalize(V + L);
- float cNdotH = max(dot(N,H), 0.0 );
- float intensity = pow( cNdotH, (1.0-roughness) * 256.0);
+ float cNdotH = max(dot(N, H), 0.0);
+ float intensity = pow(cNdotH, (1.0 - roughness) * 256.0);
specular_light += light_color * intensity * specular_blob_intensity * attenuation;
#elif defined(SPECULAR_PHONG)
- vec3 R = normalize(-reflect(L,N));
- float cRdotV = max(0.0,dot(R,V));
- float intensity = pow( cRdotV, (1.0-roughness) * 256.0);
- specular_light += light_color * intensity * specular_blob_intensity * attenuation;
+ vec3 R = normalize(-reflect(L, N));
+ float cRdotV = max(0.0, dot(R, V));
+ float intensity = pow(cRdotV, (1.0 - roughness) * 256.0);
+ specular_light += light_color * intensity * specular_blob_intensity * attenuation;
#elif defined(SPECULAR_TOON)
- vec3 R = normalize(-reflect(L,N));
- float RdotV = dot(R,V);
- float mid = 1.0-roughness;
- mid*=mid;
- float intensity = smoothstep(mid-roughness*0.5, mid+roughness*0.5, RdotV) * mid;
+ vec3 R = normalize(-reflect(L, N));
+ float RdotV = dot(R, V);
+ float mid = 1.0 - roughness;
+ mid *= mid;
+ float intensity = smoothstep(mid - roughness * 0.5, mid + roughness * 0.5, RdotV) * mid;
diffuse_light += light_color * intensity * specular_blob_intensity * attenuation; // write to diffuse_light, as in toon shading you generally want no reflection
#elif defined(SPECULAR_DISABLED)
- //none..
+ // none..
#elif defined(SPECULAR_SCHLICK_GGX)
// shlick+ggx as default
vec3 H = normalize(V + L);
- float cNdotH = max(dot(N,H), 0.0);
- float cLdotH = max(dot(L,H), 0.0);
+ float cNdotH = max(dot(N, H), 0.0);
+ float cLdotH = max(dot(L, H), 0.0);
-# if defined(LIGHT_USE_ANISOTROPY)
+#if defined(LIGHT_USE_ANISOTROPY)
- float aspect = sqrt(1.0-anisotropy*0.9);
- float rx = roughness/aspect;
- float ry = roughness*aspect;
- float ax = rx*rx;
- float ay = ry*ry;
- float XdotH = dot( T, H );
- float YdotH = dot( B, H );
+ float aspect = sqrt(1.0 - anisotropy * 0.9);
+ float rx = roughness / aspect;
+ float ry = roughness * aspect;
+ float ax = rx * rx;
+ float ay = ry * ry;
+ float XdotH = dot(T, H);
+ float YdotH = dot(B, H);
float D = D_GGX_anisotropic(cNdotH, ax, ay, XdotH, YdotH);
float G = G_GGX_anisotropic_2cos(cNdotL, ax, ay, XdotH, YdotH) * G_GGX_anisotropic_2cos(cNdotV, ax, ay, XdotH, YdotH);
-# else
+#else
float alpha = roughness * roughness;
float D = D_GGX(cNdotH, alpha);
float G = G_GGX_2cos(cNdotL, alpha) * G_GGX_2cos(cNdotV, alpha);
-# endif
+#endif
// F
float F0 = 1.0; // FIXME
float cLdotH5 = SchlickFresnel(cLdotH);
@@ -1110,19 +1061,18 @@ LIGHT_SHADER_CODE
#if defined(LIGHT_USE_CLEARCOAT)
if (clearcoat_gloss > 0.0) {
-# if !defined(SPECULAR_SCHLICK_GGX) && !defined(SPECULAR_BLINN)
+#if !defined(SPECULAR_SCHLICK_GGX) && !defined(SPECULAR_BLINN)
vec3 H = normalize(V + L);
-# endif
-# if !defined(SPECULAR_SCHLICK_GGX)
- float cNdotH = max(dot(N,H), 0.0);
- float cLdotH = max(dot(L,H), 0.0);
+#endif
+#if !defined(SPECULAR_SCHLICK_GGX)
+ float cNdotH = max(dot(N, H), 0.0);
+ float cLdotH = max(dot(L, H), 0.0);
float cLdotH5 = SchlickFresnel(cLdotH);
#endif
float Dr = GTR1(cNdotH, mix(.1, .001, clearcoat_gloss));
float Fr = mix(.04, 1.0, cLdotH5);
float Gr = G_GGX_2cos(cNdotL, .25) * G_GGX_2cos(cNdotV, .25);
-
float specular_brdf_NL = 0.25 * clearcoat * Gr * Fr * Dr * cNdotL;
specular_light += specular_brdf_NL * light_color * specular_blob_intensity * attenuation;
@@ -1130,45 +1080,42 @@ LIGHT_SHADER_CODE
#endif
}
-
#endif //defined(USE_LIGHT_SHADER_CODE)
}
-
float sample_shadow(highp sampler2DShadow shadow, vec2 shadow_pixel_size, vec2 pos, float depth, vec4 clamp_rect) {
#ifdef SHADOW_MODE_PCF_13
- float avg=textureProj(shadow,vec4(pos,depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(shadow_pixel_size.x,0.0),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(-shadow_pixel_size.x,0.0),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(0.0,shadow_pixel_size.y),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(0.0,-shadow_pixel_size.y),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(shadow_pixel_size.x,shadow_pixel_size.y),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(-shadow_pixel_size.x,shadow_pixel_size.y),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(shadow_pixel_size.x,-shadow_pixel_size.y),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(-shadow_pixel_size.x,-shadow_pixel_size.y),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(shadow_pixel_size.x*2.0,0.0),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(-shadow_pixel_size.x*2.0,0.0),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(0.0,shadow_pixel_size.y*2.0),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(0.0,-shadow_pixel_size.y*2.0),depth,1.0));
- return avg*(1.0/13.0);
+ float avg = textureProj(shadow, vec4(pos, depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(shadow_pixel_size.x, 0.0), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(-shadow_pixel_size.x, 0.0), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(0.0, shadow_pixel_size.y), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(0.0, -shadow_pixel_size.y), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(shadow_pixel_size.x, shadow_pixel_size.y), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(-shadow_pixel_size.x, shadow_pixel_size.y), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(shadow_pixel_size.x, -shadow_pixel_size.y), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(-shadow_pixel_size.x, -shadow_pixel_size.y), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(shadow_pixel_size.x * 2.0, 0.0), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(-shadow_pixel_size.x * 2.0, 0.0), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(0.0, shadow_pixel_size.y * 2.0), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(0.0, -shadow_pixel_size.y * 2.0), depth, 1.0));
+ return avg * (1.0 / 13.0);
#elif defined(SHADOW_MODE_PCF_5)
- float avg=textureProj(shadow,vec4(pos,depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(shadow_pixel_size.x,0.0),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(-shadow_pixel_size.x,0.0),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(0.0,shadow_pixel_size.y),depth,1.0));
- avg+=textureProj(shadow,vec4(pos+vec2(0.0,-shadow_pixel_size.y),depth,1.0));
- return avg*(1.0/5.0);
+ float avg = textureProj(shadow, vec4(pos, depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(shadow_pixel_size.x, 0.0), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(-shadow_pixel_size.x, 0.0), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(0.0, shadow_pixel_size.y), depth, 1.0));
+ avg += textureProj(shadow, vec4(pos + vec2(0.0, -shadow_pixel_size.y), depth, 1.0));
+ return avg * (1.0 / 5.0);
#else
- return textureProj(shadow,vec4(pos,depth,1.0));
+ return textureProj(shadow, vec4(pos, depth, 1.0));
#endif
-
}
#ifdef RENDER_DEPTH_DUAL_PARABOLOID
@@ -1177,239 +1124,227 @@ in highp float dp_clip;
#endif
-
-
#if 0
-//need to save texture depth for this
-
+// need to save texture depth for this
vec3 light_transmittance(float translucency,vec3 light_vec, vec3 normal, vec3 pos, float distance) {
float scale = 8.25 * (1.0 - translucency) / subsurface_scatter_width;
float d = scale * distance;
- /**
- * Armed with the thickness, we can now calculate the color by means of the
- * precalculated transmittance profile.
- * (It can be precomputed into a texture, for maximum performance):
- */
+ /**
+ * Armed with the thickness, we can now calculate the color by means of the
+ * precalculated transmittance profile.
+ * (It can be precomputed into a texture, for maximum performance):
+ */
float dd = -d * d;
- vec3 profile = vec3(0.233, 0.455, 0.649) * exp(dd / 0.0064) +
- vec3(0.1, 0.336, 0.344) * exp(dd / 0.0484) +
- vec3(0.118, 0.198, 0.0) * exp(dd / 0.187) +
- vec3(0.113, 0.007, 0.007) * exp(dd / 0.567) +
- vec3(0.358, 0.004, 0.0) * exp(dd / 1.99) +
- vec3(0.078, 0.0, 0.0) * exp(dd / 7.41);
-
- /**
- * Using the profile, we finally approximate the transmitted lighting from
- * the back of the object:
- */
- return profile * clamp(0.3 + dot(light_vec, normal),0.0,1.0);
+ vec3 profile =
+ vec3(0.233, 0.455, 0.649) * exp(dd / 0.0064) +
+ vec3(0.1, 0.336, 0.344) * exp(dd / 0.0484) +
+ vec3(0.118, 0.198, 0.0) * exp(dd / 0.187) +
+ vec3(0.113, 0.007, 0.007) * exp(dd / 0.567) +
+ vec3(0.358, 0.004, 0.0) * exp(dd / 1.99) +
+ vec3(0.078, 0.0, 0.0) * exp(dd / 7.41);
+
+ /**
+ * Using the profile, we finally approximate the transmitted lighting from
+ * the back of the object:
+ */
+ return profile * clamp(0.3 + dot(light_vec, normal),0.0,1.0);
}
#endif
-void light_process_omni(int idx, vec3 vertex, vec3 eye_vec,vec3 normal,vec3 binormal, vec3 tangent, vec3 albedo, vec3 transmission, float roughness, float metallic, float rim, float rim_tint, float clearcoat, float clearcoat_gloss, float anisotropy, float p_blob_intensity, inout vec3 diffuse_light, inout vec3 specular_light) {
+void light_process_omni(int idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 binormal, vec3 tangent, vec3 albedo, vec3 transmission, float roughness, float metallic, float rim, float rim_tint, float clearcoat, float clearcoat_gloss, float anisotropy, float p_blob_intensity, inout vec3 diffuse_light, inout vec3 specular_light) {
- vec3 light_rel_vec = omni_lights[idx].light_pos_inv_radius.xyz-vertex;
- float light_length = length( light_rel_vec );
- float normalized_distance = light_length*omni_lights[idx].light_pos_inv_radius.w;
- float omni_attenuation = pow( max(1.0 - normalized_distance, 0.0), omni_lights[idx].light_direction_attenuation.w );
+ vec3 light_rel_vec = omni_lights[idx].light_pos_inv_radius.xyz - vertex;
+ float light_length = length(light_rel_vec);
+ float normalized_distance = light_length * omni_lights[idx].light_pos_inv_radius.w;
+ float omni_attenuation = pow(max(1.0 - normalized_distance, 0.0), omni_lights[idx].light_direction_attenuation.w);
vec3 light_attenuation = vec3(omni_attenuation);
#if !defined(SHADOWS_DISABLED)
- if (omni_lights[idx].light_params.w>0.5) {
- //there is a shadowmap
+ if (omni_lights[idx].light_params.w > 0.5) {
+ // there is a shadowmap
- highp vec3 splane=(omni_lights[idx].shadow_matrix * vec4(vertex,1.0)).xyz;
- float shadow_len=length(splane);
- splane=normalize(splane);
- vec4 clamp_rect=omni_lights[idx].light_clamp;
+ highp vec3 splane = (omni_lights[idx].shadow_matrix * vec4(vertex, 1.0)).xyz;
+ float shadow_len = length(splane);
+ splane = normalize(splane);
+ vec4 clamp_rect = omni_lights[idx].light_clamp;
- if (splane.z>=0.0) {
+ if (splane.z >= 0.0) {
- splane.z+=1.0;
+ splane.z += 1.0;
- clamp_rect.y+=clamp_rect.w;
+ clamp_rect.y += clamp_rect.w;
} else {
- splane.z=1.0 - splane.z;
+ splane.z = 1.0 - splane.z;
/*
- if (clamp_rect.z<clamp_rect.w) {
- clamp_rect.x+=clamp_rect.z;
+ if (clamp_rect.z < clamp_rect.w) {
+ clamp_rect.x += clamp_rect.z;
} else {
- clamp_rect.y+=clamp_rect.w;
+ clamp_rect.y += clamp_rect.w;
}
*/
-
}
- splane.xy/=splane.z;
- splane.xy=splane.xy * 0.5 + 0.5;
+ splane.xy /= splane.z;
+ splane.xy = splane.xy * 0.5 + 0.5;
splane.z = shadow_len * omni_lights[idx].light_pos_inv_radius.w;
- splane.xy = clamp_rect.xy+splane.xy*clamp_rect.zw;
- float shadow = sample_shadow(shadow_atlas,shadow_atlas_pixel_size,splane.xy,splane.z,clamp_rect);
+ splane.xy = clamp_rect.xy + splane.xy * clamp_rect.zw;
+ float shadow = sample_shadow(shadow_atlas, shadow_atlas_pixel_size, splane.xy, splane.z, clamp_rect);
#ifdef USE_CONTACT_SHADOWS
- if (shadow>0.01 && omni_lights[idx].shadow_color_contact.a>0.0) {
-
- float contact_shadow = contact_shadow_compute(vertex,normalize(light_rel_vec),min(light_length,omni_lights[idx].shadow_color_contact.a));
- shadow=min(shadow,contact_shadow);
+ if (shadow > 0.01 && omni_lights[idx].shadow_color_contact.a > 0.0) {
+ float contact_shadow = contact_shadow_compute(vertex, normalize(light_rel_vec), min(light_length, omni_lights[idx].shadow_color_contact.a));
+ shadow = min(shadow, contact_shadow);
}
#endif
- light_attenuation*=mix(omni_lights[idx].shadow_color_contact.rgb,vec3(1.0),shadow);
+ light_attenuation *= mix(omni_lights[idx].shadow_color_contact.rgb, vec3(1.0), shadow);
}
#endif //SHADOWS_DISABLED
-
- light_compute(normal,normalize(light_rel_vec),eye_vec,binormal,tangent,omni_lights[idx].light_color_energy.rgb,light_attenuation,albedo,transmission,omni_lights[idx].light_params.z*p_blob_intensity,roughness,metallic,rim * omni_attenuation,rim_tint,clearcoat,clearcoat_gloss,anisotropy,diffuse_light,specular_light);
-
+ light_compute(normal, normalize(light_rel_vec), eye_vec, binormal, tangent, omni_lights[idx].light_color_energy.rgb, light_attenuation, albedo, transmission, omni_lights[idx].light_params.z * p_blob_intensity, roughness, metallic, rim * omni_attenuation, rim_tint, clearcoat, clearcoat_gloss, anisotropy, diffuse_light, specular_light);
}
-void light_process_spot(int idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 binormal, vec3 tangent,vec3 albedo, vec3 transmission,float roughness, float metallic, float rim, float rim_tint, float clearcoat, float clearcoat_gloss,float anisotropy,float p_blob_intensity, inout vec3 diffuse_light, inout vec3 specular_light) {
+void light_process_spot(int idx, vec3 vertex, vec3 eye_vec, vec3 normal, vec3 binormal, vec3 tangent, vec3 albedo, vec3 transmission, float roughness, float metallic, float rim, float rim_tint, float clearcoat, float clearcoat_gloss, float anisotropy, float p_blob_intensity, inout vec3 diffuse_light, inout vec3 specular_light) {
- vec3 light_rel_vec = spot_lights[idx].light_pos_inv_radius.xyz-vertex;
- float light_length = length( light_rel_vec );
- float normalized_distance = light_length*spot_lights[idx].light_pos_inv_radius.w;
- float spot_attenuation = pow( max(1.0 - normalized_distance, 0.001), spot_lights[idx].light_direction_attenuation.w );
+ vec3 light_rel_vec = spot_lights[idx].light_pos_inv_radius.xyz - vertex;
+ float light_length = length(light_rel_vec);
+ float normalized_distance = light_length * spot_lights[idx].light_pos_inv_radius.w;
+ float spot_attenuation = pow(max(1.0 - normalized_distance, 0.001), spot_lights[idx].light_direction_attenuation.w);
vec3 spot_dir = spot_lights[idx].light_direction_attenuation.xyz;
- float spot_cutoff=spot_lights[idx].light_params.y;
- float scos = max(dot(-normalize(light_rel_vec), spot_dir),spot_cutoff);
- float spot_rim = max(0.0001,(1.0 - scos) / (1.0 - spot_cutoff));
- spot_attenuation*= 1.0 - pow( spot_rim, spot_lights[idx].light_params.x);
+ float spot_cutoff = spot_lights[idx].light_params.y;
+ float scos = max(dot(-normalize(light_rel_vec), spot_dir), spot_cutoff);
+ float spot_rim = max(0.0001, (1.0 - scos) / (1.0 - spot_cutoff));
+ spot_attenuation *= 1.0 - pow(spot_rim, spot_lights[idx].light_params.x);
vec3 light_attenuation = vec3(spot_attenuation);
#if !defined(SHADOWS_DISABLED)
- if (spot_lights[idx].light_params.w>0.5) {
+ if (spot_lights[idx].light_params.w > 0.5) {
//there is a shadowmap
- highp vec4 splane=(spot_lights[idx].shadow_matrix * vec4(vertex,1.0));
- splane.xyz/=splane.w;
+ highp vec4 splane = (spot_lights[idx].shadow_matrix * vec4(vertex, 1.0));
+ splane.xyz /= splane.w;
- float shadow = sample_shadow(shadow_atlas,shadow_atlas_pixel_size,splane.xy,splane.z,spot_lights[idx].light_clamp);
+ float shadow = sample_shadow(shadow_atlas, shadow_atlas_pixel_size, splane.xy, splane.z, spot_lights[idx].light_clamp);
#ifdef USE_CONTACT_SHADOWS
- if (shadow>0.01 && spot_lights[idx].shadow_color_contact.a>0.0) {
-
- float contact_shadow = contact_shadow_compute(vertex,normalize(light_rel_vec),min(light_length,spot_lights[idx].shadow_color_contact.a));
- shadow=min(shadow,contact_shadow);
+ if (shadow > 0.01 && spot_lights[idx].shadow_color_contact.a > 0.0) {
+ float contact_shadow = contact_shadow_compute(vertex, normalize(light_rel_vec), min(light_length, spot_lights[idx].shadow_color_contact.a));
+ shadow = min(shadow, contact_shadow);
}
#endif
- light_attenuation*=mix(spot_lights[idx].shadow_color_contact.rgb,vec3(1.0),shadow);
+ light_attenuation *= mix(spot_lights[idx].shadow_color_contact.rgb, vec3(1.0), shadow);
}
#endif //SHADOWS_DISABLED
- light_compute(normal,normalize(light_rel_vec),eye_vec,binormal,tangent,spot_lights[idx].light_color_energy.rgb,light_attenuation,albedo,transmission,spot_lights[idx].light_params.z*p_blob_intensity,roughness,metallic,rim * spot_attenuation,rim_tint,clearcoat,clearcoat_gloss,anisotropy,diffuse_light,specular_light);
-
+ light_compute(normal, normalize(light_rel_vec), eye_vec, binormal, tangent, spot_lights[idx].light_color_energy.rgb, light_attenuation, albedo, transmission, spot_lights[idx].light_params.z * p_blob_intensity, roughness, metallic, rim * spot_attenuation, rim_tint, clearcoat, clearcoat_gloss, anisotropy, diffuse_light, specular_light);
}
-void reflection_process(int idx, vec3 vertex, vec3 normal,vec3 binormal, vec3 tangent,float roughness,float anisotropy,vec3 ambient,vec3 skybox, inout highp vec4 reflection_accum,inout highp vec4 ambient_accum) {
+void reflection_process(int idx, vec3 vertex, vec3 normal, vec3 binormal, vec3 tangent, float roughness, float anisotropy, vec3 ambient, vec3 skybox, inout highp vec4 reflection_accum, inout highp vec4 ambient_accum) {
- vec3 ref_vec = normalize(reflect(vertex,normal));
- vec3 local_pos = (reflections[idx].local_matrix * vec4(vertex,1.0)).xyz;
+ vec3 ref_vec = normalize(reflect(vertex, normal));
+ vec3 local_pos = (reflections[idx].local_matrix * vec4(vertex, 1.0)).xyz;
vec3 box_extents = reflections[idx].box_extents.xyz;
- if (any(greaterThan(abs(local_pos),box_extents))) { //out of the reflection box
+ if (any(greaterThan(abs(local_pos), box_extents))) { //out of the reflection box
return;
}
vec3 inner_pos = abs(local_pos / box_extents);
- float blend = max(inner_pos.x,max(inner_pos.y,inner_pos.z));
+ float blend = max(inner_pos.x, max(inner_pos.y, inner_pos.z));
//make blend more rounded
- blend=mix(length(inner_pos),blend,blend);
- blend*=blend;
- blend=max(0.0, 1.0-blend);
+ blend = mix(length(inner_pos), blend, blend);
+ blend *= blend;
+ blend = max(0.0, 1.0 - blend);
- if (reflections[idx].params.x>0.0){// compute reflection
+ if (reflections[idx].params.x > 0.0) { // compute reflection
- vec3 local_ref_vec = (reflections[idx].local_matrix * vec4(ref_vec,0.0)).xyz;
+ vec3 local_ref_vec = (reflections[idx].local_matrix * vec4(ref_vec, 0.0)).xyz;
if (reflections[idx].params.w > 0.5) { //box project
vec3 nrdir = normalize(local_ref_vec);
- vec3 rbmax = (box_extents - local_pos)/nrdir;
- vec3 rbmin = (-box_extents - local_pos)/nrdir;
+ vec3 rbmax = (box_extents - local_pos) / nrdir;
+ vec3 rbmin = (-box_extents - local_pos) / nrdir;
-
- vec3 rbminmax = mix(rbmin,rbmax,greaterThan(nrdir,vec3(0.0,0.0,0.0)));
+ vec3 rbminmax = mix(rbmin, rbmax, greaterThan(nrdir, vec3(0.0, 0.0, 0.0)));
float fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);
vec3 posonbox = local_pos + nrdir * fa;
local_ref_vec = posonbox - reflections[idx].box_offset.xyz;
}
-
- vec4 clamp_rect=reflections[idx].atlas_clamp;
+ vec4 clamp_rect = reflections[idx].atlas_clamp;
vec3 norm = normalize(local_ref_vec);
- norm.xy/=1.0+abs(norm.z);
- norm.xy=norm.xy * vec2(0.5,0.25) + vec2(0.5,0.25);
- if (norm.z>0.0) {
- norm.y=0.5-norm.y+0.5;
+ norm.xy /= 1.0 + abs(norm.z);
+ norm.xy = norm.xy * vec2(0.5, 0.25) + vec2(0.5, 0.25);
+ if (norm.z > 0.0) {
+ norm.y = 0.5 - norm.y + 0.5;
}
- vec2 atlas_uv = norm.xy * clamp_rect.zw + clamp_rect.xy;
- atlas_uv = clamp(atlas_uv,clamp_rect.xy,clamp_rect.xy+clamp_rect.zw);
+ vec2 atlas_uv = norm.xy * clamp_rect.zw + clamp_rect.xy;
+ atlas_uv = clamp(atlas_uv, clamp_rect.xy, clamp_rect.xy + clamp_rect.zw);
highp vec4 reflection;
- reflection.rgb = textureLod(reflection_atlas,atlas_uv,roughness*5.0).rgb;
+ reflection.rgb = textureLod(reflection_atlas, atlas_uv, roughness * 5.0).rgb;
if (reflections[idx].params.z < 0.5) {
- reflection.rgb = mix(skybox,reflection.rgb,blend);
+ reflection.rgb = mix(skybox, reflection.rgb, blend);
}
- reflection.rgb*=reflections[idx].params.x;
+ reflection.rgb *= reflections[idx].params.x;
reflection.a = blend;
- reflection.rgb*=reflection.a;
+ reflection.rgb *= reflection.a;
- reflection_accum+=reflection;
+ reflection_accum += reflection;
}
#ifndef USE_LIGHTMAP
- if (reflections[idx].ambient.a>0.0) { //compute ambient using skybox
-
+ if (reflections[idx].ambient.a > 0.0) { //compute ambient using skybox
- vec3 local_amb_vec = (reflections[idx].local_matrix * vec4(normal,0.0)).xyz;
+ vec3 local_amb_vec = (reflections[idx].local_matrix * vec4(normal, 0.0)).xyz;
- vec3 splane=normalize(local_amb_vec);
- vec4 clamp_rect=reflections[idx].atlas_clamp;
+ vec3 splane = normalize(local_amb_vec);
+ vec4 clamp_rect = reflections[idx].atlas_clamp;
- splane.z*=-1.0;
- if (splane.z>=0.0) {
- splane.z+=1.0;
- clamp_rect.y+=clamp_rect.w;
+ splane.z *= -1.0;
+ if (splane.z >= 0.0) {
+ splane.z += 1.0;
+ clamp_rect.y += clamp_rect.w;
} else {
- splane.z=1.0 - splane.z;
- splane.y=-splane.y;
+ splane.z = 1.0 - splane.z;
+ splane.y = -splane.y;
}
- splane.xy/=splane.z;
- splane.xy=splane.xy * 0.5 + 0.5;
+ splane.xy /= splane.z;
+ splane.xy = splane.xy * 0.5 + 0.5;
splane.xy = splane.xy * clamp_rect.zw + clamp_rect.xy;
- splane.xy = clamp(splane.xy,clamp_rect.xy,clamp_rect.xy+clamp_rect.zw);
+ splane.xy = clamp(splane.xy, clamp_rect.xy, clamp_rect.xy + clamp_rect.zw);
highp vec4 ambient_out;
- ambient_out.a=blend;
- ambient_out.rgb = textureLod(reflection_atlas,splane.xy,5.0).rgb;
- ambient_out.rgb=mix(reflections[idx].ambient.rgb,ambient_out.rgb,reflections[idx].ambient.a);
+ ambient_out.a = blend;
+ ambient_out.rgb = textureLod(reflection_atlas, splane.xy, 5.0).rgb;
+ ambient_out.rgb = mix(reflections[idx].ambient.rgb, ambient_out.rgb, reflections[idx].ambient.a);
if (reflections[idx].params.z < 0.5) {
- ambient_out.rgb = mix(ambient,ambient_out.rgb,blend);
+ ambient_out.rgb = mix(ambient, ambient_out.rgb, blend);
}
ambient_out.rgb *= ambient_out.a;
- ambient_accum+=ambient_out;
+ ambient_accum += ambient_out;
} else {
highp vec4 ambient_out;
- ambient_out.a=blend;
- ambient_out.rgb=reflections[idx].ambient.rgb;
+ ambient_out.a = blend;
+ ambient_out.rgb = reflections[idx].ambient.rgb;
if (reflections[idx].params.z < 0.5) {
- ambient_out.rgb = mix(ambient,ambient_out.rgb,blend);
+ ambient_out.rgb = mix(ambient, ambient_out.rgb, blend);
}
ambient_out.rgb *= ambient_out.a;
- ambient_accum+=ambient_out;
-
+ ambient_accum += ambient_out;
}
#endif
}
@@ -1448,13 +1383,13 @@ uniform bool gi_probe_blend_ambient2;
vec3 voxel_cone_trace(mediump sampler3D probe, vec3 cell_size, vec3 pos, vec3 ambient, bool blend_ambient, vec3 direction, float tan_half_angle, float max_distance, float p_bias) {
- float dist = p_bias;//1.0; //dot(direction,mix(vec3(-1.0),vec3(1.0),greaterThan(direction,vec3(0.0))))*2.0;
- float alpha=0.0;
+ float dist = p_bias; //1.0; //dot(direction,mix(vec3(-1.0),vec3(1.0),greaterThan(direction,vec3(0.0))))*2.0;
+ float alpha = 0.0;
vec3 color = vec3(0.0);
- while(dist < max_distance && alpha < 0.95) {
+ while (dist < max_distance && alpha < 0.95) {
float diameter = max(1.0, 2.0 * tan_half_angle * dist);
- vec4 scolor = textureLod(probe, (pos + dist * direction) * cell_size, log2(diameter) );
+ vec4 scolor = textureLod(probe, (pos + dist * direction) * cell_size, log2(diameter));
float a = (1.0 - alpha);
color += scolor.rgb * a;
alpha += a * scolor.a;
@@ -1462,35 +1397,33 @@ vec3 voxel_cone_trace(mediump sampler3D probe, vec3 cell_size, vec3 pos, vec3 am
}
if (blend_ambient) {
- color.rgb = mix(ambient,color.rgb,min(1.0,alpha/0.95));
+ color.rgb = mix(ambient, color.rgb, min(1.0, alpha / 0.95));
}
return color;
}
-void gi_probe_compute(mediump sampler3D probe, mat4 probe_xform, vec3 bounds,vec3 cell_size,vec3 pos, vec3 ambient, vec3 environment, bool blend_ambient,float multiplier, mat3 normal_mtx,vec3 ref_vec, float roughness,float p_bias,float p_normal_bias, inout vec4 out_spec, inout vec4 out_diff) {
-
-
+void gi_probe_compute(mediump sampler3D probe, mat4 probe_xform, vec3 bounds, vec3 cell_size, vec3 pos, vec3 ambient, vec3 environment, bool blend_ambient, float multiplier, mat3 normal_mtx, vec3 ref_vec, float roughness, float p_bias, float p_normal_bias, inout vec4 out_spec, inout vec4 out_diff) {
- vec3 probe_pos = (probe_xform * vec4(pos,1.0)).xyz;
- vec3 ref_pos = (probe_xform * vec4(pos+ref_vec,1.0)).xyz;
+ vec3 probe_pos = (probe_xform * vec4(pos, 1.0)).xyz;
+ vec3 ref_pos = (probe_xform * vec4(pos + ref_vec, 1.0)).xyz;
ref_vec = normalize(ref_pos - probe_pos);
- probe_pos+=(probe_xform * vec4(normal_mtx[2],0.0)).xyz*p_normal_bias;
+ probe_pos += (probe_xform * vec4(normal_mtx[2], 0.0)).xyz * p_normal_bias;
-/* out_diff.rgb = voxel_cone_trace(probe,cell_size,probe_pos,normalize((probe_xform * vec4(ref_vec,0.0)).xyz),0.0 ,100.0);
+ /* out_diff.rgb = voxel_cone_trace(probe,cell_size,probe_pos,normalize((probe_xform * vec4(ref_vec,0.0)).xyz),0.0 ,100.0);
out_diff.a = 1.0;
return;*/
//out_diff = vec4(textureLod(probe,probe_pos*cell_size,3.0).rgb,1.0);
//return;
//this causes corrupted pixels, i have no idea why..
- if (any(bvec2(any(lessThan(probe_pos,vec3(0.0))),any(greaterThan(probe_pos,bounds))))) {
+ if (any(bvec2(any(lessThan(probe_pos, vec3(0.0))), any(greaterThan(probe_pos, bounds))))) {
return;
}
- vec3 blendv = abs(probe_pos/bounds * 2.0 - 1.0);
- float blend = clamp(1.0-max(blendv.x,max(blendv.y,blendv.z)), 0.0, 1.0);
+ vec3 blendv = abs(probe_pos / bounds * 2.0 - 1.0);
+ float blend = clamp(1.0 - max(blendv.x, max(blendv.y, blendv.z)), 0.0, 1.0);
//float blend=1.0;
float max_distance = length(bounds);
@@ -1499,14 +1432,13 @@ void gi_probe_compute(mediump sampler3D probe, mat4 probe_xform, vec3 bounds,vec
#ifdef VCT_QUALITY_HIGH
#define MAX_CONE_DIRS 6
- vec3 cone_dirs[MAX_CONE_DIRS] = vec3[] (
- vec3(0, 0, 1),
- vec3(0.866025, 0, 0.5),
- vec3(0.267617, 0.823639, 0.5),
- vec3(-0.700629, 0.509037, 0.5),
- vec3(-0.700629, -0.509037, 0.5),
- vec3(0.267617, -0.823639, 0.5)
- );
+ vec3 cone_dirs[MAX_CONE_DIRS] = vec3[](
+ vec3(0, 0, 1),
+ vec3(0.866025, 0, 0.5),
+ vec3(0.267617, 0.823639, 0.5),
+ vec3(-0.700629, 0.509037, 0.5),
+ vec3(-0.700629, -0.509037, 0.5),
+ vec3(0.267617, -0.823639, 0.5));
float cone_weights[MAX_CONE_DIRS] = float[](0.25, 0.15, 0.15, 0.15, 0.15, 0.15);
float cone_angle_tan = 0.577;
@@ -1515,54 +1447,50 @@ void gi_probe_compute(mediump sampler3D probe, mat4 probe_xform, vec3 bounds,vec
#define MAX_CONE_DIRS 4
- vec3 cone_dirs[MAX_CONE_DIRS] = vec3[] (
+ vec3 cone_dirs[MAX_CONE_DIRS] = vec3[](
vec3(0.707107, 0, 0.707107),
vec3(0, 0.707107, 0.707107),
vec3(-0.707107, 0, 0.707107),
- vec3(0, -0.707107, 0.707107)
- );
+ vec3(0, -0.707107, 0.707107));
float cone_weights[MAX_CONE_DIRS] = float[](0.25, 0.25, 0.25, 0.25);
float cone_angle_tan = 0.98269;
- max_distance*=0.5;
+ max_distance *= 0.5;
float min_ref_tan = 0.2;
#endif
- vec3 light=vec3(0.0);
- for(int i=0;i<MAX_CONE_DIRS;i++) {
-
- vec3 dir = normalize( (probe_xform * vec4(pos + normal_mtx * cone_dirs[i],1.0)).xyz - probe_pos);
- light+=cone_weights[i] * voxel_cone_trace(probe,cell_size,probe_pos,ambient,blend_ambient,dir,cone_angle_tan,max_distance,p_bias);
+ vec3 light = vec3(0.0);
+ for (int i = 0; i < MAX_CONE_DIRS; i++) {
+ vec3 dir = normalize((probe_xform * vec4(pos + normal_mtx * cone_dirs[i], 1.0)).xyz - probe_pos);
+ light += cone_weights[i] * voxel_cone_trace(probe, cell_size, probe_pos, ambient, blend_ambient, dir, cone_angle_tan, max_distance, p_bias);
}
- light*=multiplier;
+ light *= multiplier;
- out_diff += vec4(light*blend,blend);
+ out_diff += vec4(light * blend, blend);
//irradiance
- vec3 irr_light = voxel_cone_trace(probe,cell_size,probe_pos,environment,blend_ambient,ref_vec,max(min_ref_tan,tan(roughness * 0.5 * M_PI)) ,max_distance,p_bias);
+ vec3 irr_light = voxel_cone_trace(probe, cell_size, probe_pos, environment, blend_ambient, ref_vec, max(min_ref_tan, tan(roughness * 0.5 * M_PI)), max_distance, p_bias);
irr_light *= multiplier;
//irr_light=vec3(0.0);
- out_spec += vec4(irr_light*blend,blend);
-
+ out_spec += vec4(irr_light * blend, blend);
}
-
void gi_probes_compute(vec3 pos, vec3 normal, float roughness, inout vec3 out_specular, inout vec3 out_ambient) {
roughness = roughness * roughness;
- vec3 ref_vec = normalize(reflect(normalize(pos),normal));
+ vec3 ref_vec = normalize(reflect(normalize(pos), normal));
//find arbitrary tangent and bitangent, then build a matrix
vec3 v0 = abs(normal.z) < 0.999 ? vec3(0, 0, 1) : vec3(0, 1, 0);
vec3 tangent = normalize(cross(v0, normal));
vec3 bitangent = normalize(cross(tangent, normal));
- mat3 normal_mat = mat3(tangent,bitangent,normal);
+ mat3 normal_mat = mat3(tangent, bitangent, normal);
vec4 diff_accum = vec4(0.0);
vec4 spec_accum = vec4(0.0);
@@ -1574,35 +1502,32 @@ void gi_probes_compute(vec3 pos, vec3 normal, float roughness, inout vec3 out_sp
out_specular = vec3(0.0);
- gi_probe_compute(gi_probe1,gi_probe_xform1,gi_probe_bounds1,gi_probe_cell_size1,pos,ambient,environment,gi_probe_blend_ambient1,gi_probe_multiplier1,normal_mat,ref_vec,roughness,gi_probe_bias1,gi_probe_normal_bias1,spec_accum,diff_accum);
+ gi_probe_compute(gi_probe1, gi_probe_xform1, gi_probe_bounds1, gi_probe_cell_size1, pos, ambient, environment, gi_probe_blend_ambient1, gi_probe_multiplier1, normal_mat, ref_vec, roughness, gi_probe_bias1, gi_probe_normal_bias1, spec_accum, diff_accum);
if (gi_probe2_enabled) {
- gi_probe_compute(gi_probe2,gi_probe_xform2,gi_probe_bounds2,gi_probe_cell_size2,pos,ambient,environment,gi_probe_blend_ambient2,gi_probe_multiplier2,normal_mat,ref_vec,roughness,gi_probe_bias2,gi_probe_normal_bias2,spec_accum,diff_accum);
+ gi_probe_compute(gi_probe2, gi_probe_xform2, gi_probe_bounds2, gi_probe_cell_size2, pos, ambient, environment, gi_probe_blend_ambient2, gi_probe_multiplier2, normal_mat, ref_vec, roughness, gi_probe_bias2, gi_probe_normal_bias2, spec_accum, diff_accum);
}
- if (diff_accum.a>0.0) {
- diff_accum.rgb/=diff_accum.a;
+ if (diff_accum.a > 0.0) {
+ diff_accum.rgb /= diff_accum.a;
}
- if (spec_accum.a>0.0) {
- spec_accum.rgb/=spec_accum.a;
+ if (spec_accum.a > 0.0) {
+ spec_accum.rgb /= spec_accum.a;
}
- out_specular+=spec_accum.rgb;
- out_ambient+=diff_accum.rgb;
-
+ out_specular += spec_accum.rgb;
+ out_ambient += diff_accum.rgb;
}
#endif
-
-
void main() {
#ifdef RENDER_DEPTH_DUAL_PARABOLOID
- if (dp_clip>0.0)
+ if (dp_clip > 0.0)
discard;
#endif
@@ -1622,37 +1547,36 @@ void main() {
vec2 anisotropy_flow = vec2(1.0, 0.0);
#if defined(ENABLE_AO)
- float ao=1.0;
- float ao_light_affect=0.0;
+ float ao = 1.0;
+ float ao_light_affect = 0.0;
#endif
float alpha = 1.0;
#if defined(DO_SIDE_CHECK)
- float side=gl_FrontFacing ? 1.0 : -1.0;
+ float side = gl_FrontFacing ? 1.0 : -1.0;
#else
- float side=1.0;
+ float side = 1.0;
#endif
-
#if defined(ALPHA_SCISSOR_USED)
float alpha_scissor = 0.5;
#endif
#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY)
- vec3 binormal = normalize(binormal_interp)*side;
- vec3 tangent = normalize(tangent_interp)*side;
+ vec3 binormal = normalize(binormal_interp) * side;
+ vec3 tangent = normalize(tangent_interp) * side;
#else
vec3 binormal = vec3(0.0);
vec3 tangent = vec3(0.0);
#endif
- vec3 normal = normalize(normal_interp)*side;
+ vec3 normal = normalize(normal_interp) * side;
#if defined(ENABLE_UV_INTERP)
vec2 uv = uv_interp;
#endif
-#if defined(ENABLE_UV2_INTERP) || defined (USE_LIGHTMAP)
+#if defined(ENABLE_UV2_INTERP) || defined(USE_LIGHTMAP)
vec2 uv2 = uv2_interp;
#endif
@@ -1665,33 +1589,31 @@ void main() {
vec3 normalmap = vec3(0.5);
#endif
- float normaldepth=1.0;
+ float normaldepth = 1.0;
#if defined(SCREEN_UV_USED)
- vec2 screen_uv = gl_FragCoord.xy*screen_pixel_size;
+ vec2 screen_uv = gl_FragCoord.xy * screen_pixel_size;
#endif
-#if defined (ENABLE_SSS)
- float sss_strength=0.0;
+#if defined(ENABLE_SSS)
+ float sss_strength = 0.0;
#endif
{
-
FRAGMENT_SHADER_CODE
}
-
#if defined(ALPHA_SCISSOR_USED)
- if (alpha<alpha_scissor) {
+ if (alpha < alpha_scissor) {
discard;
}
#endif
#ifdef USE_OPAQUE_PREPASS
- if (alpha<opaque_prepass_threshold) {
+ if (alpha < opaque_prepass_threshold) {
discard;
}
@@ -1699,33 +1621,33 @@ FRAGMENT_SHADER_CODE
#if defined(ENABLE_NORMALMAP)
- normalmap.xy=normalmap.xy*2.0-1.0;
- normalmap.z=sqrt(max(0.0, 1.0-dot(normalmap.xy,normalmap.xy))); //always ignore Z, as it can be RG packed, Z may be pos/neg, etc.
+ normalmap.xy = normalmap.xy * 2.0 - 1.0;
+ normalmap.z = sqrt(max(0.0, 1.0 - dot(normalmap.xy, normalmap.xy))); //always ignore Z, as it can be RG packed, Z may be pos/neg, etc.
- normal = normalize( mix(normal_interp,tangent * normalmap.x + binormal * normalmap.y + normal * normalmap.z,normaldepth) ) * side;
+ normal = normalize(mix(normal_interp, tangent * normalmap.x + binormal * normalmap.y + normal * normalmap.z, normaldepth)) * side;
#endif
#if defined(LIGHT_USE_ANISOTROPY)
- if (anisotropy>0.01) {
+ if (anisotropy > 0.01) {
//rotation matrix
- mat3 rot = mat3( tangent, binormal, normal );
+ mat3 rot = mat3(tangent, binormal, normal);
//make local to space
- tangent = normalize(rot * vec3(anisotropy_flow.x,anisotropy_flow.y,0.0));
- binormal = normalize(rot * vec3(-anisotropy_flow.y,anisotropy_flow.x,0.0));
+ tangent = normalize(rot * vec3(anisotropy_flow.x, anisotropy_flow.y, 0.0));
+ binormal = normalize(rot * vec3(-anisotropy_flow.y, anisotropy_flow.x, 0.0));
}
#endif
#ifdef ENABLE_CLIP_ALPHA
- if (albedo.a<0.99) {
+ if (albedo.a < 0.99) {
//used for doublepass and shadowmapping
discard;
}
#endif
-/////////////////////// LIGHTING //////////////////////////////
+ /////////////////////// LIGHTING //////////////////////////////
//apply energy conservation
@@ -1735,44 +1657,40 @@ FRAGMENT_SHADER_CODE
vec3 diffuse_light = diffuse_light_interp.rgb;
#else
- vec3 specular_light = vec3(0.0,0.0,0.0);
- vec3 diffuse_light = vec3(0.0,0.0,0.0);
+ vec3 specular_light = vec3(0.0, 0.0, 0.0);
+ vec3 diffuse_light = vec3(0.0, 0.0, 0.0);
#endif
vec3 ambient_light;
- vec3 env_reflection_light = vec3(0.0,0.0,0.0);
-
- vec3 eye_vec = -normalize( vertex_interp );
-
+ vec3 env_reflection_light = vec3(0.0, 0.0, 0.0);
+ vec3 eye_vec = -normalize(vertex_interp);
#ifdef USE_RADIANCE_MAP
#ifdef AMBIENT_LIGHT_DISABLED
- ambient_light=vec3(0.0,0.0,0.0);
+ ambient_light = vec3(0.0, 0.0, 0.0);
#else
{
{ //read radiance from dual paraboloid
- vec3 ref_vec = reflect(-eye_vec,normal); //2.0 * ndotv * normal - view; // reflect(v, n);
- ref_vec=normalize((radiance_inverse_xform * vec4(ref_vec,0.0)).xyz);
- vec3 radiance = textureDualParaboloid(radiance_map,ref_vec,roughness) * bg_energy;
+ vec3 ref_vec = reflect(-eye_vec, normal); //2.0 * ndotv * normal - view; // reflect(v, n);
+ ref_vec = normalize((radiance_inverse_xform * vec4(ref_vec, 0.0)).xyz);
+ vec3 radiance = textureDualParaboloid(radiance_map, ref_vec, roughness) * bg_energy;
env_reflection_light = radiance;
-
}
//no longer a cubemap
//vec3 radiance = textureLod(radiance_cube, r, lod).xyz * ( brdf.x + brdf.y);
-
}
#ifndef USE_LIGHTMAP
{
- vec3 ambient_dir=normalize((radiance_inverse_xform * vec4(normal,0.0)).xyz);
- vec3 env_ambient=textureDualParaboloid(radiance_map,ambient_dir,1.0) * bg_energy;
+ vec3 ambient_dir = normalize((radiance_inverse_xform * vec4(normal, 0.0)).xyz);
+ vec3 env_ambient = textureDualParaboloid(radiance_map, ambient_dir, 1.0) * bg_energy;
- ambient_light=mix(ambient_light_color.rgb,env_ambient,radiance_ambient_contribution);
+ ambient_light = mix(ambient_light_color.rgb, env_ambient, radiance_ambient_contribution);
//ambient_light=vec3(0.0,0.0,0.0);
}
#endif
@@ -1781,23 +1699,23 @@ FRAGMENT_SHADER_CODE
#else
#ifdef AMBIENT_LIGHT_DISABLED
- ambient_light=vec3(0.0,0.0,0.0);
+ ambient_light = vec3(0.0, 0.0, 0.0);
#else
- ambient_light=ambient_light_color.rgb;
+ ambient_light = ambient_light_color.rgb;
#endif //AMBIENT_LIGHT_DISABLED
#endif
- ambient_light*=ambient_energy;
+ ambient_light *= ambient_energy;
- float specular_blob_intensity=1.0;
+ float specular_blob_intensity = 1.0;
#if defined(SPECULAR_TOON)
- specular_blob_intensity*=specular * 2.0;
+ specular_blob_intensity *= specular * 2.0;
#endif
#if defined(USE_LIGHT_DIRECTIONAL)
- vec3 light_attenuation=vec3(1.0);
+ vec3 light_attenuation = vec3(1.0);
float depth_z = -vertex.z;
#ifdef LIGHT_DIRECTIONAL_SHADOW
@@ -1811,261 +1729,234 @@ FRAGMENT_SHADER_CODE
if (depth_z < shadow_split_offsets.x) {
#endif //LIGHT_USE_PSSM4
- vec3 pssm_coord;
- float pssm_fade=0.0;
+ vec3 pssm_coord;
+ float pssm_fade = 0.0;
#ifdef LIGHT_USE_PSSM_BLEND
- float pssm_blend;
- vec3 pssm_coord2;
- bool use_blend=true;
+ float pssm_blend;
+ vec3 pssm_coord2;
+ bool use_blend = true;
#endif
-
#ifdef LIGHT_USE_PSSM4
+ if (depth_z < shadow_split_offsets.y) {
- if (depth_z < shadow_split_offsets.y) {
-
- if (depth_z < shadow_split_offsets.x) {
-
- highp vec4 splane=(shadow_matrix1 * vec4(vertex,1.0));
- pssm_coord=splane.xyz/splane.w;
+ if (depth_z < shadow_split_offsets.x) {
+ highp vec4 splane = (shadow_matrix1 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#if defined(LIGHT_USE_PSSM_BLEND)
- splane=(shadow_matrix2 * vec4(vertex,1.0));
- pssm_coord2=splane.xyz/splane.w;
- pssm_blend=smoothstep(0.0,shadow_split_offsets.x,depth_z);
+ splane = (shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
+ pssm_blend = smoothstep(0.0, shadow_split_offsets.x, depth_z);
#endif
- } else {
+ } else {
- highp vec4 splane=(shadow_matrix2 * vec4(vertex,1.0));
- pssm_coord=splane.xyz/splane.w;
+ highp vec4 splane = (shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#if defined(LIGHT_USE_PSSM_BLEND)
- splane=(shadow_matrix3 * vec4(vertex,1.0));
- pssm_coord2=splane.xyz/splane.w;
- pssm_blend=smoothstep(shadow_split_offsets.x,shadow_split_offsets.y,depth_z);
+ splane = (shadow_matrix3 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
+ pssm_blend = smoothstep(shadow_split_offsets.x, shadow_split_offsets.y, depth_z);
#endif
+ }
+ } else {
- }
- } else {
-
-
- if (depth_z < shadow_split_offsets.z) {
+ if (depth_z < shadow_split_offsets.z) {
- highp vec4 splane=(shadow_matrix3 * vec4(vertex,1.0));
- pssm_coord=splane.xyz/splane.w;
+ highp vec4 splane = (shadow_matrix3 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#if defined(LIGHT_USE_PSSM_BLEND)
- splane=(shadow_matrix4 * vec4(vertex,1.0));
- pssm_coord2=splane.xyz/splane.w;
- pssm_blend=smoothstep(shadow_split_offsets.y,shadow_split_offsets.z,depth_z);
+ splane = (shadow_matrix4 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
+ pssm_blend = smoothstep(shadow_split_offsets.y, shadow_split_offsets.z, depth_z);
#endif
- } else {
+ } else {
- highp vec4 splane=(shadow_matrix4 * vec4(vertex,1.0));
- pssm_coord=splane.xyz/splane.w;
- pssm_fade = smoothstep(shadow_split_offsets.z,shadow_split_offsets.w,depth_z);
+ highp vec4 splane = (shadow_matrix4 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
+ pssm_fade = smoothstep(shadow_split_offsets.z, shadow_split_offsets.w, depth_z);
#if defined(LIGHT_USE_PSSM_BLEND)
- use_blend=false;
+ use_blend = false;
#endif
-
+ }
}
- }
-
-
#endif //LIGHT_USE_PSSM4
#ifdef LIGHT_USE_PSSM2
- if (depth_z < shadow_split_offsets.x) {
-
- highp vec4 splane=(shadow_matrix1 * vec4(vertex,1.0));
- pssm_coord=splane.xyz/splane.w;
+ if (depth_z < shadow_split_offsets.x) {
+ highp vec4 splane = (shadow_matrix1 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
#if defined(LIGHT_USE_PSSM_BLEND)
- splane=(shadow_matrix2 * vec4(vertex,1.0));
- pssm_coord2=splane.xyz/splane.w;
- pssm_blend=smoothstep(0.0,shadow_split_offsets.x,depth_z);
+ splane = (shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord2 = splane.xyz / splane.w;
+ pssm_blend = smoothstep(0.0, shadow_split_offsets.x, depth_z);
#endif
- } else {
- highp vec4 splane=(shadow_matrix2 * vec4(vertex,1.0));
- pssm_coord=splane.xyz/splane.w;
- pssm_fade = smoothstep(shadow_split_offsets.x,shadow_split_offsets.y,depth_z);
+ } else {
+ highp vec4 splane = (shadow_matrix2 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
+ pssm_fade = smoothstep(shadow_split_offsets.x, shadow_split_offsets.y, depth_z);
#if defined(LIGHT_USE_PSSM_BLEND)
- use_blend=false;
+ use_blend = false;
#endif
-
- }
+ }
#endif //LIGHT_USE_PSSM2
#if !defined(LIGHT_USE_PSSM4) && !defined(LIGHT_USE_PSSM2)
- { //regular orthogonal
- highp vec4 splane=(shadow_matrix1 * vec4(vertex,1.0));
- pssm_coord=splane.xyz/splane.w;
- }
+ { //regular orthogonal
+ highp vec4 splane = (shadow_matrix1 * vec4(vertex, 1.0));
+ pssm_coord = splane.xyz / splane.w;
+ }
#endif
+ //one one sample
- //one one sample
-
- float shadow = sample_shadow(directional_shadow,directional_shadow_pixel_size,pssm_coord.xy,pssm_coord.z,light_clamp);
+ float shadow = sample_shadow(directional_shadow, directional_shadow_pixel_size, pssm_coord.xy, pssm_coord.z, light_clamp);
#if defined(LIGHT_USE_PSSM_BLEND)
- if (use_blend) {
- shadow=mix(shadow, sample_shadow(directional_shadow,directional_shadow_pixel_size,pssm_coord2.xy,pssm_coord2.z,light_clamp),pssm_blend);
- }
+ if (use_blend) {
+ shadow = mix(shadow, sample_shadow(directional_shadow, directional_shadow_pixel_size, pssm_coord2.xy, pssm_coord2.z, light_clamp), pssm_blend);
+ }
#endif
#ifdef USE_CONTACT_SHADOWS
- if (shadow>0.01 && shadow_color_contact.a>0.0) {
+ if (shadow > 0.01 && shadow_color_contact.a > 0.0) {
- float contact_shadow = contact_shadow_compute(vertex,-light_direction_attenuation.xyz,shadow_color_contact.a);
- shadow=min(shadow,contact_shadow);
-
- }
+ float contact_shadow = contact_shadow_compute(vertex, -light_direction_attenuation.xyz, shadow_color_contact.a);
+ shadow = min(shadow, contact_shadow);
+ }
#endif
- light_attenuation=mix(mix(shadow_color_contact.rgb,vec3(1.0),shadow),vec3(1.0),pssm_fade);
-
-
+ light_attenuation = mix(mix(shadow_color_contact.rgb, vec3(1.0), shadow), vec3(1.0), pssm_fade);
}
-
#endif // !defined(SHADOWS_DISABLED)
#endif //LIGHT_DIRECTIONAL_SHADOW
#ifdef USE_VERTEX_LIGHTING
- diffuse_light*=mix(vec3(1.0),light_attenuation,diffuse_light_interp.a);
- specular_light*=mix(vec3(1.0),light_attenuation,specular_light_interp.a);
+ diffuse_light *= mix(vec3(1.0), light_attenuation, diffuse_light_interp.a);
+ specular_light *= mix(vec3(1.0), light_attenuation, specular_light_interp.a);
#else
- light_compute(normal,-light_direction_attenuation.xyz,eye_vec,binormal,tangent,light_color_energy.rgb,light_attenuation,albedo,transmission,light_params.z*specular_blob_intensity,roughness,metallic,rim,rim_tint,clearcoat,clearcoat_gloss,anisotropy,diffuse_light,specular_light);
+ light_compute(normal, -light_direction_attenuation.xyz, eye_vec, binormal, tangent, light_color_energy.rgb, light_attenuation, albedo, transmission, light_params.z * specular_blob_intensity, roughness, metallic, rim, rim_tint, clearcoat, clearcoat_gloss, anisotropy, diffuse_light, specular_light);
#endif
-
#endif //#USE_LIGHT_DIRECTIONAL
#ifdef USE_GI_PROBES
- gi_probes_compute(vertex,normal,roughness,env_reflection_light,ambient_light);
+ gi_probes_compute(vertex, normal, roughness, env_reflection_light, ambient_light);
#endif
#ifdef USE_LIGHTMAP
- ambient_light = texture(lightmap,uv2).rgb * lightmap_energy;
+ ambient_light = texture(lightmap, uv2).rgb * lightmap_energy;
#endif
#ifdef USE_LIGHTMAP_CAPTURE
{
- vec3 cone_dirs[12] = vec3[] (
- vec3(0, 0, 1),
- vec3(0.866025, 0, 0.5),
- vec3(0.267617, 0.823639, 0.5),
- vec3(-0.700629, 0.509037, 0.5),
- vec3(-0.700629, -0.509037, 0.5),
- vec3(0.267617, -0.823639, 0.5),
- vec3(0, 0, -1),
- vec3(0.866025, 0, -0.5),
- vec3(0.267617, 0.823639, -0.5),
- vec3(-0.700629, 0.509037, -0.5),
- vec3(-0.700629, -0.509037, -0.5),
- vec3(0.267617, -0.823639, -0.5)
- );
-
-
- vec3 local_normal = normalize(camera_matrix * vec4(normal,0.0)).xyz;
+ vec3 cone_dirs[12] = vec3[](
+ vec3(0, 0, 1),
+ vec3(0.866025, 0, 0.5),
+ vec3(0.267617, 0.823639, 0.5),
+ vec3(-0.700629, 0.509037, 0.5),
+ vec3(-0.700629, -0.509037, 0.5),
+ vec3(0.267617, -0.823639, 0.5),
+ vec3(0, 0, -1),
+ vec3(0.866025, 0, -0.5),
+ vec3(0.267617, 0.823639, -0.5),
+ vec3(-0.700629, 0.509037, -0.5),
+ vec3(-0.700629, -0.509037, -0.5),
+ vec3(0.267617, -0.823639, -0.5));
+
+ vec3 local_normal = normalize(camera_matrix * vec4(normal, 0.0)).xyz;
vec4 captured = vec4(0.0);
float sum = 0.0;
- for(int i=0;i<12;i++) {
- float amount = max(0.0,dot(local_normal,cone_dirs[i])); //not correct, but creates a nice wrap around effect
- captured += lightmap_captures[i]*amount;
- sum+=amount;
+ for (int i = 0; i < 12; i++) {
+ float amount = max(0.0, dot(local_normal, cone_dirs[i])); //not correct, but creates a nice wrap around effect
+ captured += lightmap_captures[i] * amount;
+ sum += amount;
}
- captured/=sum;
+ captured /= sum;
if (lightmap_capture_sky) {
- ambient_light = mix( ambient_light, captured.rgb, captured.a);
+ ambient_light = mix(ambient_light, captured.rgb, captured.a);
} else {
ambient_light = captured.rgb;
}
-
}
#endif
#ifdef USE_FORWARD_LIGHTING
-
- highp vec4 reflection_accum = vec4(0.0,0.0,0.0,0.0);
- highp vec4 ambient_accum = vec4(0.0,0.0,0.0,0.0);
- for(int i=0;i<reflection_count;i++) {
- reflection_process(reflection_indices[i],vertex,normal,binormal,tangent,roughness,anisotropy,ambient_light,env_reflection_light,reflection_accum,ambient_accum);
+ highp vec4 reflection_accum = vec4(0.0, 0.0, 0.0, 0.0);
+ highp vec4 ambient_accum = vec4(0.0, 0.0, 0.0, 0.0);
+ for (int i = 0; i < reflection_count; i++) {
+ reflection_process(reflection_indices[i], vertex, normal, binormal, tangent, roughness, anisotropy, ambient_light, env_reflection_light, reflection_accum, ambient_accum);
}
- if (reflection_accum.a>0.0) {
- specular_light+=reflection_accum.rgb/reflection_accum.a;
+ if (reflection_accum.a > 0.0) {
+ specular_light += reflection_accum.rgb / reflection_accum.a;
} else {
- specular_light+=env_reflection_light;
+ specular_light += env_reflection_light;
}
#ifndef USE_LIGHTMAP
- if (ambient_accum.a>0.0) {
- ambient_light=ambient_accum.rgb/ambient_accum.a;
+ if (ambient_accum.a > 0.0) {
+ ambient_light = ambient_accum.rgb / ambient_accum.a;
}
#endif
-
#ifdef USE_VERTEX_LIGHTING
- diffuse_light*=albedo;
+ diffuse_light *= albedo;
#else
- for(int i=0;i<omni_light_count;i++) {
- light_process_omni(omni_light_indices[i],vertex,eye_vec,normal,binormal,tangent,albedo,transmission,roughness,metallic,rim,rim_tint,clearcoat,clearcoat_gloss,anisotropy,specular_blob_intensity,diffuse_light,specular_light);
+ for (int i = 0; i < omni_light_count; i++) {
+ light_process_omni(omni_light_indices[i], vertex, eye_vec, normal, binormal, tangent, albedo, transmission, roughness, metallic, rim, rim_tint, clearcoat, clearcoat_gloss, anisotropy, specular_blob_intensity, diffuse_light, specular_light);
}
- for(int i=0;i<spot_light_count;i++) {
- light_process_spot(spot_light_indices[i],vertex,eye_vec,normal,binormal,tangent,albedo,transmission,roughness,metallic,rim,rim_tint,clearcoat,clearcoat_gloss,anisotropy,specular_blob_intensity,diffuse_light,specular_light);
+ for (int i = 0; i < spot_light_count; i++) {
+ light_process_spot(spot_light_indices[i], vertex, eye_vec, normal, binormal, tangent, albedo, transmission, roughness, metallic, rim, rim_tint, clearcoat, clearcoat_gloss, anisotropy, specular_blob_intensity, diffuse_light, specular_light);
}
#endif //USE_VERTEX_LIGHTING
#endif
-
-
-
#ifdef RENDER_DEPTH
//nothing happens, so a tree-ssa optimizer will result in no fragment shader :)
#else
- specular_light*=reflection_multiplier;
- ambient_light*=albedo; //ambient must be multiplied by albedo at the end
+ specular_light *= reflection_multiplier;
+ ambient_light *= albedo; //ambient must be multiplied by albedo at the end
#if defined(ENABLE_AO)
- ambient_light*=ao;
- ao_light_affect = mix(1.0,ao,ao_light_affect);
- specular_light*=ao_light_affect;
- diffuse_light*=ao_light_affect;
+ ambient_light *= ao;
+ ao_light_affect = mix(1.0, ao, ao_light_affect);
+ specular_light *= ao_light_affect;
+ diffuse_light *= ao_light_affect;
#endif
-
-
//energy conservation
- diffuse_light *= 1.0-metallic; // TODO: avoid all diffuse and ambient light calculations when metallic == 1 up to this point
- ambient_light *= 1.0-metallic;
-
+ diffuse_light *= 1.0 - metallic; // TODO: avoid all diffuse and ambient light calculations when metallic == 1 up to this point
+ ambient_light *= 1.0 - metallic;
{
@@ -2076,27 +1967,24 @@ FRAGMENT_SHADER_CODE
// Environment brdf approximation (Lazarov 2013)
// see https://www.unrealengine.com/en-US/blog/physically-based-shading-on-mobile
const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
- const vec4 c1 = vec4( 1.0, 0.0425, 1.04, -0.04);
+ const vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);
vec4 r = roughness * c0 + c1;
- float ndotv = clamp(dot(normal,eye_vec),0.0,1.0);
- float a004 = min( r.x * r.x, exp2( -9.28 * ndotv ) ) * r.x + r.y;
- vec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;
+ float ndotv = clamp(dot(normal, eye_vec), 0.0, 1.0);
+ float a004 = min(r.x * r.x, exp2(-9.28 * ndotv)) * r.x + r.y;
+ vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;
vec3 specular_color = metallic_to_specular_color(metallic, specular, albedo);
specular_light *= AB.x * specular_color + AB.y;
#endif
-
}
if (fog_color_enabled.a > 0.5) {
- float fog_amount=0.0;
-
-
+ float fog_amount = 0.0;
#ifdef USE_LIGHT_DIRECTIONAL
- vec3 fog_color = mix( fog_color_enabled.rgb, fog_sun_color_amount.rgb,fog_sun_color_amount.a * pow(max( dot(normalize(vertex),-light_direction_attenuation.xyz), 0.0),8.0) );
+ vec3 fog_color = mix(fog_color_enabled.rgb, fog_sun_color_amount.rgb, fog_sun_color_amount.a * pow(max(dot(normalize(vertex), -light_direction_attenuation.xyz), 0.0), 8.0));
#else
vec3 fog_color = fog_color_enabled.rgb;
@@ -2106,78 +1994,67 @@ FRAGMENT_SHADER_CODE
if (fog_depth_enabled) {
- float fog_z = smoothstep(fog_depth_begin,z_far,length(vertex));
+ float fog_z = smoothstep(fog_depth_begin, z_far, length(vertex));
- fog_amount = pow(fog_z,fog_depth_curve);
+ fog_amount = pow(fog_z, fog_depth_curve);
if (fog_transmit_enabled) {
vec3 total_light = emission + ambient_light + specular_light + diffuse_light;
- float transmit = pow(fog_z,fog_transmit_curve);
- fog_color = mix(max(total_light,fog_color),fog_color,transmit);
+ float transmit = pow(fog_z, fog_transmit_curve);
+ fog_color = mix(max(total_light, fog_color), fog_color, transmit);
}
}
if (fog_height_enabled) {
- float y = (camera_matrix * vec4(vertex,1.0)).y;
- fog_amount = max(fog_amount,pow(smoothstep(fog_height_min,fog_height_max,y),fog_height_curve));
+ float y = (camera_matrix * vec4(vertex, 1.0)).y;
+ fog_amount = max(fog_amount, pow(smoothstep(fog_height_min, fog_height_max, y), fog_height_curve));
}
float rev_amount = 1.0 - fog_amount;
-
emission = emission * rev_amount + fog_color * fog_amount;
- ambient_light*=rev_amount;
- specular_light*rev_amount;
- diffuse_light*=rev_amount;
-
+ ambient_light *= rev_amount;
+ specular_light *rev_amount;
+ diffuse_light *= rev_amount;
}
#ifdef USE_MULTIPLE_RENDER_TARGETS
-
#ifdef SHADELESS
- diffuse_buffer=vec4(albedo.rgb,0.0);
- specular_buffer=vec4(0.0);
+ diffuse_buffer = vec4(albedo.rgb, 0.0);
+ specular_buffer = vec4(0.0);
#else
-
-
//approximate ambient scale for SSAO, since we will lack full ambient
- float max_emission=max(emission.r,max(emission.g,emission.b));
- float max_ambient=max(ambient_light.r,max(ambient_light.g,ambient_light.b));
- float max_diffuse=max(diffuse_light.r,max(diffuse_light.g,diffuse_light.b));
- float total_ambient = max_ambient+max_diffuse+max_emission;
- float ambient_scale = (total_ambient>0.0) ? (max_ambient+ambient_occlusion_affect_light*max_diffuse)/total_ambient : 0.0;
+ float max_emission = max(emission.r, max(emission.g, emission.b));
+ float max_ambient = max(ambient_light.r, max(ambient_light.g, ambient_light.b));
+ float max_diffuse = max(diffuse_light.r, max(diffuse_light.g, diffuse_light.b));
+ float total_ambient = max_ambient + max_diffuse + max_emission;
+ float ambient_scale = (total_ambient > 0.0) ? (max_ambient + ambient_occlusion_affect_light * max_diffuse) / total_ambient : 0.0;
#if defined(ENABLE_AO)
- ambient_scale=mix(0.0,ambient_scale,ambient_occlusion_affect_ao_channel);
+ ambient_scale = mix(0.0, ambient_scale, ambient_occlusion_affect_ao_channel);
#endif
- diffuse_buffer=vec4(emission+diffuse_light+ambient_light,ambient_scale);
- specular_buffer=vec4(specular_light,metallic);
+ diffuse_buffer = vec4(emission + diffuse_light + ambient_light, ambient_scale);
+ specular_buffer = vec4(specular_light, metallic);
#endif //SHADELESS
- normal_mr_buffer=vec4(normalize(normal)*0.5+0.5,roughness);
+ normal_mr_buffer = vec4(normalize(normal) * 0.5 + 0.5, roughness);
-#if defined (ENABLE_SSS)
+#if defined(ENABLE_SSS)
sss_buffer = sss_strength;
#endif
-
#else //USE_MULTIPLE_RENDER_TARGETS
-
#ifdef SHADELESS
- frag_color=vec4(albedo,alpha);
+ frag_color = vec4(albedo, alpha);
#else
- frag_color=vec4(emission+ambient_light+diffuse_light+specular_light,alpha);
+ frag_color = vec4(emission + ambient_light + diffuse_light + specular_light, alpha);
#endif //SHADELESS
#endif //USE_MULTIPLE_RENDER_TARGETS
-
-
#endif //RENDER_DEPTH
-
-
}
diff --git a/drivers/gles3/shaders/screen_space_reflection.glsl b/drivers/gles3/shaders/screen_space_reflection.glsl
index b2e6f7a736..73b1ddbb0e 100644
--- a/drivers/gles3/shaders/screen_space_reflection.glsl
+++ b/drivers/gles3/shaders/screen_space_reflection.glsl
@@ -1,8 +1,7 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
out vec2 pos_interp;
@@ -11,12 +10,11 @@ void main() {
uv_interp = uv_in;
gl_Position = vertex_attrib;
- pos_interp.xy=gl_Position.xy;
+ pos_interp.xy = gl_Position.xy;
}
[fragment]
-
in vec2 uv_interp;
in vec2 pos_interp;
@@ -40,81 +38,67 @@ uniform float depth_tolerance;
uniform float distance_fade;
uniform float curve_fade_in;
-
layout(location = 0) out vec4 frag_color;
-
-vec2 view_to_screen(vec3 view_pos,out float w) {
- vec4 projected = projection * vec4(view_pos, 1.0);
- projected.xyz /= projected.w;
- projected.xy = projected.xy * 0.5 + 0.5;
- w=projected.w;
- return projected.xy;
+vec2 view_to_screen(vec3 view_pos, out float w) {
+ vec4 projected = projection * vec4(view_pos, 1.0);
+ projected.xyz /= projected.w;
+ projected.xy = projected.xy * 0.5 + 0.5;
+ w = projected.w;
+ return projected.xy;
}
-
-
#define M_PI 3.14159265359
void main() {
-
- ////
-
- vec4 diffuse = texture( source_diffuse, uv_interp );
- vec4 normal_roughness = texture( source_normal_roughness, uv_interp);
+ vec4 diffuse = texture(source_diffuse, uv_interp);
+ vec4 normal_roughness = texture(source_normal_roughness, uv_interp);
vec3 normal;
-
- normal = normal_roughness.xyz*2.0-1.0;
+ normal = normal_roughness.xyz * 2.0 - 1.0;
float roughness = normal_roughness.w;
- float depth_tex = texture(source_depth,uv_interp).r;
+ float depth_tex = texture(source_depth, uv_interp).r;
- vec4 world_pos = inverse_projection * vec4( uv_interp*2.0-1.0, depth_tex*2.0-1.0, 1.0 );
- vec3 vertex = world_pos.xyz/world_pos.w;
+ vec4 world_pos = inverse_projection * vec4(uv_interp * 2.0 - 1.0, depth_tex * 2.0 - 1.0, 1.0);
+ vec3 vertex = world_pos.xyz / world_pos.w;
vec3 view_dir = normalize(vertex);
vec3 ray_dir = normalize(reflect(view_dir, normal));
- if (dot(ray_dir,normal)<0.001) {
- frag_color=vec4(0.0);
+ if (dot(ray_dir, normal) < 0.001) {
+ frag_color = vec4(0.0);
return;
}
//ray_dir = normalize(view_dir - normal * dot(normal,view_dir) * 2.0);
-
- //ray_dir = normalize(vec3(1,1,-1));
-
+ //ray_dir = normalize(vec3(1, 1, -1));
////////////////
-
- //make ray length and clip it against the near plane (don't want to trace beyond visible)
+ // make ray length and clip it against the near plane (don't want to trace beyond visible)
float ray_len = (vertex.z + ray_dir.z * camera_z_far) > -camera_z_near ? (-camera_z_near - vertex.z) / ray_dir.z : camera_z_far;
- vec3 ray_end = vertex + ray_dir*ray_len;
+ vec3 ray_end = vertex + ray_dir * ray_len;
float w_begin;
- vec2 vp_line_begin = view_to_screen(vertex,w_begin);
+ vec2 vp_line_begin = view_to_screen(vertex, w_begin);
float w_end;
- vec2 vp_line_end = view_to_screen( ray_end, w_end);
- vec2 vp_line_dir = vp_line_end-vp_line_begin;
-
- //we need to interpolate w along the ray, to generate perspective correct reflections
-
- w_begin = 1.0/w_begin;
- w_end = 1.0/w_end;
+ vec2 vp_line_end = view_to_screen(ray_end, w_end);
+ vec2 vp_line_dir = vp_line_end - vp_line_begin;
+ // we need to interpolate w along the ray, to generate perspective correct reflections
+ w_begin = 1.0 / w_begin;
+ w_end = 1.0 / w_end;
- float z_begin = vertex.z*w_begin;
- float z_end = ray_end.z*w_end;
+ float z_begin = vertex.z * w_begin;
+ float z_end = ray_end.z * w_end;
- vec2 line_begin = vp_line_begin/pixel_size;
- vec2 line_dir = vp_line_dir/pixel_size;
+ vec2 line_begin = vp_line_begin / pixel_size;
+ vec2 line_dir = vp_line_dir / pixel_size;
float z_dir = z_end - z_begin;
float w_dir = w_end - w_begin;
-
// clip the line to the viewport edges
float scale_max_x = min(1.0, 0.99 * (1.0 - vp_line_begin.x) / max(1e-5, vp_line_dir.x));
@@ -124,126 +108,114 @@ void main() {
float line_clip = min(scale_max_x, scale_max_y) * min(scale_min_x, scale_min_y);
line_dir *= line_clip;
z_dir *= line_clip;
- w_dir *=line_clip;
+ w_dir *= line_clip;
- //clip z and w advance to line advance
- vec2 line_advance = normalize(line_dir); //down to pixel
- float step_size = length(line_advance)/length(line_dir);
- float z_advance = z_dir*step_size; // adapt z advance to line advance
- float w_advance = w_dir*step_size; // adapt w advance to line advance
+ // clip z and w advance to line advance
+ vec2 line_advance = normalize(line_dir); // down to pixel
+ float step_size = length(line_advance) / length(line_dir);
+ float z_advance = z_dir * step_size; // adapt z advance to line advance
+ float w_advance = w_dir * step_size; // adapt w advance to line advance
- //make line advance faster if direction is closer to pixel edges (this avoids sampling the same pixel twice)
- float advance_angle_adj = 1.0/max(abs(line_advance.x),abs(line_advance.y));
- line_advance*=advance_angle_adj; // adapt z advance to line advance
- z_advance*=advance_angle_adj;
- w_advance*=advance_angle_adj;
+ // make line advance faster if direction is closer to pixel edges (this avoids sampling the same pixel twice)
+ float advance_angle_adj = 1.0 / max(abs(line_advance.x), abs(line_advance.y));
+ line_advance *= advance_angle_adj; // adapt z advance to line advance
+ z_advance *= advance_angle_adj;
+ w_advance *= advance_angle_adj;
vec2 pos = line_begin;
float z = z_begin;
float w = w_begin;
- float z_from=z/w;
- float z_to=z_from;
+ float z_from = z / w;
+ float z_to = z_from;
float depth;
- vec2 prev_pos=pos;
+ vec2 prev_pos = pos;
- bool found=false;
+ bool found = false;
- float steps_taken=0.0;
+ float steps_taken = 0.0;
- for(int i=0;i<num_steps;i++) {
+ for (int i = 0; i < num_steps; i++) {
- pos+=line_advance;
- z+=z_advance;
- w+=w_advance;
+ pos += line_advance;
+ z += z_advance;
+ w += w_advance;
- //convert to linear depth
+ // convert to linear depth
- depth = texture(source_depth, pos*pixel_size).r * 2.0 - 1.0;
+ depth = texture(source_depth, pos * pixel_size).r * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth = ((depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth = ((depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth * (camera_z_far - camera_z_near));
#endif
- depth=-depth;
+ depth = -depth;
z_from = z_to;
- z_to = z/w;
+ z_to = z / w;
- if (depth>z_to) {
- //if depth was surpassed
- if (depth<=max(z_to,z_from)+depth_tolerance) {
- //check the depth tolerance
- found=true;
+ if (depth > z_to) {
+ // if depth was surpassed
+ if (depth <= max(z_to, z_from) + depth_tolerance) {
+ // check the depth tolerance
+ found = true;
}
break;
}
- steps_taken+=1.0;
- prev_pos=pos;
+ steps_taken += 1.0;
+ prev_pos = pos;
}
-
-
-
if (found) {
- float margin_blend=1.0;
+ float margin_blend = 1.0;
-
- vec2 margin = vec2((viewport_size.x+viewport_size.y)*0.5*0.05); //make a uniform margin
- if (any(bvec4(lessThan(pos,-margin),greaterThan(pos,viewport_size+margin)))) {
- //clip outside screen + margin
- frag_color=vec4(0.0);
+ vec2 margin = vec2((viewport_size.x + viewport_size.y) * 0.5 * 0.05); // make a uniform margin
+ if (any(bvec4(lessThan(pos, -margin), greaterThan(pos, viewport_size + margin)))) {
+ // clip outside screen + margin
+ frag_color = vec4(0.0);
return;
}
{
//blend fading out towards external margin
- vec2 margin_grad = mix(pos-viewport_size,-pos,lessThan(pos,vec2(0.0)));
- margin_blend = 1.0-smoothstep(0.0,margin.x,max(margin_grad.x,margin_grad.y));
- //margin_blend=1.0;
-
+ vec2 margin_grad = mix(pos - viewport_size, -pos, lessThan(pos, vec2(0.0)));
+ margin_blend = 1.0 - smoothstep(0.0, margin.x, max(margin_grad.x, margin_grad.y));
+ //margin_blend = 1.0;
}
vec2 final_pos;
float grad;
- grad=steps_taken/float(num_steps);
- float initial_fade = curve_fade_in==0.0 ? 1.0 : pow(clamp(grad,0.0,1.0),curve_fade_in);
- float fade = pow(clamp(1.0-grad,0.0,1.0),distance_fade)*initial_fade;
- final_pos=pos;
-
-
-
-
-
-
+ grad = steps_taken / float(num_steps);
+ float initial_fade = curve_fade_in == 0.0 ? 1.0 : pow(clamp(grad, 0.0, 1.0), curve_fade_in);
+ float fade = pow(clamp(1.0 - grad, 0.0, 1.0), distance_fade) * initial_fade;
+ final_pos = pos;
#ifdef REFLECT_ROUGHNESS
-
vec4 final_color;
- //if roughness is enabled, do screen space cone tracing
+ // if roughness is enabled, do screen space cone tracing
if (roughness > 0.001) {
///////////////////////////////////////////////////////////////////////////////////////
- //use a blurred version (in consecutive mipmaps) of the screen to simulate roughness
+ // use a blurred version (in consecutive mipmaps) of the screen to simulate roughness
- float gloss = 1.0-roughness;
+ float gloss = 1.0 - roughness;
float cone_angle = roughness * M_PI * 0.5;
vec2 cone_dir = final_pos - line_begin;
float cone_len = length(cone_dir);
- cone_dir = normalize(cone_dir); //will be used normalized from now on
+ cone_dir = normalize(cone_dir); // will be used normalized from now on
float max_mipmap = filter_mipmap_levels - 1.0;
- float gloss_mult=gloss;
+ float gloss_mult = gloss;
- float rem_alpha=1.0;
+ float rem_alpha = 1.0;
final_color = vec4(0.0);
- for(int i=0;i<7;i++) {
+ for (int i = 0; i < 7; i++) {
- float op_len = 2.0 * tan(cone_angle) * cone_len; //opposite side of iso triangle
+ float op_len = 2.0 * tan(cone_angle) * cone_len; // opposite side of iso triangle
float radius;
{
- //fit to sphere inside cone (sphere ends at end of cone), something like this:
+ // fit to sphere inside cone (sphere ends at end of cone), something like this:
// ___
// \O/
// V
@@ -257,31 +229,31 @@ void main() {
radius = (a * (sqrt(a2 + fh2) - a)) / (4.0f * h);
}
- //find the place where screen must be sampled
- vec2 sample_pos = ( line_begin + cone_dir * (cone_len - radius) ) * pixel_size;
- //radius is in pixels, so it's natural that log2(radius) maps to the right mipmap for the amount of pixels
- float mipmap = clamp( log2( radius ), 0.0, max_mipmap );
+ // find the place where screen must be sampled
+ vec2 sample_pos = (line_begin + cone_dir * (cone_len - radius)) * pixel_size;
+ // radius is in pixels, so it's natural that log2(radius) maps to the right mipmap for the amount of pixels
+ float mipmap = clamp(log2(radius), 0.0, max_mipmap);
+ //mipmap = max(mipmap - 1.0, 0.0);
- //mipmap = max(mipmap-1.0,0.0);
- //do sampling
+ // do sampling
vec4 sample_color;
{
- sample_color = textureLod(source_diffuse,sample_pos,mipmap);
+ sample_color = textureLod(source_diffuse, sample_pos, mipmap);
}
- //multiply by gloss
- sample_color.rgb*=gloss_mult;
- sample_color.a=gloss_mult;
+ // multiply by gloss
+ sample_color.rgb *= gloss_mult;
+ sample_color.a = gloss_mult;
rem_alpha -= sample_color.a;
- if(rem_alpha < 0.0) {
+ if (rem_alpha < 0.0) {
sample_color.rgb *= (1.0 - abs(rem_alpha));
}
- final_color+=sample_color;
+ final_color += sample_color;
- if (final_color.a>=0.95) {
+ if (final_color.a >= 0.95) {
// This code of accumulating gloss and aborting on near one
// makes sense when you think of cone tracing.
// Think of it as if roughness was 0, then we could abort on the first
@@ -290,29 +262,21 @@ void main() {
break;
}
- cone_len-=radius*2.0; //go to next (smaller) circle.
-
- gloss_mult*=gloss;
-
+ cone_len -= radius * 2.0; // go to next (smaller) circle.
+ gloss_mult *= gloss;
}
} else {
- final_color = textureLod(source_diffuse,final_pos*pixel_size,0.0);
+ final_color = textureLod(source_diffuse, final_pos * pixel_size, 0.0);
}
- frag_color = vec4(final_color.rgb,fade*margin_blend);
+ frag_color = vec4(final_color.rgb, fade * margin_blend);
#else
- frag_color = vec4(textureLod(source_diffuse,final_pos*pixel_size,0.0).rgb,fade*margin_blend);
+ frag_color = vec4(textureLod(source_diffuse, final_pos * pixel_size, 0.0).rgb, fade * margin_blend);
#endif
-
-
} else {
- frag_color = vec4(0.0,0.0,0.0,0.0);
+ frag_color = vec4(0.0, 0.0, 0.0, 0.0);
}
-
-
-
}
-
diff --git a/drivers/gles3/shaders/ssao.glsl b/drivers/gles3/shaders/ssao.glsl
index 219f0957e0..2eeeac31c3 100644
--- a/drivers/gles3/shaders/ssao.glsl
+++ b/drivers/gles3/shaders/ssao.glsl
@@ -1,12 +1,11 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
gl_Position = vertex_attrib;
- gl_Position.z=1.0;
+ gl_Position.z = 1.0;
}
[fragment]
@@ -14,21 +13,15 @@ void main() {
#define TWO_PI 6.283185307179586476925286766559
#ifdef SSAO_QUALITY_HIGH
-
#define NUM_SAMPLES (80)
-
#endif
#ifdef SSAO_QUALITY_LOW
-
#define NUM_SAMPLES (15)
-
#endif
#if !defined(SSAO_QUALITY_LOW) && !defined(SSAO_QUALITY_HIGH)
-
#define NUM_SAMPLES (40)
-
#endif
// If using depth mip levels, the log of the maximum pixel offset before we need to switch to a lower
@@ -43,19 +36,21 @@ void main() {
// This is the number of turns around the circle that the spiral pattern makes. This should be prime to prevent
// taps from lining up. This particular choice was tuned for NUM_SAMPLES == 9
-const int ROTATIONS[] = int[]( 1, 1, 2, 3, 2, 5, 2, 3, 2,
-3, 3, 5, 5, 3, 4, 7, 5, 5, 7,
-9, 8, 5, 5, 7, 7, 7, 8, 5, 8,
-11, 12, 7, 10, 13, 8, 11, 8, 7, 14,
-11, 11, 13, 12, 13, 19, 17, 13, 11, 18,
-19, 11, 11, 14, 17, 21, 15, 16, 17, 18,
-13, 17, 11, 17, 19, 18, 25, 18, 19, 19,
-29, 21, 19, 27, 31, 29, 21, 18, 17, 29,
-31, 31, 23, 18, 25, 26, 25, 23, 19, 34,
-19, 27, 21, 25, 39, 29, 17, 21, 27 );
+const int ROTATIONS[] = int[](
+ 1, 1, 2, 3, 2, 5, 2, 3, 2,
+ 3, 3, 5, 5, 3, 4, 7, 5, 5, 7,
+ 9, 8, 5, 5, 7, 7, 7, 8, 5, 8,
+ 11, 12, 7, 10, 13, 8, 11, 8, 7, 14,
+ 11, 11, 13, 12, 13, 19, 17, 13, 11, 18,
+ 19, 11, 11, 14, 17, 21, 15, 16, 17, 18,
+ 13, 17, 11, 17, 19, 18, 25, 18, 19, 19,
+ 29, 21, 19, 27, 31, 29, 21, 18, 17, 29,
+ 31, 31, 23, 18, 25, 26, 25, 23, 19, 34,
+ 19, 27, 21, 25, 39, 29, 17, 21, 27
+);
//#define NUM_SPIRAL_TURNS (7)
-const int NUM_SPIRAL_TURNS = ROTATIONS[NUM_SAMPLES-1];
+const int NUM_SPIRAL_TURNS = ROTATIONS[NUM_SAMPLES - 1];
uniform sampler2D source_depth; //texunit:0
uniform highp usampler2D source_depth_mipmaps; //texunit:1
@@ -90,44 +85,41 @@ vec3 reconstructCSPosition(vec2 S, float z) {
}
vec3 getPosition(ivec2 ssP) {
- vec3 P;
- P.z = texelFetch(source_depth, ssP, 0).r;
+ vec3 P;
+ P.z = texelFetch(source_depth, ssP, 0).r;
- P.z = P.z * 2.0 - 1.0;
+ P.z = P.z * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- P.z = ((P.z + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ P.z = ((P.z + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
- P.z = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - P.z * (camera_z_far - camera_z_near));
+ P.z = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - P.z * (camera_z_far - camera_z_near));
#endif
- P.z = -P.z;
+ P.z = -P.z;
- // Offset to pixel center
- P = reconstructCSPosition(vec2(ssP) + vec2(0.5), P.z);
- return P;
+ // Offset to pixel center
+ P = reconstructCSPosition(vec2(ssP) + vec2(0.5), P.z);
+ return P;
}
/** Reconstructs screen-space unit normal from screen-space position */
vec3 reconstructCSFaceNormal(vec3 C) {
- return normalize(cross(dFdy(C), dFdx(C)));
+ return normalize(cross(dFdy(C), dFdx(C)));
}
-
-
/** Returns a unit vector and a screen-space radius for the tap on a unit disk (the caller should scale by the actual disk radius) */
-vec2 tapLocation(int sampleNumber, float spinAngle, out float ssR){
- // Radius relative to ssR
- float alpha = (float(sampleNumber) + 0.5) * (1.0 / float(NUM_SAMPLES));
- float angle = alpha * (float(NUM_SPIRAL_TURNS) * 6.28) + spinAngle;
+vec2 tapLocation(int sampleNumber, float spinAngle, out float ssR) {
+ // Radius relative to ssR
+ float alpha = (float(sampleNumber) + 0.5) * (1.0 / float(NUM_SAMPLES));
+ float angle = alpha * (float(NUM_SPIRAL_TURNS) * 6.28) + spinAngle;
- ssR = alpha;
- return vec2(cos(angle), sin(angle));
+ ssR = alpha;
+ return vec2(cos(angle), sin(angle));
}
-
/** Read the camera-space position of the point at screen-space pixel ssP + unitOffset * ssR. Assumes length(unitOffset) == 1 */
vec3 getOffsetPosition(ivec2 ssC, vec2 unitOffset, float ssR) {
- // Derivation:
- // mipLevel = floor(log(ssR / MAX_OFFSET));
+ // Derivation:
+ // mipLevel = floor(log(ssR / MAX_OFFSET));
int mipLevel = clamp(int(floor(log2(ssR))) - LOG_MAX_OFFSET, 0, MAX_MIP_LEVEL);
ivec2 ssP = ivec2(ssR * unitOffset) + ssC;
@@ -138,98 +130,91 @@ vec3 getOffsetPosition(ivec2 ssC, vec2 unitOffset, float ssR) {
// Manually clamp to the texture size because texelFetch bypasses the texture unit
ivec2 mipP = clamp(ssP >> mipLevel, ivec2(0), (screen_size >> mipLevel) - ivec2(1));
-
if (mipLevel < 1) {
//read from depth buffer
P.z = texelFetch(source_depth, mipP, 0).r;
P.z = P.z * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- P.z = ((P.z + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ P.z = ((P.z + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
P.z = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - P.z * (camera_z_far - camera_z_near));
-
#endif
P.z = -P.z;
} else {
//read from mipmaps
- uint d = texelFetch(source_depth_mipmaps, mipP, mipLevel-1).r;
- P.z = -(float(d)/65535.0)*camera_z_far;
+ uint d = texelFetch(source_depth_mipmaps, mipP, mipLevel - 1).r;
+ P.z = -(float(d) / 65535.0) * camera_z_far;
}
-
// Offset to pixel center
P = reconstructCSPosition(vec2(ssP) + vec2(0.5), P.z);
return P;
}
-
-
/** Compute the occlusion due to sample with index \a i about the pixel at \a ssC that corresponds
- to camera-space point \a C with unit normal \a n_C, using maximum screen-space sampling radius \a ssDiskRadius
+ to camera-space point \a C with unit normal \a n_C, using maximum screen-space sampling radius \a ssDiskRadius
- Note that units of H() in the HPG12 paper are meters, not
- unitless. The whole falloff/sampling function is therefore
- unitless. In this implementation, we factor out (9 / radius).
+ Note that units of H() in the HPG12 paper are meters, not
+ unitless. The whole falloff/sampling function is therefore
+ unitless. In this implementation, we factor out (9 / radius).
- Four versions of the falloff function are implemented below
+ Four versions of the falloff function are implemented below
*/
-float sampleAO(in ivec2 ssC, in vec3 C, in vec3 n_C, in float ssDiskRadius,in float p_radius, in int tapIndex, in float randomPatternRotationAngle) {
- // Offset on the unit disk, spun for this pixel
- float ssR;
- vec2 unitOffset = tapLocation(tapIndex, randomPatternRotationAngle, ssR);
- ssR *= ssDiskRadius;
+float sampleAO(in ivec2 ssC, in vec3 C, in vec3 n_C, in float ssDiskRadius, in float p_radius, in int tapIndex, in float randomPatternRotationAngle) {
+ // Offset on the unit disk, spun for this pixel
+ float ssR;
+ vec2 unitOffset = tapLocation(tapIndex, randomPatternRotationAngle, ssR);
+ ssR *= ssDiskRadius;
- // The occluding point in camera space
- vec3 Q = getOffsetPosition(ssC, unitOffset, ssR);
+ // The occluding point in camera space
+ vec3 Q = getOffsetPosition(ssC, unitOffset, ssR);
- vec3 v = Q - C;
+ vec3 v = Q - C;
- float vv = dot(v, v);
- float vn = dot(v, n_C);
+ float vv = dot(v, v);
+ float vn = dot(v, n_C);
- const float epsilon = 0.01;
- float radius2 = p_radius*p_radius;
+ const float epsilon = 0.01;
+ float radius2 = p_radius * p_radius;
- // A: From the HPG12 paper
- // Note large epsilon to avoid overdarkening within cracks
- //return float(vv < radius2) * max((vn - bias) / (epsilon + vv), 0.0) * radius2 * 0.6;
+ // A: From the HPG12 paper
+ // Note large epsilon to avoid overdarkening within cracks
+ //return float(vv < radius2) * max((vn - bias) / (epsilon + vv), 0.0) * radius2 * 0.6;
- // B: Smoother transition to zero (lowers contrast, smoothing out corners). [Recommended]
- float f=max(radius2 - vv, 0.0);
- return f * f * f * max((vn - bias) / (epsilon + vv), 0.0);
+ // B: Smoother transition to zero (lowers contrast, smoothing out corners). [Recommended]
+ float f = max(radius2 - vv, 0.0);
+ return f * f * f * max((vn - bias) / (epsilon + vv), 0.0);
- // C: Medium contrast (which looks better at high radii), no division. Note that the
- // contribution still falls off with radius^2, but we've adjusted the rate in a way that is
- // more computationally efficient and happens to be aesthetically pleasing.
- // return 4.0 * max(1.0 - vv * invRadius2, 0.0) * max(vn - bias, 0.0);
+ // C: Medium contrast (which looks better at high radii), no division. Note that the
+ // contribution still falls off with radius^2, but we've adjusted the rate in a way that is
+ // more computationally efficient and happens to be aesthetically pleasing.
+ // return 4.0 * max(1.0 - vv * invRadius2, 0.0) * max(vn - bias, 0.0);
- // D: Low contrast, no division operation
- // return 2.0 * float(vv < radius * radius) * max(vn - bias, 0.0);
+ // D: Low contrast, no division operation
+ // return 2.0 * float(vv < radius * radius) * max(vn - bias, 0.0);
}
-
-
void main() {
-
-
// Pixel being shaded
ivec2 ssC = ivec2(gl_FragCoord.xy);
// World space point being shaded
vec3 C = getPosition(ssC);
-/* if (C.z <= -camera_z_far*0.999) {
- // We're on the skybox
- visibility=1.0;
- return;
- }*/
+ /*
+ if (C.z <= -camera_z_far * 0.999) {
+ // We're on the skybox
+ visibility=1.0;
+ return;
+ }
+ */
- //visibility=-C.z/camera_z_far;
+ //visibility = -C.z / camera_z_far;
//return;
#if 0
- vec3 n_C = texelFetch(source_normal,ssC,0).rgb * 2.0 - 1.0;
+ vec3 n_C = texelFetch(source_normal, ssC, 0).rgb * 2.0 - 1.0;
#else
vec3 n_C = reconstructCSFaceNormal(C);
n_C = -n_C;
@@ -251,7 +236,7 @@ void main() {
#endif
float sum = 0.0;
for (int i = 0; i < NUM_SAMPLES; ++i) {
- sum += sampleAO(ssC, C, n_C, ssDiskRadius, radius,i, randomPatternRotationAngle);
+ sum += sampleAO(ssC, C, n_C, ssDiskRadius, radius, i, randomPatternRotationAngle);
}
float A = max(0.0, 1.0 - sum * intensity_div_r6 * (5.0 / float(NUM_SAMPLES)));
@@ -271,10 +256,10 @@ void main() {
sum = 0.0;
for (int i = 0; i < NUM_SAMPLES; ++i) {
- sum += sampleAO(ssC, C, n_C, ssDiskRadius,radius2, i, randomPatternRotationAngle);
+ sum += sampleAO(ssC, C, n_C, ssDiskRadius, radius2, i, randomPatternRotationAngle);
}
- A= min(A,max(0.0, 1.0 - sum * intensity_div_r62 * (5.0 / float(NUM_SAMPLES))));
+ A = min(A, max(0.0, 1.0 - sum * intensity_div_r62 * (5.0 / float(NUM_SAMPLES))));
#endif
// Bilateral box-filter over a quad for free, respecting depth edges
// (the difference that this makes is subtle)
@@ -286,8 +271,4 @@ void main() {
}
visibility = A;
-
}
-
-
-
diff --git a/drivers/gles3/shaders/ssao_blur.glsl b/drivers/gles3/shaders/ssao_blur.glsl
index 472dc21acf..5526d0de18 100644
--- a/drivers/gles3/shaders/ssao_blur.glsl
+++ b/drivers/gles3/shaders/ssao_blur.glsl
@@ -1,26 +1,21 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
gl_Position = vertex_attrib;
- gl_Position.z=1.0;
+ gl_Position.z = 1.0;
}
[fragment]
-
uniform sampler2D source_ssao; //texunit:0
uniform sampler2D source_depth; //texunit:1
uniform sampler2D source_normal; //texunit:3
-
layout(location = 0) out float visibility;
-
//////////////////////////////////////////////////////////////////////////////////////////////
// Tunable Parameters:
@@ -28,18 +23,18 @@ layout(location = 0) out float visibility;
uniform float edge_sharpness;
/** Step in 2-pixel intervals since we already blurred against neighbors in the
- first AO pass. This constant can be increased while R decreases to improve
- performance at the expense of some dithering artifacts.
+ first AO pass. This constant can be increased while R decreases to improve
+ performance at the expense of some dithering artifacts.
- Morgan found that a scale of 3 left a 1-pixel checkerboard grid that was
- unobjectionable after shading was applied but eliminated most temporal incoherence
- from using small numbers of sample taps.
- */
+ Morgan found that a scale of 3 left a 1-pixel checkerboard grid that was
+ unobjectionable after shading was applied but eliminated most temporal incoherence
+ from using small numbers of sample taps.
+ */
uniform int filter_scale;
/** Filter radius in pixels. This will be multiplied by SCALE. */
-#define R (4)
+#define R (4)
//////////////////////////////////////////////////////////////////////////////////////////////
@@ -47,13 +42,13 @@ uniform int filter_scale;
// Gaussian coefficients
const float gaussian[R + 1] =
-// float[](0.356642, 0.239400, 0.072410, 0.009869);
-// float[](0.398943, 0.241971, 0.053991, 0.004432, 0.000134); // stddev = 1.0
- float[](0.153170, 0.144893, 0.122649, 0.092902, 0.062970); // stddev = 2.0
-// float[](0.111220, 0.107798, 0.098151, 0.083953, 0.067458, 0.050920, 0.036108); // stddev = 3.0
+// float[](0.356642, 0.239400, 0.072410, 0.009869);
+// float[](0.398943, 0.241971, 0.053991, 0.004432, 0.000134); // stddev = 1.0
+ float[](0.153170, 0.144893, 0.122649, 0.092902, 0.062970); // stddev = 2.0
+// float[](0.111220, 0.107798, 0.098151, 0.083953, 0.067458, 0.050920, 0.036108); // stddev = 3.0
-/** (1, 0) or (0, 1)*/
-uniform ivec2 axis;
+/** (1, 0) or (0, 1) */
+uniform ivec2 axis;
uniform float camera_z_far;
uniform float camera_z_near;
@@ -65,18 +60,18 @@ void main() {
ivec2 ssC = ivec2(gl_FragCoord.xy);
float depth = texelFetch(source_depth, ssC, 0).r;
- //vec3 normal = texelFetch(source_normal,ssC,0).rgb * 2.0 - 1.0;
+ //vec3 normal = texelFetch(source_normal, ssC, 0).rgb * 2.0 - 1.0;
depth = depth * 2.0 - 1.0;
depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth * (camera_z_far - camera_z_near));
float depth_divide = 1.0 / camera_z_far;
-// depth*=depth_divide;
+ //depth *= depth_divide;
/*
- if (depth > camera_z_far*0.999) {
- discard;//skybox
+ if (depth > camera_z_far * 0.999) {
+ discard; //skybox
}
*/
@@ -96,23 +91,21 @@ void main() {
if (r != 0) {
ivec2 ppos = ssC + axis * (r * filter_scale);
- float value = texelFetch(source_ssao, clamp(ppos,ivec2(0),clamp_limit), 0).r;
- ivec2 rpos = clamp(ppos,ivec2(0),clamp_limit);
+ float value = texelFetch(source_ssao, clamp(ppos, ivec2(0), clamp_limit), 0).r;
+ ivec2 rpos = clamp(ppos, ivec2(0), clamp_limit);
float temp_depth = texelFetch(source_depth, rpos, 0).r;
//vec3 temp_normal = texelFetch(source_normal, rpos, 0).rgb * 2.0 - 1.0;
temp_depth = temp_depth * 2.0 - 1.0;
temp_depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - temp_depth * (camera_z_far - camera_z_near));
-// temp_depth *= depth_divide;
+ //temp_depth *= depth_divide;
// spatial domain: offset gaussian tap
float weight = 0.3 + gaussian[abs(r)];
- //weight *= max(0.0,dot(temp_normal,normal));
+ //weight *= max(0.0, dot(temp_normal, normal));
// range domain (the "bilateral" weight). As depth difference increases, decrease weight.
- weight *= max(0.0, 1.0
- - edge_sharpness * abs(temp_depth - depth)
- );
+ weight *= max(0.0, 1.0 - edge_sharpness * abs(temp_depth - depth));
sum += value * weight;
totalWeight += weight;
diff --git a/drivers/gles3/shaders/ssao_minify.glsl b/drivers/gles3/shaders/ssao_minify.glsl
index 647c762438..777a0069fc 100644
--- a/drivers/gles3/shaders/ssao_minify.glsl
+++ b/drivers/gles3/shaders/ssao_minify.glsl
@@ -1,7 +1,6 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
+layout(location = 0) in highp vec4 vertex_attrib;
void main() {
@@ -10,7 +9,6 @@ void main() {
[fragment]
-
#ifdef MINIFY_START
#define SDEPTH_TYPE highp sampler2D
@@ -32,28 +30,23 @@ layout(location = 0) out mediump uint depth;
void main() {
-
ivec2 ssP = ivec2(gl_FragCoord.xy);
- // Rotated grid subsampling to avoid XY directional bias or Z precision bias while downsampling.
- // On DX9, the bit-and can be implemented with floating-point modulo
+ // Rotated grid subsampling to avoid XY directional bias or Z precision bias while downsampling.
+ // On DX9, the bit-and can be implemented with floating-point modulo
#ifdef MINIFY_START
float fdepth = texelFetch(source_depth, clamp(ssP * 2 + ivec2(ssP.y & 1, ssP.x & 1), ivec2(0), from_size - ivec2(1)), source_mipmap).r;
fdepth = fdepth * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- fdepth = ((fdepth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ fdepth = ((fdepth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
fdepth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - fdepth * (camera_z_far - camera_z_near));
#endif
fdepth /= camera_z_far;
- depth = uint(clamp(fdepth*65535.0,0.0,65535.0));
+ depth = uint(clamp(fdepth * 65535.0, 0.0, 65535.0));
#else
depth = texelFetch(source_depth, clamp(ssP * 2 + ivec2(ssP.y & 1, ssP.x & 1), ivec2(0), from_size - ivec2(1)), source_mipmap).r;
#endif
-
-
}
-
-
diff --git a/drivers/gles3/shaders/subsurf_scattering.glsl b/drivers/gles3/shaders/subsurf_scattering.glsl
index fc66d66198..af0d5a0e62 100644
--- a/drivers/gles3/shaders/subsurf_scattering.glsl
+++ b/drivers/gles3/shaders/subsurf_scattering.glsl
@@ -1,12 +1,10 @@
[vertex]
-
-layout(location=0) in highp vec4 vertex_attrib;
-layout(location=4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
-
void main() {
uv_interp = uv_in;
@@ -19,87 +17,77 @@ void main() {
#define QUALIFIER const
#ifdef USE_25_SAMPLES
-
-const int kernel_size=25;
+const int kernel_size = 25;
QUALIFIER vec2 kernel[25] = vec2[] (
- vec2(0.530605, 0.0),
- vec2(0.000973794, -3.0),
- vec2(0.00333804, -2.52083),
- vec2(0.00500364, -2.08333),
- vec2(0.00700976, -1.6875),
- vec2(0.0094389, -1.33333),
- vec2(0.0128496, -1.02083),
- vec2(0.017924, -0.75),
- vec2(0.0263642, -0.520833),
- vec2(0.0410172, -0.333333),
- vec2(0.0493588, -0.1875),
- vec2(0.0402784, -0.0833333),
- vec2(0.0211412, -0.0208333),
- vec2(0.0211412, 0.0208333),
- vec2(0.0402784, 0.0833333),
- vec2(0.0493588, 0.1875),
- vec2(0.0410172, 0.333333),
- vec2(0.0263642, 0.520833),
- vec2(0.017924, 0.75),
- vec2(0.0128496, 1.02083),
- vec2(0.0094389, 1.33333),
- vec2(0.00700976, 1.6875),
- vec2(0.00500364, 2.08333),
- vec2(0.00333804, 2.52083),
- vec2(0.000973794, 3.0)
+ vec2(0.530605, 0.0),
+ vec2(0.000973794, -3.0),
+ vec2(0.00333804, -2.52083),
+ vec2(0.00500364, -2.08333),
+ vec2(0.00700976, -1.6875),
+ vec2(0.0094389, -1.33333),
+ vec2(0.0128496, -1.02083),
+ vec2(0.017924, -0.75),
+ vec2(0.0263642, -0.520833),
+ vec2(0.0410172, -0.333333),
+ vec2(0.0493588, -0.1875),
+ vec2(0.0402784, -0.0833333),
+ vec2(0.0211412, -0.0208333),
+ vec2(0.0211412, 0.0208333),
+ vec2(0.0402784, 0.0833333),
+ vec2(0.0493588, 0.1875),
+ vec2(0.0410172, 0.333333),
+ vec2(0.0263642, 0.520833),
+ vec2(0.017924, 0.75),
+ vec2(0.0128496, 1.02083),
+ vec2(0.0094389, 1.33333),
+ vec2(0.00700976, 1.6875),
+ vec2(0.00500364, 2.08333),
+ vec2(0.00333804, 2.52083),
+ vec2(0.000973794, 3.0)
);
-
#endif //USE_25_SAMPLES
#ifdef USE_17_SAMPLES
-
-const int kernel_size=17;
-
+const int kernel_size = 17;
QUALIFIER vec2 kernel[17] = vec2[](
- vec2(0.536343, 0.0),
- vec2(0.00317394, -2.0),
- vec2(0.0100386, -1.53125),
- vec2(0.0144609, -1.125),
- vec2(0.0216301, -0.78125),
- vec2(0.0347317, -0.5),
- vec2(0.0571056, -0.28125),
- vec2(0.0582416, -0.125),
- vec2(0.0324462, -0.03125),
- vec2(0.0324462, 0.03125),
- vec2(0.0582416, 0.125),
- vec2(0.0571056, 0.28125),
- vec2(0.0347317, 0.5),
- vec2(0.0216301, 0.78125),
- vec2(0.0144609, 1.125),
- vec2(0.0100386, 1.53125),
- vec2(0.00317394,2.0)
+ vec2(0.536343, 0.0),
+ vec2(0.00317394, -2.0),
+ vec2(0.0100386, -1.53125),
+ vec2(0.0144609, -1.125),
+ vec2(0.0216301, -0.78125),
+ vec2(0.0347317, -0.5),
+ vec2(0.0571056, -0.28125),
+ vec2(0.0582416, -0.125),
+ vec2(0.0324462, -0.03125),
+ vec2(0.0324462, 0.03125),
+ vec2(0.0582416, 0.125),
+ vec2(0.0571056, 0.28125),
+ vec2(0.0347317, 0.5),
+ vec2(0.0216301, 0.78125),
+ vec2(0.0144609, 1.125),
+ vec2(0.0100386, 1.53125),
+ vec2(0.00317394, 2.0)
);
-
#endif //USE_17_SAMPLES
#ifdef USE_11_SAMPLES
-
-const int kernel_size=11;
-
+const int kernel_size = 11;
QUALIFIER vec2 kernel[11] = vec2[](
- vec2(0.560479, 0.0),
- vec2(0.00471691, -2.0),
- vec2(0.0192831, -1.28),
- vec2(0.03639, -0.72),
- vec2(0.0821904, -0.32),
- vec2(0.0771802, -0.08),
- vec2(0.0771802, 0.08),
- vec2(0.0821904, 0.32),
- vec2(0.03639, 0.72),
- vec2(0.0192831, 1.28),
- vec2(0.00471691,2.0)
+ vec2(0.560479, 0.0),
+ vec2(0.00471691, -2.0),
+ vec2(0.0192831, -1.28),
+ vec2(0.03639, -0.72),
+ vec2(0.0821904, -0.32),
+ vec2(0.0771802, -0.08),
+ vec2(0.0771802, 0.08),
+ vec2(0.0821904, 0.32),
+ vec2(0.03639, 0.72),
+ vec2(0.0192831, 1.28),
+ vec2(0.00471691, 2.0)
);
-
#endif //USE_11_SAMPLES
-
-
uniform float max_radius;
uniform float camera_z_far;
uniform float camera_z_near;
@@ -115,28 +103,24 @@ layout(location = 0) out vec4 frag_color;
void main() {
- float strength = texture(source_sss,uv_interp).r;
- strength*=strength; //stored as sqrt
+ float strength = texture(source_sss, uv_interp).r;
+ strength *= strength; //stored as sqrt
// Fetch color of current pixel:
vec4 base_color = texture(source_diffuse, uv_interp);
-
- if (strength>0.0) {
-
+ if (strength > 0.0) {
// Fetch linear depth of current pixel:
float depth = texture(source_depth, uv_interp).r * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth = ((depth + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth = ((depth + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
float scale = unit_size; //remember depth is negative by default in OpenGL
#else
depth = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth * (camera_z_far - camera_z_near));
float scale = unit_size / depth; //remember depth is negative by default in OpenGL
#endif
-
-
// Calculate the final step to fetch the surrounding pixels:
vec2 step = max_radius * scale * dir;
step *= strength; // Modulate it using the alpha channel.
@@ -157,35 +141,33 @@ void main() {
#ifdef ENABLE_FOLLOW_SURFACE
// If the difference in depth is huge, we lerp color back to "colorM":
- float depth_cmp = texture(source_depth, offset).r *2.0 - 1.0;
+ float depth_cmp = texture(source_depth, offset).r * 2.0 - 1.0;
#ifdef USE_ORTHOGONAL_PROJECTION
- depth_cmp = ((depth_cmp + (camera_z_far + camera_z_near)/(camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near))/2.0;
+ depth_cmp = ((depth_cmp + (camera_z_far + camera_z_near) / (camera_z_far - camera_z_near)) * (camera_z_far - camera_z_near)) / 2.0;
#else
depth_cmp = 2.0 * camera_z_near * camera_z_far / (camera_z_far + camera_z_near - depth_cmp * (camera_z_far - camera_z_near));
#endif
- float s = clamp(300.0f * scale *
- max_radius * abs(depth - depth_cmp),0.0,1.0);
+ float s = clamp(300.0f * scale * max_radius * abs(depth - depth_cmp), 0.0, 1.0);
color = mix(color, base_color.rgb, s);
#endif
// Accumulate:
- color*=kernel[i].x;
+ color *= kernel[i].x;
#ifdef ENABLE_STRENGTH_WEIGHTING
float color_s = texture(source_sss, offset).r;
- color_weight+=color_s * kernel[i].x;
- color*=color_s;
+ color_weight += color_s * kernel[i].x;
+ color *= color_s;
#endif
color_accum += color;
-
}
#ifdef ENABLE_STRENGTH_WEIGHTING
- color_accum/=color_weight;
+ color_accum /= color_weight;
#endif
- frag_color = vec4(color_accum,base_color.a); //keep alpha (used for SSAO)
+ frag_color = vec4(color_accum, base_color.a); //keep alpha (used for SSAO)
} else {
frag_color = base_color;
}
diff --git a/drivers/gles3/shaders/tonemap.glsl b/drivers/gles3/shaders/tonemap.glsl
index 63475c9039..56876bdb72 100644
--- a/drivers/gles3/shaders/tonemap.glsl
+++ b/drivers/gles3/shaders/tonemap.glsl
@@ -1,25 +1,24 @@
[vertex]
-layout (location = 0) in highp vec4 vertex_attrib;
-layout (location = 4) in vec2 uv_in;
+layout(location = 0) in highp vec4 vertex_attrib;
+layout(location = 4) in vec2 uv_in;
out vec2 uv_interp;
-void main()
-{
+void main() {
gl_Position = vertex_attrib;
uv_interp = uv_in;
- #ifdef V_FLIP
- uv_interp.y = 1.0f - uv_interp.y;
- #endif
+#ifdef V_FLIP
+ uv_interp.y = 1.0f - uv_interp.y;
+#endif
}
[fragment]
#if !defined(GLES_OVER_GL)
- precision mediump float;
+precision mediump float;
#endif
in vec2 uv_interp;
@@ -30,109 +29,99 @@ uniform float exposure;
uniform float white;
#ifdef USE_AUTO_EXPOSURE
- uniform highp sampler2D source_auto_exposure; //texunit:1
- uniform highp float auto_exposure_grey;
+uniform highp sampler2D source_auto_exposure; //texunit:1
+uniform highp float auto_exposure_grey;
#endif
#if defined(USE_GLOW_LEVEL1) || defined(USE_GLOW_LEVEL2) || defined(USE_GLOW_LEVEL3) || defined(USE_GLOW_LEVEL4) || defined(USE_GLOW_LEVEL5) || defined(USE_GLOW_LEVEL6) || defined(USE_GLOW_LEVEL7)
- #define USING_GLOW // only use glow when at least one glow level is selected
+#define USING_GLOW // only use glow when at least one glow level is selected
- uniform highp sampler2D source_glow; //texunit:2
- uniform highp float glow_intensity;
+uniform highp sampler2D source_glow; //texunit:2
+uniform highp float glow_intensity;
#endif
#ifdef USE_BCS
- uniform vec3 bcs;
+uniform vec3 bcs;
#endif
#ifdef USE_COLOR_CORRECTION
- uniform sampler2D color_correction; //texunit:3
+uniform sampler2D color_correction; //texunit:3
#endif
-layout (location = 0) out vec4 frag_color;
+layout(location = 0) out vec4 frag_color;
#ifdef USE_GLOW_FILTER_BICUBIC
- // w0, w1, w2, and w3 are the four cubic B-spline basis functions
- float w0(float a)
- {
- return (1.0f / 6.0f) * (a * (a * (-a + 3.0f) - 3.0f) + 1.0f);
- }
-
- float w1(float a)
- {
- return (1.0f / 6.0f) * (a * a * (3.0f * a - 6.0f) + 4.0f);
- }
-
- float w2(float a)
- {
- return (1.0f / 6.0f) * (a * (a * (-3.0f * a + 3.0f) + 3.0f) + 1.0f);
- }
-
- float w3(float a)
- {
- return (1.0f / 6.0f) * (a * a * a);
- }
-
- // g0 and g1 are the two amplitude functions
- float g0(float a)
- {
- return w0(a) + w1(a);
- }
-
- float g1(float a)
- {
- return w2(a) + w3(a);
- }
-
- // h0 and h1 are the two offset functions
- float h0(float a)
- {
- return -1.0f + w1(a) / (w0(a) + w1(a));
- }
-
- float h1(float a)
- {
- return 1.0f + w3(a) / (w2(a) + w3(a));
- }
-
- uniform ivec2 glow_texture_size;
-
- vec4 texture2D_bicubic(sampler2D tex, vec2 uv, int p_lod)
- {
- float lod = float(p_lod);
- vec2 tex_size = vec2(glow_texture_size >> p_lod);
- vec2 pixel_size = vec2(1.0f) / tex_size;
-
- uv = uv * tex_size + vec2(0.5f);
-
- vec2 iuv = floor(uv);
- vec2 fuv = fract(uv);
-
- float g0x = g0(fuv.x);
- float g1x = g1(fuv.x);
- float h0x = h0(fuv.x);
- float h1x = h1(fuv.x);
- float h0y = h0(fuv.y);
- float h1y = h1(fuv.y);
-
- vec2 p0 = (vec2(iuv.x + h0x, iuv.y + h0y) - vec2(0.5f)) * pixel_size;
- vec2 p1 = (vec2(iuv.x + h1x, iuv.y + h0y) - vec2(0.5f)) * pixel_size;
- vec2 p2 = (vec2(iuv.x + h0x, iuv.y + h1y) - vec2(0.5f)) * pixel_size;
- vec2 p3 = (vec2(iuv.x + h1x, iuv.y + h1y) - vec2(0.5f)) * pixel_size;
-
- return g0(fuv.y) * (g0x * textureLod(tex, p0,lod) +
- g1x * textureLod(tex, p1,lod)) +
- g1(fuv.y) * (g0x * textureLod(tex, p2,lod) +
- g1x * textureLod(tex, p3,lod));
- }
-
- #define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) texture2D_bicubic(m_tex, m_uv, m_lod)
+// w0, w1, w2, and w3 are the four cubic B-spline basis functions
+float w0(float a) {
+ return (1.0f / 6.0f) * (a * (a * (-a + 3.0f) - 3.0f) + 1.0f);
+}
+
+float w1(float a) {
+ return (1.0f / 6.0f) * (a * a * (3.0f * a - 6.0f) + 4.0f);
+}
+
+float w2(float a) {
+ return (1.0f / 6.0f) * (a * (a * (-3.0f * a + 3.0f) + 3.0f) + 1.0f);
+}
+
+float w3(float a) {
+ return (1.0f / 6.0f) * (a * a * a);
+}
+
+// g0 and g1 are the two amplitude functions
+float g0(float a) {
+ return w0(a) + w1(a);
+}
+
+float g1(float a) {
+ return w2(a) + w3(a);
+}
+
+// h0 and h1 are the two offset functions
+float h0(float a) {
+ return -1.0f + w1(a) / (w0(a) + w1(a));
+}
+
+float h1(float a) {
+ return 1.0f + w3(a) / (w2(a) + w3(a));
+}
+
+uniform ivec2 glow_texture_size;
+
+vec4 texture2D_bicubic(sampler2D tex, vec2 uv, int p_lod) {
+ float lod = float(p_lod);
+ vec2 tex_size = vec2(glow_texture_size >> p_lod);
+ vec2 pixel_size = vec2(1.0f) / tex_size;
+
+ uv = uv * tex_size + vec2(0.5f);
+
+ vec2 iuv = floor(uv);
+ vec2 fuv = fract(uv);
+
+ float g0x = g0(fuv.x);
+ float g1x = g1(fuv.x);
+ float h0x = h0(fuv.x);
+ float h1x = h1(fuv.x);
+ float h0y = h0(fuv.y);
+ float h1y = h1(fuv.y);
+
+ vec2 p0 = (vec2(iuv.x + h0x, iuv.y + h0y) - vec2(0.5f)) * pixel_size;
+ vec2 p1 = (vec2(iuv.x + h1x, iuv.y + h0y) - vec2(0.5f)) * pixel_size;
+ vec2 p2 = (vec2(iuv.x + h0x, iuv.y + h1y) - vec2(0.5f)) * pixel_size;
+ vec2 p3 = (vec2(iuv.x + h1x, iuv.y + h1y) - vec2(0.5f)) * pixel_size;
+
+ return g0(fuv.y) * (g0x * textureLod(tex, p0, lod) +
+ g1x * textureLod(tex, p1, lod)) +
+ g1(fuv.y) * (g0x * textureLod(tex, p2, lod) +
+ g1x * textureLod(tex, p3, lod));
+}
+
+#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) texture2D_bicubic(m_tex, m_uv, m_lod)
#else
- #define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) textureLod(m_tex, m_uv, float(m_lod))
+#define GLOW_TEXTURE_SAMPLE(m_tex, m_uv, m_lod) textureLod(m_tex, m_uv, float(m_lod))
#endif
-vec3 tonemap_filmic(vec3 color, float white)
-{
+vec3 tonemap_filmic(vec3 color, float white) {
const float A = 0.15f;
const float B = 0.50f;
const float C = 0.10f;
@@ -147,8 +136,7 @@ vec3 tonemap_filmic(vec3 color, float white)
return clamp(color_tonemapped / white_tonemapped, vec3(0.0f), vec3(1.0f));
}
-vec3 tonemap_aces(vec3 color, float white)
-{
+vec3 tonemap_aces(vec3 color, float white) {
const float A = 2.51f;
const float B = 0.03f;
const float C = 2.43f;
@@ -161,96 +149,90 @@ vec3 tonemap_aces(vec3 color, float white)
return clamp(color_tonemapped / white_tonemapped, vec3(0.0f), vec3(1.0f));
}
-vec3 tonemap_reindhart(vec3 color, float white)
-{
+vec3 tonemap_reindhart(vec3 color, float white) {
return clamp((color) / (1.0f + color) * (1.0f + (color / (white))), vec3(0.0f), vec3(1.0f)); // whitepoint is probably not in linear space here!
}
-vec3 linear_to_srgb(vec3 color) // convert linear rgb to srgb, assumes clamped input in range [0;1]
-{
+vec3 linear_to_srgb(vec3 color) { // convert linear rgb to srgb, assumes clamped input in range [0;1]
const vec3 a = vec3(0.055f);
return mix((vec3(1.0f) + a) * pow(color.rgb, vec3(1.0f / 2.4f)) - a, 12.92f * color.rgb, lessThan(color.rgb, vec3(0.0031308f)));
}
-vec3 apply_tonemapping(vec3 color, float white) // inputs are LINEAR, always outputs clamped [0;1] color
-{
- #ifdef USE_REINDHART_TONEMAPPER
- return tonemap_reindhart(color, white);
- #endif
+vec3 apply_tonemapping(vec3 color, float white) { // inputs are LINEAR, always outputs clamped [0;1] color
+#ifdef USE_REINDHART_TONEMAPPER
+ return tonemap_reindhart(color, white);
+#endif
- #ifdef USE_FILMIC_TONEMAPPER
- return tonemap_filmic(color, white);
- #endif
+#ifdef USE_FILMIC_TONEMAPPER
+ return tonemap_filmic(color, white);
+#endif
- #ifdef USE_ACES_TONEMAPPER
- return tonemap_aces(color, white);
- #endif
+#ifdef USE_ACES_TONEMAPPER
+ return tonemap_aces(color, white);
+#endif
return clamp(color, vec3(0.0f), vec3(1.0f)); // no other seleced -> linear
}
-vec3 gather_glow(sampler2D tex, vec2 uv) // sample all selected glow levels
-{
+vec3 gather_glow(sampler2D tex, vec2 uv) { // sample all selected glow levels
vec3 glow = vec3(0.0f);
- #ifdef USE_GLOW_LEVEL1
- glow += GLOW_TEXTURE_SAMPLE(tex, uv, 1).rgb;
- #endif
+#ifdef USE_GLOW_LEVEL1
+ glow += GLOW_TEXTURE_SAMPLE(tex, uv, 1).rgb;
+#endif
- #ifdef USE_GLOW_LEVEL2
- glow += GLOW_TEXTURE_SAMPLE(tex, uv, 2).rgb;
- #endif
+#ifdef USE_GLOW_LEVEL2
+ glow += GLOW_TEXTURE_SAMPLE(tex, uv, 2).rgb;
+#endif
- #ifdef USE_GLOW_LEVEL3
- glow += GLOW_TEXTURE_SAMPLE(tex, uv, 3).rgb;
- #endif
+#ifdef USE_GLOW_LEVEL3
+ glow += GLOW_TEXTURE_SAMPLE(tex, uv, 3).rgb;
+#endif
- #ifdef USE_GLOW_LEVEL4
- glow += GLOW_TEXTURE_SAMPLE(tex, uv, 4).rgb;
- #endif
+#ifdef USE_GLOW_LEVEL4
+ glow += GLOW_TEXTURE_SAMPLE(tex, uv, 4).rgb;
+#endif
- #ifdef USE_GLOW_LEVEL5
- glow += GLOW_TEXTURE_SAMPLE(tex, uv, 5).rgb;
- #endif
+#ifdef USE_GLOW_LEVEL5
+ glow += GLOW_TEXTURE_SAMPLE(tex, uv, 5).rgb;
+#endif
- #ifdef USE_GLOW_LEVEL6
- glow += GLOW_TEXTURE_SAMPLE(tex, uv, 6).rgb;
- #endif
+#ifdef USE_GLOW_LEVEL6
+ glow += GLOW_TEXTURE_SAMPLE(tex, uv, 6).rgb;
+#endif
- #ifdef USE_GLOW_LEVEL7
- glow += GLOW_TEXTURE_SAMPLE(tex, uv, 7).rgb;
- #endif
+#ifdef USE_GLOW_LEVEL7
+ glow += GLOW_TEXTURE_SAMPLE(tex, uv, 7).rgb;
+#endif
return glow;
}
-vec3 apply_glow(vec3 color, vec3 glow) // apply glow using the selected blending mode
-{
- #ifdef USE_GLOW_REPLACE
- color = glow;
- #endif
+vec3 apply_glow(vec3 color, vec3 glow) { // apply glow using the selected blending mode
+#ifdef USE_GLOW_REPLACE
+ color = glow;
+#endif
- #ifdef USE_GLOW_SCREEN
- color = max((color + glow) - (color * glow), vec3(0.0));
- #endif
+#ifdef USE_GLOW_SCREEN
+ color = max((color + glow) - (color * glow), vec3(0.0));
+#endif
- #ifdef USE_GLOW_SOFTLIGHT
- glow = glow * vec3(0.5f) + vec3(0.5f);
+#ifdef USE_GLOW_SOFTLIGHT
+ glow = glow * vec3(0.5f) + vec3(0.5f);
- color.r = (glow.r <= 0.5f) ? (color.r - (1.0f - 2.0f * glow.r) * color.r * (1.0f - color.r)) : (((glow.r > 0.5f) && (color.r <= 0.25f)) ? (color.r + (2.0f * glow.r - 1.0f) * (4.0f * color.r * (4.0f * color.r + 1.0f) * (color.r - 1.0f) + 7.0f * color.r)) : (color.r + (2.0f * glow.r - 1.0f) * (sqrt(color.r) - color.r)));
- color.g = (glow.g <= 0.5f) ? (color.g - (1.0f - 2.0f * glow.g) * color.g * (1.0f - color.g)) : (((glow.g > 0.5f) && (color.g <= 0.25f)) ? (color.g + (2.0f * glow.g - 1.0f) * (4.0f * color.g * (4.0f * color.g + 1.0f) * (color.g - 1.0f) + 7.0f * color.g)) : (color.g + (2.0f * glow.g - 1.0f) * (sqrt(color.g) - color.g)));
- color.b = (glow.b <= 0.5f) ? (color.b - (1.0f - 2.0f * glow.b) * color.b * (1.0f - color.b)) : (((glow.b > 0.5f) && (color.b <= 0.25f)) ? (color.b + (2.0f * glow.b - 1.0f) * (4.0f * color.b * (4.0f * color.b + 1.0f) * (color.b - 1.0f) + 7.0f * color.b)) : (color.b + (2.0f * glow.b - 1.0f) * (sqrt(color.b) - color.b)));
- #endif
+ color.r = (glow.r <= 0.5f) ? (color.r - (1.0f - 2.0f * glow.r) * color.r * (1.0f - color.r)) : (((glow.r > 0.5f) && (color.r <= 0.25f)) ? (color.r + (2.0f * glow.r - 1.0f) * (4.0f * color.r * (4.0f * color.r + 1.0f) * (color.r - 1.0f) + 7.0f * color.r)) : (color.r + (2.0f * glow.r - 1.0f) * (sqrt(color.r) - color.r)));
+ color.g = (glow.g <= 0.5f) ? (color.g - (1.0f - 2.0f * glow.g) * color.g * (1.0f - color.g)) : (((glow.g > 0.5f) && (color.g <= 0.25f)) ? (color.g + (2.0f * glow.g - 1.0f) * (4.0f * color.g * (4.0f * color.g + 1.0f) * (color.g - 1.0f) + 7.0f * color.g)) : (color.g + (2.0f * glow.g - 1.0f) * (sqrt(color.g) - color.g)));
+ color.b = (glow.b <= 0.5f) ? (color.b - (1.0f - 2.0f * glow.b) * color.b * (1.0f - color.b)) : (((glow.b > 0.5f) && (color.b <= 0.25f)) ? (color.b + (2.0f * glow.b - 1.0f) * (4.0f * color.b * (4.0f * color.b + 1.0f) * (color.b - 1.0f) + 7.0f * color.b)) : (color.b + (2.0f * glow.b - 1.0f) * (sqrt(color.b) - color.b)));
+#endif
- #if !defined(USE_GLOW_SCREEN) && !defined(USE_GLOW_SOFTLIGHT) && !defined(USE_GLOW_REPLACE) // no other selected -> additive
- color += glow;
- #endif
+#if !defined(USE_GLOW_SCREEN) && !defined(USE_GLOW_SOFTLIGHT) && !defined(USE_GLOW_REPLACE) // no other selected -> additive
+ color += glow;
+#endif
return color;
}
-vec3 apply_bcs(vec3 color, vec3 bcs)
-{
+vec3 apply_bcs(vec3 color, vec3 bcs) {
color = mix(vec3(0.0f), color, bcs.x);
color = mix(vec3(0.5f), color, bcs.y);
color = mix(vec3(dot(vec3(1.0f), color) * 0.33333f), color, bcs.z);
@@ -258,8 +240,7 @@ vec3 apply_bcs(vec3 color, vec3 bcs)
return color;
}
-vec3 apply_color_correction(vec3 color, sampler2D correction_tex)
-{
+vec3 apply_color_correction(vec3 color, sampler2D correction_tex) {
color.r = texture(correction_tex, vec2(color.r, 0.0f)).r;
color.g = texture(correction_tex, vec2(color.g, 0.0f)).g;
color.b = texture(correction_tex, vec2(color.b, 0.0f)).b;
@@ -267,15 +248,14 @@ vec3 apply_color_correction(vec3 color, sampler2D correction_tex)
return color;
}
-void main()
-{
+void main() {
vec3 color = textureLod(source, uv_interp, 0.0f).rgb;
// Exposure
- #ifdef USE_AUTO_EXPOSURE
- color /= texelFetch(source_auto_exposure, ivec2(0, 0), 0).r / auto_exposure_grey;
- #endif
+#ifdef USE_AUTO_EXPOSURE
+ color /= texelFetch(source_auto_exposure, ivec2(0, 0), 0).r / auto_exposure_grey;
+#endif
color *= exposure;
@@ -283,33 +263,33 @@ void main()
color = apply_tonemapping(color, white);
- #ifdef KEEP_3D_LINEAR
- // leave color as is (-> don't convert to SRGB)
- #else
- color = linear_to_srgb(color); // regular linear -> SRGB conversion
- #endif
+#ifdef KEEP_3D_LINEAR
+ // leave color as is (-> don't convert to SRGB)
+#else
+ color = linear_to_srgb(color); // regular linear -> SRGB conversion
+#endif
// Glow
- #ifdef USING_GLOW
- vec3 glow = gather_glow(source_glow, uv_interp) * glow_intensity;
+#ifdef USING_GLOW
+ vec3 glow = gather_glow(source_glow, uv_interp) * glow_intensity;
- // high dynamic range -> SRGB
- glow = apply_tonemapping(glow, white);
- glow = linear_to_srgb(glow);
+ // high dynamic range -> SRGB
+ glow = apply_tonemapping(glow, white);
+ glow = linear_to_srgb(glow);
- color = apply_glow(color, glow);
- #endif
+ color = apply_glow(color, glow);
+#endif
// Additional effects
- #ifdef USE_BCS
- color = apply_bcs(color, bcs);
- #endif
+#ifdef USE_BCS
+ color = apply_bcs(color, bcs);
+#endif
- #ifdef USE_COLOR_CORRECTION
- color = apply_color_correction(color, color_correction);
- #endif
+#ifdef USE_COLOR_CORRECTION
+ color = apply_color_correction(color, color_correction);
+#endif
frag_color = vec4(color, 1.0f);
}
diff --git a/drivers/png/image_loader_png.cpp b/drivers/png/image_loader_png.cpp
index 3f512af8d5..b08688892e 100644
--- a/drivers/png/image_loader_png.cpp
+++ b/drivers/png/image_loader_png.cpp
@@ -271,7 +271,6 @@ static void _write_png_data(png_structp png_ptr, png_bytep data, png_size_t p_le
v.resize(vs + p_length);
PoolVector<uint8_t>::Write w = v.write();
copymem(&w[vs], data, p_length);
- //print_line("png write: "+itos(p_length));
}
static PoolVector<uint8_t> _lossless_pack_png(const Ref<Image> &p_image) {
diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp
index d1104eec18..744b3a35e6 100644
--- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp
+++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp
@@ -183,10 +183,8 @@ Error AudioDriverPulseAudio::init_device() {
buffer_frames = closest_power_of_2(latency * mix_rate / 1000);
pa_buffer_size = buffer_frames * pa_map.channels;
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("PulseAudio: detected " + itos(pa_map.channels) + " channels");
- print_line("PulseAudio: audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
- }
+ print_verbose("PulseAudio: detected " + itos(pa_map.channels) + " channels");
+ print_verbose("PulseAudio: audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
pa_sample_spec spec;
spec.format = PA_SAMPLE_S16LE;
@@ -614,9 +612,7 @@ Error AudioDriverPulseAudio::capture_init_device() {
break;
}
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("PulseAudio: detected " + itos(pa_rec_map.channels) + " input channels");
- }
+ print_verbose("PulseAudio: detected " + itos(pa_rec_map.channels) + " input channels");
pa_sample_spec spec;
diff --git a/drivers/rtaudio/audio_driver_rtaudio.cpp b/drivers/rtaudio/audio_driver_rtaudio.cpp
index 365788e192..69830b542b 100644
--- a/drivers/rtaudio/audio_driver_rtaudio.cpp
+++ b/drivers/rtaudio/audio_driver_rtaudio.cpp
@@ -112,10 +112,7 @@ Error AudioDriverRtAudio::init() {
int latency = GLOBAL_DEF("audio/output_latency", DEFAULT_OUTPUT_LATENCY);
unsigned int buffer_frames = closest_power_of_2(latency * mix_rate / 1000);
-
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
- }
+ print_verbose("Audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
short int tries = 2;
diff --git a/drivers/unix/file_access_unix.cpp b/drivers/unix/file_access_unix.cpp
index c25d34125d..ca16c6fcae 100644
--- a/drivers/unix/file_access_unix.cpp
+++ b/drivers/unix/file_access_unix.cpp
@@ -106,7 +106,6 @@ Error FileAccessUnix::_open(const String &p_path, int p_mode_flags) {
if (is_backup_save_enabled() && (p_mode_flags & WRITE) && !(p_mode_flags & READ)) {
save_path = path;
path = path + ".tmp";
- //print_line("saving instead to "+path);
}
f = fopen(path.utf8().get_data(), mode_string);
@@ -134,9 +133,6 @@ void FileAccessUnix::close() {
}
if (save_path != "") {
-
- //unlink(save_path.utf8().get_data());
- //print_line("renaming...");
int rename_error = rename((save_path + ".tmp").utf8().get_data(), save_path.utf8().get_data());
if (rename_error && close_fail_notify) {
@@ -291,8 +287,7 @@ uint64_t FileAccessUnix::_get_modified_time(const String &p_file) {
if (!err) {
return flags.st_mtime;
} else {
- print_line("ERROR IN: " + p_file);
-
+ ERR_EXPLAIN("Failed to get modified time for: " + p_file);
ERR_FAIL_V(0);
};
}
diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp
index 05dfd69f58..8aab4cb521 100644
--- a/drivers/unix/os_unix.cpp
+++ b/drivers/unix/os_unix.cpp
@@ -329,7 +329,7 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, bo
return OK;
}
-Error OS_Unix::kill(const ProcessID &p_pid) {
+Error OS_Unix::kill(const ProcessID &p_pid, const int p_max_wait_msec) {
int ret = ::kill(p_pid, SIGKILL);
if (!ret) {
diff --git a/drivers/unix/os_unix.h b/drivers/unix/os_unix.h
index 95b74d23ff..c5240231fa 100644
--- a/drivers/unix/os_unix.h
+++ b/drivers/unix/os_unix.h
@@ -91,7 +91,7 @@ public:
virtual uint64_t get_ticks_usec() const;
virtual Error execute(const String &p_path, const List<String> &p_arguments, bool p_blocking, ProcessID *r_child_id = NULL, String *r_pipe = NULL, int *r_exitcode = NULL, bool read_stderr = false);
- virtual Error kill(const ProcessID &p_pid);
+ virtual Error kill(const ProcessID &p_pid, const int p_max_wait_msec = -1);
virtual int get_process_id() const;
virtual bool has_environment(const String &p_var) const;
diff --git a/drivers/wasapi/audio_driver_wasapi.cpp b/drivers/wasapi/audio_driver_wasapi.cpp
index 2dcb4ff3d8..11abe3256e 100644
--- a/drivers/wasapi/audio_driver_wasapi.cpp
+++ b/drivers/wasapi/audio_driver_wasapi.cpp
@@ -321,10 +321,8 @@ Error AudioDriverWASAPI::init_render_device(bool reinit) {
input_position = 0;
input_size = 0;
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("WASAPI: detected " + itos(channels) + " channels");
- print_line("WASAPI: audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
- }
+ print_verbose("WASAPI: detected " + itos(channels) + " channels");
+ print_verbose("WASAPI: audio buffer frames: " + itos(buffer_frames) + " calculated latency: " + itos(buffer_frames * 1000 / mix_rate) + "ms");
return OK;
}
diff --git a/drivers/windows/file_access_windows.cpp b/drivers/windows/file_access_windows.cpp
index ea194e5eae..b4492a2022 100644
--- a/drivers/windows/file_access_windows.cpp
+++ b/drivers/windows/file_access_windows.cpp
@@ -31,11 +31,13 @@
#ifdef WINDOWS_ENABLED
#include "file_access_windows.h"
-#include "os/os.h"
-#include "shlwapi.h"
+
+#include "core/os/os.h"
+#include "core/print_string.h"
+
+#include <shlwapi.h>
#include <windows.h>
-#include "print_string.h"
#include <sys/stat.h>
#include <sys/types.h>
#include <tchar.h>
@@ -133,11 +135,6 @@ void FileAccessWindows::close() {
if (save_path != "") {
- //unlink(save_path.utf8().get_data());
- //print_line("renaming...");
- //_wunlink(save_path.c_str()); //unlink if exists
- //int rename_error = _wrename((save_path+".tmp").c_str(),save_path.c_str());
-
bool rename_error = true;
int attempts = 4;
while (rename_error && attempts) {
@@ -305,11 +302,10 @@ uint64_t FileAccessWindows::_get_modified_time(const String &p_file) {
return st.st_mtime;
} else {
- print_line("no access to " + file);
+ ERR_EXPLAIN("Failed to get modified time for: " + file);
+ ERR_FAIL_V(0);
}
-
- ERR_FAIL_V(0);
-};
+}
FileAccessWindows::FileAccessWindows() {
diff --git a/drivers/xaudio2/audio_driver_xaudio2.h b/drivers/xaudio2/audio_driver_xaudio2.h
index 42e1adb2b7..0867c56128 100644
--- a/drivers/xaudio2/audio_driver_xaudio2.h
+++ b/drivers/xaudio2/audio_driver_xaudio2.h
@@ -51,7 +51,7 @@ class AudioDriverXAudio2 : public AudioDriver {
HANDLE buffer_end_event;
XAudio2DriverVoiceCallback() :
buffer_end_event(CreateEvent(NULL, FALSE, FALSE, NULL)) {}
- void STDMETHODCALLTYPE OnBufferEnd(void *pBufferContext) { /*print_line("buffer ended");*/
+ void STDMETHODCALLTYPE OnBufferEnd(void *pBufferContext) {
SetEvent(buffer_end_event);
}
diff --git a/editor/animation_track_editor_plugins.cpp b/editor/animation_track_editor_plugins.cpp
index 6d444c5422..590621816e 100644
--- a/editor/animation_track_editor_plugins.cpp
+++ b/editor/animation_track_editor_plugins.cpp
@@ -974,8 +974,6 @@ void AnimationTrackEditTypeAudio::drop_data(const Point2 &p_point, const Variant
ofs += 0.001;
}
- print_line("inserting");
-
*get_block_animation_update_ptr() = true;
get_undo_redo()->create_action("Add Audio Track Clip");
get_undo_redo()->add_do_method(get_animation().ptr(), "audio_track_insert_key", get_track(), ofs, stream);
@@ -1124,7 +1122,6 @@ Rect2 AnimationTrackEditTypeAnimation::get_key_rect(int p_index, float p_pixels_
}
String anim = get_animation()->animation_track_get_key_animation(get_track(), p_index);
- print_line("anim " + anim + " has " + itos(ap->has_animation(anim)));
if (anim != "[stop]" && ap->has_animation(anim)) {
diff --git a/editor/audio_stream_preview.cpp b/editor/audio_stream_preview.cpp
index 6ae5ec43a9..6e6a7d7935 100644
--- a/editor/audio_stream_preview.cpp
+++ b/editor/audio_stream_preview.cpp
@@ -169,7 +169,8 @@ Ref<AudioStreamPreview> AudioStreamPreviewGenerator::generate_preview(const Ref<
preview->preview->preview = maxmin;
preview->preview->length = len_s;
- preview->thread = Thread::create(_preview_thread, preview);
+ if (preview->playback.is_valid())
+ preview->thread = Thread::create(_preview_thread, preview);
return preview->preview;
}
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index 9d4333bc29..2fecf24d7d 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -717,7 +717,6 @@ void CodeTextEditor::_complete_request() {
if (code_complete_func) {
code_complete_func(code_complete_ud, ctext, &entries, forced);
}
- // print_line("COMPLETE: "+p_request);
if (entries.size() == 0)
return;
Vector<String> strs;
diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp
index c4a17d5402..62ae14c988 100644
--- a/editor/dependency_editor.cpp
+++ b/editor/dependency_editor.cpp
@@ -336,12 +336,9 @@ void DependencyEditorOwners::_fill_owners(EditorFileSystemDirectory *efsd) {
for (int i = 0; i < efsd->get_file_count(); i++) {
Vector<String> deps = efsd->get_file_deps(i);
- //print_line(":::"+efsd->get_file_path(i));
bool found = false;
for (int j = 0; j < deps.size(); j++) {
- //print_line("\t"+deps[j]+" vs "+editing);
if (deps[j] == editing) {
- //print_line("found");
found = true;
break;
}
@@ -510,7 +507,7 @@ void DependencyRemoveDialog::ok_pressed() {
res->set_path("");
}
String path = OS::get_singleton()->get_resource_dir() + files_to_delete[i].replace_first("res://", "/");
- print_line("Moving to trash: " + path);
+ print_verbose("Moving to trash: " + path);
Error err = OS::get_singleton()->move_to_trash(path);
if (err != OK) {
EditorNode::get_singleton()->add_io_error(TTR("Cannot remove:") + "\n" + files_to_delete[i] + "\n");
@@ -525,7 +522,7 @@ void DependencyRemoveDialog::ok_pressed() {
for (int i = 0; i < dirs_to_delete.size(); ++i) {
String path = OS::get_singleton()->get_resource_dir() + dirs_to_delete[i].replace_first("res://", "/");
- print_line("Moving to trash: " + path);
+ print_verbose("Moving to trash: " + path);
Error err = OS::get_singleton()->move_to_trash(path);
if (err != OK) {
EditorNode::get_singleton()->add_io_error(TTR("Cannot remove:") + "\n" + dirs_to_delete[i] + "\n");
@@ -673,7 +670,6 @@ bool OrphanResourcesDialog::_fill_owners(EditorFileSystemDirectory *efsd, HashMa
if (!p_parent) {
Vector<String> deps = efsd->get_file_deps(i);
- //print_line(":::"+efsd->get_file_path(i));
for (int j = 0; j < deps.size(); j++) {
if (!refs.has(deps[j])) {
diff --git a/editor/doc/doc_data.cpp b/editor/doc/doc_data.cpp
index 91a29f5717..fe1cf3484e 100644
--- a/editor/doc/doc_data.cpp
+++ b/editor/doc/doc_data.cpp
@@ -792,7 +792,6 @@ Error DocData::_load(Ref<XMLParser> parser) {
class_list[name] = ClassDoc();
ClassDoc &c = class_list[name];
- //print_line("class: "+name);
c.name = name;
if (parser->has_attribute("inherits"))
c.inherits = parser->get_attribute_value("inherits");
diff --git a/editor/editor_asset_installer.cpp b/editor/editor_asset_installer.cpp
index f1c8c08d08..d99908a3c3 100644
--- a/editor/editor_asset_installer.cpp
+++ b/editor/editor_asset_installer.cpp
@@ -172,7 +172,6 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
parent = root;
} else {
String ppath = path.substr(0, pp);
- print_line("PPATH IS: " + ppath);
ERR_CONTINUE(!dir_map.has(ppath));
parent = dir_map[ppath];
}
diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp
index a084437226..9c775be87e 100644
--- a/editor/editor_audio_buses.cpp
+++ b/editor/editor_audio_buses.cpp
@@ -482,10 +482,8 @@ void EditorAudioBus::drop_data(const Point2 &p_point, const Variant &p_data) {
Variant EditorAudioBus::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
- print_line("drag fw");
TreeItem *item = effects->get_item_at_position(p_point);
if (!item) {
- print_line("no item");
return Variant();
}
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp
index 5c911a00ca..e46fe96885 100644
--- a/editor/editor_export.cpp
+++ b/editor/editor_export.cpp
@@ -661,6 +661,21 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
List<String> remaps;
config->get_section_keys("remap", &remaps);
+ Set<String> remap_features;
+
+ for (List<String>::Element *F = remaps.front(); F; F = F->next()) {
+
+ String remap = F->get();
+ String feature = remap.get_slice(".", 1);
+ if (feature == "fallback" || features.has(feature)) {
+ remap_features.insert(feature);
+ }
+ }
+
+ if (remap_features.size() > 1) {
+ this->resolve_platform_feature_priorities(p_preset, remap_features);
+ }
+
for (List<String>::Element *F = remaps.front(); F; F = F->next()) {
String remap = F->get();
@@ -670,7 +685,8 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
p_func(p_udata, remapped_path, array, idx, total);
} else if (remap.begins_with("path.")) {
String feature = remap.get_slice(".", 1);
- if (features.has(feature)) {
+
+ if (remap_features.has(feature)) {
String remapped_path = config->get_value("remap", remap);
Vector<uint8_t> array = FileAccess::get_file_as_array(remapped_path);
p_func(p_udata, remapped_path, array, idx, total);
@@ -1249,9 +1265,11 @@ void EditorExportPlatformPC::get_preset_features(const Ref<EditorExportPreset> &
void EditorExportPlatformPC::get_export_options(List<ExportOption> *r_options) {
+ 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));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "binary_format/64_bits"), true));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE), ""));
@@ -1434,6 +1452,16 @@ void EditorExportPlatformPC::get_platform_features(List<String> *r_features) {
}
}
+void EditorExportPlatformPC::resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
+
+ if (p_features.has("bptc")) {
+ if (p_preset->has("texture_format/no_bptc_fallbacks")) {
+ p_features.erase("s3tc");
+ p_features.erase("fallback");
+ }
+ }
+}
+
int EditorExportPlatformPC::get_chmod_flags() const {
return chmod_flags;
@@ -1458,8 +1486,6 @@ void EditorExportTextSceneToBinaryPlugin::_export_file(const String &p_path, con
return;
}
- print_line("exporting " + p_path);
-
bool convert = GLOBAL_GET("editor/convert_text_resources_to_binary_on_export");
if (!convert)
return;
diff --git a/editor/editor_export.h b/editor/editor_export.h
index 1d0b89cf16..b984d66a1b 100644
--- a/editor/editor_export.h
+++ b/editor/editor_export.h
@@ -246,6 +246,7 @@ public:
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, Set<String> &p_features) = 0;
EditorExportPlatform();
};
@@ -403,6 +404,7 @@ public:
void add_platform_feature(const String &p_feature);
virtual void get_platform_features(List<String> *r_features);
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features);
int get_chmod_flags() const;
void set_chmod_flags(int p_flags);
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index 60826aa81b..5a0a49d577 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -624,6 +624,22 @@ void EditorHelp::_add_type(const String &p_type, const String &p_enum) {
class_desc->pop();
}
+String EditorHelp::_fix_constant(const String &p_constant) const {
+
+ if (p_constant.strip_edges() == "4294967295") {
+ return "0xFFFFFFFF";
+ }
+
+ if (p_constant.strip_edges() == "2147483647") {
+ return "0x7FFFFFFF";
+ }
+ if (p_constant.strip_edges() == "1048575") {
+ return "0xfffff";
+ }
+
+ return p_constant;
+}
+
void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview) {
method_line[p_method.name] = class_desc->get_line_count() - 2; //gets overridden if description
@@ -673,7 +689,7 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview
class_desc->push_color(symbol_color);
class_desc->add_text("=");
class_desc->pop();
- _add_text(p_method.arguments[j].default_value);
+ _add_text(_fix_constant(p_method.arguments[j].default_value));
}
class_desc->pop();
@@ -1781,7 +1797,7 @@ void EditorHelp::_notification(int p_what) {
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
- class_desc->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor"));
+ class_desc->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color"));
_update_doc();
} break;
@@ -1863,7 +1879,7 @@ EditorHelp::EditorHelp() {
class_desc = memnew(RichTextLabel);
add_child(class_desc);
class_desc->set_v_size_flags(SIZE_EXPAND_FILL);
- class_desc->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor"));
+ class_desc->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color"));
class_desc->connect("meta_clicked", this, "_class_desc_select");
class_desc->connect("gui_input", this, "_class_desc_input");
@@ -1891,8 +1907,6 @@ void EditorHelpBit::_go_to_help(String p_what) {
void EditorHelpBit::_meta_clicked(String p_select) {
- print_line("got meta " + p_select);
-
if (p_select.begins_with("$")) { //enum
String select = p_select.substr(1, p_select.length());
@@ -1929,7 +1943,7 @@ void EditorHelpBit::_notification(int p_what) {
switch (p_what) {
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
- rich_text->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor"));
+ rich_text->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color"));
} break;
default: break;
@@ -1948,7 +1962,7 @@ EditorHelpBit::EditorHelpBit() {
add_child(rich_text);
//rich_text->set_anchors_and_margins_preset(Control::PRESET_WIDE);
rich_text->connect("meta_clicked", this, "_meta_clicked");
- rich_text->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor"));
+ rich_text->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color"));
rich_text->set_override_selected_font_color(false);
set_custom_minimum_size(Size2(0, 70 * EDSCALE));
}
diff --git a/editor/editor_help.h b/editor/editor_help.h
index dbea97e98b..ad81a39945 100644
--- a/editor/editor_help.h
+++ b/editor/editor_help.h
@@ -244,6 +244,8 @@ class EditorHelp : public VBoxContainer {
void _unhandled_key_input(const Ref<InputEvent> &p_ev);
+ String _fix_constant(const String &p_constant) const;
+
protected:
void _notification(int p_what);
static void _bind_methods();
diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp
index 99a2b2aa67..852e1930d2 100644
--- a/editor/editor_inspector.cpp
+++ b/editor/editor_inspector.cpp
@@ -1533,9 +1533,10 @@ void EditorInspector::update_tree() {
if (capitalize_paths)
path_name = path_name.capitalize();
+
Color c = sscolor;
c.a /= level;
- section->setup(path_name, acc_path, object, c, use_folding);
+ section->setup(acc_path, path_name, object, c, use_folding);
item_path[acc_path] = section->get_vbox();
}
@@ -2221,7 +2222,7 @@ EditorInspector::EditorInspector() {
show_categories = false;
hide_script = true;
use_doc_hints = false;
- capitalize_paths = false;
+ capitalize_paths = true;
use_filter = false;
autoclear = false;
changing = 0;
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index 0be6ee8759..353dce5b20 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -74,6 +74,7 @@
#include "editor/plugins/animation_player_editor_plugin.h"
#include "editor/plugins/animation_state_machine_editor.h"
#include "editor/plugins/animation_tree_editor_plugin.h"
+#include "editor/plugins/animation_tree_player_editor_plugin.h"
#include "editor/plugins/asset_library_editor_plugin.h"
#include "editor/plugins/audio_stream_editor_plugin.h"
#include "editor/plugins/baked_lightmap_editor_plugin.h"
@@ -83,7 +84,6 @@
#include "editor/plugins/collision_polygon_editor_plugin.h"
#include "editor/plugins/collision_shape_2d_editor_plugin.h"
#include "editor/plugins/cpu_particles_editor_plugin.h"
-#include "editor/plugins/cube_grid_theme_editor_plugin.h"
#include "editor/plugins/curve_editor_plugin.h"
#include "editor/plugins/editor_preview_plugins.h"
#include "editor/plugins/gi_probe_editor_plugin.h"
@@ -94,6 +94,7 @@
#include "editor/plugins/material_editor_plugin.h"
#include "editor/plugins/mesh_editor_plugin.h"
#include "editor/plugins/mesh_instance_editor_plugin.h"
+#include "editor/plugins/mesh_library_editor_plugin.h"
#include "editor/plugins/multimesh_editor_plugin.h"
#include "editor/plugins/navigation_polygon_editor_plugin.h"
#include "editor/plugins/particles_2d_editor_plugin.h"
@@ -107,7 +108,6 @@
#include "editor/plugins/script_editor_plugin.h"
#include "editor/plugins/script_text_editor.h"
#include "editor/plugins/shader_editor_plugin.h"
-#include "editor/plugins/shader_graph_editor_plugin.h"
#include "editor/plugins/skeleton_2d_editor_plugin.h"
#include "editor/plugins/skeleton_editor_plugin.h"
#include "editor/plugins/skeleton_ik_editor_plugin.h"
@@ -4591,6 +4591,10 @@ EditorNode::EditorNode() {
VisualServer::get_singleton()->textures_keep_original(true);
VisualServer::get_singleton()->set_debug_generate_wireframes(true);
+ PhysicsServer::get_singleton()->set_active(false); // no physics by default if editor
+ Physics2DServer::get_singleton()->set_active(false); // no physics by default if editor
+ ScriptServer::set_scripting_enabled(false); // no scripting by default if editor
+
EditorHelp::generate_doc(); //before any editor classes are crated
SceneState::set_disable_placeholders(true);
ResourceLoader::clear_translation_remaps(); //no remaps using during editor
@@ -5589,16 +5593,13 @@ EditorNode::EditorNode() {
add_editor_plugin(memnew(ShaderEditorPlugin(this)));
add_editor_plugin(memnew(VisualShaderEditorPlugin(this)));
- add_editor_plugin(memnew(AnimationNodeBlendTreeEditorPlugin(this)));
- add_editor_plugin(memnew(AnimationNodeBlendSpace1DEditorPlugin(this)));
- add_editor_plugin(memnew(AnimationNodeBlendSpace2DEditorPlugin(this)));
- add_editor_plugin(memnew(AnimationNodeStateMachineEditorPlugin(this)));
add_editor_plugin(memnew(CameraEditorPlugin(this)));
add_editor_plugin(memnew(ThemeEditorPlugin(this)));
add_editor_plugin(memnew(MultiMeshEditorPlugin(this)));
add_editor_plugin(memnew(MeshInstanceEditorPlugin(this)));
add_editor_plugin(memnew(AnimationTreeEditorPlugin(this)));
+ add_editor_plugin(memnew(AnimationTreePlayerEditorPlugin(this)));
add_editor_plugin(memnew(MeshLibraryEditorPlugin(this)));
add_editor_plugin(memnew(StyleBoxEditorPlugin(this)));
add_editor_plugin(memnew(SpriteEditorPlugin(this)));
@@ -5683,10 +5684,6 @@ EditorNode::EditorNode() {
_edit_current();
current = NULL;
- PhysicsServer::get_singleton()->set_active(false); // no physics by default if editor
- Physics2DServer::get_singleton()->set_active(false); // no physics by default if editor
- ScriptServer::set_scripting_enabled(false); // no scripting by default if editor
-
reference_resource_mem = true;
save_external_resources_mem = true;
diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp
index 137e710c5c..1f2e73654c 100644
--- a/editor/editor_plugin.cpp
+++ b/editor/editor_plugin.cpp
@@ -104,14 +104,12 @@ Vector<Ref<Texture> > EditorInterface::make_mesh_previews(const Vector<Ref<Mesh>
continue;
}
AABB aabb = mesh->get_aabb();
- print_line("aabb: " + aabb);
Vector3 ofs = aabb.position + aabb.size * 0.5;
aabb.position -= ofs;
Transform xform;
xform.basis = Basis().rotated(Vector3(0, 1, 0), -Math_PI * 0.25);
xform.basis = Basis().rotated(Vector3(1, 0, 0), Math_PI * 0.25) * xform.basis;
AABB rot_aabb = xform.xform(aabb);
- print_line("rot_aabb: " + rot_aabb);
float m = MAX(rot_aabb.size.x, rot_aabb.size.y) * 0.5;
if (m == 0) {
textures.push_back(Ref<Texture>());
@@ -119,7 +117,6 @@ Vector<Ref<Texture> > EditorInterface::make_mesh_previews(const Vector<Ref<Mesh>
}
m = 1.0 / m;
m *= 0.5;
- print_line("scale: " + rtos(m));
xform.basis.scale(Vector3(m, m, m));
xform.origin = -xform.basis.xform(ofs); //-ofs*m;
xform.origin.z -= rot_aabb.size.z * 2;
@@ -133,7 +130,6 @@ Vector<Ref<Texture> > EditorInterface::make_mesh_previews(const Vector<Ref<Mesh>
Ref<ImageTexture> it(memnew(ImageTexture));
it->create_from_image(img);
- //print_line("loaded image, size: "+rtos(m)+" dist: "+rtos(dist)+" empty?"+itos(img.empty())+" w: "+itos(it->get_width())+" h: "+itos(it->get_height()));
VS::get_singleton()->free(inst);
textures.push_back(it);
@@ -353,12 +349,18 @@ void EditorPlugin::add_control_to_container(CustomControlContainer p_location, C
SpatialEditor::get_singleton()->add_control_to_menu_panel(p_control);
} break;
- case CONTAINER_SPATIAL_EDITOR_SIDE: {
+ case CONTAINER_SPATIAL_EDITOR_SIDE_LEFT: {
SpatialEditor::get_singleton()->get_palette_split()->add_child(p_control);
SpatialEditor::get_singleton()->get_palette_split()->move_child(p_control, 0);
} break;
+ case CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT: {
+
+ SpatialEditor::get_singleton()->get_palette_split()->add_child(p_control);
+ SpatialEditor::get_singleton()->get_palette_split()->move_child(p_control, 1);
+
+ } break;
case CONTAINER_SPATIAL_EDITOR_BOTTOM: {
SpatialEditor::get_singleton()->get_shader_split()->add_child(p_control);
@@ -369,12 +371,18 @@ void EditorPlugin::add_control_to_container(CustomControlContainer p_location, C
CanvasItemEditor::get_singleton()->add_control_to_menu_panel(p_control);
} break;
- case CONTAINER_CANVAS_EDITOR_SIDE: {
+ case CONTAINER_CANVAS_EDITOR_SIDE_LEFT: {
CanvasItemEditor::get_singleton()->get_palette_split()->add_child(p_control);
CanvasItemEditor::get_singleton()->get_palette_split()->move_child(p_control, 0);
} break;
+ case CONTAINER_CANVAS_EDITOR_SIDE_RIGHT: {
+
+ CanvasItemEditor::get_singleton()->get_palette_split()->add_child(p_control);
+ CanvasItemEditor::get_singleton()->get_palette_split()->move_child(p_control, 1);
+
+ } break;
case CONTAINER_CANVAS_EDITOR_BOTTOM: {
CanvasItemEditor::get_singleton()->get_bottom_split()->add_child(p_control);
@@ -403,7 +411,8 @@ void EditorPlugin::remove_control_from_container(CustomControlContainer p_locati
SpatialEditor::get_singleton()->remove_control_from_menu_panel(p_control);
} break;
- case CONTAINER_SPATIAL_EDITOR_SIDE: {
+ case CONTAINER_SPATIAL_EDITOR_SIDE_LEFT:
+ case CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT: {
SpatialEditor::get_singleton()->get_palette_split()->remove_child(p_control);
@@ -418,7 +427,8 @@ void EditorPlugin::remove_control_from_container(CustomControlContainer p_locati
CanvasItemEditor::get_singleton()->remove_control_from_menu_panel(p_control);
} break;
- case CONTAINER_CANVAS_EDITOR_SIDE: {
+ case CONTAINER_CANVAS_EDITOR_SIDE_LEFT:
+ case CONTAINER_CANVAS_EDITOR_SIDE_RIGHT: {
CanvasItemEditor::get_singleton()->get_palette_split()->remove_child(p_control);
@@ -785,10 +795,12 @@ void EditorPlugin::_bind_methods() {
BIND_ENUM_CONSTANT(CONTAINER_TOOLBAR);
BIND_ENUM_CONSTANT(CONTAINER_SPATIAL_EDITOR_MENU);
- BIND_ENUM_CONSTANT(CONTAINER_SPATIAL_EDITOR_SIDE);
+ BIND_ENUM_CONSTANT(CONTAINER_SPATIAL_EDITOR_SIDE_LEFT);
+ BIND_ENUM_CONSTANT(CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT);
BIND_ENUM_CONSTANT(CONTAINER_SPATIAL_EDITOR_BOTTOM);
BIND_ENUM_CONSTANT(CONTAINER_CANVAS_EDITOR_MENU);
- BIND_ENUM_CONSTANT(CONTAINER_CANVAS_EDITOR_SIDE);
+ 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);
diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h
index 903b82937f..1ebddbe2b0 100644
--- a/editor/editor_plugin.h
+++ b/editor/editor_plugin.h
@@ -127,10 +127,12 @@ public:
enum CustomControlContainer {
CONTAINER_TOOLBAR,
CONTAINER_SPATIAL_EDITOR_MENU,
- CONTAINER_SPATIAL_EDITOR_SIDE,
+ CONTAINER_SPATIAL_EDITOR_SIDE_LEFT,
+ CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT,
CONTAINER_SPATIAL_EDITOR_BOTTOM,
CONTAINER_CANVAS_EDITOR_MENU,
- CONTAINER_CANVAS_EDITOR_SIDE,
+ CONTAINER_CANVAS_EDITOR_SIDE_LEFT,
+ CONTAINER_CANVAS_EDITOR_SIDE_RIGHT,
CONTAINER_CANVAS_EDITOR_BOTTOM,
CONTAINER_PROPERTY_EDITOR_BOTTOM
};
diff --git a/editor/editor_plugin_settings.h b/editor/editor_plugin_settings.h
index 310cab699f..194fac6b92 100644
--- a/editor/editor_plugin_settings.h
+++ b/editor/editor_plugin_settings.h
@@ -31,7 +31,7 @@
#ifndef EDITORPLUGINSETTINGS_H
#define EDITORPLUGINSETTINGS_H
-#include "editor/plugin_config_dialog.h";
+#include "editor/plugin_config_dialog.h"
#include "editor_data.h"
#include "property_editor.h"
#include "scene/gui/dialogs.h"
diff --git a/editor/editor_profiler.cpp b/editor/editor_profiler.cpp
index 67700b59de..f57c863bcf 100644
--- a/editor/editor_profiler.cpp
+++ b/editor/editor_profiler.cpp
@@ -100,6 +100,8 @@ void EditorProfiler::clear() {
updating_frame = false;
hover_metric = -1;
seeking = false;
+
+ _update_plot();
}
static String _get_percent_txt(float p_value, float p_total) {
@@ -167,7 +169,7 @@ void EditorProfiler::_update_plot() {
int w = graph->get_size().width;
int h = graph->get_size().height;
- bool reset_texture = false;
+ bool reset_texture = graph_texture.is_null();
int desired_len = w * h * 4;
@@ -342,7 +344,6 @@ void EditorProfiler::_update_plot() {
}
time = OS::get_singleton()->get_ticks_usec() - time;
- //print_line("Taken: "+rtos(USEC_TO_SEC(time)));
}
wr = PoolVector<uint8_t>::Write();
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp
index 0cbd5f0bff..3c3df6b8ef 100644
--- a/editor/editor_properties.cpp
+++ b/editor/editor_properties.cpp
@@ -61,7 +61,7 @@ void EditorPropertyText::_text_changed(const String &p_string) {
if (updating)
return;
- emit_signal("property_changed", get_edited_property(), p_string);
+ emit_signal("property_changed", get_edited_property(), p_string, true);
}
void EditorPropertyText::update_property() {
@@ -72,6 +72,10 @@ void EditorPropertyText::update_property() {
updating = false;
}
+void EditorPropertyText::set_placeholder(const String &p_string) {
+ text->set_placeholder(p_string);
+}
+
void EditorPropertyText::_bind_methods() {
ClassDB::bind_method(D_METHOD("_text_changed", "txt"), &EditorPropertyText::_text_changed);
@@ -92,12 +96,11 @@ EditorPropertyText::EditorPropertyText() {
void EditorPropertyMultilineText::_big_text_changed() {
text->set_text(big_text->get_text());
- emit_signal("property_changed", get_edited_property(), big_text->get_text());
+ emit_signal("property_changed", get_edited_property(), big_text->get_text(), true);
}
void EditorPropertyMultilineText::_text_changed() {
-
- emit_signal("property_changed", get_edited_property(), text->get_text());
+ emit_signal("property_changed", get_edited_property(), text->get_text(), true);
}
void EditorPropertyMultilineText::_open_big_text() {
@@ -255,19 +258,40 @@ void EditorPropertyPath::setup(const Vector<String> &p_extensions, bool p_folder
global = p_global;
}
+void EditorPropertyPath::_notification(int p_what) {
+
+ if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) {
+ path_edit->set_icon(get_icon("Folder", "EditorIcons"));
+ }
+}
+
+void EditorPropertyPath::_path_focus_exited() {
+
+ _path_selected(path->get_text());
+}
+
void EditorPropertyPath::_bind_methods() {
ClassDB::bind_method(D_METHOD("_path_pressed"), &EditorPropertyPath::_path_pressed);
ClassDB::bind_method(D_METHOD("_path_selected"), &EditorPropertyPath::_path_selected);
+ ClassDB::bind_method(D_METHOD("_path_focus_exited"), &EditorPropertyPath::_path_focus_exited);
}
EditorPropertyPath::EditorPropertyPath() {
- path = memnew(Button);
- path->set_clip_text(true);
- add_child(path);
+ HBoxContainer *path_hb = memnew(HBoxContainer);
+ add_child(path_hb);
+ path = memnew(LineEdit);
+ path_hb->add_child(path);
+ path->connect("text_entered", this, "_path_selected");
+ path->connect("focus_exited", this, "_path_focus_exited");
+ path->set_h_size_flags(SIZE_EXPAND_FILL);
+
+ path_edit = memnew(Button);
+ path_edit->set_clip_text(true);
+ path_hb->add_child(path_edit);
add_focusable(path);
dialog = NULL;
- path->connect("pressed", this, "_path_pressed");
+ path_edit->connect("pressed", this, "_path_pressed");
folder = false;
global = false;
}
@@ -1735,12 +1759,18 @@ EditorPropertyTransform::EditorPropertyTransform() {
void EditorPropertyColor::_color_changed(const Color &p_color) {
- emit_signal("property_changed", get_edited_property(), p_color);
+ emit_signal("property_changed", get_edited_property(), p_color, true);
+}
+
+void EditorPropertyColor::_popup_closed() {
+
+ emit_signal("property_changed", get_edited_property(), picker->get_pick_color(), false);
}
void EditorPropertyColor::_bind_methods() {
ClassDB::bind_method(D_METHOD("_color_changed"), &EditorPropertyColor::_color_changed);
+ ClassDB::bind_method(D_METHOD("_popup_closed"), &EditorPropertyColor::_popup_closed);
}
void EditorPropertyColor::update_property() {
@@ -1758,6 +1788,7 @@ EditorPropertyColor::EditorPropertyColor() {
add_child(picker);
picker->set_flat(true);
picker->connect("color_changed", this, "_color_changed");
+ picker->connect("popup_closed", this, "_popup_closed");
}
////////////// NODE PATH //////////////////////
@@ -2777,6 +2808,9 @@ bool EditorInspectorDefaultPlugin::parse_property(Object *p_object, Variant::Typ
} else {
EditorPropertyText *editor = memnew(EditorPropertyText);
+ if (p_hint == PROPERTY_HINT_PLACEHOLDER_TEXT) {
+ editor->set_placeholder(p_hint_text);
+ }
add_property_editor(p_path, editor);
}
} break;
diff --git a/editor/editor_properties.h b/editor/editor_properties.h
index d5fac9c1a0..cfc433b880 100644
--- a/editor/editor_properties.h
+++ b/editor/editor_properties.h
@@ -61,6 +61,7 @@ protected:
public:
virtual void update_property();
+ void set_placeholder(const String &p_string);
EditorPropertyText();
};
@@ -106,13 +107,16 @@ class EditorPropertyPath : public EditorProperty {
bool folder;
bool global;
EditorFileDialog *dialog;
- Button *path;
+ LineEdit *path;
+ Button *path_edit;
void _path_selected(const String &p_path);
void _path_pressed();
+ void _path_focus_exited();
protected:
static void _bind_methods();
+ void _notification(int p_what);
public:
void setup(const Vector<String> &p_extensions, bool p_folder, bool p_global);
@@ -476,6 +480,7 @@ class EditorPropertyColor : public EditorProperty {
GDCLASS(EditorPropertyColor, EditorProperty)
ColorPickerButton *picker;
void _color_changed(const Color &p_color);
+ void _popup_closed();
protected:
static void _bind_methods();
diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp
index 8203c85c6a..23dbb026dd 100644
--- a/editor/editor_properties_array_dict.cpp
+++ b/editor/editor_properties_array_dict.cpp
@@ -125,13 +125,13 @@ EditorPropertyDictionaryObject::EditorPropertyDictionaryObject() {
///////////////////// ARRAY ///////////////////////////
-void EditorPropertyArray::_property_changed(const String &p_prop, Variant p_value) {
+void EditorPropertyArray::_property_changed(const String &p_prop, Variant p_value, bool changing) {
if (p_prop.begins_with("indices")) {
int idx = p_prop.get_slice("/", 1).to_int();
Variant array = object->get_array();
array.set(idx, p_value);
- emit_signal("property_changed", get_edited_property(), array);
+ emit_signal("property_changed", get_edited_property(), array, true);
if (array.get_type() == Variant::ARRAY) {
array = array.call("duplicate"); //dupe, so undo/redo works better
@@ -544,7 +544,7 @@ void EditorPropertyArray::_bind_methods() {
ClassDB::bind_method("_edit_pressed", &EditorPropertyArray::_edit_pressed);
ClassDB::bind_method("_page_changed", &EditorPropertyArray::_page_changed);
ClassDB::bind_method("_length_changed", &EditorPropertyArray::_length_changed);
- ClassDB::bind_method("_property_changed", &EditorPropertyArray::_property_changed);
+ ClassDB::bind_method("_property_changed", &EditorPropertyArray::_property_changed, DEFVAL(false));
ClassDB::bind_method("_change_type", &EditorPropertyArray::_change_type);
ClassDB::bind_method("_change_type_menu", &EditorPropertyArray::_change_type_menu);
}
@@ -579,7 +579,7 @@ EditorPropertyArray::EditorPropertyArray() {
///////////////////// DICTIONARY ///////////////////////////
-void EditorPropertyDictionary::_property_changed(const String &p_prop, Variant p_value) {
+void EditorPropertyDictionary::_property_changed(const String &p_prop, Variant p_value, bool changing) {
if (p_prop == "new_item_key") {
@@ -593,7 +593,7 @@ void EditorPropertyDictionary::_property_changed(const String &p_prop, Variant p
Variant key = dict.get_key_at_index(idx);
dict[key] = p_value;
- emit_signal("property_changed", get_edited_property(), dict);
+ emit_signal("property_changed", get_edited_property(), dict, true);
dict = dict.duplicate(); //dupe, so undo/redo works better
object->set_dict(dict);
@@ -1006,7 +1006,7 @@ void EditorPropertyDictionary::_page_changed(double p_page) {
void EditorPropertyDictionary::_bind_methods() {
ClassDB::bind_method("_edit_pressed", &EditorPropertyDictionary::_edit_pressed);
ClassDB::bind_method("_page_changed", &EditorPropertyDictionary::_page_changed);
- ClassDB::bind_method("_property_changed", &EditorPropertyDictionary::_property_changed);
+ ClassDB::bind_method("_property_changed", &EditorPropertyDictionary::_property_changed, DEFVAL(false));
ClassDB::bind_method("_change_type", &EditorPropertyDictionary::_change_type);
ClassDB::bind_method("_change_type_menu", &EditorPropertyDictionary::_change_type_menu);
ClassDB::bind_method("_add_key_value", &EditorPropertyDictionary::_add_key_value);
diff --git a/editor/editor_properties_array_dict.h b/editor/editor_properties_array_dict.h
index 75c67d280d..a8ddb02e9d 100644
--- a/editor/editor_properties_array_dict.h
+++ b/editor/editor_properties_array_dict.h
@@ -67,7 +67,7 @@ class EditorPropertyArray : public EditorProperty {
void _page_changed(double p_page);
void _length_changed(double p_page);
void _edit_pressed();
- void _property_changed(const String &p_prop, Variant p_value);
+ void _property_changed(const String &p_prop, Variant p_value, bool changing = false);
void _change_type(Object *p_button, int p_index);
void _change_type_menu(int p_index);
@@ -99,7 +99,7 @@ class EditorPropertyDictionary : public EditorProperty {
void _page_changed(double p_page);
void _edit_pressed();
- void _property_changed(const String &p_prop, Variant p_value);
+ void _property_changed(const String &p_prop, Variant p_value, bool changing = false);
void _change_type(Object *p_button, int p_index);
void _change_type_menu(int p_index);
diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp
index a9eaad47b7..bc56a95b47 100644
--- a/editor/editor_resource_preview.cpp
+++ b/editor/editor_resource_preview.cpp
@@ -152,8 +152,6 @@ Ref<Texture> EditorResourcePreview::_generate_preview(const QueueItem &p_item, c
f->store_line(itos(FileAccess::get_modified_time(p_item.path)));
f->store_line(FileAccess::get_md5(p_item.path));
memdelete(f);
- } else {
- //print_line("was not generated");
}
}
diff --git a/editor/editor_run.cpp b/editor/editor_run.cpp
index 749cf6aa2b..bbd18306a2 100644
--- a/editor/editor_run.cpp
+++ b/editor/editor_run.cpp
@@ -68,9 +68,24 @@ Error EditorRun::run(const String &p_scene, const String p_custom_args, const Li
int screen = EditorSettings::get_singleton()->get("run/window_placement/screen");
if (screen == 0) {
+ // Same as editor
screen = OS::get_singleton()->get_current_screen();
+ } else if (screen == 1) {
+ // Previous monitor (wrap to the other end if needed)
+ screen = Math::wrapi(
+ OS::get_singleton()->get_current_screen() - 1,
+ 0,
+ OS::get_singleton()->get_screen_count());
+ } else if (screen == 2) {
+ // Next monitor (wrap to the other end if needed)
+ screen = Math::wrapi(
+ OS::get_singleton()->get_current_screen() + 1,
+ 0,
+ OS::get_singleton()->get_screen_count());
} else {
- screen--;
+ // Fixed monitor ID
+ // There are 3 special options, so decrement the option ID by 3 to get the monitor ID
+ screen -= 3;
}
if (OS::get_singleton()->is_disable_crash_handler()) {
@@ -181,8 +196,8 @@ Error EditorRun::run(const String &p_scene, const String p_custom_args, const Li
void EditorRun::stop() {
if (status != STATUS_STOP && pid != 0) {
-
- OS::get_singleton()->kill(pid);
+ const int max_wait_msec = GLOBAL_DEF("editor/stop_max_wait_msec", 10000);
+ OS::get_singleton()->kill(pid, max_wait_msec);
}
status = STATUS_STOP;
diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp
index d24816ee02..5d3c6dd087 100644
--- a/editor/editor_settings.cpp
+++ b/editor/editor_settings.cpp
@@ -146,7 +146,7 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const {
const VariantContainer *v = props.getptr(p_name);
if (!v) {
- print_line("EditorSettings::_get - Warning, not found: " + String(p_name));
+ WARN_PRINTS("EditorSettings::_get - Property not found: " + String(p_name));
return false;
}
r_ret = v->variant;
@@ -357,6 +357,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
hints["text_editor/theme/color_theme"] = PropertyInfo(Variant::STRING, "text_editor/theme/color_theme", PROPERTY_HINT_ENUM, "Adaptive,Default,Custom");
_initial_set("text_editor/theme/line_spacing", 4);
+ _initial_set("text_editor/theme/selection_color", Color::html("40808080"));
_load_default_text_editor_theme();
@@ -473,6 +474,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
hints["editors/3d/freelook/freelook_modifier_speed_factor"] = PropertyInfo(Variant::REAL, "editors/3d/freelook/freelook_modifier_speed_factor", PROPERTY_HINT_RANGE, "0.0, 10.0, 0.1");
_initial_set("editors/3d/freelook/freelook_speed_zoom_link", false);
+ _initial_set("editors/2d/grid_color", Color(1.0, 1.0, 1.0, 0.07));
_initial_set("editors/2d/guides_color", Color(0.6, 0.0, 0.8));
_initial_set("editors/2d/bone_width", 5);
_initial_set("editors/2d/bone_color1", Color(1.0, 1.0, 1.0, 0.9));
@@ -492,7 +494,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
_initial_set("run/window_placement/rect", 1);
hints["run/window_placement/rect"] = PropertyInfo(Variant::INT, "run/window_placement/rect", PROPERTY_HINT_ENUM, "Top Left,Centered,Custom Position,Force Maximized,Force Fullscreen");
- String screen_hints = TTR("Default (Same as Editor)");
+ String screen_hints = "Same as Editor,Previous Monitor,Next Monitor";
for (int i = 0; i < OS::get_singleton()->get_screen_count(); i++) {
screen_hints += ",Monitor " + itos(i + 1);
}
@@ -851,10 +853,7 @@ void EditorSettings::create() {
singleton->data_dir = data_dir;
singleton->cache_dir = cache_dir;
- if (OS::get_singleton()->is_stdout_verbose()) {
-
- print_line("EditorSettings: Load OK!");
- }
+ print_verbose("EditorSettings: Load OK!");
singleton->setup_language();
singleton->setup_network();
@@ -966,8 +965,8 @@ void EditorSettings::save() {
if (err != OK) {
ERR_PRINTS("Error saving editor settings to " + singleton->config_file_path);
- } else if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("EditorSettings Save OK!");
+ } else {
+ print_verbose("EditorSettings: Save OK!");
}
}
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index 69a013dd00..7ed7b920d9 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -238,7 +238,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme =
clock_t end_time = clock();
#else
- print_line("Sorry no icons for you");
+ print_line("SVG support disabled, editor icons won't be rendered.");
#endif
}
@@ -381,12 +381,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("error_color", "Editor", error_color);
theme->set_color("property_color", "Editor", property_color);
- // 2d grid color
- const Color grid_minor_color = mono_color * Color(1.0, 1.0, 1.0, 0.07);
- const Color grid_major_color = Color(font_color_disabled.r, font_color_disabled.g, font_color_disabled.b, 0.15);
- theme->set_color("grid_major_color", "Editor", grid_major_color);
- theme->set_color("grid_minor_color", "Editor", grid_minor_color);
-
const int thumb_size = EDITOR_DEF("filesystem/file_dialog/thumbnail_size", 64);
theme->set_constant("scale", "Editor", EDSCALE);
theme->set_constant("thumb_size", "Editor", thumb_size);
@@ -971,8 +965,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// GraphEdit
theme->set_stylebox("bg", "GraphEdit", style_tree_bg);
- theme->set_color("grid_major", "GraphEdit", grid_major_color);
- theme->set_color("grid_minor", "GraphEdit", grid_minor_color);
+ theme->set_color("grid_major", "GraphEdit", Color(1.0, 1.0, 1.0, 0.15));
+ theme->set_color("grid_minor", "GraphEdit", Color(1.0, 1.0, 1.0, 0.07));
theme->set_color("activity", "GraphEdit", accent_color);
theme->set_icon("minus", "GraphEdit", theme->get_icon("ZoomLess", "EditorIcons"));
theme->set_icon("more", "GraphEdit", theme->get_icon("ZoomMore", "EditorIcons"));
diff --git a/editor/fileserver/editor_file_server.cpp b/editor/fileserver/editor_file_server.cpp
index b9e0c7d0fa..28b1095256 100644
--- a/editor/fileserver/editor_file_server.cpp
+++ b/editor/fileserver/editor_file_server.cpp
@@ -34,9 +34,10 @@
#include "io/marshalls.h"
//#define DEBUG_PRINT(m_p) print_line(m_p)
-#define DEBUG_TIME(m_what) printf("MS: %s - %lu\n", m_what, OS::get_singleton()->get_ticks_usec());
+//#define DEBUG_TIME(m_what) printf("MS: %s - %lu\n", m_what, OS::get_singleton()->get_ticks_usec());
-//#define DEBUG_TIME(m_what)
+#define DEBUG_PRINT(m_what)
+#define DEBUG_TIME(m_what)
void EditorFileServer::_close_client(ClientData *cd) {
@@ -107,7 +108,6 @@ void EditorFileServer::_subthread_start(void *s) {
//wait for ID
err = cd->connection->get_data(buf4, 4);
- //#define DEBUG_PRINT(m_p) print_line(m_p)
DEBUG_TIME("get_data")
if (err != OK) {
@@ -150,13 +150,13 @@ void EditorFileServer::_subthread_start(void *s) {
s.parse_utf8(fileutf8.ptr());
if (cmd == FileAccessNetwork::COMMAND_FILE_EXISTS) {
- print_line("FILE EXISTS: " + s);
+ DEBUG_PRINT("FILE EXISTS: " + s);
}
if (cmd == FileAccessNetwork::COMMAND_GET_MODTIME) {
- print_line("MOD TIME: " + s);
+ DEBUG_PRINT("MOD TIME: " + s);
}
if (cmd == FileAccessNetwork::COMMAND_OPEN_FILE) {
- print_line("OPEN: " + s);
+ DEBUG_PRINT("OPEN: " + s);
}
if (!s.begins_with("res://")) {
@@ -243,7 +243,7 @@ void EditorFileServer::_subthread_start(void *s) {
int read = cd->files[id]->get_buffer(buf.ptrw(), blocklen);
ERR_CONTINUE(read < 0);
- print_line("GET BLOCK - offset: " + itos(offset) + ", blocklen: " + itos(blocklen));
+ DEBUG_PRINT("GET BLOCK - offset: " + itos(offset) + ", blocklen: " + itos(blocklen));
//not found, continue
encode_uint32(id, buf4);
@@ -259,7 +259,7 @@ void EditorFileServer::_subthread_start(void *s) {
} break;
case FileAccessNetwork::COMMAND_CLOSE: {
- print_line("CLOSED");
+ DEBUG_PRINT("CLOSED");
ERR_CONTINUE(!cd->files.has(id));
memdelete(cd->files[id]);
cd->files.erase(id);
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp
index ec1153a015..cb38c2f85e 100644
--- a/editor/filesystem_dock.cpp
+++ b/editor/filesystem_dock.cpp
@@ -809,7 +809,7 @@ void FileSystemDock::_try_move_item(const FileOrFolder &p_item, const String &p_
}
DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
- print_line("Moving " + old_path + " -> " + new_path);
+ print_verbose("Moving " + old_path + " -> " + new_path);
Error err = da->rename(old_path, new_path);
if (err == OK) {
//Move/Rename any corresponding import settings too
@@ -837,7 +837,7 @@ void FileSystemDock::_try_move_item(const FileOrFolder &p_item, const String &p_
//Only treat as a changed dependency if it was successfully moved
for (int i = 0; i < file_changed_paths.size(); ++i) {
p_file_renames[file_changed_paths[i]] = file_changed_paths[i].replace_first(old_path, new_path);
- print_line(" Remap: " + file_changed_paths[i] + " -> " + p_file_renames[file_changed_paths[i]]);
+ print_verbose(" Remap: " + file_changed_paths[i] + " -> " + p_file_renames[file_changed_paths[i]]);
}
for (int i = 0; i < folder_changed_paths.size(); ++i) {
p_folder_renames[folder_changed_paths[i]] = folder_changed_paths[i].replace_first(old_path, new_path);
@@ -865,7 +865,7 @@ void FileSystemDock::_try_duplicate_item(const FileOrFolder &p_item, const Strin
}
DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
- print_line("Duplicating " + old_path + " -> " + new_path);
+ print_verbose("Duplicating " + old_path + " -> " + new_path);
Error err = p_item.is_file ? da->copy(old_path, new_path) : da->copy_dir(old_path, new_path);
if (err == OK) {
//Move/Rename any corresponding import settings too
@@ -942,7 +942,7 @@ void FileSystemDock::_update_dependencies_after_move(const Map<String, String> &
for (int i = 0; i < remaps.size(); ++i) {
//Because we haven't called a rescan yet the found remap might still be an old path itself.
String file = p_renames.has(remaps[i]) ? p_renames[remaps[i]] : remaps[i];
- print_line("Remapping dependencies for: " + file);
+ print_verbose("Remapping dependencies for: " + file);
Error err = ResourceLoader::rename_dependencies(file, p_renames);
if (err == OK) {
if (ResourceLoader::get_resource_type(file) == "PackedScene")
@@ -998,7 +998,7 @@ void FileSystemDock::_make_dir_confirm() {
return;
}
- print_line("Making folder " + dir_name + " in " + path);
+ print_verbose("Making folder " + dir_name + " in " + path);
DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
Error err = da->change_dir(path);
if (err == OK) {
@@ -1007,7 +1007,7 @@ void FileSystemDock::_make_dir_confirm() {
memdelete(da);
if (err == OK) {
- print_line("call rescan!");
+ print_verbose("FileSystem: calling rescan.");
_rescan();
} else {
EditorNode::get_singleton()->show_warning(TTR("Could not create folder."));
@@ -1054,7 +1054,7 @@ void FileSystemDock::_rename_operation_confirm() {
_update_favorite_dirs_list_after_move(folder_renames);
//Rescan everything
- print_line("call rescan!");
+ print_verbose("FileSystem: calling rescan.");
_rescan();
}
@@ -1089,7 +1089,7 @@ void FileSystemDock::_duplicate_operation_confirm() {
_try_duplicate_item(to_duplicate, new_path);
//Rescan everything
- print_line("call rescan!");
+ print_verbose("FileSystem: calling rescan.");
_rescan();
}
@@ -1146,7 +1146,7 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path, bool overw
_update_project_settings_after_move(file_renames);
_update_favorite_dirs_list_after_move(folder_renames);
- print_line("call rescan!");
+ print_verbose("FileSystem: calling rescan.");
_rescan();
}
}
diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp
index 2be1f1644e..9ede8a05bc 100644
--- a/editor/find_in_files.cpp
+++ b/editor/find_in_files.cpp
@@ -37,10 +37,10 @@
#include "scene/gui/check_box.h"
#include "scene/gui/file_dialog.h"
#include "scene/gui/grid_container.h"
-#include "scene/gui/item_list.h"
#include "scene/gui/label.h"
#include "scene/gui/line_edit.h"
#include "scene/gui/progress_bar.h"
+#include "scene/gui/tree.h"
#define ROOT_PREFIX "res://"
@@ -58,6 +58,34 @@ static bool is_text_char(CharType c) {
return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_';
}
+static bool find_next(const String &line, String pattern, int from, bool match_case, bool whole_words, int &out_begin, int &out_end) {
+
+ int end = from;
+
+ while (true) {
+ int begin = match_case ? line.find(pattern, end) : line.findn(pattern, end);
+
+ if (begin == -1)
+ return false;
+
+ end = begin + pattern.length();
+ out_begin = begin;
+ out_end = end;
+
+ if (whole_words) {
+ if (begin > 0 && is_text_char(line[begin - 1])) {
+ continue;
+ }
+ if (end < line.size() && is_text_char(line[end])) {
+ continue;
+ }
+ }
+
+ return true;
+ }
+}
+
+//--------------------------------------------------------------------------------
FindInFiles::FindInFiles() {
_root_prefix = ROOT_PREFIX;
_extension_filter.insert("gd");
@@ -95,12 +123,12 @@ void FindInFiles::_notification(int p_notification) {
void FindInFiles::start() {
if (_pattern == "") {
- print_line("Nothing to search, pattern is empty");
+ print_verbose("Nothing to search, pattern is empty");
emit_signal(SIGNAL_FINISHED);
return;
}
if (_extension_filter.size() == 0) {
- print_line("Nothing to search, filter matches no files");
+ print_verbose("Nothing to search, filter matches no files");
emit_signal(SIGNAL_FINISHED);
return;
}
@@ -179,7 +207,7 @@ void FindInFiles::_iterate() {
_scan_file(fpath);
} else {
- print_line("Search complete");
+ print_verbose("Search complete");
set_process(false);
_current_dir = "";
_searching = false;
@@ -198,7 +226,7 @@ void FindInFiles::_scan_dir(String path, PoolStringArray &out_folders) {
DirAccess *dir = DirAccess::open(path);
if (dir == NULL) {
- print_line("Cannot open directory! " + path);
+ print_verbose("Cannot open directory! " + path);
return;
}
@@ -230,7 +258,7 @@ void FindInFiles::_scan_file(String fpath) {
FileAccess *f = FileAccess::open(fpath, FileAccess::READ);
if (f == NULL) {
- print_line(String("Cannot open file ") + fpath);
+ print_verbose(String("Cannot open file ") + fpath);
return;
}
@@ -246,24 +274,7 @@ void FindInFiles::_scan_file(String fpath) {
String line = f->get_line();
- // Find all occurrences in the current line
- while (true) {
- begin = _match_case ? line.find(_pattern, end) : line.findn(_pattern, end);
-
- if (begin == -1)
- break;
-
- end = begin + _pattern.length();
-
- if (_whole_words) {
- if (begin > 0 && is_text_char(line[begin - 1])) {
- continue;
- }
- if (end < line.size() && is_text_char(line[end])) {
- continue;
- }
- }
-
+ while (find_next(line, _pattern, end, _match_case, _whole_words, begin, end)) {
emit_signal(SIGNAL_RESULT_FOUND, fpath, line_number, begin, end, line);
}
}
@@ -567,14 +578,18 @@ FindInFilesPanel::FindInFilesPanel() {
vbc->add_child(hbc);
}
- // In the future, this should be replaced by a more specific list container,
- // which can highlight text regions and change opacity for enabled/disabled states
- _results_display = memnew(ItemList);
+ _results_display = memnew(Tree);
_results_display->add_font_override("font", get_font("source", "EditorFonts"));
_results_display->set_v_size_flags(SIZE_EXPAND_FILL);
_results_display->connect("item_selected", this, "_on_result_selected");
+ _results_display->connect("item_edited", this, "_on_item_edited");
+ _results_display->set_hide_root(true);
+ _results_display->set_select_mode(Tree::SELECT_ROW);
+ _results_display->create_item(); // Root
vbc->add_child(_results_display);
+ _with_replace = false;
+
{
_replace_container = memnew(HBoxContainer);
@@ -600,12 +615,33 @@ FindInFilesPanel::FindInFilesPanel() {
void FindInFilesPanel::set_with_replace(bool with_replace) {
+ _with_replace = with_replace;
_replace_container->set_visible(with_replace);
+
+ if (with_replace) {
+ // Results show checkboxes on their left so they can be opted out
+ _results_display->set_columns(2);
+ _results_display->set_column_expand(0, false);
+ _results_display->set_column_min_width(0, 48 * EDSCALE);
+
+ } else {
+ // Results are single-cell items
+ _results_display->set_column_expand(0, true);
+ _results_display->set_columns(1);
+ }
+}
+
+void FindInFilesPanel::clear() {
+ _file_items.clear();
+ _result_items.clear();
+ _results_display->clear();
+ _results_display->create_item(); // Root
}
void FindInFilesPanel::start_search() {
- _results_display->clear();
+ clear();
+
_status_label->set_text(TTR("Searching..."));
_search_text_label->set_text(_finder->get_search_text());
@@ -636,9 +672,90 @@ void FindInFilesPanel::_notification(int p_what) {
void FindInFilesPanel::_on_result_found(String fpath, int line_number, int begin, int end, String text) {
- int i = _results_display->get_item_count();
- _results_display->add_item(fpath + ": " + String::num(line_number) + ": " + text.replace("\t", " "));
- _results_display->set_item_metadata(i, varray(fpath, line_number, begin, end));
+ TreeItem *file_item;
+ Map<String, TreeItem *>::Element *E = _file_items.find(fpath);
+
+ if (E == NULL) {
+ file_item = _results_display->create_item();
+ file_item->set_text(0, fpath);
+ file_item->set_metadata(0, fpath);
+
+ // The width of this column is restrained to checkboxes, but that doesn't make sense for the parent items,
+ // so we override their width so they can expand to full width
+ file_item->set_expand_right(0, true);
+
+ _file_items[fpath] = file_item;
+
+ } else {
+ file_item = E->value();
+ }
+
+ int text_index = _with_replace ? 1 : 0;
+
+ TreeItem *item = _results_display->create_item(file_item);
+
+ // Do this first because it resets properties of the cell...
+ item->set_cell_mode(text_index, TreeItem::CELL_MODE_CUSTOM);
+
+ String item_text = String::num_int64(line_number) + ": " + text.replace("\t", " ");
+
+ item->set_text(text_index, item_text);
+ item->set_custom_draw(text_index, this, "_draw_result_text");
+
+ Ref<Font> font = _results_display->get_font("font");
+
+ float raw_text_width = font->get_string_size(text).x;
+ float item_text_width = font->get_string_size(item_text).x;
+
+ Result r;
+ r.line_number = line_number;
+ r.begin = begin;
+ r.end = end;
+ r.draw_begin = (item_text_width - raw_text_width) + font->get_string_size(text.left(r.begin)).x;
+ r.draw_width = font->get_string_size(text.substr(r.begin, r.end - r.begin + 1)).x;
+ _result_items[item] = r;
+
+ if (_with_replace) {
+ item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
+ item->set_checked(0, true);
+ item->set_editable(0, true);
+ }
+}
+
+void FindInFilesPanel::draw_result_text(Object *item_obj, Rect2 rect) {
+
+ TreeItem *item = Object::cast_to<TreeItem>(item_obj);
+ if (!item)
+ return;
+
+ Map<TreeItem *, Result>::Element *E = _result_items.find(item);
+ if (!E)
+ return;
+ Result r = E->value();
+
+ Rect2 match_rect = rect;
+ match_rect.position.x += r.draw_begin;
+ match_rect.size.x = r.draw_width;
+ match_rect.position.y += 1 * EDSCALE;
+ match_rect.size.y -= 2 * EDSCALE;
+
+ _results_display->draw_rect(match_rect, Color(0, 0, 0, 0.5));
+ // Text is drawn by Tree already
+}
+
+void FindInFilesPanel::_on_item_edited() {
+
+ TreeItem *item = _results_display->get_selected();
+
+ if (item->is_checked(0)) {
+ item->set_custom_color(1, _results_display->get_color("font_color"));
+
+ } else {
+ // Grey out
+ Color color = _results_display->get_color("font_color");
+ color.a /= 2.0;
+ item->set_custom_color(1, color);
+ }
}
void FindInFilesPanel::_on_finished() {
@@ -653,10 +770,19 @@ void FindInFilesPanel::_on_cancel_button_clicked() {
stop_search();
}
-void FindInFilesPanel::_on_result_selected(int i) {
+void FindInFilesPanel::_on_result_selected() {
+
+ TreeItem *item = _results_display->get_selected();
+ Map<TreeItem *, Result>::Element *E = _result_items.find(item);
+
+ if (E == NULL)
+ return;
+ Result r = E->value();
+
+ TreeItem *file_item = item->get_parent();
+ String fpath = file_item->get_metadata(0);
- Array meta = _results_display->get_item_metadata(i);
- emit_signal(SIGNAL_RESULT_SELECTED, meta[0], meta[1], meta[2], meta[3]);
+ emit_signal(SIGNAL_RESULT_SELECTED, fpath, r.line_number, r.begin, r.end);
}
void FindInFilesPanel::_on_replace_text_changed(String text) {
@@ -668,39 +794,33 @@ void FindInFilesPanel::_on_replace_all_clicked() {
String replace_text = get_replace_text();
ERR_FAIL_COND(replace_text.empty());
- String last_fpath;
- PoolIntArray locations;
PoolStringArray modified_files;
- for (int i = 0; i < _results_display->get_item_count(); ++i) {
+ for (Map<String, TreeItem *>::Element *E = _file_items.front(); E; E = E->next()) {
- Array meta = _results_display->get_item_metadata(i);
+ TreeItem *file_item = E->value();
+ String fpath = file_item->get_metadata(0);
- String fpath = meta[0];
+ Vector<Result> locations;
+ for (TreeItem *item = file_item->get_children(); item; item = item->get_next()) {
- // Results are sorted by file, so we can batch replaces
- if (fpath != last_fpath) {
- if (locations.size() != 0) {
- apply_replaces_in_file(last_fpath, locations, replace_text);
- modified_files.append(last_fpath);
- locations.resize(0);
- }
- }
+ if (!item->is_checked(0))
+ continue;
- locations.append(meta[1]); // line_number
- locations.append(meta[2]); // begin
- locations.append(meta[3]); // end
-
- last_fpath = fpath;
- }
+ Map<TreeItem *, Result>::Element *E = _result_items.find(item);
+ ERR_FAIL_COND(E == NULL);
+ locations.push_back(E->value());
+ }
- if (locations.size() != 0) {
- apply_replaces_in_file(last_fpath, locations, replace_text);
- modified_files.append(last_fpath);
+ if (locations.size() != 0) {
+ // Results are sorted by file, so we can batch replaces
+ apply_replaces_in_file(fpath, locations, replace_text);
+ modified_files.append(fpath);
+ }
}
// Hide replace bar so we can't trigger the action twice without doing a new search
- set_with_replace(false);
+ _replace_container->hide();
emit_signal(SIGNAL_FILES_MODIFIED, modified_files);
}
@@ -740,11 +860,7 @@ private:
Vector<char> _line_buffer;
};
-void FindInFilesPanel::apply_replaces_in_file(String fpath, PoolIntArray locations, String text) {
-
- ERR_FAIL_COND(locations.size() % 3 != 0);
-
- //print_line(String("Replacing {0} occurrences in {1}").format(varray(fpath, locations.size() / 3)));
+void FindInFilesPanel::apply_replaces_in_file(String fpath, const Vector<Result> &locations, String new_text) {
// If the file is already open, I assume the editor will reload it.
// If there are unsaved changes, the user will be asked on focus,
@@ -759,21 +875,34 @@ void FindInFilesPanel::apply_replaces_in_file(String fpath, PoolIntArray locatio
ConservativeGetLine conservative;
String line = conservative.get_line(f);
+ String search_text = _finder->get_search_text();
+
+ int offset = 0;
- PoolIntArray::Read locations_read = locations.read();
- for (int i = 0; i < locations.size(); i += 3) {
+ for (int i = 0; i < locations.size(); ++i) {
- int repl_line_number = locations_read[i];
- int repl_begin = locations_read[i + 1];
- int repl_end = locations_read[i + 2];
+ int repl_line_number = locations[i].line_number;
while (current_line < repl_line_number) {
buffer += line;
line = conservative.get_line(f);
++current_line;
+ offset = 0;
+ }
+
+ int repl_begin = locations[i].begin + offset;
+ int repl_end = locations[i].end + offset;
+
+ int _;
+ if (!find_next(line, search_text, repl_begin, _finder->is_match_case(), _finder->is_whole_words(), _, _)) {
+ // Make sure the replace is still valid in case the file was tampered with.
+ print_verbose(String("Occurrence no longer matches, replace will be ignored in {0}: line {1}, col {2}").format(varray(fpath, repl_line_number, repl_begin)));
+ continue;
}
- line = line.left(repl_begin) + text + line.right(repl_end);
+ line = line.left(repl_begin) + new_text + line.right(repl_end);
+ // keep an offset in case there are successive replaces in the same line
+ offset += new_text.length() - (repl_end - repl_begin);
}
buffer += line;
@@ -811,11 +940,13 @@ void FindInFilesPanel::set_progress_visible(bool visible) {
void FindInFilesPanel::_bind_methods() {
ClassDB::bind_method("_on_result_found", &FindInFilesPanel::_on_result_found);
+ ClassDB::bind_method("_on_item_edited", &FindInFilesPanel::_on_item_edited);
ClassDB::bind_method("_on_finished", &FindInFilesPanel::_on_finished);
ClassDB::bind_method("_on_cancel_button_clicked", &FindInFilesPanel::_on_cancel_button_clicked);
ClassDB::bind_method("_on_result_selected", &FindInFilesPanel::_on_result_selected);
ClassDB::bind_method("_on_replace_text_changed", &FindInFilesPanel::_on_replace_text_changed);
ClassDB::bind_method("_on_replace_all_clicked", &FindInFilesPanel::_on_replace_all_clicked);
+ ClassDB::bind_method("_draw_result_text", &FindInFilesPanel::draw_result_text);
ADD_SIGNAL(MethodInfo(SIGNAL_RESULT_SELECTED,
PropertyInfo(Variant::STRING, "path"),
diff --git a/editor/find_in_files.h b/editor/find_in_files.h
index d57184960b..75ea1c3161 100644
--- a/editor/find_in_files.h
+++ b/editor/find_in_files.h
@@ -131,7 +131,8 @@ private:
};
class Button;
-class ItemList;
+class Tree;
+class TreeItem;
class ProgressBar;
// Display search results
@@ -159,22 +160,37 @@ private:
void _on_result_found(String fpath, int line_number, int begin, int end, String text);
void _on_finished();
void _on_cancel_button_clicked();
- void _on_result_selected(int i);
+ void _on_result_selected();
+ void _on_item_edited();
void _on_replace_text_changed(String text);
void _on_replace_all_clicked();
- void apply_replaces_in_file(String fpath, PoolIntArray locations, String text);
+ struct Result {
+ int line_number;
+ int begin;
+ int end;
+ float draw_begin;
+ float draw_width;
+ };
+ void apply_replaces_in_file(String fpath, const Vector<Result> &locations, String new_text);
void update_replace_buttons();
String get_replace_text();
+
+ void draw_result_text(Object *item_obj, Rect2 rect);
+
void set_progress_visible(bool visible);
+ void clear();
FindInFiles *_finder;
Label *_search_text_label;
- ItemList *_results_display;
+ Tree *_results_display;
Label *_status_label;
Button *_cancel_button;
ProgressBar *_progress_bar;
+ Map<String, TreeItem *> _file_items;
+ Map<TreeItem *, Result> _result_items;
+ bool _with_replace;
HBoxContainer *_replace_container;
LineEdit *_replace_line_edit;
diff --git a/editor/import/editor_import_collada.cpp b/editor/import/editor_import_collada.cpp
index 22ea5883e8..d4bd4f85e6 100644
--- a/editor/import/editor_import_collada.cpp
+++ b/editor/import/editor_import_collada.cpp
@@ -119,7 +119,6 @@ Error ColladaImport::_populate_skeleton(Skeleton *p_skeleton, Collada::Node *p_n
Collada::NodeJoint *joint = static_cast<Collada::NodeJoint *>(p_node);
- print_line("populating joint " + joint->name);
p_skeleton->add_bone(p_node->name);
if (p_parent >= 0)
p_skeleton->set_bone_parent(r_bone, p_parent);
@@ -137,8 +136,7 @@ Error ColladaImport::_populate_skeleton(Skeleton *p_skeleton, Collada::Node *p_n
p_skeleton->set_bone_rest(r_bone, collada.fix_transform(collada.state.bone_rest_map[joint->sid]));
//should map this bone to something for animation?
} else {
- print_line("no rest: " + joint->sid);
- WARN_PRINT("Joint has no rest...");
+ WARN_PRINT("Collada: Joint has no rest.");
}
int id = r_bone++;
@@ -585,9 +583,6 @@ static void _generate_tangents_and_binormals(const PoolVector<int> &p_indices, c
binormals.write[index_arrayr[idx * 3 + 1]] += binormal;
tangents.write[index_arrayr[idx * 3 + 2]] += tangent;
binormals.write[index_arrayr[idx * 3 + 2]] += binormal;
-
- //print_line(itos(idx)+" tangent: "+tangent);
- //print_line(itos(idx)+" binormal: "+binormal);
}
r_tangents.resize(vlen * 4);
@@ -1028,7 +1023,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize, Ref<ArrayMesh> &p_me
material = material_cache[target];
} else if (p.material != "") {
- print_line("Warning, unreferenced material in geometry instance: " + p.material);
+ WARN_PRINTS("Collada: Unreferenced material in geometry instance: " + p.material);
}
}
@@ -1352,7 +1347,7 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres
mesh_cache[meshid] = mesh;
} else {
- print_line("Warning, will not import geometry: " + meshid);
+ WARN_PRINTS("Collada: Will not import geometry: " + meshid);
}
}
@@ -1379,7 +1374,7 @@ Error ColladaImport::_create_resources(Collada::Node *p_node, bool p_use_compres
mi->set_surface_material(i, material);
} else if (matname != "") {
- print_line("Warning, unreferenced material in geometry instance: " + matname);
+ WARN_PRINTS("Collada: Unreferenced material in geometry instance: " + matname);
}
}
}
@@ -1541,7 +1536,6 @@ void ColladaImport::create_animations(bool p_make_tracks_in_all_bones, bool p_im
for (int i = 0; i < collada.state.animation_tracks.size(); i++) {
const Collada::AnimationTrack &at = collada.state.animation_tracks[i];
- //print_line("CHANNEL: "+at.target+" PARAM: "+at.param);
String node;
@@ -1551,7 +1545,7 @@ void ColladaImport::create_animations(bool p_make_tracks_in_all_bones, bool p_im
node = node_name_map[at.target];
} else {
- print_line("Couldn't find node: " + at.target);
+ WARN_PRINTS("Collada: Couldn't find node: " + at.target);
continue;
}
} else {
@@ -1570,7 +1564,6 @@ void ColladaImport::create_animations(bool p_make_tracks_in_all_bones, bool p_im
}
create_animation(-1, p_make_tracks_in_all_bones, p_import_value_tracks);
- //print_line("clipcount: "+itos(collada.state.animation_clips.size()));
for (int i = 0; i < collada.state.animation_clips.size(); i++)
create_animation(i, p_make_tracks_in_all_bones, p_import_value_tracks);
}
@@ -1580,11 +1573,8 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
Ref<Animation> animation = Ref<Animation>(memnew(Animation));
if (p_clip == -1) {
-
- //print_line("default");
animation->set_name("default");
} else {
- //print_line("clip name: "+collada.state.animation_clips[p_clip].name);
animation->set_name(collada.state.animation_clips[p_clip].name);
}
@@ -1658,7 +1648,6 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
}
}
- //print_line("anim len: "+rtos(anim_length));
animation->set_length(anim_length);
bool tracks_found = false;
@@ -1736,7 +1725,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
}
if (xform_idx == -1) {
- print_line("couldn't find matching node " + at.target + " xform for track " + at.param);
+ WARN_PRINTS("Collada: Couldn't find matching node " + at.target + " xform for track " + at.param);
continue;
}
@@ -1758,14 +1747,9 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
ERR_CONTINUE(data.size() > 1);
xf.data.write[cn] = data[0];
} else if (data.size() == xf.data.size()) {
-
xf.data = data;
} else {
-
- if (data.size() != xf.data.size()) {
- print_line("component " + at.component + " datasize " + itos(data.size()) + " xfdatasize " + itos(xf.data.size()));
- }
-
+ ERR_EXPLAIN("Component " + at.component + " has datasize " + itos(data.size()) + ", xfdatasize " + itos(xf.data.size()));
ERR_CONTINUE(data.size() != xf.data.size());
}
}
@@ -1781,7 +1765,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
xform = sk->get_bone_rest(nm.bone).affine_inverse() * xform;
} else {
- ERR_PRINT("INVALID SKELETON!!!!");
+ ERR_PRINT("Collada: Invalid skeleton");
}
}
@@ -1812,8 +1796,6 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
if (E->get())
continue;
- //print_line("BONE LACKS ANIM: "+E->key());
-
NodeMap &nm = node_map[E->key()];
String path = scene->get_path_to(nm.node);
ERR_CONTINUE(nm.bone < 0);
@@ -1823,7 +1805,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
Collada::Node *cn = collada.state.scene_map[E->key()];
if (cn->ignore_anim) {
- print_line("warning, ignoring animation on node: " + path);
+ WARN_PRINTS("Collada: Ignoring animation on node: " + path);
continue;
}
@@ -1889,10 +1871,9 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
} else if (data.size() == 16) {
//matrix
- print_line("value keys for matrices not supported");
+ WARN_PRINT("Collada: Value keys for matrices not supported.");
} else {
-
- print_line("don't know what to do with this amount of value keys: " + itos(data.size()));
+ WARN_PRINTS("Collada: Unexpected amount of value keys: " + itos(data.size()));
}
animation->track_insert_key(track, time, value);
@@ -1994,7 +1975,6 @@ Ref<Animation> EditorSceneImporterCollada::import_animation(const String &p_path
if (state.animations.size() == 0)
return Ref<Animation>();
Ref<Animation> anim = state.animations[0];
- print_line("Anim Load OK");
String base = p_path.get_basename().to_lower();
if (p_flags & IMPORT_ANIMATION_DETECT_LOOP) {
diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp
index 906d902b4a..4d5c292847 100644
--- a/editor/import/editor_scene_importer_gltf.cpp
+++ b/editor/import/editor_scene_importer_gltf.cpp
@@ -323,7 +323,7 @@ Error EditorSceneImporterGLTF::_parse_buffers(GLTFState &state, const String &p_
}
}
- print_line("total buffers: " + itos(state.buffers.size()));
+ print_verbose("glTF: Total buffers: " + itos(state.buffers.size()));
return OK;
}
@@ -359,7 +359,7 @@ Error EditorSceneImporterGLTF::_parse_buffer_views(GLTFState &state) {
state.buffer_views.push_back(buffer_view);
}
- print_line("total buffer views: " + itos(state.buffer_views.size()));
+ print_verbose("glTF: Total buffer views: " + itos(state.buffer_views.size()));
return OK;
}
@@ -451,7 +451,7 @@ Error EditorSceneImporterGLTF::_parse_accessors(GLTFState &state) {
state.accessors.push_back(accessor);
}
- print_line("total accessors: " + itos(state.accessors.size()));
+ print_verbose("glTF: Total accessors: " + itos(state.accessors.size()));
return OK;
}
@@ -501,8 +501,8 @@ Error EditorSceneImporterGLTF::_decode_buffer_view(GLTFState &state, int p_buffe
const uint8_t *bufptr = buffer.ptr();
//use to debug
- //print_line("type " + _get_type_name(type) + " component type: " + _get_component_type_name(component_type) + " stride: " + itos(stride) + " amount " + itos(count));
- print_line("accessor offset" + itos(byte_offset) + " view offset: " + itos(bv.byte_offset) + " total buffer len: " + itos(buffer.size()) + " view len " + itos(bv.byte_length));
+ print_verbose("glTF: type " + _get_type_name(type) + " component type: " + _get_component_type_name(component_type) + " stride: " + itos(stride) + " amount " + itos(count));
+ print_verbose("glTF: accessor offset" + itos(byte_offset) + " view offset: " + itos(bv.byte_offset) + " total buffer len: " + itos(buffer.size()) + " view len " + itos(bv.byte_length));
int buffer_end = (stride * (count - 1)) + element_size;
ERR_FAIL_COND_V(buffer_end > bv.byte_length, ERR_PARSE_ERROR);
@@ -853,7 +853,7 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
Array meshes = state.json["meshes"];
for (int i = 0; i < meshes.size(); i++) {
- print_line("on mesh: " + itos(i));
+ print_verbose("glTF: Parsing mesh: " + itos(i));
Dictionary d = meshes[i];
GLTFMesh mesh;
@@ -935,7 +935,7 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
w[j + 3] /= total;
}
- //print_line(itos(j / 4) + ": " + itos(r[j + 0]) + ":" + rtos(w[j + 0]) + ", " + itos(r[j + 1]) + ":" + rtos(w[j + 1]) + ", " + itos(r[j + 2]) + ":" + rtos(w[j + 2]) + ", " + itos(r[j + 3]) + ":" + rtos(w[j + 3]));
+ //print_verbose(itos(j / 4) + ": " + itos(r[j + 0]) + ":" + rtos(w[j + 0]) + ", " + itos(r[j + 1]) + ":" + rtos(w[j + 1]) + ", " + itos(r[j + 2]) + ":" + rtos(w[j + 2]) + ", " + itos(r[j + 3]) + ":" + rtos(w[j + 3]));
}
}
array[Mesh::ARRAY_WEIGHTS] = weights;
@@ -996,7 +996,7 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
Array morphs;
//blend shapes
if (p.has("targets")) {
- print_line("has targets!");
+ print_verbose("glTF: Mesh has targets");
Array targets = p["targets"];
if (j == 0) {
@@ -1091,7 +1091,7 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
state.meshes.push_back(mesh);
}
- print_line("total meshes: " + itos(state.meshes.size()));
+ print_verbose("glTF: Total meshes: " + itos(state.meshes.size()));
return OK;
}
@@ -1183,7 +1183,7 @@ Error EditorSceneImporterGLTF::_parse_images(GLTFState &state, const String &p_b
ERR_FAIL_V(ERR_FILE_CORRUPT);
}
- print_line("total images: " + itos(state.images.size()));
+ print_verbose("Total images: " + itos(state.images.size()));
return OK;
}
@@ -1338,7 +1338,7 @@ Error EditorSceneImporterGLTF::_parse_materials(GLTFState &state) {
state.materials.push_back(material);
}
- print_line("total materials: " + itos(state.materials.size()));
+ print_verbose("Total materials: " + itos(state.materials.size()));
return OK;
}
@@ -1381,12 +1381,11 @@ Error EditorSceneImporterGLTF::_parse_skins(GLTFState &state) {
skin.bones.push_back(bone);
}
- print_line("skin has skeleton? " + itos(d.has("skeleton")));
+ print_verbose("glTF: Skin has skeleton? " + itos(d.has("skeleton")));
if (d.has("skeleton")) {
int skeleton = d["skeleton"];
ERR_FAIL_INDEX_V(skeleton, state.nodes.size(), ERR_PARSE_ERROR);
- //state.nodes[skeleton]->skeleton_skin = state.skins.size();
- print_line("setting skeleton skin to" + itos(skeleton));
+ print_verbose("glTF: Setting skeleton skin to" + itos(skeleton));
skin.skeleton = skeleton;
if (!state.skeleton_nodes.has(skeleton)) {
state.skeleton_nodes[skeleton] = Vector<int>();
@@ -1443,7 +1442,7 @@ Error EditorSceneImporterGLTF::_parse_skins(GLTFState &state) {
*/
state.skins.push_back(skin);
}
- print_line("total skins: " + itos(state.skins.size()));
+ print_verbose("glTF: Total skins: " + itos(state.skins.size()));
//now
@@ -1496,7 +1495,7 @@ Error EditorSceneImporterGLTF::_parse_cameras(GLTFState &state) {
state.cameras.push_back(camera);
}
- print_line("total cameras: " + itos(state.cameras.size()));
+ print_verbose("glTF: Total cameras: " + itos(state.cameras.size()));
return OK;
}
@@ -1574,7 +1573,6 @@ Error EditorSceneImporterGLTF::_parse_animations(GLTFState &state) {
}
}
- print_line("path: " + path);
PoolVector<float> times = _decode_accessor_as_floats(state, input, false);
if (path == "translation") {
PoolVector<Vector3> translations = _decode_accessor_as_vec3(state, output, false);
@@ -1624,7 +1622,7 @@ Error EditorSceneImporterGLTF::_parse_animations(GLTFState &state) {
state.animations.push_back(animation);
}
- print_line("total animations: " + itos(state.animations.size()));
+ print_verbose("glTF: Total animations: " + itos(state.animations.size()));
return OK;
}
@@ -1656,7 +1654,7 @@ void EditorSceneImporterGLTF::_generate_node(GLTFState &state, int p_node, Node
if (n->mesh >= 0) {
ERR_FAIL_INDEX(n->mesh, state.meshes.size());
MeshInstance *mi = memnew(MeshInstance);
- print_line("**creating mesh for: " + n->name);
+ print_verbose("glTF: Creating mesh for: " + n->name);
GLTFMesh &mesh = state.meshes.write[n->mesh];
mi->set_mesh(mesh.mesh);
if (mesh.mesh->get_name() == "") {
diff --git a/editor/import/resource_importer_layered_texture.cpp b/editor/import/resource_importer_layered_texture.cpp
index 2f958a6fdd..211bb7bcc9 100644
--- a/editor/import/resource_importer_layered_texture.cpp
+++ b/editor/import/resource_importer_layered_texture.cpp
@@ -163,6 +163,7 @@ void ResourceImporterLayeredTexture::_save_tex(const Vector<Ref<Image> > &p_imag
Error ResourceImporterLayeredTexture::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files) {
int compress_mode = p_options["compress/mode"];
+ int no_bptc_if_rgb = p_options["compress/no_bptc_if_rgb"];
int repeat = p_options["flags/repeat"];
bool filter = p_options["flags/filter"];
bool mipmaps = p_options["flags/mipmaps"];
@@ -226,6 +227,26 @@ Error ResourceImporterLayeredTexture::import(const String &p_source_file, const
//Android, GLES 2.x
bool ok_on_pc = false;
+ bool encode_bptc = false;
+
+ if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_bptc")) {
+
+ encode_bptc = true;
+
+ if (no_bptc_if_rgb) {
+ Image::DetectChannels channels = image->get_detected_channels();
+ if (channels != Image::DETECTED_LA && channels != Image::DETECTED_RGBA) {
+ encode_bptc = false;
+ }
+ }
+ }
+
+ if (encode_bptc) {
+
+ _save_tex(slices, p_save_path + ".bptc." + extension, compress_mode, Image::COMPRESS_BPTC, mipmaps, tex_flags);
+ r_platform_variants->push_back("bptc");
+ ok_on_pc = true;
+ }
if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_s3tc")) {
diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp
index 5babf6419c..3f101cd04d 100644
--- a/editor/import/resource_importer_obj.cpp
+++ b/editor/import/resource_importer_obj.cpp
@@ -63,7 +63,7 @@ static Error _parse_material_library(const String &p_path, Map<String, Ref<Spati
material_map[current_name] = current;
} else if (l.begins_with("Ka ")) {
//uv
- print_line("Warning: Ambient light for material '" + current_name + "' is ignored in PBR");
+ WARN_PRINTS("OBJ: Ambient light for material '" + current_name + "' is ignored in PBR");
} else if (l.begins_with("Kd ")) {
//normal
@@ -119,7 +119,7 @@ static Error _parse_material_library(const String &p_path, Map<String, Ref<Spati
} else if (l.begins_with("map_Ka ")) {
//uv
- print_line("Warning: Ambient light texture for material '" + current_name + "' is ignored in PBR");
+ WARN_PRINTS("OBJ: Ambient light texture for material '" + current_name + "' is ignored in PBR");
} else if (l.begins_with("map_Kd ")) {
//normal
@@ -335,8 +335,8 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh> > &r_meshes, bool p
surf_tool->index();
- print_line("current material library " + current_material_library + " has " + itos(material_map.has(current_material_library)));
- print_line("current material " + current_material + " has " + itos(material_map.has(current_material_library) && material_map[current_material_library].has(current_material)));
+ print_verbose("OBJ: Current material library " + current_material_library + " has " + itos(material_map.has(current_material_library)));
+ print_verbose("OBJ: Current material " + current_material + " has " + itos(material_map.has(current_material_library) && material_map[current_material_library].has(current_material)));
if (material_map.has(current_material_library) && material_map[current_material_library].has(current_material)) {
surf_tool->set_material(material_map[current_material_library][current_material]);
@@ -350,7 +350,7 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh> > &r_meshes, bool p
mesh->surface_set_name(mesh->get_surface_count() - 1, current_group);
}
- print_line("Added surface :" + mesh->surface_get_name(mesh->get_surface_count() - 1));
+ print_verbose("OBJ: Added surface :" + mesh->surface_get_name(mesh->get_surface_count() - 1));
surf_tool->clear();
surf_tool->begin(Mesh::PRIMITIVE_TRIANGLES);
}
diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp
index b5e3466b12..f544811eb0 100644
--- a/editor/import/resource_importer_scene.cpp
+++ b/editor/import/resource_importer_scene.cpp
@@ -281,12 +281,11 @@ static String _fixstr(const String &p_what, const String &p_str) {
Node *ResourceImporterScene::_fix_node(Node *p_node, Node *p_root, Map<Ref<ArrayMesh>, Ref<Shape> > &collision_map, LightBakeMode p_light_bake_mode) {
- // children first..
+ // children first
for (int i = 0; i < p_node->get_child_count(); i++) {
Node *r = _fix_node(p_node->get_child(i), p_root, collision_map, p_light_bake_mode);
if (!r) {
- print_line("was erased...");
i--; //was erased
}
}
@@ -391,7 +390,6 @@ Node *ResourceImporterScene::_fix_node(Node *p_node, Node *p_root, Map<Ref<Array
colshape->set_owner(p_node->get_owner());
} else if (p_node->has_meta("empty_draw_type")) {
String empty_draw_type = String(p_node->get_meta("empty_draw_type"));
- print_line(empty_draw_type);
StaticBody *sb = memnew(StaticBody);
sb->set_name(_fixstr(name, "colonly"));
Object::cast_to<Spatial>(sb)->set_transform(Object::cast_to<Spatial>(p_node)->get_transform());
@@ -723,15 +721,11 @@ void ResourceImporterScene::_filter_anim_tracks(Ref<Animation> anim, Set<String>
Ref<Animation> a = anim;
ERR_FAIL_COND(!a.is_valid());
- print_line("From Anim " + anim->get_name() + ":");
-
for (int j = 0; j < a->get_track_count(); j++) {
String path = a->track_get_path(j);
if (!keep.has(path)) {
-
- print_line("Remove: " + path);
a->remove_track(j);
j--;
}
@@ -899,8 +893,6 @@ void ResourceImporterScene::_find_meshes(Node *p_node, Map<Ref<ArrayMesh>, Trans
}
meshes[mesh] = transform;
-
- print_line("mesh transform: " + meshes[mesh]);
}
}
for (int i = 0; i < p_node->get_child_count(); i++) {
@@ -913,8 +905,6 @@ void ResourceImporterScene::_make_external_resources(Node *p_node, const String
List<PropertyInfo> pi;
- print_line("node: " + String(p_node->get_name()));
-
if (p_make_animations) {
if (Object::cast_to<AnimationPlayer>(p_node)) {
AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(p_node);
@@ -1316,7 +1306,6 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
if (bool(p_options["external_files/store_in_subdir"])) {
String subdir_name = p_source_file.get_file().get_basename();
DirAccess *da = DirAccess::open(base_path);
- print_line("at path " + da->get_current_dir() + " making " + subdir_name);
Error err = da->make_dir(subdir_name);
memdelete(da);
ERR_FAIL_COND_V(err != OK && err != ERR_ALREADY_EXISTS, err);
@@ -1421,7 +1410,7 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p
Ref<PackedScene> packer = memnew(PackedScene);
packer->pack(scene);
- print_line("SAVING TO: " + p_save_path + ".scn");
+ 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_FAIL_COND_V(err != OK, err);
diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp
index 17a9394b51..d03395c070 100644
--- a/editor/import/resource_importer_texture.cpp
+++ b/editor/import/resource_importer_texture.cpp
@@ -164,6 +164,11 @@ bool ResourceImporterTexture::get_option_visibility(const String &p_option, cons
if (compress_mode != COMPRESS_LOSSY && compress_mode != COMPRESS_VIDEO_RAM) {
return false;
}
+ } else if (p_option == "compress/no_bptc_if_rgb" || p_option == "compress/hdr_mode") {
+ int compress_mode = int(p_options["compress/mode"]);
+ if (compress_mode != COMPRESS_VIDEO_RAM) {
+ return false;
+ }
}
return true;
@@ -188,7 +193,8 @@ void ResourceImporterTexture::get_import_options(List<ImportOption> *r_options,
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/mode", PROPERTY_HINT_ENUM, "Lossless,Lossy,Video RAM,Uncompressed", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), p_preset == PRESET_3D ? 2 : 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "compress/lossy_quality", PROPERTY_HINT_RANGE, "0,1,0.01"), 0.7));
- r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/hdr_mode", PROPERTY_HINT_ENUM, "Compress,Force RGBE"), 0));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "compress/no_bptc_if_rgb"), false));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/hdr_mode", PROPERTY_HINT_ENUM, "LDR Fallback,Force RGBE,RGBE Fallback"), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "compress/normal_map", PROPERTY_HINT_ENUM, "Detect,Enable,Disabled"), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "flags/repeat", PROPERTY_HINT_ENUM, "Disabled,Enabled,Mirrored"), p_preset == PRESET_3D ? 1 : 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "flags/filter"), p_preset == PRESET_2D_PIXEL ? false : true));
@@ -198,6 +204,7 @@ void ResourceImporterTexture::get_import_options(List<ImportOption> *r_options,
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/fix_alpha_border"), p_preset != PRESET_3D ? true : false));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/premult_alpha"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/HDR_as_SRGB"), false));
+ r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "process/invert_color"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "stream"), false));
r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "size_limit", PROPERTY_HINT_RANGE, "0,4096,1"), 0));
r_options->push_back(ImportOption(PropertyInfo(Variant::BOOL, "detect_3d"), p_preset == PRESET_DETECT));
@@ -346,6 +353,7 @@ void ResourceImporterTexture::_save_stex(const Ref<Image> &p_image, const String
Error ResourceImporterTexture::import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files) {
int compress_mode = p_options["compress/mode"];
+ int no_bptc_if_rgb = p_options["compress/no_bptc_if_rgb"];
float lossy = p_options["compress/lossy_quality"];
int repeat = p_options["flags/repeat"];
bool filter = p_options["flags/filter"];
@@ -354,9 +362,11 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String
int srgb = p_options["flags/srgb"];
bool fix_alpha_border = p_options["process/fix_alpha_border"];
bool premult_alpha = p_options["process/premult_alpha"];
+ bool invert_color = p_options["process/invert_color"];
bool stream = p_options["stream"];
int size_limit = p_options["size_limit"];
bool force_rgbe = int(p_options["compress/hdr_mode"]) == 1;
+ bool rgbe_fallback = int(p_options["compress/hdr_mode"]) == 2;
bool hdr_as_srgb = p_options["process/HDR_as_SRGB"];
int normal = p_options["compress/normal_map"];
float scale = p_options["svg/scale"];
@@ -409,6 +419,19 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String
image->premultiply_alpha();
}
+ if (invert_color) {
+ int height = image->get_height();
+ int width = image->get_width();
+
+ image->lock();
+ for (int i = 0; i < height; i++) {
+ for (int j = 0; j < width; j++) {
+ image->set_pixel(i, j, image->get_pixel(i, j).inverted());
+ }
+ }
+ image->unlock();
+ }
+
bool detect_3d = p_options["detect_3d"];
bool detect_srgb = srgb == 2;
bool detect_normal = normal == 0;
@@ -419,31 +442,59 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String
//Android, GLES 2.x
bool ok_on_pc = false;
+ bool encode_bptc = false;
+ bool is_hdr = (image->get_format() >= Image::FORMAT_RF && image->get_format() <= Image::FORMAT_RGBE9995);
+ bool no_ldr_compression = (is_hdr && rgbe_fallback);
+
+ if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_bptc")) {
- if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_s3tc")) {
+ encode_bptc = true;
+
+ if (no_bptc_if_rgb && !is_hdr) {
+ Image::DetectChannels channels = image->get_detected_channels();
+ if (channels != Image::DETECTED_LA && channels != Image::DETECTED_RGBA) {
+ encode_bptc = false;
+ }
+ }
+ }
+
+ if (encode_bptc) {
+
+ _save_stex(image, p_save_path + ".bptc.stex", compress_mode, lossy, Image::COMPRESS_BPTC, mipmaps, tex_flags, stream, detect_3d, detect_srgb, force_rgbe, detect_normal, force_normal);
+ r_platform_variants->push_back("bptc");
+ ok_on_pc = true;
+ }
+
+ if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_s3tc") && !no_ldr_compression) {
_save_stex(image, p_save_path + ".s3tc.stex", compress_mode, lossy, Image::COMPRESS_S3TC, mipmaps, tex_flags, stream, detect_3d, detect_srgb, force_rgbe, detect_normal, force_normal);
r_platform_variants->push_back("s3tc");
ok_on_pc = true;
}
- if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_etc2")) {
+ if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_etc2") && !no_ldr_compression) {
_save_stex(image, p_save_path + ".etc2.stex", compress_mode, lossy, Image::COMPRESS_ETC2, mipmaps, tex_flags, stream, detect_3d, detect_srgb, force_rgbe, detect_normal, force_normal);
r_platform_variants->push_back("etc2");
}
- if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_etc")) {
+ if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_etc") && !no_ldr_compression) {
_save_stex(image, p_save_path + ".etc.stex", compress_mode, lossy, Image::COMPRESS_ETC, mipmaps, tex_flags, stream, detect_3d, detect_srgb, force_rgbe, detect_normal, force_normal);
r_platform_variants->push_back("etc");
}
- if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_pvrtc")) {
+ if (ProjectSettings::get_singleton()->get("rendering/vram_compression/import_pvrtc") && !no_ldr_compression) {
_save_stex(image, p_save_path + ".pvrtc.stex", compress_mode, lossy, Image::COMPRESS_PVRTC4, mipmaps, tex_flags, stream, detect_3d, detect_srgb, force_rgbe, detect_normal, force_normal);
r_platform_variants->push_back("pvrtc");
}
+ if (is_hdr && rgbe_fallback) {
+ _save_stex(image, p_save_path + ".fallback.stex", compress_mode, lossy, Image::COMPRESS_S3TC /*this is ignored */, mipmaps, tex_flags, stream, detect_3d, detect_srgb, true, detect_normal, force_normal);
+ r_platform_variants->push_back("fallback");
+ ok_on_pc = true;
+ }
+
if (!ok_on_pc) {
EditorNode::add_io_error("Warning, no suitable PC VRAM compression enabled in Project Settings. This texture will not display correcly on PC.");
}
diff --git a/editor/import/resource_importer_wav.cpp b/editor/import/resource_importer_wav.cpp
index 41f5a892eb..d04f29ea5e 100644
--- a/editor/import/resource_importer_wav.cpp
+++ b/editor/import/resource_importer_wav.cpp
@@ -157,15 +157,18 @@ 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_PRINT("Format not supported for WAVE file (not PCM). Save WAVE files as uncompressed PCM instead.");
- break;
+ file->close();
+ memdelete(file);
+ ERR_EXPLAIN("Format not supported for WAVE file (not PCM). Save WAVE files as uncompressed PCM instead.");
+ ERR_FAIL_V(ERR_INVALID_DATA);
}
format_channels = file->get_16();
if (format_channels != 1 && format_channels != 2) {
-
- ERR_PRINT("Format not supported for WAVE file (not stereo or mono)");
- break;
+ file->close();
+ memdelete(file);
+ ERR_EXPLAIN("Format not supported for WAVE file (not stereo or mono).");
+ ERR_FAIL_V(ERR_INVALID_DATA);
}
format_freq = file->get_32(); //sampling rate
@@ -174,10 +177,11 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
file->get_16(); // block align (unused)
format_bits = file->get_16(); // bits per sample
- if (format_bits % 8) {
-
- ERR_PRINT("Strange number of bits in sample (not 8,16,24,32)");
- break;
+ if (format_bits % 8 || format_bits == 0) {
+ file->close();
+ memdelete(file);
+ ERR_EXPLAIN("Invalid amount of bits in the sample (should be one of 8, 16, 24 or 32).");
+ ERR_FAIL_V(ERR_INVALID_DATA);
}
/* Don't need anything else, continue */
@@ -185,7 +189,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
}
if (chunkID[0] == 'd' && chunkID[1] == 'a' && chunkID[2] == 't' && chunkID[3] == 'a' && !data_found) {
- /* IS FORMAT CHUNK */
+ /* IS DATA CHUNK */
data_found = true;
if (!format_found) {
@@ -201,7 +205,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
/*print_line("chunksize: "+itos(chunksize));
print_line("channels: "+itos(format_channels));
print_line("bits: "+itos(format_bits));
-*/
+ */
int len = frames;
if (format_channels == 2)
@@ -289,6 +293,7 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
bool is16 = format_bits != 8;
int rate = format_freq;
+ /*
print_line("Input Sample: ");
print_line("\tframes: " + itos(frames));
print_line("\tformat_channels: " + itos(format_channels));
@@ -297,18 +302,16 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
print_line("\tloop: " + itos(loop));
print_line("\tloop begin: " + itos(loop_begin));
print_line("\tloop end: " + itos(loop_end));
+ */
//apply frequency limit
bool limit_rate = p_options["force/max_rate"];
int limit_rate_hz = p_options["force/max_rate_hz"];
if (limit_rate && rate > limit_rate_hz && rate > 0 && frames > 0) {
- //resampleeee!!!
+ // resample!
int new_data_frames = (int)(frames * (float)limit_rate_hz / (float)rate);
- print_line("\tresampling ratio: " + rtos((float)limit_rate_hz / (float)rate));
- print_line("\tnew frames: " + itos(new_data_frames));
-
Vector<float> new_data;
new_data.resize(new_data_frames * format_channels);
for (int c = 0; c < format_channels; c++) {
@@ -488,8 +491,6 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
}
}
- //print_line("compressing ima-adpcm, resulting buffersize is "+itos(dst_data.size())+" from "+itos(data.size()));
-
} else {
dst_format = is16 ? AudioStreamSample::FORMAT_16_BITS : AudioStreamSample::FORMAT_8_BITS;
diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp
index f91802b352..31eb193461 100644
--- a/editor/import_dock.cpp
+++ b/editor/import_dock.cpp
@@ -420,10 +420,9 @@ ImportDock::ImportDock() {
preset->get_popup()->connect("index_pressed", this, "_preset_selected");
hb->add_child(preset);
- import_opts = memnew(PropertyEditor);
+ import_opts = memnew(EditorInspector);
add_child(import_opts);
import_opts->set_v_size_flags(SIZE_EXPAND_FILL);
- import_opts->hide_top_label();
hb = memnew(HBoxContainer);
add_child(hb);
diff --git a/editor/import_dock.h b/editor/import_dock.h
index a7a7eda8d8..41c7298d9a 100644
--- a/editor/import_dock.h
+++ b/editor/import_dock.h
@@ -31,10 +31,12 @@
#ifndef IMPORTDOCK_H
#define IMPORTDOCK_H
-#include "editor_file_system.h"
-#include "io/resource_import.h"
-#include "property_editor.h"
+#include "core/io/config_file.h"
+#include "core/io/resource_import.h"
+#include "editor/editor_file_system.h"
+#include "editor/editor_inspector.h"
#include "scene/gui/box_container.h"
+#include "scene/gui/menu_button.h"
#include "scene/gui/option_button.h"
#include "scene/gui/popup_menu.h"
@@ -45,7 +47,7 @@ class ImportDock : public VBoxContainer {
Label *imported;
OptionButton *import_as;
MenuButton *preset;
- PropertyEditor *import_opts;
+ EditorInspector *import_opts;
List<PropertyInfo> properties;
Map<StringName, Variant> property_values;
diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp
index 615e9df043..0335053162 100644
--- a/editor/inspector_dock.cpp
+++ b/editor/inspector_dock.cpp
@@ -36,6 +36,16 @@
void InspectorDock::_menu_option(int p_option) {
switch (p_option) {
+ case RESOURCE_MAKE_BUILT_IN: {
+ _unref_resource();
+ } break;
+ case RESOURCE_COPY: {
+ _copy_resource();
+ } break;
+ case RESOURCE_EDIT_CLIPBOARD: {
+ _paste_resource();
+ } break;
+
case RESOURCE_SAVE: {
_save_resource(false);
} break;
@@ -400,10 +410,11 @@ void InspectorDock::update(Object *p_object) {
p->add_shortcut(ED_SHORTCUT("property_editor/copy_params", TTR("Copy Params")), OBJECT_COPY_PARAMS);
p->add_shortcut(ED_SHORTCUT("property_editor/paste_params", TTR("Paste Params")), OBJECT_PASTE_PARAMS);
p->add_separator();
- p->add_shortcut(ED_SHORTCUT("property_editor/paste_resource", TTR("Paste Resource")), RESOURCE_PASTE);
+
+ p->add_shortcut(ED_SHORTCUT("property_editor/paste_resource", TTR("Edit Resource Clipboard")), RESOURCE_EDIT_CLIPBOARD);
if (is_resource) {
p->add_shortcut(ED_SHORTCUT("property_editor/copy_resource", TTR("Copy Resource")), RESOURCE_COPY);
- p->add_shortcut(ED_SHORTCUT("property_editor/unref_resource", TTR("Make Built-In")), RESOURCE_UNREF);
+ p->add_shortcut(ED_SHORTCUT("property_editor/unref_resource", TTR("Make Built-In")), RESOURCE_MAKE_BUILT_IN);
}
if (is_resource || is_node) {
diff --git a/editor/inspector_dock.h b/editor/inspector_dock.h
index f347056158..97ef6899dc 100644
--- a/editor/inspector_dock.h
+++ b/editor/inspector_dock.h
@@ -51,13 +51,12 @@ class InspectorDock : public VBoxContainer {
GDCLASS(InspectorDock, VBoxContainer);
enum MenuOptions {
- RESOURCE_NEW,
RESOURCE_LOAD,
RESOURCE_SAVE,
RESOURCE_SAVE_AS,
- RESOURCE_UNREF,
+ RESOURCE_MAKE_BUILT_IN,
RESOURCE_COPY,
- RESOURCE_PASTE,
+ RESOURCE_EDIT_CLIPBOARD,
OBJECT_COPY_PARAMS,
OBJECT_PASTE_PARAMS,
OBJECT_UNIQUE_RESOURCES,
diff --git a/editor/plugin_config_dialog.cpp b/editor/plugin_config_dialog.cpp
index 418936ac9f..93bed035a5 100644
--- a/editor/plugin_config_dialog.cpp
+++ b/editor/plugin_config_dialog.cpp
@@ -112,7 +112,6 @@ void PluginConfigDialog::_notification(int p_what) {
void PluginConfigDialog::config(const String &p_config_path) {
if (p_config_path.length()) {
Ref<ConfigFile> cf = memnew(ConfigFile);
- print_line(p_config_path);
cf->load(p_config_path);
name_edit->set_text(cf->get_value("plugin", "name", ""));
diff --git a/editor/plugins/animation_blend_space_1d_editor.cpp b/editor/plugins/animation_blend_space_1d_editor.cpp
index 2e128db883..5373015654 100644
--- a/editor/plugins/animation_blend_space_1d_editor.cpp
+++ b/editor/plugins/animation_blend_space_1d_editor.cpp
@@ -3,40 +3,9 @@
#include "os/keyboard.h"
#include "scene/animation/animation_blend_tree.h"
-void AnimationNodeBlendSpace1DEditorPlugin::edit(Object *p_object) {
- anim_tree_editor->edit(Object::cast_to<AnimationNodeBlendSpace1D>(p_object));
-}
-
-bool AnimationNodeBlendSpace1DEditorPlugin::handles(Object *p_object) const {
- return p_object->is_class("AnimationNodeBlendSpace1D");
-}
-
-void AnimationNodeBlendSpace1DEditorPlugin::make_visible(bool p_visible) {
-
- if (p_visible) {
- button->show();
- editor->make_bottom_panel_item_visible(anim_tree_editor);
- anim_tree_editor->set_process(true);
- } else {
- if (anim_tree_editor->is_visible_in_tree()) {
- editor->hide_bottom_panel();
- }
-
- button->hide();
- anim_tree_editor->set_process(false);
- }
-}
-
-AnimationNodeBlendSpace1DEditorPlugin::AnimationNodeBlendSpace1DEditorPlugin(EditorNode *p_node) {
- editor = p_node;
- anim_tree_editor = memnew(AnimationNodeBlendSpace1DEditor);
- anim_tree_editor->set_custom_minimum_size(Size2(0, 150 * EDSCALE));
-
- button = editor->add_bottom_panel_item(TTR("BlendSpace1D"), anim_tree_editor);
- button->hide();
-}
-
-AnimationNodeBlendSpace1DEditorPlugin::~AnimationNodeBlendSpace1DEditorPlugin() {
+StringName AnimationNodeBlendSpace1DEditor::get_blend_position_path() const {
+ StringName path = AnimationTreeEditor::get_singleton()->get_base_path() + "blend_position";
+ return path;
}
void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEvent> &p_event) {
@@ -62,7 +31,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
menu->add_submenu_item(TTR("Add Animation"), "animations");
- AnimationTree *gp = blend_space->get_tree();
+ AnimationTree *gp = AnimationTreeEditor::get_singleton()->get_tree();
ERR_FAIL_COND(!gp);
if (gp->has_node(gp->get_animation_player())) {
@@ -85,10 +54,18 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
continue;
int idx = menu->get_item_count();
- menu->add_item(vformat("Add %s", name));
+ menu->add_item(vformat("Add %s", name), idx);
menu->set_item_metadata(idx, E->get());
}
+ Ref<AnimationNode> clipb = EditorSettings::get_singleton()->get_resource_clipboard();
+ if (clipb.is_valid()) {
+ menu->add_separator();
+ menu->add_item(TTR("Paste"), MENU_PASTE);
+ }
+ menu->add_separator();
+ menu->add_item(TTR("Load.."), MENU_LOAD_FILE);
+
menu->set_global_position(blend_space_draw->get_global_transform().xform(mb->get_position()));
menu->popup();
@@ -158,7 +135,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= blend_space->get_max_space() - blend_space->get_min_space();
blend_pos += blend_space->get_min_space();
- blend_space->set_blend_pos(blend_pos);
+ AnimationTreeEditor::get_singleton()->get_tree()->set(get_blend_position_path(), blend_pos);
blend_space_draw->update();
}
@@ -181,7 +158,8 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= blend_space->get_max_space() - blend_space->get_min_space();
blend_pos += blend_space->get_min_space();
- blend_space->set_blend_pos(blend_pos);
+ AnimationTreeEditor::get_singleton()->get_tree()->set(get_blend_position_path(), blend_pos);
+
blend_space_draw->update();
}
}
@@ -277,7 +255,8 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
color.a *= 0.5;
}
- float point = blend_space->get_blend_pos();
+ float point = AnimationTreeEditor::get_singleton()->get_tree()->get(get_blend_position_path());
+
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
point *= s.width;
@@ -299,12 +278,6 @@ void AnimationNodeBlendSpace1DEditor::_update_space() {
updating = true;
- if (blend_space->get_parent().is_valid()) {
- goto_parent_hb->show();
- } else {
- goto_parent_hb->hide();
- }
-
max_value->set_value(blend_space->get_max_space());
min_value->set_value(blend_space->get_min_space());
@@ -355,15 +328,47 @@ void AnimationNodeBlendSpace1DEditor::_snap_toggled() {
blend_space_draw->update();
}
+void AnimationNodeBlendSpace1DEditor::_file_opened(const String &p_file) {
+
+ file_loaded = ResourceLoader::load(p_file);
+ if (file_loaded.is_valid()) {
+ _add_menu_type(MENU_LOAD_FILE_CONFIRM);
+ }
+}
+
void AnimationNodeBlendSpace1DEditor::_add_menu_type(int p_index) {
- String type = menu->get_item_metadata(p_index);
+ Ref<AnimationRootNode> node;
+ if (p_index == MENU_LOAD_FILE) {
+
+ open_file->clear_filters();
+ List<String> filters;
+ ResourceLoader::get_recognized_extensions_for_type("AnimationRootNode", &filters);
+ for (List<String>::Element *E = filters.front(); E; E = E->next()) {
+ open_file->add_filter("*." + E->get());
+ }
+ open_file->popup_centered_ratio();
+ return;
+ } else if (p_index == MENU_LOAD_FILE_CONFIRM) {
+ node = file_loaded;
+ file_loaded.unref();
+ } else if (p_index == MENU_PASTE) {
+
+ node = EditorSettings::get_singleton()->get_resource_clipboard();
+ } else {
+ String type = menu->get_item_metadata(p_index);
+
+ Object *obj = ClassDB::instance(type);
+ ERR_FAIL_COND(!obj);
+ AnimationNode *an = Object::cast_to<AnimationNode>(obj);
+ ERR_FAIL_COND(!an);
- Object *obj = ClassDB::instance(type);
- ERR_FAIL_COND(!obj);
- AnimationNode *an = Object::cast_to<AnimationNode>(obj);
- ERR_FAIL_COND(!an);
+ node = Ref<AnimationNode>(an);
+ }
- Ref<AnimationNode> node(an);
+ if (!node.is_valid()) {
+ EditorNode::get_singleton()->show_warning(TTR("This type of node can't be used. Only root nodes are allowed."));
+ return;
+ }
updating = true;
undo_redo->create_action("Add Node Point");
@@ -438,7 +443,7 @@ void AnimationNodeBlendSpace1DEditor::_update_tool_erase() {
if (point_valid) {
Ref<AnimationNode> an = blend_space->get_blend_point_node(selected_point);
- if (EditorNode::get_singleton()->item_has_editor(an.ptr())) {
+ if (AnimationTreeEditor::get_singleton()->can_edit(an)) {
open_editor->show();
} else {
open_editor->hide();
@@ -490,18 +495,10 @@ void AnimationNodeBlendSpace1DEditor::_open_editor() {
if (selected_point >= 0 && selected_point < blend_space->get_blend_point_count()) {
Ref<AnimationNode> an = blend_space->get_blend_point_node(selected_point);
ERR_FAIL_COND(an.is_null());
- EditorNode::get_singleton()->edit_item(an.ptr());
+ AnimationTreeEditor::get_singleton()->enter_editor(itos(selected_point));
}
}
-void AnimationNodeBlendSpace1DEditor::_goto_parent() {
- EditorNode::get_singleton()->edit_item(blend_space->get_parent().ptr());
-}
-
-void AnimationNodeBlendSpace1DEditor::_removed_from_graph() {
- EditorNode::get_singleton()->edit_item(NULL);
-}
-
void AnimationNodeBlendSpace1DEditor::_notification(int p_what) {
if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) {
error_panel->add_style_override("panel", get_stylebox("bg", "Tree"));
@@ -513,18 +510,15 @@ void AnimationNodeBlendSpace1DEditor::_notification(int p_what) {
tool_erase->set_icon(get_icon("Remove", "EditorIcons"));
snap->set_icon(get_icon("SnapGrid", "EditorIcons"));
open_editor->set_icon(get_icon("Edit", "EditorIcons"));
- goto_parent->set_icon(get_icon("MoveUp", "EditorIcons"));
}
if (p_what == NOTIFICATION_PROCESS) {
String error;
- if (!blend_space->get_tree()) {
- error = TTR("BlendSpace1D does not belong to an AnimationTree node.");
- } else if (!blend_space->get_tree()->is_active()) {
+ if (!AnimationTreeEditor::get_singleton()->get_tree()->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (blend_space->get_tree()->is_state_invalid()) {
- error = blend_space->get_tree()->get_invalid_state_reason();
+ } else if (AnimationTreeEditor::get_singleton()->get_tree()->is_state_invalid()) {
+ error = AnimationTreeEditor::get_singleton()->get_tree()->get_invalid_state_reason();
}
if (error != error_label->get_text()) {
@@ -536,6 +530,10 @@ void AnimationNodeBlendSpace1DEditor::_notification(int p_what) {
}
}
}
+
+ if (p_what == NOTIFICATION_VISIBILITY_CHANGED) {
+ set_process(is_visible_in_tree());
+ }
}
void AnimationNodeBlendSpace1DEditor::_bind_methods() {
@@ -556,28 +554,21 @@ void AnimationNodeBlendSpace1DEditor::_bind_methods() {
ClassDB::bind_method("_update_edited_point_pos", &AnimationNodeBlendSpace1DEditor::_update_edited_point_pos);
ClassDB::bind_method("_open_editor", &AnimationNodeBlendSpace1DEditor::_open_editor);
- ClassDB::bind_method("_goto_parent", &AnimationNodeBlendSpace1DEditor::_goto_parent);
- ClassDB::bind_method("_removed_from_graph", &AnimationNodeBlendSpace1DEditor::_removed_from_graph);
+ ClassDB::bind_method("_file_opened", &AnimationNodeBlendSpace1DEditor::_file_opened);
}
-void AnimationNodeBlendSpace1DEditor::edit(AnimationNodeBlendSpace1D *p_blend_space) {
+bool AnimationNodeBlendSpace1DEditor::can_edit(const Ref<AnimationNode> &p_node) {
- if (blend_space.is_valid()) {
- blend_space->disconnect("removed_from_graph", this, "_removed_from_graph");
- }
+ Ref<AnimationNodeBlendSpace1D> b1d = p_node;
+ return b1d.is_valid();
+}
- if (p_blend_space) {
- blend_space = Ref<AnimationNodeBlendSpace1D>(p_blend_space);
- } else {
- blend_space.unref();
- }
+void AnimationNodeBlendSpace1DEditor::edit(const Ref<AnimationNode> &p_node) {
- if (blend_space.is_null()) {
- hide();
- } else {
- blend_space->connect("removed_from_graph", this, "_removed_from_graph");
+ blend_space = p_node;
+ if (!blend_space.is_null()) {
_update_space();
}
}
@@ -594,15 +585,6 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
Ref<ButtonGroup> bg;
bg.instance();
- goto_parent_hb = memnew(HBoxContainer);
- top_hb->add_child(goto_parent_hb);
-
- goto_parent = memnew(ToolButton);
- goto_parent->connect("pressed", this, "_goto_parent", varray(), CONNECT_DEFERRED);
- goto_parent_hb->add_child(goto_parent);
- goto_parent_hb->add_child(memnew(VSeparator));
- goto_parent_hb->hide();
-
tool_blend = memnew(ToolButton);
tool_blend->set_toggle_mode(true);
tool_blend->set_button_group(bg);
@@ -726,13 +708,20 @@ AnimationNodeBlendSpace1DEditor::AnimationNodeBlendSpace1DEditor() {
menu = memnew(PopupMenu);
add_child(menu);
- menu->connect("index_pressed", this, "_add_menu_type");
+ menu->connect("id_pressed", this, "_add_menu_type");
animations_menu = memnew(PopupMenu);
menu->add_child(animations_menu);
animations_menu->set_name("animations");
animations_menu->connect("index_pressed", this, "_add_animation_type");
+ open_file = memnew(EditorFileDialog);
+ add_child(open_file);
+ open_file->set_title(TTR("Open Animation Node"));
+ open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
+ open_file->connect("file_selected", this, "_file_opened");
+ undo_redo = EditorNode::get_singleton()->get_undo_redo();
+
selected_point = -1;
dragging_selected = false;
dragging_selected_attempt = false;
diff --git a/editor/plugins/animation_blend_space_1d_editor.h b/editor/plugins/animation_blend_space_1d_editor.h
index 52139626e6..278357b9c7 100644
--- a/editor/plugins/animation_blend_space_1d_editor.h
+++ b/editor/plugins/animation_blend_space_1d_editor.h
@@ -3,6 +3,7 @@
#include "editor/editor_node.h"
#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"
@@ -10,9 +11,9 @@
#include "scene/gui/popup.h"
#include "scene/gui/tree.h"
-class AnimationNodeBlendSpace1DEditor : public VBoxContainer {
+class AnimationNodeBlendSpace1DEditor : public AnimationTreeNodeEditorPlugin {
- GDCLASS(AnimationNodeBlendSpace1DEditor, VBoxContainer)
+ GDCLASS(AnimationNodeBlendSpace1DEditor, AnimationTreeNodeEditorPlugin)
Ref<AnimationNodeBlendSpace1D> blend_space;
@@ -81,7 +82,17 @@ class AnimationNodeBlendSpace1DEditor : public VBoxContainer {
void _goto_parent();
- void _removed_from_graph();
+ EditorFileDialog *open_file;
+ Ref<AnimationNode> file_loaded;
+ void _file_opened(const String &p_file);
+
+ enum {
+ MENU_LOAD_FILE = 1000,
+ MENU_PASTE = 1001,
+ MENU_LOAD_FILE_CONFIRM = 1002
+ };
+
+ StringName get_blend_position_path() const;
protected:
void _notification(int p_what);
@@ -89,29 +100,9 @@ protected:
public:
static AnimationNodeBlendSpace1DEditor *get_singleton() { return singleton; }
- void edit(AnimationNodeBlendSpace1D *p_blend_space);
+ virtual bool can_edit(const Ref<AnimationNode> &p_node);
+ virtual void edit(const Ref<AnimationNode> &p_node);
AnimationNodeBlendSpace1DEditor();
};
-class AnimationNodeBlendSpace1DEditorPlugin : public EditorPlugin {
-
- GDCLASS(AnimationNodeBlendSpace1DEditorPlugin, EditorPlugin)
-
- AnimationNodeBlendSpace1DEditor *anim_tree_editor;
- EditorNode *editor;
- Button *button;
-
-public:
- virtual String get_name() const { return "BlendSpace1D"; }
-
- bool has_main_screen() const { return false; }
-
- virtual void edit(Object *p_object);
- virtual bool handles(Object *p_object) const;
- virtual void make_visible(bool p_visible);
-
- AnimationNodeBlendSpace1DEditorPlugin(EditorNode *p_node);
- ~AnimationNodeBlendSpace1DEditorPlugin();
-};
-
#endif // ANIMATION_BLEND_SPACE_1D_EDITOR_H
diff --git a/editor/plugins/animation_blend_space_2d_editor.cpp b/editor/plugins/animation_blend_space_2d_editor.cpp
index 27df60f87a..2d240b5a5c 100644
--- a/editor/plugins/animation_blend_space_2d_editor.cpp
+++ b/editor/plugins/animation_blend_space_2d_editor.cpp
@@ -11,27 +11,26 @@
#include "scene/gui/panel.h"
#include "scene/main/viewport.h"
-void AnimationNodeBlendSpace2DEditor::edit(AnimationNodeBlendSpace2D *p_blend_space) {
+bool AnimationNodeBlendSpace2DEditor::can_edit(const Ref<AnimationNode> &p_node) {
- if (blend_space.is_valid()) {
- blend_space->disconnect("removed_from_graph", this, "_removed_from_graph");
- }
+ Ref<AnimationNodeBlendSpace2D> bs2d = p_node;
+ return bs2d.is_valid();
+}
- if (p_blend_space) {
- blend_space = Ref<AnimationNodeBlendSpace2D>(p_blend_space);
- } else {
- blend_space.unref();
- }
+void AnimationNodeBlendSpace2DEditor::edit(const Ref<AnimationNode> &p_node) {
- if (blend_space.is_null()) {
- hide();
- } else {
- blend_space->connect("removed_from_graph", this, "_removed_from_graph");
+ blend_space = p_node;
+ if (!blend_space.is_null()) {
_update_space();
}
}
+StringName AnimationNodeBlendSpace2DEditor::get_blend_position_path() const {
+ StringName path = AnimationTreeEditor::get_singleton()->get_base_path() + "blend_position";
+ return path;
+}
+
void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEvent> &p_event) {
Ref<InputEventKey> k = p_event;
@@ -54,7 +53,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
ClassDB::get_inheriters_from_class("AnimationRootNode", &classes);
menu->add_submenu_item(TTR("Add Animation"), "animations");
- AnimationTree *gp = blend_space->get_tree();
+ AnimationTree *gp = AnimationTreeEditor::get_singleton()->get_tree();
ERR_FAIL_COND(!gp);
if (gp && gp->has_node(gp->get_animation_player())) {
AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(gp->get_node(gp->get_animation_player()));
@@ -74,10 +73,18 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
if (name == "Animation")
continue; // nope
int idx = menu->get_item_count();
- menu->add_item(vformat("Add %s", name));
+ menu->add_item(vformat("Add %s", name), idx);
menu->set_item_metadata(idx, E->get());
}
+ Ref<AnimationNode> clipb = EditorSettings::get_singleton()->get_resource_clipboard();
+ if (clipb.is_valid()) {
+ menu->add_separator();
+ menu->add_item(TTR("Paste"), MENU_PASTE);
+ }
+ menu->add_separator();
+ menu->add_item(TTR("Load.."), MENU_LOAD_FILE);
+
menu->set_global_position(blend_space_draw->get_global_transform().xform(mb->get_position()));
menu->popup();
add_point_pos = (mb->get_position() / blend_space_draw->get_size());
@@ -203,7 +210,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= (blend_space->get_max_space() - blend_space->get_min_space());
blend_pos += blend_space->get_min_space();
- blend_space->set_blend_position(blend_pos);
+ AnimationTreeEditor::get_singleton()->get_tree()->set(get_blend_position_path(), blend_pos);
+
blend_space_draw->update();
}
@@ -237,21 +245,54 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
blend_pos *= (blend_space->get_max_space() - blend_space->get_min_space());
blend_pos += blend_space->get_min_space();
- blend_space->set_blend_position(blend_pos);
+ AnimationTreeEditor::get_singleton()->get_tree()->set(get_blend_position_path(), blend_pos);
+
blend_space_draw->update();
}
}
+void AnimationNodeBlendSpace2DEditor::_file_opened(const String &p_file) {
+
+ file_loaded = ResourceLoader::load(p_file);
+ if (file_loaded.is_valid()) {
+ _add_menu_type(MENU_LOAD_FILE_CONFIRM);
+ }
+}
+
void AnimationNodeBlendSpace2DEditor::_add_menu_type(int p_index) {
- String type = menu->get_item_metadata(p_index);
+ Ref<AnimationRootNode> node;
+ if (p_index == MENU_LOAD_FILE) {
+
+ open_file->clear_filters();
+ List<String> filters;
+ ResourceLoader::get_recognized_extensions_for_type("AnimationRootNode", &filters);
+ for (List<String>::Element *E = filters.front(); E; E = E->next()) {
+ open_file->add_filter("*." + E->get());
+ }
+ open_file->popup_centered_ratio();
+ return;
+ } else if (p_index == MENU_LOAD_FILE_CONFIRM) {
+ node = file_loaded;
+ file_loaded.unref();
+ } else if (p_index == MENU_PASTE) {
+
+ node = EditorSettings::get_singleton()->get_resource_clipboard();
+ } else {
+ String type = menu->get_item_metadata(p_index);
+
+ Object *obj = ClassDB::instance(type);
+ ERR_FAIL_COND(!obj);
+ AnimationNode *an = Object::cast_to<AnimationNode>(obj);
+ ERR_FAIL_COND(!an);
- Object *obj = ClassDB::instance(type);
- ERR_FAIL_COND(!obj);
- AnimationNode *an = Object::cast_to<AnimationNode>(obj);
- ERR_FAIL_COND(!an);
+ node = Ref<AnimationNode>(an);
+ }
- Ref<AnimationNode> node(an);
+ if (!node.is_valid()) {
+ EditorNode::get_singleton()->show_warning(TTR("This type of node can't be used. Only root nodes are allowed."));
+ return;
+ }
updating = true;
undo_redo->create_action("Add Node Point");
@@ -288,7 +329,7 @@ void AnimationNodeBlendSpace2DEditor::_update_tool_erase() {
tool_erase->set_disabled(!(selected_point >= 0 && selected_point < blend_space->get_blend_point_count()) && !(selected_triangle >= 0 && selected_triangle < blend_space->get_triangle_count()));
if (selected_point >= 0 && selected_point < blend_space->get_blend_point_count()) {
Ref<AnimationNode> an = blend_space->get_blend_point_node(selected_point);
- if (EditorNode::get_singleton()->item_has_editor(an.ptr())) {
+ if (AnimationTreeEditor::get_singleton()->can_edit(an)) {
open_editor->show();
} else {
open_editor->hide();
@@ -308,7 +349,6 @@ void AnimationNodeBlendSpace2DEditor::_tool_switch(int p_tool) {
points.push_back(blend_space->get_blend_point_position(i));
}
Vector<Delaunay2D::Triangle> tr = Delaunay2D::triangulate(points);
- print_line("triangleS: " + itos(tr.size()));
for (int i = 0; i < tr.size(); i++) {
blend_space->add_triangle(tr[i].points[0], tr[i].points[1], tr[i].points[2]);
}
@@ -490,13 +530,15 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
color.a *= 0.5;
}
- Vector2 point = blend_space->get_blend_position();
+ Vector2 blend_pos = AnimationTreeEditor::get_singleton()->get_tree()->get(get_blend_position_path());
+ Vector2 point = blend_pos;
+
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
point *= s;
point.y = s.height - point.y;
if (blend_space->get_triangle_count()) {
- Vector2 closest = blend_space->get_closest_point(blend_space->get_blend_position());
+ Vector2 closest = blend_space->get_closest_point(blend_pos);
closest = (closest - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
closest *= s;
closest.y = s.height - closest.y;
@@ -527,12 +569,6 @@ void AnimationNodeBlendSpace2DEditor::_update_space() {
updating = true;
- if (blend_space->get_parent().is_valid()) {
- goto_parent_hb->show();
- } else {
- goto_parent_hb->hide();
- }
-
if (blend_space->get_auto_triangles()) {
tool_triangle->hide();
} else {
@@ -685,7 +721,6 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) {
tool_erase->set_icon(get_icon("Remove", "EditorIcons"));
snap->set_icon(get_icon("SnapGrid", "EditorIcons"));
open_editor->set_icon(get_icon("Edit", "EditorIcons"));
- goto_parent->set_icon(get_icon("MoveUp", "EditorIcons"));
auto_triangles->set_icon(get_icon("AutoTriangle", "EditorIcons"));
}
@@ -693,12 +728,12 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) {
String error;
- if (!blend_space->get_tree()) {
+ if (!AnimationTreeEditor::get_singleton()->get_tree()) {
error = TTR("BlendSpace2D does not belong to an AnimationTree node.");
- } else if (!blend_space->get_tree()->is_active()) {
+ } else if (!AnimationTreeEditor::get_singleton()->get_tree()->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (blend_space->get_tree()->is_state_invalid()) {
- error = blend_space->get_tree()->get_invalid_state_reason();
+ } else if (AnimationTreeEditor::get_singleton()->get_tree()->is_state_invalid()) {
+ error = AnimationTreeEditor::get_singleton()->get_tree()->get_invalid_state_reason();
} else if (blend_space->get_triangle_count() == 0) {
error = TTR("No triangles exist, so no blending can take place.");
}
@@ -712,22 +747,21 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) {
}
}
}
+
+ if (p_what == NOTIFICATION_VISIBILITY_CHANGED) {
+ set_process(is_visible_in_tree());
+ }
}
void AnimationNodeBlendSpace2DEditor::_open_editor() {
if (selected_point >= 0 && selected_point < blend_space->get_blend_point_count()) {
Ref<AnimationNode> an = blend_space->get_blend_point_node(selected_point);
- ERR_FAIL_COND(!an.is_valid());
- EditorNode::get_singleton()->edit_item(an.ptr());
+ ERR_FAIL_COND(an.is_null());
+ AnimationTreeEditor::get_singleton()->enter_editor(itos(selected_point));
}
}
-void AnimationNodeBlendSpace2DEditor::_goto_parent() {
-
- EditorNode::get_singleton()->edit_item(blend_space->get_parent().ptr());
-}
-
void AnimationNodeBlendSpace2DEditor::_removed_from_graph() {
EditorNode::get_singleton()->edit_item(NULL);
}
@@ -761,11 +795,12 @@ void AnimationNodeBlendSpace2DEditor::_bind_methods() {
ClassDB::bind_method("_update_edited_point_pos", &AnimationNodeBlendSpace2DEditor::_update_edited_point_pos);
ClassDB::bind_method("_open_editor", &AnimationNodeBlendSpace2DEditor::_open_editor);
- ClassDB::bind_method("_goto_parent", &AnimationNodeBlendSpace2DEditor::_goto_parent);
ClassDB::bind_method("_removed_from_graph", &AnimationNodeBlendSpace2DEditor::_removed_from_graph);
ClassDB::bind_method("_auto_triangles_toggled", &AnimationNodeBlendSpace2DEditor::_auto_triangles_toggled);
+
+ ClassDB::bind_method("_file_opened", &AnimationNodeBlendSpace2DEditor::_file_opened);
}
AnimationNodeBlendSpace2DEditor *AnimationNodeBlendSpace2DEditor::singleton = NULL;
@@ -781,14 +816,6 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
Ref<ButtonGroup> bg;
bg.instance();
- goto_parent_hb = memnew(HBoxContainer);
- top_hb->add_child(goto_parent_hb);
- goto_parent = memnew(ToolButton);
- goto_parent->connect("pressed", this, "_goto_parent", varray(), CONNECT_DEFERRED);
- goto_parent_hb->add_child(goto_parent);
- goto_parent_hb->add_child(memnew(VSeparator));
- goto_parent_hb->hide();
-
tool_blend = memnew(ToolButton);
tool_blend->set_toggle_mode(true);
tool_blend->set_button_group(bg);
@@ -968,56 +995,23 @@ AnimationNodeBlendSpace2DEditor::AnimationNodeBlendSpace2DEditor() {
menu = memnew(PopupMenu);
add_child(menu);
- menu->connect("index_pressed", this, "_add_menu_type");
+ menu->connect("id_pressed", this, "_add_menu_type");
animations_menu = memnew(PopupMenu);
menu->add_child(animations_menu);
animations_menu->set_name("animations");
animations_menu->connect("index_pressed", this, "_add_animation_type");
+ open_file = memnew(EditorFileDialog);
+ add_child(open_file);
+ open_file->set_title(TTR("Open Animation Node"));
+ open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
+ open_file->connect("file_selected", this, "_file_opened");
+ undo_redo = EditorNode::get_singleton()->get_undo_redo();
+
selected_point = -1;
selected_triangle = -1;
dragging_selected = false;
dragging_selected_attempt = false;
}
-
-void AnimationNodeBlendSpace2DEditorPlugin::edit(Object *p_object) {
-
- anim_tree_editor->edit(Object::cast_to<AnimationNodeBlendSpace2D>(p_object));
-}
-
-bool AnimationNodeBlendSpace2DEditorPlugin::handles(Object *p_object) const {
-
- return p_object->is_class("AnimationNodeBlendSpace2D");
-}
-
-void AnimationNodeBlendSpace2DEditorPlugin::make_visible(bool p_visible) {
-
- if (p_visible) {
- //editor->hide_animation_player_editors();
- //editor->animation_panel_make_visible(true);
- button->show();
- editor->make_bottom_panel_item_visible(anim_tree_editor);
- anim_tree_editor->set_process(true);
- } else {
-
- if (anim_tree_editor->is_visible_in_tree())
- editor->hide_bottom_panel();
- button->hide();
- anim_tree_editor->set_process(false);
- }
-}
-
-AnimationNodeBlendSpace2DEditorPlugin::AnimationNodeBlendSpace2DEditorPlugin(EditorNode *p_node) {
-
- editor = p_node;
- anim_tree_editor = memnew(AnimationNodeBlendSpace2DEditor);
- anim_tree_editor->set_custom_minimum_size(Size2(0, 300));
-
- button = editor->add_bottom_panel_item(TTR("BlendSpace2D"), anim_tree_editor);
- button->hide();
-}
-
-AnimationNodeBlendSpace2DEditorPlugin::~AnimationNodeBlendSpace2DEditorPlugin() {
-}
diff --git a/editor/plugins/animation_blend_space_2d_editor.h b/editor/plugins/animation_blend_space_2d_editor.h
index a0e497804e..0bf1e25d7a 100644
--- a/editor/plugins/animation_blend_space_2d_editor.h
+++ b/editor/plugins/animation_blend_space_2d_editor.h
@@ -3,6 +3,7 @@
#include "editor/editor_node.h"
#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"
@@ -13,15 +14,12 @@
@author Juan Linietsky <reduzio@gmail.com>
*/
-class AnimationNodeBlendSpace2DEditor : public VBoxContainer {
+class AnimationNodeBlendSpace2DEditor : public AnimationTreeNodeEditorPlugin {
- GDCLASS(AnimationNodeBlendSpace2DEditor, VBoxContainer);
+ GDCLASS(AnimationNodeBlendSpace2DEditor, AnimationTreeNodeEditorPlugin);
Ref<AnimationNodeBlendSpace2D> blend_space;
- HBoxContainer *goto_parent_hb;
- ToolButton *goto_parent;
-
PanelContainer *panel;
ToolButton *tool_blend;
ToolButton *tool_select;
@@ -93,38 +91,31 @@ class AnimationNodeBlendSpace2DEditor : public VBoxContainer {
void _edit_point_pos(double);
void _open_editor();
- void _goto_parent();
-
void _removed_from_graph();
void _auto_triangles_toggled();
+ StringName get_blend_position_path() const;
+
+ EditorFileDialog *open_file;
+ Ref<AnimationNode> file_loaded;
+ void _file_opened(const String &p_file);
+
+ enum {
+ MENU_LOAD_FILE = 1000,
+ MENU_PASTE = 1001,
+ MENU_LOAD_FILE_CONFIRM = 1002
+ };
+
protected:
void _notification(int p_what);
static void _bind_methods();
public:
static AnimationNodeBlendSpace2DEditor *get_singleton() { return singleton; }
- void edit(AnimationNodeBlendSpace2D *p_blend_space);
+ virtual bool can_edit(const Ref<AnimationNode> &p_node);
+ virtual void edit(const Ref<AnimationNode> &p_node);
AnimationNodeBlendSpace2DEditor();
};
-class AnimationNodeBlendSpace2DEditorPlugin : public EditorPlugin {
-
- GDCLASS(AnimationNodeBlendSpace2DEditorPlugin, EditorPlugin);
-
- AnimationNodeBlendSpace2DEditor *anim_tree_editor;
- EditorNode *editor;
- Button *button;
-
-public:
- virtual String get_name() const { return "BlendSpace2D"; }
- bool has_main_screen() const { return false; }
- virtual void edit(Object *p_object);
- virtual bool handles(Object *p_object) const;
- virtual void make_visible(bool p_visible);
-
- AnimationNodeBlendSpace2DEditorPlugin(EditorNode *p_node);
- ~AnimationNodeBlendSpace2DEditorPlugin();
-};
#endif // ANIMATION_BLEND_SPACE_2D_EDITOR_H
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp
index c00ad451fa..dbb5fa578b 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp
@@ -2,6 +2,7 @@
#include "core/io/resource_loader.h"
#include "core/project_settings.h"
+#include "editor/editor_inspector.h"
#include "os/input.h"
#include "os/keyboard.h"
#include "scene/animation/animation_player.h"
@@ -9,27 +10,6 @@
#include "scene/gui/panel.h"
#include "scene/main/viewport.h"
-void AnimationNodeBlendTreeEditor::edit(AnimationNodeBlendTree *p_blend_tree) {
-
- if (blend_tree.is_valid()) {
- blend_tree->disconnect("removed_from_graph", this, "_removed_from_graph");
- }
-
- if (p_blend_tree) {
- blend_tree = Ref<AnimationNodeBlendTree>(p_blend_tree);
- } else {
- blend_tree.unref();
- }
-
- if (blend_tree.is_null()) {
- hide();
- } else {
- blend_tree->connect("removed_from_graph", this, "_removed_from_graph");
-
- _update_graph();
- }
-}
-
void AnimationNodeBlendTreeEditor::add_custom_type(const String &p_name, const Ref<Script> &p_script) {
for (int i = 0; i < add_options.size(); i++) {
@@ -60,8 +40,16 @@ void AnimationNodeBlendTreeEditor::_update_options_menu() {
add_node->get_popup()->clear();
for (int i = 0; i < add_options.size(); i++) {
- add_node->get_popup()->add_item(add_options[i].name);
+ add_node->get_popup()->add_item(add_options[i].name, i);
+ }
+
+ Ref<AnimationNode> clipb = EditorSettings::get_singleton()->get_resource_clipboard();
+ if (clipb.is_valid()) {
+ add_node->get_popup()->add_separator();
+ add_node->get_popup()->add_item(TTR("Paste"), MENU_PASTE);
}
+ add_node->get_popup()->add_separator();
+ add_node->get_popup()->add_item(TTR("Load.."), MENU_LOAD_FILE);
}
Size2 AnimationNodeBlendTreeEditor::get_minimum_size() const {
@@ -69,18 +57,28 @@ Size2 AnimationNodeBlendTreeEditor::get_minimum_size() const {
return Size2(10, 200);
}
+void AnimationNodeBlendTreeEditor::_property_changed(const StringName &p_property, const Variant &p_value) {
+
+ AnimationTree *tree = AnimationTreeEditor::get_singleton()->get_tree();
+ updating = true;
+ undo_redo->create_action("Parameter Changed: " + String(p_property), UndoRedo::MERGE_ENDS);
+ undo_redo->add_do_property(tree, p_property, p_value);
+ undo_redo->add_undo_property(tree, p_property, tree->get(p_property));
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
+ undo_redo->commit_action();
+ updating = false;
+}
+
void AnimationNodeBlendTreeEditor::_update_graph() {
if (updating)
return;
+ visible_properties.clear();
+
graph->set_scroll_ofs(blend_tree->get_graph_offset() * EDSCALE);
- if (blend_tree->get_parent().is_valid()) {
- goto_parent->show();
- } else {
- goto_parent->hide();
- }
graph->clear_connections();
//erase all nodes
for (int i = 0; i < graph->get_child_count(); i++) {
@@ -107,7 +105,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
agnode->connect("changed", this, "_node_changed", varray(agnode->get_instance_id()), CONNECT_DEFERRED);
}
- node->set_offset(agnode->get_position() * EDSCALE);
+ node->set_offset(blend_tree->get_node_position(E->get()) * EDSCALE);
node->set_title(agnode->get_caption());
node->set_name(E->get());
@@ -133,9 +131,28 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
node->set_slot(base + i, true, 0, get_color("font_color", "Label"), false, 0, Color());
}
- node->connect("dragged", this, "_node_dragged", varray(agnode));
+ List<PropertyInfo> pinfo;
+ agnode->get_parameter_list(&pinfo);
+ for (List<PropertyInfo>::Element *F = pinfo.front(); F; F = F->next()) {
- if (EditorNode::get_singleton()->item_has_editor(agnode.ptr())) {
+ if (!(F->get().usage & PROPERTY_USAGE_EDITOR)) {
+ continue;
+ }
+ String base_path = AnimationTreeEditor::get_singleton()->get_base_path() + String(E->get()) + "/" + F->get().name;
+ EditorProperty *prop = EditorInspector::instantiate_property_editor(AnimationTreeEditor::get_singleton()->get_tree(), F->get().type, base_path, F->get().hint, F->get().hint_string, F->get().usage);
+ if (prop) {
+ prop->set_object_and_property(AnimationTreeEditor::get_singleton()->get_tree(), base_path);
+ prop->update_property();
+ prop->set_name_split_ratio(0);
+ prop->connect("property_changed", this, "_property_changed");
+ node->add_child(prop);
+ visible_properties.push_back(prop);
+ }
+ }
+
+ node->connect("dragged", this, "_node_dragged", varray(E->get()));
+
+ if (AnimationTreeEditor::get_singleton()->can_edit(agnode)) {
node->add_child(memnew(HSeparator));
Button *open_in_editor = memnew(Button);
open_in_editor->set_text(TTR("Open Editor"));
@@ -169,7 +186,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
ProgressBar *pb = memnew(ProgressBar);
- AnimationTree *player = anim->get_tree();
+ AnimationTree *player = AnimationTreeEditor::get_singleton()->get_tree();
if (player->has_node(player->get_animation_player())) {
AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(player->get_node(player->get_animation_player()));
if (ap) {
@@ -194,6 +211,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
mb->get_popup()->connect("index_pressed", this, "_anim_selected", varray(options, E->get()), CONNECT_DEFERRED);
}
+ /* should be no longer necesary, as the boolean works
Ref<AnimationNodeOneShot> oneshot = agnode;
if (oneshot.is_valid()) {
@@ -209,7 +227,7 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
play_stop->add_child(stop);
play_stop->add_spacer();
node->add_child(play_stop);
- }
+ } */
}
List<AnimationNodeBlendTree::NodeConnection> connections;
@@ -225,16 +243,44 @@ void AnimationNodeBlendTreeEditor::_update_graph() {
}
}
-void AnimationNodeBlendTreeEditor::_add_node(int p_idx) {
+void AnimationNodeBlendTreeEditor::_file_opened(const String &p_file) {
+
+ file_loaded = ResourceLoader::load(p_file);
+ if (file_loaded.is_valid()) {
+ _add_node(MENU_LOAD_FILE_CONFIRM);
+ }
+}
- ERR_FAIL_INDEX(p_idx, add_options.size());
+void AnimationNodeBlendTreeEditor::_add_node(int p_idx) {
Ref<AnimationNode> anode;
- if (add_options[p_idx].type != String()) {
+ String base_name;
+
+ if (p_idx == MENU_LOAD_FILE) {
+
+ open_file->clear_filters();
+ List<String> filters;
+ ResourceLoader::get_recognized_extensions_for_type("AnimationNode", &filters);
+ for (List<String>::Element *E = filters.front(); E; E = E->next()) {
+ open_file->add_filter("*." + E->get());
+ }
+ open_file->popup_centered_ratio();
+ return;
+ } else if (p_idx == MENU_LOAD_FILE_CONFIRM) {
+ anode = file_loaded;
+ file_loaded.unref();
+ base_name = anode->get_class();
+ } else if (p_idx == MENU_PASTE) {
+
+ anode = EditorSettings::get_singleton()->get_resource_clipboard();
+ ERR_FAIL_COND(!anode.is_valid());
+ base_name = anode->get_class();
+ } else if (add_options[p_idx].type != String()) {
AnimationNode *an = Object::cast_to<AnimationNode>(ClassDB::instance(add_options[p_idx].type));
ERR_FAIL_COND(!an);
anode = Ref<AnimationNode>(an);
+ base_name = add_options[p_idx].name;
} else {
ERR_FAIL_COND(add_options[p_idx].script.is_null());
String base_type = add_options[p_idx].script->get_instance_base_type();
@@ -242,13 +288,16 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) {
ERR_FAIL_COND(!an);
anode = Ref<AnimationNode>(an);
anode->set_script(add_options[p_idx].script.get_ref_ptr());
+ base_name = add_options[p_idx].name;
}
+ Ref<AnimationNodeOutput> out = anode;
+ if (out.is_valid()) {
+ EditorNode::get_singleton()->show_warning(TTR("Output node can't be added to the blend tree."));
+ return;
+ }
Point2 instance_pos = graph->get_scroll_ofs() + graph->get_size() * 0.5;
- anode->set_position(instance_pos / EDSCALE);
-
- String base_name = add_options[p_idx].name;
int base = 1;
String name = base_name;
while (blend_tree->has_node(name)) {
@@ -257,19 +306,19 @@ void AnimationNodeBlendTreeEditor::_add_node(int p_idx) {
}
undo_redo->create_action("Add Node to BlendTree");
- undo_redo->add_do_method(blend_tree.ptr(), "add_node", name, anode);
+ undo_redo->add_do_method(blend_tree.ptr(), "add_node", name, anode, instance_pos / EDSCALE);
undo_redo->add_undo_method(blend_tree.ptr(), "remove_node", name);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
}
-void AnimationNodeBlendTreeEditor::_node_dragged(const Vector2 &p_from, const Vector2 &p_to, Ref<AnimationNode> p_node) {
+void AnimationNodeBlendTreeEditor::_node_dragged(const Vector2 &p_from, const Vector2 &p_to, const StringName &p_which) {
updating = true;
undo_redo->create_action("Node Moved");
- undo_redo->add_do_method(p_node.ptr(), "set_position", p_to / EDSCALE);
- undo_redo->add_undo_method(p_node.ptr(), "set_position", p_from / EDSCALE);
+ undo_redo->add_do_method(blend_tree.ptr(), "set_node_position", p_which, p_to / EDSCALE);
+ undo_redo->add_undo_method(blend_tree.ptr(), "set_node_position", p_which, p_from / EDSCALE);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -342,20 +391,6 @@ void AnimationNodeBlendTreeEditor::_delete_request(const String &p_which) {
undo_redo->commit_action();
}
-void AnimationNodeBlendTreeEditor::_oneshot_start(const StringName &p_name) {
-
- Ref<AnimationNodeOneShot> os = blend_tree->get_node(p_name);
- ERR_FAIL_COND(!os.is_valid());
- os->start();
-}
-
-void AnimationNodeBlendTreeEditor::_oneshot_stop(const StringName &p_name) {
-
- Ref<AnimationNodeOneShot> os = blend_tree->get_node(p_name);
- ERR_FAIL_COND(!os.is_valid());
- os->stop();
-}
-
void AnimationNodeBlendTreeEditor::_node_selected(Object *p_node) {
GraphNode *gn = Object::cast_to<GraphNode>(p_node);
@@ -373,13 +408,7 @@ void AnimationNodeBlendTreeEditor::_open_in_editor(const String &p_which) {
Ref<AnimationNode> an = blend_tree->get_node(p_which);
ERR_FAIL_COND(!an.is_valid())
- EditorNode::get_singleton()->edit_item(an.ptr());
-}
-
-void AnimationNodeBlendTreeEditor::_open_parent() {
- if (blend_tree->get_parent().is_valid()) {
- EditorNode::get_singleton()->edit_item(blend_tree->get_parent().ptr());
- }
+ AnimationTreeEditor::get_singleton()->enter_editor(p_which);
}
void AnimationNodeBlendTreeEditor::_filter_toggled() {
@@ -417,14 +446,14 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
if (updating || _filter_edit != anode)
return false;
- NodePath player_path = anode->get_tree()->get_animation_player();
+ NodePath player_path = AnimationTreeEditor::get_singleton()->get_tree()->get_animation_player();
- if (!anode->get_tree()->has_node(player_path)) {
+ if (!AnimationTreeEditor::get_singleton()->get_tree()->has_node(player_path)) {
EditorNode::get_singleton()->show_warning(TTR("No animation player set, so unable to retrieve track names."));
return false;
}
- AnimationPlayer *player = Object::cast_to<AnimationPlayer>(anode->get_tree()->get_node(player_path));
+ AnimationPlayer *player = Object::cast_to<AnimationPlayer>(AnimationTreeEditor::get_singleton()->get_tree()->get_node(player_path));
if (!player) {
EditorNode::get_singleton()->show_warning(TTR("Player path set is invalid, so unable to retrieve track names."));
return false;
@@ -593,8 +622,6 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) {
- goto_parent->set_icon(get_icon("MoveUp", "EditorIcons"));
-
error_panel->add_style_override("panel", get_stylebox("bg", "Tree"));
error_label->add_color_override("font_color", get_color("error_color", "Editor"));
}
@@ -603,12 +630,10 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
String error;
- if (!blend_tree->get_tree()) {
- error = TTR("BlendTree does not belong to an AnimationTree node.");
- } else if (!blend_tree->get_tree()->is_active()) {
+ if (!AnimationTreeEditor::get_singleton()->get_tree()->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (blend_tree->get_tree()->is_state_invalid()) {
- error = blend_tree->get_tree()->get_invalid_state_reason();
+ } else if (AnimationTreeEditor::get_singleton()->get_tree()->is_state_invalid()) {
+ error = AnimationTreeEditor::get_singleton()->get_tree()->get_invalid_state_reason();
}
if (error != error_label->get_text()) {
@@ -624,13 +649,14 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
blend_tree->get_node_connections(&conns);
for (List<AnimationNodeBlendTree::NodeConnection>::Element *E = conns.front(); E; E = E->next()) {
float activity = 0;
- if (blend_tree->get_tree() && !blend_tree->get_tree()->is_state_invalid()) {
- activity = blend_tree->get_connection_activity(E->get().input_node, E->get().input_index);
+ StringName path = AnimationTreeEditor::get_singleton()->get_base_path() + E->get().input_node;
+ if (AnimationTreeEditor::get_singleton()->get_tree() && !AnimationTreeEditor::get_singleton()->get_tree()->is_state_invalid()) {
+ activity = AnimationTreeEditor::get_singleton()->get_tree()->get_connection_activity(path, E->get().input_index);
}
graph->set_connection_activity(E->get().output_node, 0, E->get().input_node, E->get().input_index, activity);
}
- AnimationTree *graph_player = blend_tree->get_tree();
+ AnimationTree *graph_player = AnimationTreeEditor::get_singleton()->get_tree();
AnimationPlayer *player = NULL;
if (graph_player->has_node(graph_player->get_animation_player())) {
player = Object::cast_to<AnimationPlayer>(graph_player->get_node(graph_player->get_animation_player()));
@@ -650,6 +676,14 @@ void AnimationNodeBlendTreeEditor::_notification(int p_what) {
}
}
}
+
+ for (int i = 0; i < visible_properties.size(); i++) {
+ visible_properties[i]->update_property();
+ }
+ }
+
+ if (p_what == NOTIFICATION_VISIBILITY_CHANGED) {
+ set_process(is_visible_in_tree());
}
}
@@ -664,9 +698,9 @@ void AnimationNodeBlendTreeEditor::_scroll_changed(const Vector2 &p_scroll) {
void AnimationNodeBlendTreeEditor::_node_changed(ObjectID p_node) {
AnimationNode *an = Object::cast_to<AnimationNode>(ObjectDB::get_instance(p_node));
- if (an && an->get_parent() == blend_tree) {
- _update_graph();
- }
+ //if (an && an->get_parent() == blend_tree) {
+ _update_graph();
+ //}
}
void AnimationNodeBlendTreeEditor::_bind_methods() {
@@ -680,17 +714,17 @@ void AnimationNodeBlendTreeEditor::_bind_methods() {
ClassDB::bind_method("_disconnection_request", &AnimationNodeBlendTreeEditor::_disconnection_request);
ClassDB::bind_method("_node_selected", &AnimationNodeBlendTreeEditor::_node_selected);
ClassDB::bind_method("_open_in_editor", &AnimationNodeBlendTreeEditor::_open_in_editor);
- ClassDB::bind_method("_open_parent", &AnimationNodeBlendTreeEditor::_open_parent);
ClassDB::bind_method("_scroll_changed", &AnimationNodeBlendTreeEditor::_scroll_changed);
ClassDB::bind_method("_delete_request", &AnimationNodeBlendTreeEditor::_delete_request);
ClassDB::bind_method("_edit_filters", &AnimationNodeBlendTreeEditor::_edit_filters);
ClassDB::bind_method("_update_filters", &AnimationNodeBlendTreeEditor::_update_filters);
ClassDB::bind_method("_filter_edited", &AnimationNodeBlendTreeEditor::_filter_edited);
ClassDB::bind_method("_filter_toggled", &AnimationNodeBlendTreeEditor::_filter_toggled);
- ClassDB::bind_method("_oneshot_start", &AnimationNodeBlendTreeEditor::_oneshot_start);
- ClassDB::bind_method("_oneshot_stop", &AnimationNodeBlendTreeEditor::_oneshot_stop);
ClassDB::bind_method("_node_changed", &AnimationNodeBlendTreeEditor::_node_changed);
ClassDB::bind_method("_removed_from_graph", &AnimationNodeBlendTreeEditor::_removed_from_graph);
+ ClassDB::bind_method("_property_changed", &AnimationNodeBlendTreeEditor::_property_changed);
+ ClassDB::bind_method("_file_opened", &AnimationNodeBlendTreeEditor::_file_opened);
+ ClassDB::bind_method("_update_options_menu", &AnimationNodeBlendTreeEditor::_update_options_menu);
ClassDB::bind_method("_anim_selected", &AnimationNodeBlendTreeEditor::_anim_selected);
}
@@ -708,7 +742,9 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
ERR_FAIL_COND(new_name == "" || new_name.find(".") != -1 || new_name.find("/") != -1)
- ERR_FAIL_COND(new_name == prev_name);
+ if (new_name == prev_name) {
+ return; //nothing to do
+ }
String base_name = new_name;
int base = 1;
@@ -718,22 +754,85 @@ void AnimationNodeBlendTreeEditor::_node_renamed(const String &p_text, Ref<Anima
name = base_name + " " + itos(base);
}
+ String base_path = AnimationTreeEditor::get_singleton()->get_base_path();
+
updating = true;
undo_redo->create_action("Node Renamed");
undo_redo->add_do_method(blend_tree.ptr(), "rename_node", prev_name, name);
undo_redo->add_undo_method(blend_tree.ptr(), "rename_node", name, prev_name);
+ undo_redo->add_do_method(AnimationTreeEditor::get_singleton()->get_tree(), "rename_parameter", base_path + prev_name, base_path + name);
+ undo_redo->add_undo_method(AnimationTreeEditor::get_singleton()->get_tree(), "rename_parameter", base_path + name, base_path + prev_name);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
updating = false;
gn->set_name(new_name);
gn->set_size(gn->get_minimum_size());
+
+ //change editors accordingly
+ for (int i = 0; i < visible_properties.size(); i++) {
+ String pname = visible_properties[i]->get_edited_property().operator String();
+ if (pname.begins_with(base_path + prev_name)) {
+ String new_name = pname.replace_first(base_path + prev_name, base_path + name);
+ visible_properties[i]->set_object_and_property(visible_properties[i]->get_edited_object(), new_name);
+ }
+ }
+
+ //recreate connections
+ graph->clear_connections();
+
+ List<AnimationNodeBlendTree::NodeConnection> connections;
+ blend_tree->get_node_connections(&connections);
+
+ for (List<AnimationNodeBlendTree::NodeConnection>::Element *E = connections.front(); E; E = E->next()) {
+
+ StringName from = E->get().output_node;
+ StringName to = E->get().input_node;
+ int to_idx = E->get().input_index;
+
+ graph->connect_node(from, 0, to, to_idx);
+ }
+
+ //update animations
+ for (Map<StringName, ProgressBar *>::Element *E = animations.front(); E; E = E->next()) {
+ if (E->key() == prev_name) {
+ animations[new_name] = animations[prev_name];
+ animations.erase(prev_name);
+ break;
+ }
+ }
}
void AnimationNodeBlendTreeEditor::_node_renamed_focus_out(Node *le, Ref<AnimationNode> p_node) {
_node_renamed(le->call("get_text"), p_node);
}
+bool AnimationNodeBlendTreeEditor::can_edit(const Ref<AnimationNode> &p_node) {
+ Ref<AnimationNodeBlendTree> bt = p_node;
+ return bt.is_valid();
+}
+
+void AnimationNodeBlendTreeEditor::edit(const Ref<AnimationNode> &p_node) {
+
+ if (blend_tree.is_valid()) {
+ blend_tree->disconnect("removed_from_graph", this, "_removed_from_graph");
+ }
+
+ if (p_node.is_valid()) {
+ blend_tree = p_node;
+ } else {
+ blend_tree.unref();
+ }
+
+ if (blend_tree.is_null()) {
+ hide();
+ } else {
+ blend_tree->connect("removed_from_graph", this, "_removed_from_graph");
+
+ _update_graph();
+ }
+}
+
AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() {
singleton = this;
@@ -757,13 +856,8 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() {
graph->get_zoom_hbox()->add_child(add_node);
add_node->set_text(TTR("Add Node.."));
graph->get_zoom_hbox()->move_child(add_node, 0);
- add_node->get_popup()->connect("index_pressed", this, "_add_node");
-
- goto_parent = memnew(Button);
- graph->get_zoom_hbox()->add_child(goto_parent);
- graph->get_zoom_hbox()->move_child(goto_parent, 0);
- goto_parent->hide();
- goto_parent->connect("pressed", this, "_open_parent");
+ add_node->get_popup()->connect("id_pressed", this, "_add_node");
+ add_node->connect("about_to_show", this, "_update_options_menu");
add_options.push_back(AddOption("Animation", "AnimationNodeAnimation"));
add_options.push_back(AddOption("OneShot", "AnimationNodeOneShot"));
@@ -804,45 +898,10 @@ AnimationNodeBlendTreeEditor::AnimationNodeBlendTreeEditor() {
filters->set_hide_root(true);
filters->connect("item_edited", this, "_filter_edited");
+ open_file = memnew(EditorFileDialog);
+ add_child(open_file);
+ open_file->set_title(TTR("Open Animation Node"));
+ open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
+ open_file->connect("file_selected", this, "_file_opened");
undo_redo = EditorNode::get_singleton()->get_undo_redo();
}
-
-void AnimationNodeBlendTreeEditorPlugin::edit(Object *p_object) {
-
- anim_tree_editor->edit(Object::cast_to<AnimationNodeBlendTree>(p_object));
-}
-
-bool AnimationNodeBlendTreeEditorPlugin::handles(Object *p_object) const {
-
- return p_object->is_class("AnimationNodeBlendTree");
-}
-
-void AnimationNodeBlendTreeEditorPlugin::make_visible(bool p_visible) {
-
- if (p_visible) {
- //editor->hide_animation_player_editors();
- //editor->animation_panel_make_visible(true);
- button->show();
- editor->make_bottom_panel_item_visible(anim_tree_editor);
- anim_tree_editor->set_process(true);
- } else {
-
- if (anim_tree_editor->is_visible_in_tree())
- editor->hide_bottom_panel();
- button->hide();
- anim_tree_editor->set_process(false);
- }
-}
-
-AnimationNodeBlendTreeEditorPlugin::AnimationNodeBlendTreeEditorPlugin(EditorNode *p_node) {
-
- editor = p_node;
- anim_tree_editor = memnew(AnimationNodeBlendTreeEditor);
- anim_tree_editor->set_custom_minimum_size(Size2(0, 300));
-
- button = editor->add_bottom_panel_item(TTR("BlendTree"), anim_tree_editor);
- button->hide();
-}
-
-AnimationNodeBlendTreeEditorPlugin::~AnimationNodeBlendTreeEditorPlugin() {
-}
diff --git a/editor/plugins/animation_blend_tree_editor_plugin.h b/editor/plugins/animation_blend_tree_editor_plugin.h
index deba3b2b0e..35ecc32979 100644
--- a/editor/plugins/animation_blend_tree_editor_plugin.h
+++ b/editor/plugins/animation_blend_tree_editor_plugin.h
@@ -3,6 +3,7 @@
#include "editor/editor_node.h"
#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"
@@ -13,14 +14,13 @@
@author Juan Linietsky <reduzio@gmail.com>
*/
-class AnimationNodeBlendTreeEditor : public VBoxContainer {
+class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin {
- GDCLASS(AnimationNodeBlendTreeEditor, VBoxContainer);
+ GDCLASS(AnimationNodeBlendTreeEditor, AnimationTreeNodeEditorPlugin);
Ref<AnimationNodeBlendTree> blend_tree;
GraphEdit *graph;
MenuButton *add_node;
- Button *goto_parent;
PanelContainer *error_panel;
Label *error_label;
@@ -32,6 +32,7 @@ class AnimationNodeBlendTreeEditor : public VBoxContainer {
CheckBox *filter_enabled;
Map<StringName, ProgressBar *> animations;
+ Vector<EditorProperty *> visible_properties;
void _update_graph();
@@ -52,7 +53,7 @@ class AnimationNodeBlendTreeEditor : public VBoxContainer {
static AnimationNodeBlendTreeEditor *singleton;
- void _node_dragged(const Vector2 &p_from, const Vector2 &p_to, Ref<AnimationNode> p_node);
+ void _node_dragged(const Vector2 &p_from, const Vector2 &p_to, const StringName &p_which);
void _node_renamed(const String &p_text, Ref<AnimationNode> p_node);
void _node_renamed_focus_out(Node *le, Ref<AnimationNode> p_node);
@@ -64,11 +65,8 @@ class AnimationNodeBlendTreeEditor : public VBoxContainer {
void _scroll_changed(const Vector2 &p_scroll);
void _node_selected(Object *p_node);
void _open_in_editor(const String &p_which);
- void _open_parent();
void _anim_selected(int p_index, Array p_options, const String &p_node);
void _delete_request(const String &p_which);
- void _oneshot_start(const StringName &p_name);
- void _oneshot_stop(const StringName &p_name);
bool _update_filters(const Ref<AnimationNode> &anode);
void _edit_filters(const String &p_which);
@@ -78,8 +76,19 @@ class AnimationNodeBlendTreeEditor : public VBoxContainer {
void _node_changed(ObjectID p_node);
+ void _property_changed(const StringName &p_property, const Variant &p_value);
void _removed_from_graph();
+ EditorFileDialog *open_file;
+ Ref<AnimationNode> file_loaded;
+ void _file_opened(const String &p_file);
+
+ enum {
+ MENU_LOAD_FILE = 1000,
+ MENU_PASTE = 1001,
+ MENU_LOAD_FILE_CONFIRM = 1002
+ };
+
protected:
void _notification(int p_what);
static void _bind_methods();
@@ -91,27 +100,11 @@ public:
void remove_custom_type(const Ref<Script> &p_script);
virtual Size2 get_minimum_size() const;
- void edit(AnimationNodeBlendTree *p_blend_tree);
- AnimationNodeBlendTreeEditor();
-};
-class AnimationNodeBlendTreeEditorPlugin : public EditorPlugin {
+ virtual bool can_edit(const Ref<AnimationNode> &p_node);
+ virtual void edit(const Ref<AnimationNode> &p_node);
- GDCLASS(AnimationNodeBlendTreeEditorPlugin, EditorPlugin);
-
- AnimationNodeBlendTreeEditor *anim_tree_editor;
- EditorNode *editor;
- Button *button;
-
-public:
- virtual String get_name() const { return "BlendTree"; }
- bool has_main_screen() const { return false; }
- virtual void edit(Object *p_object);
- virtual bool handles(Object *p_object) const;
- virtual void make_visible(bool p_visible);
-
- AnimationNodeBlendTreeEditorPlugin(EditorNode *p_node);
- ~AnimationNodeBlendTreeEditorPlugin();
+ AnimationNodeBlendTreeEditor();
};
#endif // ANIMATION_BLEND_TREE_EDITOR_PLUGIN_H
diff --git a/editor/plugins/animation_state_machine_editor.cpp b/editor/plugins/animation_state_machine_editor.cpp
index ee450333c8..3a65cb9b38 100644
--- a/editor/plugins/animation_state_machine_editor.cpp
+++ b/editor/plugins/animation_state_machine_editor.cpp
@@ -11,22 +11,17 @@
#include "scene/gui/panel.h"
#include "scene/main/viewport.h"
-void AnimationNodeStateMachineEditor::edit(AnimationNodeStateMachine *p_state_machine) {
+bool AnimationNodeStateMachineEditor::can_edit(const Ref<AnimationNode> &p_node) {
- if (state_machine.is_valid()) {
- state_machine->disconnect("removed_from_graph", this, "_removed_from_graph");
- }
+ Ref<AnimationNodeStateMachine> ansm = p_node;
+ return ansm.is_valid();
+}
- if (p_state_machine) {
- state_machine = Ref<AnimationNodeStateMachine>(p_state_machine);
- } else {
- state_machine.unref();
- }
+void AnimationNodeStateMachineEditor::edit(const Ref<AnimationNode> &p_node) {
- if (state_machine.is_null()) {
- hide();
- } else {
- state_machine->connect("removed_from_graph", this, "_removed_from_graph");
+ state_machine = p_node;
+
+ if (state_machine.is_valid()) {
selected_transition_from = StringName();
selected_transition_to = StringName();
@@ -38,6 +33,10 @@ void AnimationNodeStateMachineEditor::edit(AnimationNodeStateMachine *p_state_ma
void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEvent> &p_event) {
+ Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+ if (playback.is_null())
+ return;
+
Ref<InputEventKey> k = p_event;
if (tool_select->is_pressed() && k.is_valid() && k->is_pressed() && k->get_scancode() == KEY_DELETE && !k->is_echo()) {
if (selected_node != StringName() || selected_transition_to != StringName() || selected_transition_from != StringName()) {
@@ -59,7 +58,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
ClassDB::get_inheriters_from_class("AnimationRootNode", &classes);
menu->add_submenu_item(TTR("Add Animation"), "animations");
- AnimationTree *gp = state_machine->get_tree();
+ AnimationTree *gp = AnimationTreeEditor::get_singleton()->get_tree();
ERR_FAIL_COND(!gp);
if (gp && gp->has_node(gp->get_animation_player())) {
AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(gp->get_node(gp->get_animation_player()));
@@ -79,9 +78,17 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
if (name == "Animation")
continue; // nope
int idx = menu->get_item_count();
- menu->add_item(vformat("Add %s", name));
+ menu->add_item(vformat("Add %s", name), idx);
menu->set_item_metadata(idx, E->get());
}
+ Ref<AnimationNode> clipb = EditorSettings::get_singleton()->get_resource_clipboard();
+
+ if (clipb.is_valid()) {
+ menu->add_separator();
+ menu->add_item(TTR("Paste"), MENU_PASTE);
+ }
+ menu->add_separator();
+ menu->add_item(TTR("Load.."), MENU_LOAD_FILE);
menu->set_global_position(state_machine_draw->get_global_transform().xform(mb->get_position()));
menu->popup();
@@ -98,18 +105,12 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
for (int i = node_rects.size() - 1; i >= 0; i--) { //inverse to draw order
if (node_rects[i].play.has_point(mb->get_position())) { //edit name
- if (play_mode->get_selected() == 1 || !state_machine->is_playing()) {
+ if (play_mode->get_selected() == 1 || !playback->is_playing()) {
//start
- state_machine->start(node_rects[i].node_name);
+ playback->start(node_rects[i].node_name);
} else {
//travel
- if (!state_machine->travel(node_rects[i].node_name)) {
-
- state_machine->start(node_rects[i].node_name);
- //removing this due to usability..
- //error_time = 5;
- //error_text = vformat(TTR("No path found from '%s' to '%s'."), state_machine->get_current_node(), node_rects[i].node_name);
- }
+ playback->travel(node_rects[i].node_name);
}
state_machine_draw->update();
return;
@@ -196,8 +197,8 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
Ref<AnimationNode> an = state_machine->get_node(selected_node);
updating = true;
undo_redo->create_action("Move Node");
- undo_redo->add_do_method(an.ptr(), "set_position", an->get_position() + drag_ofs / EDSCALE);
- undo_redo->add_undo_method(an.ptr(), "set_position", an->get_position());
+ undo_redo->add_do_method(state_machine.ptr(), "set_node_position", selected_node, state_machine->get_node_position(selected_node) + drag_ofs / EDSCALE);
+ undo_redo->add_undo_method(state_machine.ptr(), "set_node_position", selected_node, state_machine->get_node_position(selected_node));
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -293,7 +294,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
snap_y = StringName();
{
//snap
- Vector2 cpos = state_machine->get_node(selected_node)->get_position() + drag_ofs / EDSCALE;
+ Vector2 cpos = state_machine->get_node_position(selected_node) + drag_ofs / EDSCALE;
List<StringName> nodes;
state_machine->get_node_list(&nodes);
@@ -303,7 +304,7 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
for (List<StringName>::Element *E = nodes.front(); E; E = E->next()) {
if (E->get() == selected_node)
continue;
- Vector2 npos = state_machine->get_node(E->get())->get_position();
+ Vector2 npos = state_machine->get_node_position(E->get());
float d_x = ABS(npos.x - cpos.x);
if (d_x < MIN(5, best_d_x)) {
@@ -372,19 +373,58 @@ void AnimationNodeStateMachineEditor::_state_machine_gui_input(const Ref<InputEv
}
}
+void AnimationNodeStateMachineEditor::_file_opened(const String &p_file) {
+
+ file_loaded = ResourceLoader::load(p_file);
+ if (file_loaded.is_valid()) {
+ _add_menu_type(MENU_LOAD_FILE_CONFIRM);
+ }
+}
+
void AnimationNodeStateMachineEditor::_add_menu_type(int p_index) {
- String type = menu->get_item_metadata(p_index);
+ String base_name;
+ Ref<AnimationRootNode> node;
- Object *obj = ClassDB::instance(type);
- ERR_FAIL_COND(!obj);
- AnimationNode *an = Object::cast_to<AnimationNode>(obj);
- ERR_FAIL_COND(!an);
+ if (p_index == MENU_LOAD_FILE) {
- Ref<AnimationNode> node(an);
- node->set_position(add_node_pos);
+ open_file->clear_filters();
+ List<String> filters;
+ ResourceLoader::get_recognized_extensions_for_type("AnimationRootNode", &filters);
+ for (List<String>::Element *E = filters.front(); E; E = E->next()) {
+ open_file->add_filter("*." + E->get());
+ }
+ open_file->popup_centered_ratio();
+ return;
+ } else if (p_index == MENU_LOAD_FILE_CONFIRM) {
+ node = file_loaded;
+ file_loaded.unref();
+ } else if (p_index == MENU_PASTE) {
+
+ node = EditorSettings::get_singleton()->get_resource_clipboard();
+
+ } else {
+ String type = menu->get_item_metadata(p_index);
+
+ Object *obj = ClassDB::instance(type);
+ ERR_FAIL_COND(!obj);
+ AnimationNode *an = Object::cast_to<AnimationNode>(obj);
+ ERR_FAIL_COND(!an);
+
+ node = Ref<AnimationNode>(an);
+ base_name = type.replace_first("AnimationNode", "");
+ }
+
+ if (!node.is_valid()) {
+ EditorNode::get_singleton()->show_warning(TTR("This type of node can't be used. Only root nodes are allowed."));
+ return;
+ }
+
+ if (base_name == String()) {
+
+ base_name = node->get_class().replace_first("AnimationNode", "");
+ }
- String base_name = type.replace_first("AnimationNode", "");
int base = 1;
String name = base_name;
while (state_machine->has_node(name)) {
@@ -394,7 +434,7 @@ void AnimationNodeStateMachineEditor::_add_menu_type(int p_index) {
updating = true;
undo_redo->create_action("Add Node");
- undo_redo->add_do_method(state_machine.ptr(), "add_node", name, node);
+ undo_redo->add_do_method(state_machine.ptr(), "add_node", name, node, add_node_pos);
undo_redo->add_undo_method(state_machine.ptr(), "remove_node", name);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
@@ -419,11 +459,9 @@ void AnimationNodeStateMachineEditor::_add_animation_type(int p_index) {
name = base_name + " " + itos(base);
}
- anim->set_position(add_node_pos);
-
updating = true;
undo_redo->create_action("Add Node");
- undo_redo->add_do_method(state_machine.ptr(), "add_node", name, anim);
+ undo_redo->add_do_method(state_machine.ptr(), "add_node", name, anim, add_node_pos);
undo_redo->add_undo_method(state_machine.ptr(), "remove_node", name);
undo_redo->add_do_method(this, "_update_graph");
undo_redo->add_undo_method(this, "_update_graph");
@@ -502,6 +540,8 @@ void AnimationNodeStateMachineEditor::_clip_dst_line_to_rect(Vector2 &r_from, Ve
void AnimationNodeStateMachineEditor::_state_machine_draw() {
+ Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+
Ref<StyleBox> style = get_stylebox("frame", "GraphNode");
Ref<StyleBox> style_selected = get_stylebox("selectedframe", "GraphNode");
@@ -515,10 +555,17 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
linecolor.a *= 0.3;
Ref<StyleBox> playing_overlay = get_stylebox("position", "GraphNode");
- bool playing = state_machine->is_playing();
- StringName current = state_machine->get_current_node();
- StringName blend_from = state_machine->get_blend_from_node();
- Vector<StringName> travel_path = state_machine->get_travel_path();
+ bool playing = false;
+ StringName current;
+ StringName blend_from;
+ Vector<StringName> travel_path;
+
+ if (playback.is_valid()) {
+ playing = playback->is_playing();
+ current = playback->get_current_node();
+ blend_from = playback->get_blend_from_node();
+ travel_path = playback->get_travel_path();
+ }
if (state_machine_draw->has_focus()) {
state_machine_draw->draw_rect(Rect2(Point2(), state_machine_draw->get_size()), accent, false);
@@ -534,13 +581,13 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
//snap lines
if (dragging_selected) {
- Vector2 from = (state_machine->get_node(selected_node)->get_position() * EDSCALE) + drag_ofs - state_machine->get_graph_offset() * EDSCALE;
+ Vector2 from = (state_machine->get_node_position(selected_node) * EDSCALE) + drag_ofs - state_machine->get_graph_offset() * EDSCALE;
if (snap_x != StringName()) {
- Vector2 to = (state_machine->get_node(snap_x)->get_position() * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
+ Vector2 to = (state_machine->get_node_position(snap_x) * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
state_machine_draw->draw_line(from, to, linecolor, 2);
}
if (snap_y != StringName()) {
- Vector2 to = (state_machine->get_node(snap_y)->get_position() * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
+ Vector2 to = (state_machine->get_node_position(snap_y) * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
state_machine_draw->draw_line(from, to, linecolor, 2);
}
}
@@ -563,7 +610,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
}
Vector2 offset;
- offset += anode->get_position() * EDSCALE;
+ offset += state_machine->get_node_position(E->get()) * EDSCALE;
if (selected_node == E->get() && dragging_selected) {
offset += drag_ofs;
}
@@ -588,10 +635,10 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
//draw conecting line for potential new transition
if (connecting) {
- Vector2 from = (state_machine->get_node(connecting_from)->get_position() * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
+ Vector2 from = (state_machine->get_node_position(connecting_from) * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
Vector2 to;
if (connecting_to_node != StringName()) {
- to = (state_machine->get_node(connecting_to_node)->get_position() * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
+ to = (state_machine->get_node_position(connecting_to_node) * EDSCALE) - state_machine->get_graph_offset() * EDSCALE;
} else {
to = connecting_to;
}
@@ -617,15 +664,17 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
TransitionLine tl;
tl.from_node = state_machine->get_transition_from(i);
Vector2 ofs_from = (dragging_selected && tl.from_node == selected_node) ? drag_ofs : Vector2();
- tl.from = (state_machine->get_node(tl.from_node)->get_position() * EDSCALE) + ofs_from - state_machine->get_graph_offset() * EDSCALE;
+ tl.from = (state_machine->get_node_position(tl.from_node) * EDSCALE) + ofs_from - state_machine->get_graph_offset() * EDSCALE;
tl.to_node = state_machine->get_transition_to(i);
Vector2 ofs_to = (dragging_selected && tl.to_node == selected_node) ? drag_ofs : Vector2();
- tl.to = (state_machine->get_node(tl.to_node)->get_position() * EDSCALE) + ofs_to - state_machine->get_graph_offset() * EDSCALE;
+ tl.to = (state_machine->get_node_position(tl.to_node) * EDSCALE) + ofs_to - state_machine->get_graph_offset() * EDSCALE;
Ref<AnimationNodeStateMachineTransition> tr = state_machine->get_transition(i);
tl.disabled = tr->is_disabled();
tl.auto_advance = tr->has_auto_advance();
+ tl.advance_condition_name = tr->get_advance_condition_name();
+ tl.advance_condition_state = false;
tl.mode = tr->get_switch_mode();
tl.width = tr_bidi_offset;
@@ -665,7 +714,14 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
}
}
}
- _connection_draw(tl.from, tl.to, tl.mode, !tl.disabled, selected, travel, tl.auto_advance);
+
+ bool auto_advance = tl.auto_advance;
+ StringName fullpath = AnimationTreeEditor::get_singleton()->get_base_path() + String(tl.advance_condition_name);
+ if (tl.advance_condition_name != StringName() && bool(AnimationTreeEditor::get_singleton()->get_tree()->get(fullpath))) {
+ tl.advance_condition_state = true;
+ auto_advance = true;
+ }
+ _connection_draw(tl.from, tl.to, tl.mode, !tl.disabled, selected, travel, auto_advance);
transition_lines.push_back(tl);
}
@@ -675,7 +731,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
String name = node_rects[i].node_name;
Ref<AnimationNode> anode = state_machine->get_node(name);
- bool needs_editor = EditorNode::get_singleton()->item_has_editor(anode.ptr());
+ bool needs_editor = AnimationTreeEditor::get_singleton()->can_edit(anode);
Ref<StyleBox> sb = name == selected_node ? style_selected : style;
int strsize = font->get_string_size(name).width;
@@ -757,12 +813,14 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
void AnimationNodeStateMachineEditor::_state_machine_pos_draw() {
- if (!state_machine->is_playing())
+ Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+
+ if (!playback.is_valid() || !playback->is_playing())
return;
int idx = -1;
for (int i = 0; node_rects.size(); i++) {
- if (node_rects[i].node_name == state_machine->get_current_node()) {
+ if (node_rects[i].node_name == playback->get_current_node()) {
idx = i;
break;
}
@@ -785,9 +843,9 @@ void AnimationNodeStateMachineEditor::_state_machine_pos_draw() {
}
to.y = from.y;
- float len = MAX(0.0001, state_machine->get_current_length());
+ float len = MAX(0.0001, playback->get_current_length());
- float pos = CLAMP(state_machine->get_current_play_pos(), 0, len);
+ float pos = CLAMP(playback->get_current_play_pos(), 0, len);
float c = pos / len;
Color fg = get_color("font_color", "Label");
Color bg = fg;
@@ -807,12 +865,6 @@ void AnimationNodeStateMachineEditor::_update_graph() {
updating = true;
- if (state_machine->get_parent().is_valid()) {
- goto_parent_hbox->show();
- } else {
- goto_parent_hbox->hide();
- }
-
state_machine_draw->update();
updating = false;
@@ -824,7 +876,6 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
error_panel->add_style_override("panel", get_stylebox("bg", "Tree"));
error_label->add_color_override("font_color", get_color("error_color", "Editor"));
panel->add_style_override("panel", get_stylebox("bg", "Tree"));
- goto_parent->set_icon(get_icon("MoveUp", "EditorIcons"));
tool_select->set_icon(get_icon("ToolSelect", "EditorIcons"));
tool_create->set_icon(get_icon("ToolAddNode", "EditorIcons"));
@@ -856,19 +907,21 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
String error;
+ Ref<AnimationNodeStateMachinePlayback> playback = AnimationTreeEditor::get_singleton()->get_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
+
if (error_time > 0) {
error = error_text;
error_time -= get_process_delta_time();
- } else if (!state_machine->get_tree()) {
- error = TTR("StateMachine does not belong to an AnimationTree node.");
- } else if (!state_machine->get_tree()->is_active()) {
+ } else if (!AnimationTreeEditor::get_singleton()->get_tree()->is_active()) {
error = TTR("AnimationTree is inactive.\nActivate to enable playback, check node warnings if activation fails.");
- } else if (state_machine->get_tree()->is_state_invalid()) {
- error = state_machine->get_tree()->get_invalid_state_reason();
- } else if (state_machine->get_parent().is_valid() && state_machine->get_parent()->is_class("AnimationNodeStateMachine")) {
+ } else if (AnimationTreeEditor::get_singleton()->get_tree()->is_state_invalid()) {
+ error = AnimationTreeEditor::get_singleton()->get_tree()->get_invalid_state_reason();
+ /*} else if (state_machine->get_parent().is_valid() && state_machine->get_parent()->is_class("AnimationNodeStateMachine")) {
if (state_machine->get_start_node() == StringName() || state_machine->get_end_node() == StringName()) {
error = TTR("Start and end nodes are needed for a sub-transition.");
- }
+ }*/
+ } else if (playback.is_null()) {
+ error = vformat(TTR("No playback resource set at path: %s."), AnimationTreeEditor::get_singleton()->get_base_path() + "playback");
}
if (error != error_label->get_text()) {
@@ -904,14 +957,38 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
break;
}
+ if (transition_lines[i].advance_condition_name != state_machine->get_transition(tidx)->get_advance_condition_name()) {
+ state_machine_draw->update();
+ break;
+ }
+
if (transition_lines[i].mode != state_machine->get_transition(tidx)->get_switch_mode()) {
state_machine_draw->update();
break;
}
+
+ bool acstate = transition_lines[i].advance_condition_name != StringName() && bool(AnimationTreeEditor::get_singleton()->get_tree()->get(AnimationTreeEditor::get_singleton()->get_base_path() + String(transition_lines[i].advance_condition_name)));
+
+ if (transition_lines[i].advance_condition_state != acstate) {
+ state_machine_draw->update();
+ break;
+ }
}
bool same_travel_path = true;
- Vector<StringName> tp = state_machine->get_travel_path();
+ Vector<StringName> tp;
+ bool is_playing = false;
+ StringName current_node;
+ StringName blend_from_node;
+ float play_pos = 0;
+
+ if (playback.is_valid()) {
+ tp = playback->get_travel_path();
+ is_playing = playback->is_playing();
+ current_node = playback->get_current_node();
+ blend_from_node = playback->get_blend_from_node();
+ play_pos = playback->get_current_play_pos();
+ }
{
@@ -928,37 +1005,32 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
}
//update if travel state changed
- if (!same_travel_path || last_active != state_machine->is_playing() || last_current_node != state_machine->get_current_node() || last_blend_from_node != state_machine->get_blend_from_node()) {
+ if (!same_travel_path || last_active != is_playing || last_current_node != current_node || last_blend_from_node != blend_from_node) {
state_machine_draw->update();
last_travel_path = tp;
- last_current_node = state_machine->get_current_node();
- last_active = state_machine->is_playing();
- last_blend_from_node = state_machine->get_blend_from_node();
+ last_current_node = current_node;
+ last_active = is_playing;
+ last_blend_from_node = blend_from_node;
state_machine_play_pos->update();
}
- if (last_play_pos != state_machine->get_current_play_pos()) {
+ if (last_play_pos != play_pos) {
- last_play_pos = state_machine->get_current_play_pos();
+ last_play_pos = play_pos;
state_machine_play_pos->update();
}
}
if (p_what == NOTIFICATION_VISIBILITY_CHANGED) {
over_node = StringName();
+ set_process(is_visible_in_tree());
}
}
void AnimationNodeStateMachineEditor::_open_editor(const String &p_name) {
- Ref<AnimationNode> an = state_machine->get_node(p_name);
- ERR_FAIL_COND(!an.is_valid());
- EditorNode::get_singleton()->edit_item(an.ptr());
-}
-
-void AnimationNodeStateMachineEditor::_goto_parent() {
- EditorNode::get_singleton()->edit_item(state_machine->get_parent().ptr());
+ AnimationTreeEditor::get_singleton()->enter_editor(p_name);
}
void AnimationNodeStateMachineEditor::_removed_from_graph() {
@@ -1114,7 +1186,6 @@ void AnimationNodeStateMachineEditor::_bind_methods() {
ClassDB::bind_method("_name_edited", &AnimationNodeStateMachineEditor::_name_edited);
- ClassDB::bind_method("_goto_parent", &AnimationNodeStateMachineEditor::_goto_parent);
ClassDB::bind_method("_removed_from_graph", &AnimationNodeStateMachineEditor::_removed_from_graph);
ClassDB::bind_method("_open_editor", &AnimationNodeStateMachineEditor::_open_editor);
@@ -1124,6 +1195,7 @@ void AnimationNodeStateMachineEditor::_bind_methods() {
ClassDB::bind_method("_autoplay_selected", &AnimationNodeStateMachineEditor::_autoplay_selected);
ClassDB::bind_method("_end_selected", &AnimationNodeStateMachineEditor::_end_selected);
ClassDB::bind_method("_update_mode", &AnimationNodeStateMachineEditor::_update_mode);
+ ClassDB::bind_method("_file_opened", &AnimationNodeStateMachineEditor::_file_opened);
}
AnimationNodeStateMachineEditor *AnimationNodeStateMachineEditor::singleton = NULL;
@@ -1136,13 +1208,6 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
HBoxContainer *top_hb = memnew(HBoxContainer);
add_child(top_hb);
- goto_parent_hbox = memnew(HBoxContainer);
- goto_parent = memnew(ToolButton);
- goto_parent->connect("pressed", this, "_goto_parent", varray(), CONNECT_DEFERRED);
- goto_parent_hbox->add_child(goto_parent);
- goto_parent_hbox->add_child(memnew(VSeparator));
- top_hb->add_child(goto_parent_hbox);
-
Ref<ButtonGroup> bg;
bg.instance();
@@ -1248,7 +1313,7 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
menu = memnew(PopupMenu);
add_child(menu);
- menu->connect("index_pressed", this, "_add_menu_type");
+ menu->connect("id_pressed", this, "_add_menu_type");
animations_menu = memnew(PopupMenu);
menu->add_child(animations_menu);
@@ -1261,6 +1326,13 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
name_edit->connect("text_entered", this, "_name_edited");
name_edit->set_as_toplevel(true);
+ open_file = memnew(EditorFileDialog);
+ add_child(open_file);
+ open_file->set_title(TTR("Open Animation Node"));
+ open_file->set_mode(EditorFileDialog::MODE_OPEN_FILE);
+ open_file->connect("file_selected", this, "_file_opened");
+ undo_redo = EditorNode::get_singleton()->get_undo_redo();
+
over_text = false;
over_node_what = -1;
@@ -1271,43 +1343,3 @@ AnimationNodeStateMachineEditor::AnimationNodeStateMachineEditor() {
error_time = 0;
}
-
-void AnimationNodeStateMachineEditorPlugin::edit(Object *p_object) {
-
- anim_tree_editor->edit(Object::cast_to<AnimationNodeStateMachine>(p_object));
-}
-
-bool AnimationNodeStateMachineEditorPlugin::handles(Object *p_object) const {
-
- return p_object->is_class("AnimationNodeStateMachine");
-}
-
-void AnimationNodeStateMachineEditorPlugin::make_visible(bool p_visible) {
-
- if (p_visible) {
- //editor->hide_animation_player_editors();
- //editor->animation_panel_make_visible(true);
- button->show();
- editor->make_bottom_panel_item_visible(anim_tree_editor);
- anim_tree_editor->set_process(true);
- } else {
-
- if (anim_tree_editor->is_visible_in_tree())
- editor->hide_bottom_panel();
- button->hide();
- anim_tree_editor->set_process(false);
- }
-}
-
-AnimationNodeStateMachineEditorPlugin::AnimationNodeStateMachineEditorPlugin(EditorNode *p_node) {
-
- editor = p_node;
- anim_tree_editor = memnew(AnimationNodeStateMachineEditor);
- anim_tree_editor->set_custom_minimum_size(Size2(0, 300));
-
- button = editor->add_bottom_panel_item(TTR("StateMachine"), anim_tree_editor);
- button->hide();
-}
-
-AnimationNodeStateMachineEditorPlugin::~AnimationNodeStateMachineEditorPlugin() {
-}
diff --git a/editor/plugins/animation_state_machine_editor.h b/editor/plugins/animation_state_machine_editor.h
index efd3de7415..49d08607cf 100644
--- a/editor/plugins/animation_state_machine_editor.h
+++ b/editor/plugins/animation_state_machine_editor.h
@@ -3,6 +3,7 @@
#include "editor/editor_node.h"
#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"
@@ -10,9 +11,9 @@
#include "scene/gui/popup.h"
#include "scene/gui/tree.h"
-class AnimationNodeStateMachineEditor : public VBoxContainer {
+class AnimationNodeStateMachineEditor : public AnimationTreeNodeEditorPlugin {
- GDCLASS(AnimationNodeStateMachineEditor, VBoxContainer);
+ GDCLASS(AnimationNodeStateMachineEditor, AnimationTreeNodeEditorPlugin);
Ref<AnimationNodeStateMachine> state_machine;
@@ -29,9 +30,6 @@ class AnimationNodeStateMachineEditor : public VBoxContainer {
OptionButton *transition_mode;
OptionButton *play_mode;
- HBoxContainer *goto_parent_hbox;
- ToolButton *goto_parent;
-
PanelContainer *panel;
StringName selected_node;
@@ -79,8 +77,6 @@ class AnimationNodeStateMachineEditor : public VBoxContainer {
void _add_menu_type(int p_index);
void _add_animation_type(int p_index);
- void _goto_parent();
-
void _removed_from_graph();
struct NodeRect {
@@ -99,6 +95,8 @@ class AnimationNodeStateMachineEditor : public VBoxContainer {
Vector2 from;
Vector2 to;
AnimationNodeStateMachineTransition::SwitchMode mode;
+ StringName advance_condition_name;
+ bool advance_condition_state;
bool disabled;
bool auto_advance;
float width;
@@ -135,33 +133,25 @@ class AnimationNodeStateMachineEditor : public VBoxContainer {
float error_time;
String error_text;
+ EditorFileDialog *open_file;
+ Ref<AnimationNode> file_loaded;
+ void _file_opened(const String &p_file);
+
+ enum {
+ MENU_LOAD_FILE = 1000,
+ MENU_PASTE = 1001,
+ MENU_LOAD_FILE_CONFIRM = 1002
+ };
+
protected:
void _notification(int p_what);
static void _bind_methods();
public:
static AnimationNodeStateMachineEditor *get_singleton() { return singleton; }
- void edit(AnimationNodeStateMachine *p_state_machine);
+ virtual bool can_edit(const Ref<AnimationNode> &p_node);
+ virtual void edit(const Ref<AnimationNode> &p_node);
AnimationNodeStateMachineEditor();
};
-class AnimationNodeStateMachineEditorPlugin : public EditorPlugin {
-
- GDCLASS(AnimationNodeStateMachineEditorPlugin, EditorPlugin);
-
- AnimationNodeStateMachineEditor *anim_tree_editor;
- EditorNode *editor;
- Button *button;
-
-public:
- virtual String get_name() const { return "StateMachine"; }
- bool has_main_screen() const { return false; }
- virtual void edit(Object *p_object);
- virtual bool handles(Object *p_object) const;
- virtual void make_visible(bool p_visible);
-
- AnimationNodeStateMachineEditorPlugin(EditorNode *p_node);
- ~AnimationNodeStateMachineEditorPlugin();
-};
-
#endif // ANIMATION_STATE_MACHINE_EDITOR_H
diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp
index 25582ae0b9..19921ef54f 100644
--- a/editor/plugins/animation_tree_editor_plugin.cpp
+++ b/editor/plugins/animation_tree_editor_plugin.cpp
@@ -1,1418 +1,247 @@
-/*************************************************************************/
-/* animation_tree_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2018 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 "animation_tree_editor_plugin.h"
+#include "animation_blend_space_1d_editor.h"
+#include "animation_blend_space_2d_editor.h"
+#include "animation_blend_tree_editor_plugin.h"
+#include "animation_state_machine_editor.h"
#include "core/io/resource_loader.h"
#include "core/project_settings.h"
+#include "math/delaunay.h"
#include "os/input.h"
#include "os/keyboard.h"
+#include "scene/animation/animation_blend_tree.h"
+#include "scene/animation/animation_player.h"
#include "scene/gui/menu_button.h"
#include "scene/gui/panel.h"
#include "scene/main/viewport.h"
+#include "scene/scene_string_names.h"
-void AnimationTreeEditor::edit(AnimationTreePlayer *p_anim_tree) {
+void AnimationTreeEditor::edit(AnimationTree *p_tree) {
- anim_tree = p_anim_tree;
+ if (tree == p_tree)
+ return;
- if (!anim_tree) {
- hide();
- } else {
- order.clear();
- p_anim_tree->get_node_list(&order);
- /*
- for(List<StringName>::Element* E=order.front();E;E=E->next()) {
+ tree = p_tree;
- if (E->get() >= (int)last_id)
- last_id=E->get()+1;
- }*/
- play_button->set_pressed(p_anim_tree->is_active());
- //read the orders
+ Vector<String> path;
+ if (tree->has_meta("_tree_edit_path")) {
+ path = tree->get_meta("_tree_edit_path");
+ edit_path(path);
+ } else {
+ current_root = 0;
}
}
-Size2 AnimationTreeEditor::_get_maximum_size() {
-
- Size2 max;
-
- for (List<StringName>::Element *E = order.front(); E; E = E->next()) {
+void AnimationTreeEditor::_path_button_pressed(int p_path) {
- Point2 pos = anim_tree->node_get_position(E->get());
-
- if (click_type == CLICK_NODE && click_node == E->get()) {
+ Ref<AnimationNode> node = tree->get_tree_root();
+ if (node.is_null())
+ return;
- pos += click_motion - click_pos;
+ edited_path.clear();
+ if (p_path >= 0) {
+ for (int i = 0; i <= p_path; i++) {
+ Ref<AnimationNode> child = node->get_child_by_name(button_path[i]);
+ ERR_BREAK(child.is_null());
+ node = child;
+ edited_path.push_back(button_path[i]);
}
- pos += get_node_size(E->get());
- if (pos.x > max.x)
- max.x = pos.x;
- if (pos.y > max.y)
- max.y = pos.y;
}
- return max;
-}
-
-const char *AnimationTreeEditor::_node_type_names[] = { "Output", "Animation", "OneShot", "Mix", "Blend2", "Blend3", "Blend4", "TimeScale", "TimeSeek", "Transition" };
-
-Size2 AnimationTreeEditor::get_node_size(const StringName &p_node) const {
-
- AnimationTreePlayer::NodeType type = anim_tree->node_get_type(p_node);
-
- Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
- Ref<Font> font = get_font("font", "PopupMenu");
-
- Size2 size = style->get_minimum_size();
-
- int count = 2; // title and name
- int inputs = anim_tree->node_get_input_count(p_node);
- count += inputs ? inputs : 1;
- String name = p_node;
-
- float name_w = font->get_string_size(name).width;
- float type_w = font->get_string_size(String(_node_type_names[type])).width;
- float max_w = MAX(name_w, type_w);
-
- switch (type) {
- case AnimationTreePlayer::NODE_TIMESEEK:
- case AnimationTreePlayer::NODE_OUTPUT: {
- } break;
- case AnimationTreePlayer::NODE_ANIMATION:
- case AnimationTreePlayer::NODE_ONESHOT:
- case AnimationTreePlayer::NODE_MIX:
- case AnimationTreePlayer::NODE_BLEND2:
- case AnimationTreePlayer::NODE_BLEND3:
- case AnimationTreePlayer::NODE_BLEND4:
- case AnimationTreePlayer::NODE_TIMESCALE:
- case AnimationTreePlayer::NODE_TRANSITION: {
-
- size.height += font->get_height();
- } break;
- case AnimationTreePlayer::NODE_MAX: {
+ for (int i = 0; i < editors.size(); i++) {
+ if (editors[i]->can_edit(node)) {
+ editors[i]->edit(node);
+ editors[i]->show();
+ } else {
+ editors[i]->edit(Ref<AnimationNode>());
+ editors[i]->hide();
}
}
-
- size.x += max_w + 20;
- size.y += count * (font->get_height() + get_constant("vseparation", "PopupMenu"));
-
- return size;
}
-void AnimationTreeEditor::_edit_dialog_changede(String) {
-
- edit_dialog->hide();
-}
-
-void AnimationTreeEditor::_edit_dialog_changeds(String s) {
-
- _edit_dialog_changed();
-}
-
-void AnimationTreeEditor::_edit_dialog_changedf(float) {
-
- _edit_dialog_changed();
-}
-
-void AnimationTreeEditor::_edit_dialog_changed() {
-
- if (updating_edit)
- return;
-
- if (renaming_edit) {
-
- if (anim_tree->node_rename(edited_node, edit_line[0]->get_text()) == OK) {
- for (List<StringName>::Element *E = order.front(); E; E = E->next()) {
-
- if (E->get() == edited_node)
- E->get() = edit_line[0]->get_text();
- }
- edited_node = edit_line[0]->get_text();
- }
- update();
- return;
+void AnimationTreeEditor::_update_path() {
+ while (path_hb->get_child_count()) {
+ memdelete(path_hb->get_child(0));
}
- AnimationTreePlayer::NodeType type = anim_tree->node_get_type(edited_node);
-
- switch (type) {
-
- case AnimationTreePlayer::NODE_TIMESCALE:
- anim_tree->timescale_node_set_scale(edited_node, edit_line[0]->get_text().to_double());
- break;
- case AnimationTreePlayer::NODE_ONESHOT:
- anim_tree->oneshot_node_set_fadein_time(edited_node, edit_line[0]->get_text().to_double());
- anim_tree->oneshot_node_set_fadeout_time(edited_node, edit_line[1]->get_text().to_double());
- anim_tree->oneshot_node_set_autorestart_delay(edited_node, edit_line[2]->get_text().to_double());
- anim_tree->oneshot_node_set_autorestart_random_delay(edited_node, edit_line[3]->get_text().to_double());
- anim_tree->oneshot_node_set_autorestart(edited_node, edit_check->is_pressed());
- anim_tree->oneshot_node_set_mix_mode(edited_node, edit_option->get_selected());
-
- break;
-
- case AnimationTreePlayer::NODE_MIX:
-
- anim_tree->mix_node_set_amount(edited_node, edit_scroll[0]->get_value());
- break;
- case AnimationTreePlayer::NODE_BLEND2:
- anim_tree->blend2_node_set_amount(edited_node, edit_scroll[0]->get_value());
-
- break;
-
- case AnimationTreePlayer::NODE_BLEND3:
- anim_tree->blend3_node_set_amount(edited_node, edit_scroll[0]->get_value());
-
- break;
- case AnimationTreePlayer::NODE_BLEND4:
-
- anim_tree->blend4_node_set_amount(edited_node, Point2(edit_scroll[0]->get_value(), edit_scroll[1]->get_value()));
-
- break;
-
- case AnimationTreePlayer::NODE_TRANSITION: {
- anim_tree->transition_node_set_xfade_time(edited_node, edit_line[0]->get_text().to_double());
- if (anim_tree->transition_node_get_current(edited_node) != edit_option->get_selected())
- anim_tree->transition_node_set_current(edited_node, edit_option->get_selected());
- } break;
- default: {}
- }
-}
-
-void AnimationTreeEditor::_edit_dialog_animation_changed() {
-
- Ref<Animation> anim = property_editor->get_variant().operator RefPtr();
- anim_tree->animation_node_set_animation(edited_node, anim);
- update();
-}
-
-void AnimationTreeEditor::_edit_dialog_edit_animation() {
-
- if (Engine::get_singleton()->is_editor_hint()) {
- get_tree()->get_root()->get_child(0)->call("_resource_selected", property_editor->get_variant().operator RefPtr());
- };
-};
-
-void AnimationTreeEditor::_edit_oneshot_start() {
-
- anim_tree->oneshot_node_start(edited_node);
-}
-
-void AnimationTreeEditor::_play_toggled() {
-
- anim_tree->set_active(play_button->is_pressed());
-}
-
-void AnimationTreeEditor::_master_anim_menu_item(int p_item) {
-
- if (p_item == 0)
- _edit_filters();
- else {
-
- String str = master_anim_popup->get_item_text(p_item);
- anim_tree->animation_node_set_master_animation(edited_node, str);
+ Ref<ButtonGroup> group;
+ group.instance();
+
+ Button *b = memnew(Button);
+ b->set_text("root");
+ b->set_toggle_mode(true);
+ b->set_button_group(group);
+ b->set_pressed(true);
+ b->set_focus_mode(FOCUS_NONE);
+ b->connect("pressed", this, "_path_button_pressed", varray(-1));
+ path_hb->add_child(b);
+ for (int i = 0; i < button_path.size(); i++) {
+ b = memnew(Button);
+ b->set_text(button_path[i]);
+ b->set_toggle_mode(true);
+ b->set_button_group(group);
+ path_hb->add_child(b);
+ b->set_pressed(true);
+ b->set_focus_mode(FOCUS_NONE);
+ b->connect("pressed", this, "_path_button_pressed", varray(i));
}
- update();
}
-void AnimationTreeEditor::_popup_edit_dialog() {
-
- updating_edit = true;
-
- for (int i = 0; i < 2; i++)
- edit_scroll[i]->hide();
-
- for (int i = 0; i < 4; i++) {
-
- edit_line[i]->hide();
- edit_label[i]->hide();
- }
-
- edit_option->hide();
- edit_button->hide();
- filter_button->hide();
- edit_check->hide();
-
- Point2 pos = anim_tree->node_get_position(edited_node) - Point2(h_scroll->get_value(), v_scroll->get_value());
- Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
- Size2 size = get_node_size(edited_node);
- Point2 popup_pos(pos.x + style->get_margin(MARGIN_LEFT), pos.y + size.y - style->get_margin(MARGIN_BOTTOM));
- popup_pos += get_global_position();
-
- if (renaming_edit) {
-
- edit_label[0]->set_text(TTR("New name:"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_line[0]->set_begin(Point2(15, 25));
- edit_line[0]->set_text(edited_node);
- edit_line[0]->show();
- edit_dialog->set_size(Size2(150, 50));
-
- } else {
-
- AnimationTreePlayer::NodeType type = anim_tree->node_get_type(edited_node);
-
- switch (type) {
-
- case AnimationTreePlayer::NODE_ANIMATION:
-
- if (anim_tree->get_master_player() != NodePath() && anim_tree->has_node(anim_tree->get_master_player()) && Object::cast_to<AnimationPlayer>(anim_tree->get_node(anim_tree->get_master_player()))) {
-
- AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(anim_tree->get_node(anim_tree->get_master_player()));
- master_anim_popup->clear();
- master_anim_popup->add_item(TTR("Edit Filters"));
- master_anim_popup->add_separator();
- List<StringName> sn;
- ap->get_animation_list(&sn);
- sn.sort_custom<StringName::AlphCompare>();
- for (List<StringName>::Element *E = sn.front(); E; E = E->next()) {
- master_anim_popup->add_item(E->get());
- }
-
- master_anim_popup->set_position(popup_pos);
- master_anim_popup->popup();
- } else {
- property_editor->edit(this, "", Variant::OBJECT, anim_tree->animation_node_get_animation(edited_node), PROPERTY_HINT_RESOURCE_TYPE, "Animation");
- property_editor->set_position(popup_pos);
- property_editor->popup();
- updating_edit = false;
- }
- return;
- case AnimationTreePlayer::NODE_TIMESCALE:
- edit_label[0]->set_text(TTR("Scale:"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_line[0]->set_begin(Point2(15, 25));
- edit_line[0]->set_text(rtos(anim_tree->timescale_node_get_scale(edited_node)));
- edit_line[0]->show();
- edit_dialog->set_size(Size2(150, 50));
- break;
- case AnimationTreePlayer::NODE_ONESHOT:
- edit_label[0]->set_text(TTR("Fade In (s):"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_line[0]->set_begin(Point2(15, 25));
- edit_line[0]->set_text(rtos(anim_tree->oneshot_node_get_fadein_time(edited_node)));
- edit_line[0]->show();
- edit_label[1]->set_text(TTR("Fade Out (s):"));
- edit_label[1]->set_position(Point2(5, 55));
- edit_label[1]->show();
- edit_line[1]->set_begin(Point2(15, 75));
- edit_line[1]->set_text(rtos(anim_tree->oneshot_node_get_fadeout_time(edited_node)));
- edit_line[1]->show();
-
- edit_option->clear();
- edit_option->add_item(TTR("Blend"), 0);
- edit_option->add_item(TTR("Mix"), 1);
- edit_option->set_begin(Point2(15, 105));
-
- edit_option->select(anim_tree->oneshot_node_get_mix_mode(edited_node));
- edit_option->show();
-
- edit_check->set_text(TTR("Auto Restart:"));
- edit_check->set_begin(Point2(15, 125));
- edit_check->set_pressed(anim_tree->oneshot_node_has_autorestart(edited_node));
- edit_check->show();
-
- edit_label[2]->set_text(TTR("Restart (s):"));
- edit_label[2]->set_position(Point2(5, 145));
- edit_label[2]->show();
- edit_line[2]->set_begin(Point2(15, 165));
- edit_line[2]->set_text(rtos(anim_tree->oneshot_node_get_autorestart_delay(edited_node)));
- edit_line[2]->show();
- edit_label[3]->set_text(TTR("Random Restart (s):"));
- edit_label[3]->set_position(Point2(5, 195));
- edit_label[3]->show();
- edit_line[3]->set_begin(Point2(15, 215));
- edit_line[3]->set_text(rtos(anim_tree->oneshot_node_get_autorestart_random_delay(edited_node)));
- edit_line[3]->show();
-
- filter_button->set_begin(Point2(10, 245));
- filter_button->show();
-
- edit_button->set_begin(Point2(10, 268));
- edit_button->set_text(TTR("Start!"));
-
- edit_button->show();
+void AnimationTreeEditor::edit_path(const Vector<String> &p_path) {
- edit_dialog->set_size(Size2(180, 293));
+ button_path.clear();
- break;
+ Ref<AnimationNode> node = tree->get_tree_root();
- case AnimationTreePlayer::NODE_MIX:
+ if (node.is_valid()) {
+ current_root = node->get_instance_id();
- edit_label[0]->set_text(TTR("Amount:"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_scroll[0]->set_min(0);
- edit_scroll[0]->set_max(1);
- edit_scroll[0]->set_step(0.01);
- edit_scroll[0]->set_value(anim_tree->mix_node_get_amount(edited_node));
- edit_scroll[0]->set_begin(Point2(15, 25));
- edit_scroll[0]->show();
- edit_dialog->set_size(Size2(150, 50));
+ for (int i = 0; i < p_path.size(); i++) {
- break;
- case AnimationTreePlayer::NODE_BLEND2:
- edit_label[0]->set_text(TTR("Blend:"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_scroll[0]->set_min(0);
- edit_scroll[0]->set_max(1);
- edit_scroll[0]->set_step(0.01);
- edit_scroll[0]->set_value(anim_tree->blend2_node_get_amount(edited_node));
- edit_scroll[0]->set_begin(Point2(15, 25));
- edit_scroll[0]->show();
- filter_button->set_begin(Point2(10, 47));
- filter_button->show();
- edit_dialog->set_size(Size2(150, 74));
-
- break;
-
- case AnimationTreePlayer::NODE_BLEND3:
- edit_label[0]->set_text(TTR("Blend:"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_scroll[0]->set_min(-1);
- edit_scroll[0]->set_max(1);
- edit_scroll[0]->set_step(0.01);
- edit_scroll[0]->set_value(anim_tree->blend3_node_get_amount(edited_node));
- edit_scroll[0]->set_begin(Point2(15, 25));
- edit_scroll[0]->show();
- edit_dialog->set_size(Size2(150, 50));
-
- break;
- case AnimationTreePlayer::NODE_BLEND4:
-
- edit_label[0]->set_text(TTR("Blend 0:"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_scroll[0]->set_min(0);
- edit_scroll[0]->set_max(1);
- edit_scroll[0]->set_step(0.01);
- edit_scroll[0]->set_value(anim_tree->blend4_node_get_amount(edited_node).x);
- edit_scroll[0]->set_begin(Point2(15, 25));
- edit_scroll[0]->show();
- edit_label[1]->set_text(TTR("Blend 1:"));
- edit_label[1]->set_position(Point2(5, 55));
- edit_label[1]->show();
- edit_scroll[1]->set_min(0);
- edit_scroll[1]->set_max(1);
- edit_scroll[1]->set_step(0.01);
- edit_scroll[1]->set_value(anim_tree->blend4_node_get_amount(edited_node).y);
- edit_scroll[1]->set_begin(Point2(15, 75));
- edit_scroll[1]->show();
- edit_dialog->set_size(Size2(150, 100));
-
- break;
-
- case AnimationTreePlayer::NODE_TRANSITION: {
-
- edit_label[0]->set_text(TTR("X-Fade Time (s):"));
- edit_label[0]->set_position(Point2(5, 5));
- edit_label[0]->show();
- edit_line[0]->set_begin(Point2(15, 25));
- edit_line[0]->set_text(rtos(anim_tree->transition_node_get_xfade_time(edited_node)));
- edit_line[0]->show();
-
- edit_label[1]->set_text(TTR("Current:"));
- edit_label[1]->set_position(Point2(5, 55));
- edit_label[1]->show();
- edit_option->set_begin(Point2(15, 75));
-
- edit_option->clear();
-
- for (int i = 0; i < anim_tree->transition_node_get_input_count(edited_node); i++) {
- edit_option->add_item(itos(i), i);
- }
-
- edit_option->select(anim_tree->transition_node_get_current(edited_node));
- edit_option->show();
- edit_dialog->set_size(Size2(150, 100));
-
- } break;
- default: {}
+ Ref<AnimationNode> child = node->get_child_by_name(p_path[i]);
+ ERR_BREAK(child.is_null());
+ node = child;
+ button_path.push_back(p_path[i]);
}
- }
-
- edit_dialog->set_position(popup_pos);
- edit_dialog->popup();
-
- updating_edit = false;
-}
-
-void AnimationTreeEditor::_draw_node(const StringName &p_node) {
-
- RID ci = get_canvas_item();
- AnimationTreePlayer::NodeType type = anim_tree->node_get_type(p_node);
-
- Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
- Ref<Font> font = get_font("font", "PopupMenu");
- Color font_color = get_color("font_color", "PopupMenu");
- Color font_color_title = get_color("font_color_hover", "PopupMenu");
- font_color_title.a *= 0.8;
- Ref<Texture> slot_icon = get_icon("VisualShaderPort", "EditorIcons");
-
- Size2 size = get_node_size(p_node);
- Point2 pos = anim_tree->node_get_position(p_node);
- if (click_type == CLICK_NODE && click_node == p_node) {
-
- pos += click_motion - click_pos;
- if (pos.x < 5)
- pos.x = 5;
- if (pos.y < 5)
- pos.y = 5;
- }
-
- pos -= Point2(h_scroll->get_value(), v_scroll->get_value());
- style->draw(ci, Rect2(pos, size));
-
- float w = size.width - style->get_minimum_size().width;
- float h = font->get_height() + get_constant("vseparation", "PopupMenu");
-
- Point2 ofs = style->get_offset() + pos;
- Point2 ascofs(0, font->get_ascent());
-
- Color bx = font_color_title;
- bx.a *= 0.1;
- draw_rect(Rect2(ofs, Size2(size.width - style->get_minimum_size().width, font->get_height())), bx);
- font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, String(_node_type_names[type]), font_color_title);
-
- ofs.y += h;
- font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, p_node, font_color);
- ofs.y += h;
-
- int count = 2; // title and name
- int inputs = anim_tree->node_get_input_count(p_node);
- count += inputs ? inputs : 1;
-
- float icon_h_ofs = Math::floor((font->get_height() - slot_icon->get_height()) / 2.0) + 1;
-
- if (type != AnimationTreePlayer::NODE_OUTPUT)
- slot_icon->draw(ci, ofs + Point2(w, icon_h_ofs)); //output
-
- if (inputs) {
- for (int i = 0; i < inputs; i++) {
-
- slot_icon->draw(ci, ofs + Point2(-slot_icon->get_width(), icon_h_ofs));
- String text;
- switch (type) {
-
- case AnimationTreePlayer::NODE_TIMESCALE:
- case AnimationTreePlayer::NODE_TIMESEEK: text = "in"; break;
- case AnimationTreePlayer::NODE_OUTPUT: text = "out"; break;
- case AnimationTreePlayer::NODE_ANIMATION: break;
- case AnimationTreePlayer::NODE_ONESHOT: text = (i == 0 ? "in" : "add"); break;
- case AnimationTreePlayer::NODE_BLEND2:
- case AnimationTreePlayer::NODE_MIX: text = (i == 0 ? "a" : "b"); break;
- case AnimationTreePlayer::NODE_BLEND3:
- switch (i) {
- case 0: text = "b-"; break;
- case 1: text = "a"; break;
- case 2: text = "b+"; break;
- }
- break;
-
- case AnimationTreePlayer::NODE_BLEND4:
- switch (i) {
- case 0: text = "a0"; break;
- case 1: text = "b0"; break;
- case 2: text = "a1"; break;
- case 3: text = "b1"; break;
- }
- break;
-
- case AnimationTreePlayer::NODE_TRANSITION:
- text = itos(i);
- if (anim_tree->transition_node_has_input_auto_advance(p_node, i))
- text += "->";
-
- break;
- default: {}
+ for (int i = 0; i < editors.size(); i++) {
+ if (editors[i]->can_edit(node)) {
+ editors[i]->edit(node);
+ editors[i]->show();
+ } else {
+ editors[i]->edit(Ref<AnimationNode>());
+ editors[i]->hide();
}
- font->draw(ci, ofs + ascofs + Point2(3, 0), text, font_color);
-
- ofs.y += h;
}
} else {
- ofs.y += h;
+ current_root = 0;
}
- Ref<StyleBox> pg_bg = get_stylebox("bg", "ProgressBar");
- Ref<StyleBox> pg_fill = get_stylebox("fill", "ProgressBar");
- Rect2 pg_rect(ofs, Size2(w, h));
-
- bool editable = true;
- switch (type) {
- case AnimationTreePlayer::NODE_ANIMATION: {
-
- Ref<Animation> anim = anim_tree->animation_node_get_animation(p_node);
- String text;
- if (anim_tree->animation_node_get_master_animation(p_node) != "")
- text = anim_tree->animation_node_get_master_animation(p_node);
- else if (anim.is_null())
- text = "load...";
- else
- text = anim->get_name();
-
- font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, text, font_color_title);
+ edited_path = button_path;
- } break;
- case AnimationTreePlayer::NODE_ONESHOT:
- case AnimationTreePlayer::NODE_MIX:
- case AnimationTreePlayer::NODE_BLEND2:
- case AnimationTreePlayer::NODE_BLEND3:
- case AnimationTreePlayer::NODE_BLEND4:
- case AnimationTreePlayer::NODE_TIMESCALE:
- case AnimationTreePlayer::NODE_TRANSITION: {
-
- font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, "edit...", font_color_title);
- } break;
- default: editable = false;
- }
-
- if (editable) {
-
- Ref<Texture> arrow = get_icon("GuiDropdown", "EditorIcons");
- Point2 arrow_ofs(w - arrow->get_width(), Math::floor((h - arrow->get_height()) / 2));
- arrow->draw(ci, ofs + arrow_ofs);
- }
+ _update_path();
}
-AnimationTreeEditor::ClickType AnimationTreeEditor::_locate_click(const Point2 &p_click, StringName *p_node_id, int *p_slot_index) const {
-
- Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
- Ref<Font> font = get_font("font", "PopupMenu");
-
- float h = (font->get_height() + get_constant("vseparation", "PopupMenu"));
-
- for (const List<StringName>::Element *E = order.back(); E; E = E->prev()) {
-
- StringName node = E->get();
-
- AnimationTreePlayer::NodeType type = anim_tree->node_get_type(node);
-
- Point2 pos = anim_tree->node_get_position(node);
- Size2 size = get_node_size(node);
-
- pos -= Point2(h_scroll->get_value(), v_scroll->get_value());
-
- if (!Rect2(pos, size).has_point(p_click))
- continue;
-
- if (p_node_id)
- *p_node_id = node;
-
- pos = p_click - pos;
-
- float y = pos.y - style->get_offset().height;
-
- if (y < 2 * h)
- return CLICK_NODE;
- y -= 2 * h;
-
- int inputs = anim_tree->node_get_input_count(node);
- int count = MAX(inputs, 1);
-
- if (inputs == 0 || (pos.x > size.width / 2 && type != AnimationTreePlayer::NODE_OUTPUT)) {
-
- if (y < count * h) {
-
- if (p_slot_index)
- *p_slot_index = 0;
- return CLICK_OUTPUT_SLOT;
- }
- }
-
- for (int i = 0; i < count; i++) {
-
- if (y < h) {
- if (p_slot_index)
- *p_slot_index = i;
- return CLICK_INPUT_SLOT;
- }
- y -= h;
- }
-
- bool has_parameters = type != AnimationTreePlayer::NODE_OUTPUT && type != AnimationTreePlayer::NODE_TIMESEEK;
- return has_parameters ? CLICK_PARAMETER : CLICK_NODE;
- }
-
- return CLICK_NONE;
-}
-
-Point2 AnimationTreeEditor::_get_slot_pos(const StringName &p_node_id, bool p_input, int p_slot) {
-
- Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
- Ref<Font> font = get_font("font", "PopupMenu");
- Ref<Texture> slot_icon = get_icon("VisualShaderPort", "EditorIcons");
-
- Size2 size = get_node_size(p_node_id);
- Point2 pos = anim_tree->node_get_position(p_node_id);
-
- if (click_type == CLICK_NODE && click_node == p_node_id) {
-
- pos += click_motion - click_pos;
- if (pos.x < 5)
- pos.x = 5;
- if (pos.y < 5)
- pos.y = 5;
- }
-
- pos -= Point2(h_scroll->get_value(), v_scroll->get_value());
-
- float w = size.width - style->get_minimum_size().width;
- float h = font->get_height() + get_constant("vseparation", "PopupMenu");
-
- pos += style->get_offset();
-
- pos.y += h * 2;
-
- pos.y += h * p_slot;
-
- pos += Point2(-slot_icon->get_width() / 2.0, h / 2.0).floor();
-
- if (!p_input) {
- pos.x += w + slot_icon->get_width();
- }
-
- return pos;
+Vector<String> AnimationTreeEditor::get_edited_path() const {
+ return button_path;
}
-void AnimationTreeEditor::_gui_input(Ref<InputEvent> p_event) {
-
- Ref<InputEventMouseButton> mb = p_event;
-
- if (mb.is_valid()) {
-
- if (mb->is_pressed()) {
+void AnimationTreeEditor::enter_editor(const String &p_path) {
- if (mb->get_button_index() == 1) {
- click_pos = Point2(mb->get_position().x, mb->get_position().y);
- click_motion = click_pos;
- click_type = _locate_click(click_pos, &click_node, &click_slot);
- if (click_type != CLICK_NONE) {
-
- order.erase(click_node);
- order.push_back(click_node);
- update();
- }
-
- switch (click_type) {
- case CLICK_INPUT_SLOT: {
- click_pos = _get_slot_pos(click_node, true, click_slot);
- } break;
- case CLICK_OUTPUT_SLOT: {
- click_pos = _get_slot_pos(click_node, false, click_slot);
- } break;
- case CLICK_PARAMETER: {
-
- edited_node = click_node;
- renaming_edit = false;
- _popup_edit_dialog();
- //open editor
- //_node_edit_property(click_node);
- } break;
- default: {}
- }
- }
- if (mb->get_button_index() == 2) {
-
- if (click_type != CLICK_NONE) {
- click_type = CLICK_NONE;
- update();
- } else {
- // try to disconnect/remove
-
- Point2 rclick_pos = Point2(mb->get_position().x, mb->get_position().y);
- rclick_type = _locate_click(rclick_pos, &rclick_node, &rclick_slot);
- if (rclick_type == CLICK_INPUT_SLOT || rclick_type == CLICK_OUTPUT_SLOT) {
-
- node_popup->clear();
- node_popup->set_size(Size2(1, 1));
- node_popup->add_item(TTR("Disconnect"), NODE_DISCONNECT);
- if (anim_tree->node_get_type(rclick_node) == AnimationTreePlayer::NODE_TRANSITION) {
- node_popup->add_item(TTR("Add Input"), NODE_ADD_INPUT);
- if (rclick_type == CLICK_INPUT_SLOT) {
- if (anim_tree->transition_node_has_input_auto_advance(rclick_node, rclick_slot))
- node_popup->add_item(TTR("Clear Auto-Advance"), NODE_CLEAR_AUTOADVANCE);
- else
- node_popup->add_item(TTR("Set Auto-Advance"), NODE_SET_AUTOADVANCE);
- node_popup->add_item(TTR("Delete Input"), NODE_DELETE_INPUT);
- }
- }
-
- node_popup->set_position(rclick_pos + get_global_position());
- node_popup->popup();
- }
-
- if (rclick_type == CLICK_NODE) {
- node_popup->clear();
- node_popup->set_size(Size2(1, 1));
- node_popup->add_item(TTR("Rename"), NODE_RENAME);
- node_popup->add_item(TTR("Remove"), NODE_ERASE);
- if (anim_tree->node_get_type(rclick_node) == AnimationTreePlayer::NODE_TRANSITION)
- node_popup->add_item(TTR("Add Input"), NODE_ADD_INPUT);
- node_popup->set_position(rclick_pos + get_global_position());
- node_popup->popup();
- }
- }
- }
- } else {
-
- if (mb->get_button_index() == 1 && click_type != CLICK_NONE) {
-
- switch (click_type) {
- case CLICK_INPUT_SLOT:
- case CLICK_OUTPUT_SLOT: {
-
- Point2 dst_click_pos = Point2(mb->get_position().x, mb->get_position().y);
- StringName id;
- int slot;
- ClickType dst_click_type = _locate_click(dst_click_pos, &id, &slot);
-
- if (dst_click_type == CLICK_INPUT_SLOT && click_type == CLICK_OUTPUT_SLOT) {
-
- anim_tree->connect_nodes(click_node, id, slot);
- }
- if (click_type == CLICK_INPUT_SLOT && dst_click_type == CLICK_OUTPUT_SLOT) {
-
- anim_tree->connect_nodes(id, click_node, click_slot);
- }
-
- } break;
- case CLICK_NODE: {
- Point2 new_pos = anim_tree->node_get_position(click_node) + (click_motion - click_pos);
- if (new_pos.x < 5)
- new_pos.x = 5;
- if (new_pos.y < 5)
- new_pos.y = 5;
- anim_tree->node_set_position(click_node, new_pos);
-
- } break;
- default: {}
- }
-
- click_type = CLICK_NONE;
- update();
- }
- }
- }
-
- Ref<InputEventMouseMotion> mm = p_event;
-
- if (mm.is_valid()) {
-
- if (mm->get_button_mask() & 1 && click_type != CLICK_NONE) {
-
- click_motion = Point2(mm->get_position().x, mm->get_position().y);
- update();
- }
- if ((mm->get_button_mask() & 4 || Input::get_singleton()->is_key_pressed(KEY_SPACE))) {
-
- h_scroll->set_value(h_scroll->get_value() - mm->get_relative().x);
- v_scroll->set_value(v_scroll->get_value() - mm->get_relative().y);
- update();
- }
- }
+ Vector<String> path = edited_path;
+ path.push_back(p_path);
+ edit_path(path);
}
-void AnimationTreeEditor::_draw_cos_line(const Vector2 &p_from, const Vector2 &p_to, const Color &p_color) {
-
- static const int steps = 20;
-
- Rect2 r;
- r.position = p_from;
- r.expand_to(p_to);
- Vector2 sign = Vector2((p_from.x < p_to.x) ? 1 : -1, (p_from.y < p_to.y) ? 1 : -1);
- bool flip = sign.x * sign.y < 0;
-
- Vector2 prev;
- for (int i = 0; i <= steps; i++) {
-
- float d = i / float(steps);
- float c = -Math::cos(d * Math_PI) * 0.5 + 0.5;
- if (flip)
- c = 1.0 - c;
- Vector2 p = r.position + Vector2(d * r.size.width, c * r.size.height);
-
- if (i > 0) {
-
- draw_line(prev, p, p_color, 2);
- }
-
- prev = p;
- }
+void AnimationTreeEditor::_about_to_show_root() {
}
void AnimationTreeEditor::_notification(int p_what) {
+ if (p_what == NOTIFICATION_PROCESS) {
+ ObjectID root = 0;
+ if (tree && tree->get_tree_root().is_valid()) {
+ root = tree->get_tree_root()->get_instance_id();
+ }
- switch (p_what) {
-
- case NOTIFICATION_ENTER_TREE: {
-
- play_button->set_icon(get_icon("Play", "EditorIcons"));
- add_menu->set_icon(get_icon("Add", "EditorIcons"));
- } break;
- case NOTIFICATION_DRAW: {
-
- _update_scrollbars();
- //VisualServer::get_singleton()->canvas_item_add_rect(get_canvas_item(),Rect2(Point2(),get_size()),Color(0,0,0,1));
- get_stylebox("bg", "Tree")->draw(get_canvas_item(), Rect2(Point2(), get_size()));
-
- for (List<StringName>::Element *E = order.front(); E; E = E->next()) {
-
- _draw_node(E->get());
- }
-
- if (click_type == CLICK_INPUT_SLOT || click_type == CLICK_OUTPUT_SLOT) {
-
- _draw_cos_line(click_pos, click_motion, Color(0.5, 1, 0.5, 0.8));
- }
-
- List<AnimationTreePlayer::Connection> connections;
- anim_tree->get_connection_list(&connections);
-
- for (List<AnimationTreePlayer::Connection>::Element *E = connections.front(); E; E = E->next()) {
-
- const AnimationTreePlayer::Connection &c = E->get();
- Point2 source = _get_slot_pos(c.src_node, false, 0);
- Point2 dest = _get_slot_pos(c.dst_node, true, c.dst_input);
- Color col = Color(1, 1, 0.5, 0.8);
- /*
- if (click_type==CLICK_NODE && click_node==c.src_node) {
-
- source+=click_motion-click_pos;
- }
-
- if (click_type==CLICK_NODE && click_node==c.dst_node) {
-
- dest+=click_motion-click_pos;
- }*/
-
- _draw_cos_line(source, dest, col);
- }
-
- switch (anim_tree->get_last_error()) {
-
- case AnimationTreePlayer::CONNECT_OK: {
-
- Ref<Font> f = get_font("font", "Label");
- f->draw(get_canvas_item(), Point2(5, 25 + f->get_ascent()), TTR("Animation tree is valid."), Color(0, 1, 0.6, 0.8));
- } break;
- default: {
-
- Ref<Font> f = get_font("font", "Label");
- f->draw(get_canvas_item(), Point2(5, 25 + f->get_ascent()), TTR("Animation tree is invalid."), Color(1, 0.6, 0.0, 0.8));
- } break;
- }
-
- } break;
+ if (root != current_root) {
+ edit_path(Vector<String>());
+ }
}
}
-void AnimationTreeEditor::_update_scrollbars() {
-
- Size2 size = get_size();
- Size2 hmin = h_scroll->get_combined_minimum_size();
- Size2 vmin = v_scroll->get_combined_minimum_size();
-
- v_scroll->set_begin(Point2(size.width - vmin.width, 0));
- v_scroll->set_end(Point2(size.width, size.height));
-
- h_scroll->set_begin(Point2(0, size.height - hmin.height));
- h_scroll->set_end(Point2(size.width - vmin.width, size.height));
-
- Size2 min = _get_maximum_size();
-
- if (min.height < size.height - hmin.height) {
-
- v_scroll->hide();
- offset.y = 0;
- } else {
-
- v_scroll->show();
- v_scroll->set_max(min.height);
- v_scroll->set_page(size.height - hmin.height);
- offset.y = v_scroll->get_value();
- }
-
- if (min.width < size.width - vmin.width) {
-
- h_scroll->hide();
- offset.x = 0;
- } else {
-
- h_scroll->show();
- h_scroll->set_max(min.width);
- h_scroll->set_page(size.width - vmin.width);
- offset.x = h_scroll->get_value();
- }
+void AnimationTreeEditor::_bind_methods() {
+ ClassDB::bind_method("_path_button_pressed", &AnimationTreeEditor::_path_button_pressed);
}
-void AnimationTreeEditor::_scroll_moved(float) {
+AnimationTreeEditor *AnimationTreeEditor::singleton = NULL;
- offset.x = h_scroll->get_value();
- offset.y = v_scroll->get_value();
- update();
+void AnimationTreeEditor::add_plugin(AnimationTreeNodeEditorPlugin *p_editor) {
+ ERR_FAIL_COND(p_editor->get_parent());
+ editor_base->add_child(p_editor);
+ editors.push_back(p_editor);
+ p_editor->set_h_size_flags(SIZE_EXPAND_FILL);
+ p_editor->set_v_size_flags(SIZE_EXPAND_FILL);
+ p_editor->hide();
}
-void AnimationTreeEditor::_node_menu_item(int p_item) {
-
- switch (p_item) {
-
- case NODE_DISCONNECT: {
-
- if (rclick_type == CLICK_INPUT_SLOT) {
-
- anim_tree->disconnect_nodes(rclick_node, rclick_slot);
- update();
- }
-
- if (rclick_type == CLICK_OUTPUT_SLOT) {
-
- List<AnimationTreePlayer::Connection> connections;
- anim_tree->get_connection_list(&connections);
-
- for (List<AnimationTreePlayer::Connection>::Element *E = connections.front(); E; E = E->next()) {
-
- const AnimationTreePlayer::Connection &c = E->get();
- if (c.dst_node == rclick_node) {
-
- anim_tree->disconnect_nodes(c.dst_node, c.dst_input);
- }
- }
- update();
- }
-
- } break;
- case NODE_RENAME: {
-
- renaming_edit = true;
- edited_node = rclick_node;
- _popup_edit_dialog();
-
- } break;
- case NODE_ADD_INPUT: {
-
- anim_tree->transition_node_set_input_count(rclick_node, anim_tree->transition_node_get_input_count(rclick_node) + 1);
- update();
- } break;
- case NODE_DELETE_INPUT: {
-
- anim_tree->transition_node_delete_input(rclick_node, rclick_slot);
- update();
- } break;
- case NODE_SET_AUTOADVANCE: {
-
- anim_tree->transition_node_set_input_auto_advance(rclick_node, rclick_slot, true);
- update();
-
- } break;
- case NODE_CLEAR_AUTOADVANCE: {
-
- anim_tree->transition_node_set_input_auto_advance(rclick_node, rclick_slot, false);
- update();
-
- } break;
-
- case NODE_ERASE: {
-
- if (rclick_node == "out")
- break;
- order.erase(rclick_node);
- anim_tree->remove_node(rclick_node);
- update();
- } break;
- }
+void AnimationTreeEditor::remove_plugin(AnimationTreeNodeEditorPlugin *p_editor) {
+ ERR_FAIL_COND(p_editor->get_parent() != editor_base);
+ editor_base->remove_child(p_editor);
+ editors.erase(p_editor);
}
-StringName AnimationTreeEditor::_add_node(int p_item) {
-
- static const char *bname[] = {
- "out",
- "anim",
- "oneshot",
- "mix",
- "blend2",
- "blend3",
- "blend4",
- "scale",
- "seek",
- "transition"
- };
-
- String name;
- int idx = 1;
-
- while (true) {
-
- name = bname[p_item];
- if (idx > 1)
- name += " " + itos(idx);
- if (anim_tree->node_exists(name))
- idx++;
- else
- break;
+String AnimationTreeEditor::get_base_path() {
+ String path = SceneStringNames::get_singleton()->parameters_base_path;
+ for (int i = 0; i < edited_path.size(); i++) {
+ path += edited_path[i] + "/";
}
-
- anim_tree->add_node((AnimationTreePlayer::NodeType)p_item, name);
- anim_tree->node_set_position(name, Point2(last_x, last_y));
- order.push_back(name);
- last_x += 10;
- last_y += 10;
- last_x = last_x % (int)get_size().width;
- last_y = last_y % (int)get_size().height;
- update();
-
- return name;
-};
-
-void AnimationTreeEditor::_file_dialog_selected(String p_path) {
-
- switch (file_op) {
-
- case MENU_IMPORT_ANIMATIONS: {
- Vector<String> files = file_dialog->get_selected_files();
-
- for (int i = 0; i < files.size(); i++) {
-
- StringName node = _add_node(AnimationTreePlayer::NODE_ANIMATION);
-
- RES anim = ResourceLoader::load(files[i]);
- anim_tree->animation_node_set_animation(node, anim);
- //anim_tree->node_set_name(node, files[i].get_file());
- };
- } break;
-
- default:
- break;
- };
-};
-
-void AnimationTreeEditor::_add_menu_item(int p_item) {
-
- if (p_item == MENU_GRAPH_CLEAR) {
-
- //clear
- } else if (p_item == MENU_IMPORT_ANIMATIONS) {
-
- file_op = MENU_IMPORT_ANIMATIONS;
- file_dialog->set_mode(EditorFileDialog::MODE_OPEN_FILE);
- file_dialog->popup_centered_ratio();
-
- } else {
-
- _add_node(p_item);
- }
-}
-
-Size2 AnimationTreeEditor::get_minimum_size() const {
-
- return Size2(10, 200);
+ return path;
}
-void AnimationTreeEditor::_find_paths_for_filter(const StringName &p_node, Set<String> &paths) {
-
- ERR_FAIL_COND(!anim_tree->node_exists(p_node));
-
- for (int i = 0; i < anim_tree->node_get_input_count(p_node); i++) {
-
- StringName port = anim_tree->node_get_input_source(p_node, i);
- if (port == StringName())
- continue;
- _find_paths_for_filter(port, paths);
- }
-
- if (anim_tree->node_get_type(p_node) == AnimationTreePlayer::NODE_ANIMATION) {
-
- Ref<Animation> anim = anim_tree->animation_node_get_animation(p_node);
- if (anim.is_valid()) {
-
- for (int i = 0; i < anim->get_track_count(); i++) {
- paths.insert(anim->track_get_path(i));
- }
+bool AnimationTreeEditor::can_edit(const Ref<AnimationNode> &p_node) const {
+ for (int i = 0; i < editors.size(); i++) {
+ if (editors[i]->can_edit(p_node)) {
+ return true;
}
}
+ return false;
}
-void AnimationTreeEditor::_filter_edited() {
-
- TreeItem *ed = filter->get_edited();
- if (!ed)
- return;
+Vector<String> AnimationTreeEditor::get_animation_list() {
- if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ONESHOT) {
- anim_tree->oneshot_node_set_filter_path(edited_node, ed->get_metadata(0), ed->is_checked(0));
- } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_BLEND2) {
- anim_tree->blend2_node_set_filter_path(edited_node, ed->get_metadata(0), ed->is_checked(0));
- } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ANIMATION) {
- anim_tree->animation_node_set_filter_path(edited_node, ed->get_metadata(0), ed->is_checked(0));
+ if (!singleton->is_visible()) {
+ return Vector<String>();
}
-}
-
-void AnimationTreeEditor::_edit_filters() {
-
- filter_dialog->popup_centered_ratio();
- filter->clear();
-
- Set<String> npb;
- _find_paths_for_filter(edited_node, npb);
-
- TreeItem *root = filter->create_item();
- filter->set_hide_root(true);
- Map<String, TreeItem *> pm;
-
- Node *base = anim_tree->get_node(anim_tree->get_base_path());
-
- for (Set<String>::Element *E = npb.front(); E; E = E->next()) {
-
- TreeItem *parent = root;
- String descr = E->get();
- if (base) {
- NodePath np = E->get();
- if (np.get_subname_count() == 1) {
- Node *n = base->get_node(np);
- Skeleton *s = Object::cast_to<Skeleton>(n);
- if (s) {
+ AnimationTree *tree = singleton->tree;
+ if (!tree || !tree->has_node(tree->get_animation_player()))
+ return Vector<String>();
- String skelbase = E->get().substr(0, E->get().find(":"));
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(tree->get_node(tree->get_animation_player()));
- int bidx = s->find_bone(np.get_subname(0));
+ if (!ap)
+ return Vector<String>();
- if (bidx != -1) {
- int bparent = s->get_bone_parent(bidx);
- //
- if (bparent != -1) {
-
- String bpn = skelbase + ":" + s->get_bone_name(bparent);
- if (pm.has(bpn)) {
- parent = pm[bpn];
- descr = np.get_subname(0);
- }
- } else {
-
- if (pm.has(skelbase)) {
- parent = pm[skelbase];
- }
- }
- }
- }
- }
- }
-
- TreeItem *it = filter->create_item(parent);
- it->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
- it->set_text(0, descr);
- it->set_metadata(0, NodePath(E->get()));
- it->set_editable(0, true);
- if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ONESHOT) {
- it->set_checked(0, anim_tree->oneshot_node_is_path_filtered(edited_node, E->get()));
- } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_BLEND2) {
- it->set_checked(0, anim_tree->blend2_node_is_path_filtered(edited_node, E->get()));
- } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ANIMATION) {
- it->set_checked(0, anim_tree->animation_node_is_path_filtered(edited_node, E->get()));
- }
- pm[E->get()] = it;
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ Vector<String> ret;
+ for (List<StringName>::Element *E = anims.front(); E; E = E->next()) {
+ ret.push_back(E->get());
}
-}
-
-void AnimationTreeEditor::_bind_methods() {
- ClassDB::bind_method("_add_menu_item", &AnimationTreeEditor::_add_menu_item);
- ClassDB::bind_method("_node_menu_item", &AnimationTreeEditor::_node_menu_item);
- ClassDB::bind_method("_gui_input", &AnimationTreeEditor::_gui_input);
- //ClassDB::bind_method( "_node_param_changed", &AnimationTreeEditor::_node_param_changed );
- ClassDB::bind_method("_scroll_moved", &AnimationTreeEditor::_scroll_moved);
- ClassDB::bind_method("_edit_dialog_changeds", &AnimationTreeEditor::_edit_dialog_changeds);
- ClassDB::bind_method("_edit_dialog_changede", &AnimationTreeEditor::_edit_dialog_changede);
- ClassDB::bind_method("_edit_dialog_changedf", &AnimationTreeEditor::_edit_dialog_changedf);
- ClassDB::bind_method("_edit_dialog_changed", &AnimationTreeEditor::_edit_dialog_changed);
- ClassDB::bind_method("_edit_dialog_animation_changed", &AnimationTreeEditor::_edit_dialog_animation_changed);
- ClassDB::bind_method("_edit_dialog_edit_animation", &AnimationTreeEditor::_edit_dialog_edit_animation);
- ClassDB::bind_method("_play_toggled", &AnimationTreeEditor::_play_toggled);
- ClassDB::bind_method("_edit_oneshot_start", &AnimationTreeEditor::_edit_oneshot_start);
- ClassDB::bind_method("_file_dialog_selected", &AnimationTreeEditor::_file_dialog_selected);
- ClassDB::bind_method("_master_anim_menu_item", &AnimationTreeEditor::_master_anim_menu_item);
- ClassDB::bind_method("_edit_filters", &AnimationTreeEditor::_edit_filters);
- ClassDB::bind_method("_filter_edited", &AnimationTreeEditor::_filter_edited);
+ return ret;
}
AnimationTreeEditor::AnimationTreeEditor() {
- set_focus_mode(FOCUS_ALL);
-
- PopupMenu *p;
- List<PropertyInfo> defaults;
-
- add_menu = memnew(MenuButton);
- //add_menu->set_
- add_menu->set_position(Point2(0, 0));
- add_menu->set_size(Point2(25, 15));
- add_child(add_menu);
-
- p = add_menu->get_popup();
- p->add_item(TTR("Animation Node"), AnimationTreePlayer::NODE_ANIMATION);
- p->add_item(TTR("OneShot Node"), AnimationTreePlayer::NODE_ONESHOT);
- p->add_item(TTR("Mix Node"), AnimationTreePlayer::NODE_MIX);
- p->add_item(TTR("Blend2 Node"), AnimationTreePlayer::NODE_BLEND2);
- p->add_item(TTR("Blend3 Node"), AnimationTreePlayer::NODE_BLEND3);
- p->add_item(TTR("Blend4 Node"), AnimationTreePlayer::NODE_BLEND4);
- p->add_item(TTR("TimeScale Node"), AnimationTreePlayer::NODE_TIMESCALE);
- p->add_item(TTR("TimeSeek Node"), AnimationTreePlayer::NODE_TIMESEEK);
- p->add_item(TTR("Transition Node"), AnimationTreePlayer::NODE_TRANSITION);
- p->add_separator();
- p->add_item(TTR("Import Animations..."), MENU_IMPORT_ANIMATIONS); // wtf
- p->add_separator();
- p->add_item(TTR("Clear"), MENU_GRAPH_CLEAR);
-
- p->connect("id_pressed", this, "_add_menu_item");
-
- play_button = memnew(Button);
- play_button->set_position(Point2(25, 0));
- play_button->set_size(Point2(25, 15));
- add_child(play_button);
- play_button->set_toggle_mode(true);
- play_button->connect("pressed", this, "_play_toggled");
-
- last_x = 50;
- last_y = 50;
-
- property_editor = memnew(CustomPropertyEditor);
- add_child(property_editor);
- property_editor->connect("variant_changed", this, "_edit_dialog_animation_changed");
- property_editor->connect("resource_edit_request", this, "_edit_dialog_edit_animation");
-
- h_scroll = memnew(HScrollBar);
- v_scroll = memnew(VScrollBar);
-
- add_child(h_scroll);
- add_child(v_scroll);
-
- h_scroll->connect("value_changed", this, "_scroll_moved");
- v_scroll->connect("value_changed", this, "_scroll_moved");
-
- node_popup = memnew(PopupMenu);
- add_child(node_popup);
- node_popup->set_as_toplevel(true);
-
- master_anim_popup = memnew(PopupMenu);
- add_child(master_anim_popup);
- master_anim_popup->connect("id_pressed", this, "_master_anim_menu_item");
-
- node_popup->connect("id_pressed", this, "_node_menu_item");
-
- updating_edit = false;
-
- edit_dialog = memnew(PopupPanel);
- //edit_dialog->get_ok()->hide();
- //edit_dialog->get_cancel()->hide();
- add_child(edit_dialog);
-
- edit_option = memnew(OptionButton);
- edit_option->set_anchor(MARGIN_RIGHT, ANCHOR_END);
- edit_option->set_margin(MARGIN_RIGHT, -10);
- edit_dialog->add_child(edit_option);
- edit_option->connect("item_selected", this, "_edit_dialog_changedf");
- edit_option->hide();
-
- for (int i = 0; i < 2; i++) {
- edit_scroll[i] = memnew(HSlider);
- edit_scroll[i]->set_anchor(MARGIN_RIGHT, ANCHOR_END);
- edit_scroll[i]->set_margin(MARGIN_RIGHT, -10);
- edit_dialog->add_child(edit_scroll[i]);
- edit_scroll[i]->hide();
- edit_scroll[i]->connect("value_changed", this, "_edit_dialog_changedf");
- }
- for (int i = 0; i < 4; i++) {
- edit_line[i] = memnew(LineEdit);
- edit_line[i]->set_anchor(MARGIN_RIGHT, ANCHOR_END);
- edit_line[i]->set_margin(MARGIN_RIGHT, -10);
- edit_dialog->add_child(edit_line[i]);
- edit_line[i]->hide();
- edit_line[i]->connect("text_changed", this, "_edit_dialog_changeds");
- edit_line[i]->connect("text_entered", this, "_edit_dialog_changede");
- edit_label[i] = memnew(Label);
- edit_dialog->add_child(edit_label[i]);
- edit_label[i]->hide();
- }
-
- edit_button = memnew(Button);
- edit_button->set_anchor(MARGIN_RIGHT, ANCHOR_END);
- edit_button->set_margin(MARGIN_RIGHT, -10);
- edit_dialog->add_child(edit_button);
- edit_button->hide();
- edit_button->connect("pressed", this, "_edit_oneshot_start");
-
- edit_check = memnew(CheckButton);
- edit_check->set_anchor(MARGIN_RIGHT, ANCHOR_END);
- edit_check->set_margin(MARGIN_RIGHT, -10);
- edit_dialog->add_child(edit_check);
- edit_check->hide();
- edit_check->connect("pressed", this, "_edit_dialog_changed");
-
- file_dialog = memnew(EditorFileDialog);
- file_dialog->set_enable_multiple_selection(true);
- file_dialog->set_current_dir(ProjectSettings::get_singleton()->get_resource_path());
- add_child(file_dialog);
- file_dialog->connect("file_selected", this, "_file_dialog_selected");
-
- filter_dialog = memnew(AcceptDialog);
- filter_dialog->set_title(TTR("Edit Node Filters"));
- add_child(filter_dialog);
-
- filter = memnew(Tree);
- filter_dialog->add_child(filter);
- //filter_dialog->set_child_rect(filter);
- filter->connect("item_edited", this, "_filter_edited");
+ AnimationNodeAnimation::get_editable_animation_list = get_animation_list;
+ path_edit = memnew(ScrollContainer);
+ add_child(path_edit);
+ path_edit->set_enable_h_scroll(true);
+ path_edit->set_enable_v_scroll(false);
+ path_hb = memnew(HBoxContainer);
+ path_edit->add_child(path_hb);
- filter_button = memnew(Button);
- filter_button->set_anchor(MARGIN_RIGHT, ANCHOR_END);
- filter_button->set_margin(MARGIN_RIGHT, -10);
- edit_dialog->add_child(filter_button);
- filter_button->hide();
- filter_button->set_text(TTR("Filters..."));
- filter_button->connect("pressed", this, "_edit_filters");
+ current_root = 0;
+ singleton = this;
+ editor_base = memnew(PanelContainer);
+ editor_base->set_v_size_flags(SIZE_EXPAND_FILL);
+ add_child(editor_base);
- set_clip_contents(true);
+ add_plugin(memnew(AnimationNodeBlendTreeEditor));
+ add_plugin(memnew(AnimationNodeBlendSpace1DEditor));
+ add_plugin(memnew(AnimationNodeBlendSpace2DEditor));
+ add_plugin(memnew(AnimationNodeStateMachineEditor));
}
void AnimationTreeEditorPlugin::edit(Object *p_object) {
- anim_tree_editor->edit(Object::cast_to<AnimationTreePlayer>(p_object));
+ anim_tree_editor->edit(Object::cast_to<AnimationTree>(p_object));
}
bool AnimationTreeEditorPlugin::handles(Object *p_object) const {
- return p_object->is_class("AnimationTreePlayer");
+ return p_object->is_class("AnimationTree");
}
void AnimationTreeEditorPlugin::make_visible(bool p_visible) {
@@ -1422,13 +251,13 @@ void AnimationTreeEditorPlugin::make_visible(bool p_visible) {
//editor->animation_panel_make_visible(true);
button->show();
editor->make_bottom_panel_item_visible(anim_tree_editor);
- anim_tree_editor->set_physics_process(true);
+ anim_tree_editor->set_process(true);
} else {
if (anim_tree_editor->is_visible_in_tree())
editor->hide_bottom_panel();
button->hide();
- anim_tree_editor->set_physics_process(false);
+ anim_tree_editor->set_process(false);
}
}
diff --git a/editor/plugins/animation_tree_editor_plugin.h b/editor/plugins/animation_tree_editor_plugin.h
index aeb5b1744f..b12054bb62 100644
--- a/editor/plugins/animation_tree_editor_plugin.h
+++ b/editor/plugins/animation_tree_editor_plugin.h
@@ -1,167 +1,65 @@
-/*************************************************************************/
-/* animation_tree_editor_plugin.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2018 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 ANIMATION_TREE_EDITOR_PLUGIN_H
#define ANIMATION_TREE_EDITOR_PLUGIN_H
#include "editor/editor_node.h"
#include "editor/editor_plugin.h"
#include "editor/property_editor.h"
-#include "scene/animation/animation_tree_player.h"
+#include "scene/animation/animation_tree.h"
#include "scene/gui/button.h"
+#include "scene/gui/graph_edit.h"
#include "scene/gui/popup.h"
#include "scene/gui/tree.h"
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-
-class AnimationTreeEditor : public Control {
-
- GDCLASS(AnimationTreeEditor, Control);
-
- static const char *_node_type_names[];
-
- enum ClickType {
- CLICK_NONE,
- CLICK_NAME,
- CLICK_NODE,
- CLICK_INPUT_SLOT,
- CLICK_OUTPUT_SLOT,
- CLICK_PARAMETER
- };
-
- enum {
-
- MENU_GRAPH_CLEAR = 100,
- MENU_IMPORT_ANIMATIONS = 101,
- NODE_DISCONNECT,
- NODE_RENAME,
- NODE_ERASE,
- NODE_ADD_INPUT,
- NODE_DELETE_INPUT,
- NODE_SET_AUTOADVANCE,
- NODE_CLEAR_AUTOADVANCE
- };
-
- bool renaming_edit;
- StringName edited_node;
- bool updating_edit;
- Popup *edit_dialog;
- HSlider *edit_scroll[2];
- LineEdit *edit_line[4];
- OptionButton *edit_option;
- Label *edit_label[4];
- Button *edit_button;
- Button *filter_button;
- CheckButton *edit_check;
- EditorFileDialog *file_dialog;
- int file_op;
-
- void _popup_edit_dialog();
-
- void _setup_edit_dialog(const StringName &p_node);
- PopupMenu *master_anim_popup;
- PopupMenu *node_popup;
- PopupMenu *add_popup;
- HScrollBar *h_scroll;
- VScrollBar *v_scroll;
- MenuButton *add_menu;
-
- CustomPropertyEditor *property_editor;
-
- AnimationTreePlayer *anim_tree;
- List<StringName> order;
- Set<StringName> active_nodes;
-
- int last_x, last_y;
-
- Point2 offset;
- ClickType click_type;
- Point2 click_pos;
- StringName click_node;
- int click_slot;
- Point2 click_motion;
- ClickType rclick_type;
- StringName rclick_node;
- int rclick_slot;
-
- Button *play_button;
-
- Size2 _get_maximum_size();
- Size2 get_node_size(const StringName &p_node) const;
- void _draw_node(const StringName &p_node);
-
- AcceptDialog *filter_dialog;
- Tree *filter;
-
- void _draw_cos_line(const Vector2 &p_from, const Vector2 &p_to, const Color &p_color);
- void _update_scrollbars();
- void _scroll_moved(float);
- void _play_toggled();
- /*
- void _node_param_changed();
- void _node_add_callback();
- void _node_add(VisualServer::AnimationTreeNodeType p_type);
- void _node_edit_property(const StringName& p_node);
-*/
-
- void _master_anim_menu_item(int p_item);
- void _node_menu_item(int p_item);
- void _add_menu_item(int p_item);
-
- void _filter_edited();
- void _find_paths_for_filter(const StringName &p_node, Set<String> &paths);
- void _edit_filters();
-
- void _edit_oneshot_start();
- void _edit_dialog_animation_changed();
- void _edit_dialog_edit_animation();
- void _edit_dialog_changeds(String);
- void _edit_dialog_changede(String);
- void _edit_dialog_changedf(float);
- void _edit_dialog_changed();
- void _dialog_changed() const;
- ClickType _locate_click(const Point2 &p_click, StringName *p_node_id, int *p_slot_index) const;
- Point2 _get_slot_pos(const StringName &p_node_id, bool p_input, int p_slot);
-
- StringName _add_node(int p_item);
- void _file_dialog_selected(String p_path);
+
+class AnimationTreeNodeEditorPlugin : public VBoxContainer {
+ GDCLASS(AnimationTreeNodeEditorPlugin, VBoxContainer)
+public:
+ virtual bool can_edit(const Ref<AnimationNode> &p_node) = 0;
+ virtual void edit(const Ref<AnimationNode> &p_node) = 0;
+};
+
+class AnimationTreeEditor : public VBoxContainer {
+
+ GDCLASS(AnimationTreeEditor, VBoxContainer);
+
+ ScrollContainer *path_edit;
+ HBoxContainer *path_hb;
+
+ AnimationTree *tree;
+ PanelContainer *editor_base;
+
+ Vector<String> button_path;
+ Vector<String> edited_path;
+ Vector<AnimationTreeNodeEditorPlugin *> editors;
+
+ void _update_path();
+ void _about_to_show_root();
+ ObjectID current_root;
+
+ void _path_button_pressed(int p_path);
+
+ static Vector<String> get_animation_list();
protected:
void _notification(int p_what);
- void _gui_input(Ref<InputEvent> p_event);
static void _bind_methods();
+ static AnimationTreeEditor *singleton;
+
public:
- virtual Size2 get_minimum_size() const;
- void edit(AnimationTreePlayer *p_anim_tree);
+ AnimationTree *get_tree() { return tree; }
+ void add_plugin(AnimationTreeNodeEditorPlugin *p_editor);
+ void remove_plugin(AnimationTreeNodeEditorPlugin *p_editor);
+
+ String get_base_path();
+
+ bool can_edit(const Ref<AnimationNode> &p_node) const;
+
+ void edit_path(const Vector<String> &p_path);
+ Vector<String> get_edited_path() const;
+
+ void enter_editor(const String &p_path = "");
+ static AnimationTreeEditor *get_singleton() { return singleton; }
+ void edit(AnimationTree *p_tree);
AnimationTreeEditor();
};
@@ -174,7 +72,7 @@ class AnimationTreeEditorPlugin : public EditorPlugin {
Button *button;
public:
- virtual String get_name() const { return "AnimTree"; }
+ virtual String get_name() const { return "AnimationTree"; }
bool has_main_screen() const { return false; }
virtual void edit(Object *p_object);
virtual bool handles(Object *p_object) const;
diff --git a/editor/plugins/animation_tree_player_editor_plugin.cpp b/editor/plugins/animation_tree_player_editor_plugin.cpp
new file mode 100644
index 0000000000..36d10ab99e
--- /dev/null
+++ b/editor/plugins/animation_tree_player_editor_plugin.cpp
@@ -0,0 +1,1446 @@
+/*************************************************************************/
+/* animation_tree_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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 "animation_tree_player_editor_plugin.h"
+
+#include "core/io/resource_loader.h"
+#include "core/project_settings.h"
+#include "os/input.h"
+#include "os/keyboard.h"
+#include "scene/gui/menu_button.h"
+#include "scene/gui/panel.h"
+#include "scene/main/viewport.h"
+
+void AnimationTreePlayerEditor::edit(AnimationTreePlayer *p_anim_tree) {
+
+ anim_tree = p_anim_tree;
+
+ if (!anim_tree) {
+ hide();
+ } else {
+ order.clear();
+ p_anim_tree->get_node_list(&order);
+ /*
+ for(List<StringName>::Element* E=order.front();E;E=E->next()) {
+
+ if (E->get() >= (int)last_id)
+ last_id=E->get()+1;
+ }*/
+ play_button->set_pressed(p_anim_tree->is_active());
+ //read the orders
+ }
+}
+
+Size2 AnimationTreePlayerEditor::_get_maximum_size() {
+
+ Size2 max;
+
+ for (List<StringName>::Element *E = order.front(); E; E = E->next()) {
+
+ Point2 pos = anim_tree->node_get_position(E->get());
+
+ if (click_type == CLICK_NODE && click_node == E->get()) {
+
+ pos += click_motion - click_pos;
+ }
+ pos += get_node_size(E->get());
+ if (pos.x > max.x)
+ max.x = pos.x;
+ if (pos.y > max.y)
+ max.y = pos.y;
+ }
+
+ return max;
+}
+
+const char *AnimationTreePlayerEditor::_node_type_names[] = { "Output", "Animation", "OneShot", "Mix", "Blend2", "Blend3", "Blend4", "TimeScale", "TimeSeek", "Transition" };
+
+Size2 AnimationTreePlayerEditor::get_node_size(const StringName &p_node) const {
+
+ AnimationTreePlayer::NodeType type = anim_tree->node_get_type(p_node);
+
+ Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
+ Ref<Font> font = get_font("font", "PopupMenu");
+
+ Size2 size = style->get_minimum_size();
+
+ int count = 2; // title and name
+ int inputs = anim_tree->node_get_input_count(p_node);
+ count += inputs ? inputs : 1;
+ String name = p_node;
+
+ float name_w = font->get_string_size(name).width;
+ float type_w = font->get_string_size(String(_node_type_names[type])).width;
+ float max_w = MAX(name_w, type_w);
+
+ switch (type) {
+ case AnimationTreePlayer::NODE_TIMESEEK:
+ case AnimationTreePlayer::NODE_OUTPUT: {
+ } break;
+ case AnimationTreePlayer::NODE_ANIMATION:
+ case AnimationTreePlayer::NODE_ONESHOT:
+ case AnimationTreePlayer::NODE_MIX:
+ case AnimationTreePlayer::NODE_BLEND2:
+ case AnimationTreePlayer::NODE_BLEND3:
+ case AnimationTreePlayer::NODE_BLEND4:
+ case AnimationTreePlayer::NODE_TIMESCALE:
+ case AnimationTreePlayer::NODE_TRANSITION: {
+
+ size.height += font->get_height();
+ } break;
+ case AnimationTreePlayer::NODE_MAX: {
+ }
+ }
+
+ size.x += max_w + 20;
+ size.y += count * (font->get_height() + get_constant("vseparation", "PopupMenu"));
+
+ return size;
+}
+
+void AnimationTreePlayerEditor::_edit_dialog_changede(String) {
+
+ edit_dialog->hide();
+}
+
+void AnimationTreePlayerEditor::_edit_dialog_changeds(String s) {
+
+ _edit_dialog_changed();
+}
+
+void AnimationTreePlayerEditor::_edit_dialog_changedf(float) {
+
+ _edit_dialog_changed();
+}
+
+void AnimationTreePlayerEditor::_edit_dialog_changed() {
+
+ if (updating_edit)
+ return;
+
+ if (renaming_edit) {
+
+ if (anim_tree->node_rename(edited_node, edit_line[0]->get_text()) == OK) {
+ for (List<StringName>::Element *E = order.front(); E; E = E->next()) {
+
+ if (E->get() == edited_node)
+ E->get() = edit_line[0]->get_text();
+ }
+ edited_node = edit_line[0]->get_text();
+ }
+ update();
+ return;
+ }
+
+ AnimationTreePlayer::NodeType type = anim_tree->node_get_type(edited_node);
+
+ switch (type) {
+
+ case AnimationTreePlayer::NODE_TIMESCALE:
+ anim_tree->timescale_node_set_scale(edited_node, edit_line[0]->get_text().to_double());
+ break;
+ case AnimationTreePlayer::NODE_ONESHOT:
+ anim_tree->oneshot_node_set_fadein_time(edited_node, edit_line[0]->get_text().to_double());
+ anim_tree->oneshot_node_set_fadeout_time(edited_node, edit_line[1]->get_text().to_double());
+ anim_tree->oneshot_node_set_autorestart_delay(edited_node, edit_line[2]->get_text().to_double());
+ anim_tree->oneshot_node_set_autorestart_random_delay(edited_node, edit_line[3]->get_text().to_double());
+ anim_tree->oneshot_node_set_autorestart(edited_node, edit_check->is_pressed());
+ anim_tree->oneshot_node_set_mix_mode(edited_node, edit_option->get_selected());
+
+ break;
+
+ case AnimationTreePlayer::NODE_MIX:
+
+ anim_tree->mix_node_set_amount(edited_node, edit_scroll[0]->get_value());
+ break;
+ case AnimationTreePlayer::NODE_BLEND2:
+ anim_tree->blend2_node_set_amount(edited_node, edit_scroll[0]->get_value());
+
+ break;
+
+ case AnimationTreePlayer::NODE_BLEND3:
+ anim_tree->blend3_node_set_amount(edited_node, edit_scroll[0]->get_value());
+
+ break;
+ case AnimationTreePlayer::NODE_BLEND4:
+
+ anim_tree->blend4_node_set_amount(edited_node, Point2(edit_scroll[0]->get_value(), edit_scroll[1]->get_value()));
+
+ break;
+
+ case AnimationTreePlayer::NODE_TRANSITION: {
+ anim_tree->transition_node_set_xfade_time(edited_node, edit_line[0]->get_text().to_double());
+ if (anim_tree->transition_node_get_current(edited_node) != edit_option->get_selected())
+ anim_tree->transition_node_set_current(edited_node, edit_option->get_selected());
+ } break;
+ default: {}
+ }
+}
+
+void AnimationTreePlayerEditor::_edit_dialog_animation_changed() {
+
+ Ref<Animation> anim = property_editor->get_variant().operator RefPtr();
+ anim_tree->animation_node_set_animation(edited_node, anim);
+ update();
+}
+
+void AnimationTreePlayerEditor::_edit_dialog_edit_animation() {
+
+ if (Engine::get_singleton()->is_editor_hint()) {
+ get_tree()->get_root()->get_child(0)->call("_resource_selected", property_editor->get_variant().operator RefPtr());
+ };
+};
+
+void AnimationTreePlayerEditor::_edit_oneshot_start() {
+
+ anim_tree->oneshot_node_start(edited_node);
+}
+
+void AnimationTreePlayerEditor::_play_toggled() {
+
+ anim_tree->set_active(play_button->is_pressed());
+}
+
+void AnimationTreePlayerEditor::_master_anim_menu_item(int p_item) {
+
+ if (p_item == 0)
+ _edit_filters();
+ else {
+
+ String str = master_anim_popup->get_item_text(p_item);
+ anim_tree->animation_node_set_master_animation(edited_node, str);
+ }
+ update();
+}
+
+void AnimationTreePlayerEditor::_popup_edit_dialog() {
+
+ updating_edit = true;
+
+ for (int i = 0; i < 2; i++)
+ edit_scroll[i]->hide();
+
+ for (int i = 0; i < 4; i++) {
+
+ edit_line[i]->hide();
+ edit_label[i]->hide();
+ }
+
+ edit_option->hide();
+ edit_button->hide();
+ filter_button->hide();
+ edit_check->hide();
+
+ Point2 pos = anim_tree->node_get_position(edited_node) - Point2(h_scroll->get_value(), v_scroll->get_value());
+ Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
+ Size2 size = get_node_size(edited_node);
+ Point2 popup_pos(pos.x + style->get_margin(MARGIN_LEFT), pos.y + size.y - style->get_margin(MARGIN_BOTTOM));
+ popup_pos += get_global_position();
+
+ if (renaming_edit) {
+
+ edit_label[0]->set_text(TTR("New name:"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_line[0]->set_begin(Point2(15, 25));
+ edit_line[0]->set_text(edited_node);
+ edit_line[0]->show();
+ edit_dialog->set_size(Size2(150, 50));
+
+ } else {
+
+ AnimationTreePlayer::NodeType type = anim_tree->node_get_type(edited_node);
+
+ switch (type) {
+
+ case AnimationTreePlayer::NODE_ANIMATION:
+
+ if (anim_tree->get_master_player() != NodePath() && anim_tree->has_node(anim_tree->get_master_player()) && Object::cast_to<AnimationPlayer>(anim_tree->get_node(anim_tree->get_master_player()))) {
+
+ AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(anim_tree->get_node(anim_tree->get_master_player()));
+ master_anim_popup->clear();
+ master_anim_popup->add_item(TTR("Edit Filters"));
+ master_anim_popup->add_separator();
+ List<StringName> sn;
+ ap->get_animation_list(&sn);
+ sn.sort_custom<StringName::AlphCompare>();
+ for (List<StringName>::Element *E = sn.front(); E; E = E->next()) {
+ master_anim_popup->add_item(E->get());
+ }
+
+ master_anim_popup->set_position(popup_pos);
+ master_anim_popup->popup();
+ } else {
+ property_editor->edit(this, "", Variant::OBJECT, anim_tree->animation_node_get_animation(edited_node), PROPERTY_HINT_RESOURCE_TYPE, "Animation");
+ property_editor->set_position(popup_pos);
+ property_editor->popup();
+ updating_edit = false;
+ }
+ return;
+ case AnimationTreePlayer::NODE_TIMESCALE:
+ edit_label[0]->set_text(TTR("Scale:"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_line[0]->set_begin(Point2(15, 25));
+ edit_line[0]->set_text(rtos(anim_tree->timescale_node_get_scale(edited_node)));
+ edit_line[0]->show();
+ edit_dialog->set_size(Size2(150, 50));
+ break;
+ case AnimationTreePlayer::NODE_ONESHOT:
+ edit_label[0]->set_text(TTR("Fade In (s):"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_line[0]->set_begin(Point2(15, 25));
+ edit_line[0]->set_text(rtos(anim_tree->oneshot_node_get_fadein_time(edited_node)));
+ edit_line[0]->show();
+ edit_label[1]->set_text(TTR("Fade Out (s):"));
+ edit_label[1]->set_position(Point2(5, 55));
+ edit_label[1]->show();
+ edit_line[1]->set_begin(Point2(15, 75));
+ edit_line[1]->set_text(rtos(anim_tree->oneshot_node_get_fadeout_time(edited_node)));
+ edit_line[1]->show();
+
+ edit_option->clear();
+ edit_option->add_item(TTR("Blend"), 0);
+ edit_option->add_item(TTR("Mix"), 1);
+ edit_option->set_begin(Point2(15, 105));
+
+ edit_option->select(anim_tree->oneshot_node_get_mix_mode(edited_node));
+ edit_option->show();
+
+ edit_check->set_text(TTR("Auto Restart:"));
+ edit_check->set_begin(Point2(15, 125));
+ edit_check->set_pressed(anim_tree->oneshot_node_has_autorestart(edited_node));
+ edit_check->show();
+
+ edit_label[2]->set_text(TTR("Restart (s):"));
+ edit_label[2]->set_position(Point2(5, 145));
+ edit_label[2]->show();
+ edit_line[2]->set_begin(Point2(15, 165));
+ edit_line[2]->set_text(rtos(anim_tree->oneshot_node_get_autorestart_delay(edited_node)));
+ edit_line[2]->show();
+ edit_label[3]->set_text(TTR("Random Restart (s):"));
+ edit_label[3]->set_position(Point2(5, 195));
+ edit_label[3]->show();
+ edit_line[3]->set_begin(Point2(15, 215));
+ edit_line[3]->set_text(rtos(anim_tree->oneshot_node_get_autorestart_random_delay(edited_node)));
+ edit_line[3]->show();
+
+ filter_button->set_begin(Point2(10, 245));
+ filter_button->show();
+
+ edit_button->set_begin(Point2(10, 268));
+ edit_button->set_text(TTR("Start!"));
+
+ edit_button->show();
+
+ edit_dialog->set_size(Size2(180, 293));
+
+ break;
+
+ case AnimationTreePlayer::NODE_MIX:
+
+ edit_label[0]->set_text(TTR("Amount:"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_scroll[0]->set_min(0);
+ edit_scroll[0]->set_max(1);
+ edit_scroll[0]->set_step(0.01);
+ edit_scroll[0]->set_value(anim_tree->mix_node_get_amount(edited_node));
+ edit_scroll[0]->set_begin(Point2(15, 25));
+ edit_scroll[0]->show();
+ edit_dialog->set_size(Size2(150, 50));
+
+ break;
+ case AnimationTreePlayer::NODE_BLEND2:
+ edit_label[0]->set_text(TTR("Blend:"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_scroll[0]->set_min(0);
+ edit_scroll[0]->set_max(1);
+ edit_scroll[0]->set_step(0.01);
+ edit_scroll[0]->set_value(anim_tree->blend2_node_get_amount(edited_node));
+ edit_scroll[0]->set_begin(Point2(15, 25));
+ edit_scroll[0]->show();
+ filter_button->set_begin(Point2(10, 47));
+ filter_button->show();
+ edit_dialog->set_size(Size2(150, 74));
+
+ break;
+
+ case AnimationTreePlayer::NODE_BLEND3:
+ edit_label[0]->set_text(TTR("Blend:"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_scroll[0]->set_min(-1);
+ edit_scroll[0]->set_max(1);
+ edit_scroll[0]->set_step(0.01);
+ edit_scroll[0]->set_value(anim_tree->blend3_node_get_amount(edited_node));
+ edit_scroll[0]->set_begin(Point2(15, 25));
+ edit_scroll[0]->show();
+ edit_dialog->set_size(Size2(150, 50));
+
+ break;
+ case AnimationTreePlayer::NODE_BLEND4:
+
+ edit_label[0]->set_text(TTR("Blend 0:"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_scroll[0]->set_min(0);
+ edit_scroll[0]->set_max(1);
+ edit_scroll[0]->set_step(0.01);
+ edit_scroll[0]->set_value(anim_tree->blend4_node_get_amount(edited_node).x);
+ edit_scroll[0]->set_begin(Point2(15, 25));
+ edit_scroll[0]->show();
+ edit_label[1]->set_text(TTR("Blend 1:"));
+ edit_label[1]->set_position(Point2(5, 55));
+ edit_label[1]->show();
+ edit_scroll[1]->set_min(0);
+ edit_scroll[1]->set_max(1);
+ edit_scroll[1]->set_step(0.01);
+ edit_scroll[1]->set_value(anim_tree->blend4_node_get_amount(edited_node).y);
+ edit_scroll[1]->set_begin(Point2(15, 75));
+ edit_scroll[1]->show();
+ edit_dialog->set_size(Size2(150, 100));
+
+ break;
+
+ case AnimationTreePlayer::NODE_TRANSITION: {
+
+ edit_label[0]->set_text(TTR("X-Fade Time (s):"));
+ edit_label[0]->set_position(Point2(5, 5));
+ edit_label[0]->show();
+ edit_line[0]->set_begin(Point2(15, 25));
+ edit_line[0]->set_text(rtos(anim_tree->transition_node_get_xfade_time(edited_node)));
+ edit_line[0]->show();
+
+ edit_label[1]->set_text(TTR("Current:"));
+ edit_label[1]->set_position(Point2(5, 55));
+ edit_label[1]->show();
+ edit_option->set_begin(Point2(15, 75));
+
+ edit_option->clear();
+
+ for (int i = 0; i < anim_tree->transition_node_get_input_count(edited_node); i++) {
+ edit_option->add_item(itos(i), i);
+ }
+
+ edit_option->select(anim_tree->transition_node_get_current(edited_node));
+ edit_option->show();
+ edit_dialog->set_size(Size2(150, 100));
+
+ } break;
+ default: {}
+ }
+ }
+
+ edit_dialog->set_position(popup_pos);
+ edit_dialog->popup();
+
+ updating_edit = false;
+}
+
+void AnimationTreePlayerEditor::_draw_node(const StringName &p_node) {
+
+ RID ci = get_canvas_item();
+ AnimationTreePlayer::NodeType type = anim_tree->node_get_type(p_node);
+
+ Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
+ Ref<Font> font = get_font("font", "PopupMenu");
+ Color font_color = get_color("font_color", "PopupMenu");
+ Color font_color_title = get_color("font_color_hover", "PopupMenu");
+ font_color_title.a *= 0.8;
+ Ref<Texture> slot_icon = get_icon("VisualShaderPort", "EditorIcons");
+
+ Size2 size = get_node_size(p_node);
+ Point2 pos = anim_tree->node_get_position(p_node);
+ if (click_type == CLICK_NODE && click_node == p_node) {
+
+ pos += click_motion - click_pos;
+ if (pos.x < 5)
+ pos.x = 5;
+ if (pos.y < 5)
+ pos.y = 5;
+ }
+
+ pos -= Point2(h_scroll->get_value(), v_scroll->get_value());
+
+ style->draw(ci, Rect2(pos, size));
+
+ float w = size.width - style->get_minimum_size().width;
+ float h = font->get_height() + get_constant("vseparation", "PopupMenu");
+
+ Point2 ofs = style->get_offset() + pos;
+ Point2 ascofs(0, font->get_ascent());
+
+ Color bx = font_color_title;
+ bx.a *= 0.1;
+ draw_rect(Rect2(ofs, Size2(size.width - style->get_minimum_size().width, font->get_height())), bx);
+ font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, String(_node_type_names[type]), font_color_title);
+
+ ofs.y += h;
+ font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, p_node, font_color);
+ ofs.y += h;
+
+ int count = 2; // title and name
+ int inputs = anim_tree->node_get_input_count(p_node);
+ count += inputs ? inputs : 1;
+
+ float icon_h_ofs = Math::floor((font->get_height() - slot_icon->get_height()) / 2.0) + 1;
+
+ if (type != AnimationTreePlayer::NODE_OUTPUT)
+ slot_icon->draw(ci, ofs + Point2(w, icon_h_ofs)); //output
+
+ if (inputs) {
+ for (int i = 0; i < inputs; i++) {
+
+ slot_icon->draw(ci, ofs + Point2(-slot_icon->get_width(), icon_h_ofs));
+ String text;
+ switch (type) {
+
+ case AnimationTreePlayer::NODE_TIMESCALE:
+ case AnimationTreePlayer::NODE_TIMESEEK: text = "in"; break;
+ case AnimationTreePlayer::NODE_OUTPUT: text = "out"; break;
+ case AnimationTreePlayer::NODE_ANIMATION: break;
+ case AnimationTreePlayer::NODE_ONESHOT: text = (i == 0 ? "in" : "add"); break;
+ case AnimationTreePlayer::NODE_BLEND2:
+ case AnimationTreePlayer::NODE_MIX: text = (i == 0 ? "a" : "b"); break;
+ case AnimationTreePlayer::NODE_BLEND3:
+ switch (i) {
+ case 0: text = "b-"; break;
+ case 1: text = "a"; break;
+ case 2: text = "b+"; break;
+ }
+ break;
+
+ case AnimationTreePlayer::NODE_BLEND4:
+ switch (i) {
+ case 0: text = "a0"; break;
+ case 1: text = "b0"; break;
+ case 2: text = "a1"; break;
+ case 3: text = "b1"; break;
+ }
+ break;
+
+ case AnimationTreePlayer::NODE_TRANSITION:
+ text = itos(i);
+ if (anim_tree->transition_node_has_input_auto_advance(p_node, i))
+ text += "->";
+
+ break;
+ default: {}
+ }
+ font->draw(ci, ofs + ascofs + Point2(3, 0), text, font_color);
+
+ ofs.y += h;
+ }
+ } else {
+ ofs.y += h;
+ }
+
+ Ref<StyleBox> pg_bg = get_stylebox("bg", "ProgressBar");
+ Ref<StyleBox> pg_fill = get_stylebox("fill", "ProgressBar");
+ Rect2 pg_rect(ofs, Size2(w, h));
+
+ bool editable = true;
+ switch (type) {
+ case AnimationTreePlayer::NODE_ANIMATION: {
+
+ Ref<Animation> anim = anim_tree->animation_node_get_animation(p_node);
+ String text;
+ if (anim_tree->animation_node_get_master_animation(p_node) != "")
+ text = anim_tree->animation_node_get_master_animation(p_node);
+ else if (anim.is_null())
+ text = "load...";
+ else
+ text = anim->get_name();
+
+ font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, text, font_color_title);
+
+ } break;
+ case AnimationTreePlayer::NODE_ONESHOT:
+ case AnimationTreePlayer::NODE_MIX:
+ case AnimationTreePlayer::NODE_BLEND2:
+ case AnimationTreePlayer::NODE_BLEND3:
+ case AnimationTreePlayer::NODE_BLEND4:
+ case AnimationTreePlayer::NODE_TIMESCALE:
+ case AnimationTreePlayer::NODE_TRANSITION: {
+
+ font->draw_halign(ci, ofs + ascofs, HALIGN_CENTER, w, "edit...", font_color_title);
+ } break;
+ default: editable = false;
+ }
+
+ if (editable) {
+
+ Ref<Texture> arrow = get_icon("GuiDropdown", "EditorIcons");
+ Point2 arrow_ofs(w - arrow->get_width(), Math::floor((h - arrow->get_height()) / 2));
+ arrow->draw(ci, ofs + arrow_ofs);
+ }
+}
+
+AnimationTreePlayerEditor::ClickType AnimationTreePlayerEditor::_locate_click(const Point2 &p_click, StringName *p_node_id, int *p_slot_index) const {
+
+ Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
+ Ref<Font> font = get_font("font", "PopupMenu");
+
+ float h = (font->get_height() + get_constant("vseparation", "PopupMenu"));
+
+ for (const List<StringName>::Element *E = order.back(); E; E = E->prev()) {
+
+ StringName node = E->get();
+
+ AnimationTreePlayer::NodeType type = anim_tree->node_get_type(node);
+
+ Point2 pos = anim_tree->node_get_position(node);
+ Size2 size = get_node_size(node);
+
+ pos -= Point2(h_scroll->get_value(), v_scroll->get_value());
+
+ if (!Rect2(pos, size).has_point(p_click))
+ continue;
+
+ if (p_node_id)
+ *p_node_id = node;
+
+ pos = p_click - pos;
+
+ float y = pos.y - style->get_offset().height;
+
+ if (y < 2 * h)
+ return CLICK_NODE;
+ y -= 2 * h;
+
+ int inputs = anim_tree->node_get_input_count(node);
+ int count = MAX(inputs, 1);
+
+ if (inputs == 0 || (pos.x > size.width / 2 && type != AnimationTreePlayer::NODE_OUTPUT)) {
+
+ if (y < count * h) {
+
+ if (p_slot_index)
+ *p_slot_index = 0;
+ return CLICK_OUTPUT_SLOT;
+ }
+ }
+
+ for (int i = 0; i < count; i++) {
+
+ if (y < h) {
+ if (p_slot_index)
+ *p_slot_index = i;
+ return CLICK_INPUT_SLOT;
+ }
+ y -= h;
+ }
+
+ bool has_parameters = type != AnimationTreePlayer::NODE_OUTPUT && type != AnimationTreePlayer::NODE_TIMESEEK;
+ return has_parameters ? CLICK_PARAMETER : CLICK_NODE;
+ }
+
+ return CLICK_NONE;
+}
+
+Point2 AnimationTreePlayerEditor::_get_slot_pos(const StringName &p_node_id, bool p_input, int p_slot) {
+
+ Ref<StyleBox> style = get_stylebox("panel", "PopupMenu");
+ Ref<Font> font = get_font("font", "PopupMenu");
+ Ref<Texture> slot_icon = get_icon("VisualShaderPort", "EditorIcons");
+
+ Size2 size = get_node_size(p_node_id);
+ Point2 pos = anim_tree->node_get_position(p_node_id);
+
+ if (click_type == CLICK_NODE && click_node == p_node_id) {
+
+ pos += click_motion - click_pos;
+ if (pos.x < 5)
+ pos.x = 5;
+ if (pos.y < 5)
+ pos.y = 5;
+ }
+
+ pos -= Point2(h_scroll->get_value(), v_scroll->get_value());
+
+ float w = size.width - style->get_minimum_size().width;
+ float h = font->get_height() + get_constant("vseparation", "PopupMenu");
+
+ pos += style->get_offset();
+
+ pos.y += h * 2;
+
+ pos.y += h * p_slot;
+
+ pos += Point2(-slot_icon->get_width() / 2.0, h / 2.0).floor();
+
+ if (!p_input) {
+ pos.x += w + slot_icon->get_width();
+ }
+
+ return pos;
+}
+
+void AnimationTreePlayerEditor::_gui_input(Ref<InputEvent> p_event) {
+
+ Ref<InputEventMouseButton> mb = p_event;
+
+ if (mb.is_valid()) {
+
+ if (mb->is_pressed()) {
+
+ if (mb->get_button_index() == 1) {
+ click_pos = Point2(mb->get_position().x, mb->get_position().y);
+ click_motion = click_pos;
+ click_type = _locate_click(click_pos, &click_node, &click_slot);
+ if (click_type != CLICK_NONE) {
+
+ order.erase(click_node);
+ order.push_back(click_node);
+ update();
+ }
+
+ switch (click_type) {
+ case CLICK_INPUT_SLOT: {
+ click_pos = _get_slot_pos(click_node, true, click_slot);
+ } break;
+ case CLICK_OUTPUT_SLOT: {
+ click_pos = _get_slot_pos(click_node, false, click_slot);
+ } break;
+ case CLICK_PARAMETER: {
+
+ edited_node = click_node;
+ renaming_edit = false;
+ _popup_edit_dialog();
+ //open editor
+ //_node_edit_property(click_node);
+ } break;
+ default: {}
+ }
+ }
+ if (mb->get_button_index() == 2) {
+
+ if (click_type != CLICK_NONE) {
+ click_type = CLICK_NONE;
+ update();
+ } else {
+ // try to disconnect/remove
+
+ Point2 rclick_pos = Point2(mb->get_position().x, mb->get_position().y);
+ rclick_type = _locate_click(rclick_pos, &rclick_node, &rclick_slot);
+ if (rclick_type == CLICK_INPUT_SLOT || rclick_type == CLICK_OUTPUT_SLOT) {
+
+ node_popup->clear();
+ node_popup->set_size(Size2(1, 1));
+ node_popup->add_item(TTR("Disconnect"), NODE_DISCONNECT);
+ if (anim_tree->node_get_type(rclick_node) == AnimationTreePlayer::NODE_TRANSITION) {
+ node_popup->add_item(TTR("Add Input"), NODE_ADD_INPUT);
+ if (rclick_type == CLICK_INPUT_SLOT) {
+ if (anim_tree->transition_node_has_input_auto_advance(rclick_node, rclick_slot))
+ node_popup->add_item(TTR("Clear Auto-Advance"), NODE_CLEAR_AUTOADVANCE);
+ else
+ node_popup->add_item(TTR("Set Auto-Advance"), NODE_SET_AUTOADVANCE);
+ node_popup->add_item(TTR("Delete Input"), NODE_DELETE_INPUT);
+ }
+ }
+
+ node_popup->set_position(rclick_pos + get_global_position());
+ node_popup->popup();
+ }
+
+ if (rclick_type == CLICK_NODE) {
+ node_popup->clear();
+ node_popup->set_size(Size2(1, 1));
+ node_popup->add_item(TTR("Rename"), NODE_RENAME);
+ node_popup->add_item(TTR("Remove"), NODE_ERASE);
+ if (anim_tree->node_get_type(rclick_node) == AnimationTreePlayer::NODE_TRANSITION)
+ node_popup->add_item(TTR("Add Input"), NODE_ADD_INPUT);
+ node_popup->set_position(rclick_pos + get_global_position());
+ node_popup->popup();
+ }
+ }
+ }
+ } else {
+
+ if (mb->get_button_index() == 1 && click_type != CLICK_NONE) {
+
+ switch (click_type) {
+ case CLICK_INPUT_SLOT:
+ case CLICK_OUTPUT_SLOT: {
+
+ Point2 dst_click_pos = Point2(mb->get_position().x, mb->get_position().y);
+ StringName id;
+ int slot;
+ ClickType dst_click_type = _locate_click(dst_click_pos, &id, &slot);
+
+ if (dst_click_type == CLICK_INPUT_SLOT && click_type == CLICK_OUTPUT_SLOT) {
+
+ anim_tree->connect_nodes(click_node, id, slot);
+ }
+ if (click_type == CLICK_INPUT_SLOT && dst_click_type == CLICK_OUTPUT_SLOT) {
+
+ anim_tree->connect_nodes(id, click_node, click_slot);
+ }
+
+ } break;
+ case CLICK_NODE: {
+ Point2 new_pos = anim_tree->node_get_position(click_node) + (click_motion - click_pos);
+ if (new_pos.x < 5)
+ new_pos.x = 5;
+ if (new_pos.y < 5)
+ new_pos.y = 5;
+ anim_tree->node_set_position(click_node, new_pos);
+
+ } break;
+ default: {}
+ }
+
+ click_type = CLICK_NONE;
+ update();
+ }
+ }
+ }
+
+ Ref<InputEventMouseMotion> mm = p_event;
+
+ if (mm.is_valid()) {
+
+ if (mm->get_button_mask() & 1 && click_type != CLICK_NONE) {
+
+ click_motion = Point2(mm->get_position().x, mm->get_position().y);
+ update();
+ }
+ if ((mm->get_button_mask() & 4 || Input::get_singleton()->is_key_pressed(KEY_SPACE))) {
+
+ h_scroll->set_value(h_scroll->get_value() - mm->get_relative().x);
+ v_scroll->set_value(v_scroll->get_value() - mm->get_relative().y);
+ update();
+ }
+ }
+}
+
+void AnimationTreePlayerEditor::_draw_cos_line(const Vector2 &p_from, const Vector2 &p_to, const Color &p_color) {
+
+ static const int steps = 20;
+
+ Rect2 r;
+ r.position = p_from;
+ r.expand_to(p_to);
+ Vector2 sign = Vector2((p_from.x < p_to.x) ? 1 : -1, (p_from.y < p_to.y) ? 1 : -1);
+ bool flip = sign.x * sign.y < 0;
+
+ Vector2 prev;
+ for (int i = 0; i <= steps; i++) {
+
+ float d = i / float(steps);
+ float c = -Math::cos(d * Math_PI) * 0.5 + 0.5;
+ if (flip)
+ c = 1.0 - c;
+ Vector2 p = r.position + Vector2(d * r.size.width, c * r.size.height);
+
+ if (i > 0) {
+
+ draw_line(prev, p, p_color, 2);
+ }
+
+ prev = p;
+ }
+}
+
+void AnimationTreePlayerEditor::_notification(int p_what) {
+
+ switch (p_what) {
+
+ case NOTIFICATION_ENTER_TREE: {
+
+ play_button->set_icon(get_icon("Play", "EditorIcons"));
+ add_menu->set_icon(get_icon("Add", "EditorIcons"));
+ } break;
+ case NOTIFICATION_DRAW: {
+
+ _update_scrollbars();
+ //VisualServer::get_singleton()->canvas_item_add_rect(get_canvas_item(),Rect2(Point2(),get_size()),Color(0,0,0,1));
+ get_stylebox("bg", "Tree")->draw(get_canvas_item(), Rect2(Point2(), get_size()));
+
+ for (List<StringName>::Element *E = order.front(); E; E = E->next()) {
+
+ _draw_node(E->get());
+ }
+
+ if (click_type == CLICK_INPUT_SLOT || click_type == CLICK_OUTPUT_SLOT) {
+
+ _draw_cos_line(click_pos, click_motion, Color(0.5, 1, 0.5, 0.8));
+ }
+
+ List<AnimationTreePlayer::Connection> connections;
+ anim_tree->get_connection_list(&connections);
+
+ for (List<AnimationTreePlayer::Connection>::Element *E = connections.front(); E; E = E->next()) {
+
+ const AnimationTreePlayer::Connection &c = E->get();
+ Point2 source = _get_slot_pos(c.src_node, false, 0);
+ Point2 dest = _get_slot_pos(c.dst_node, true, c.dst_input);
+ Color col = Color(1, 1, 0.5, 0.8);
+ /*
+ if (click_type==CLICK_NODE && click_node==c.src_node) {
+
+ source+=click_motion-click_pos;
+ }
+
+ if (click_type==CLICK_NODE && click_node==c.dst_node) {
+
+ dest+=click_motion-click_pos;
+ }*/
+
+ _draw_cos_line(source, dest, col);
+ }
+
+ switch (anim_tree->get_last_error()) {
+
+ case AnimationTreePlayer::CONNECT_OK: {
+
+ Ref<Font> f = get_font("font", "Label");
+ f->draw(get_canvas_item(), Point2(5, 25 + f->get_ascent()), TTR("Animation tree is valid."), Color(0, 1, 0.6, 0.8));
+ } break;
+ default: {
+
+ Ref<Font> f = get_font("font", "Label");
+ f->draw(get_canvas_item(), Point2(5, 25 + f->get_ascent()), TTR("Animation tree is invalid."), Color(1, 0.6, 0.0, 0.8));
+ } break;
+ }
+
+ } break;
+ }
+}
+
+void AnimationTreePlayerEditor::_update_scrollbars() {
+
+ Size2 size = get_size();
+ Size2 hmin = h_scroll->get_combined_minimum_size();
+ Size2 vmin = v_scroll->get_combined_minimum_size();
+
+ v_scroll->set_begin(Point2(size.width - vmin.width, 0));
+ v_scroll->set_end(Point2(size.width, size.height));
+
+ h_scroll->set_begin(Point2(0, size.height - hmin.height));
+ h_scroll->set_end(Point2(size.width - vmin.width, size.height));
+
+ Size2 min = _get_maximum_size();
+
+ if (min.height < size.height - hmin.height) {
+
+ v_scroll->hide();
+ offset.y = 0;
+ } else {
+
+ v_scroll->show();
+ v_scroll->set_max(min.height);
+ v_scroll->set_page(size.height - hmin.height);
+ offset.y = v_scroll->get_value();
+ }
+
+ if (min.width < size.width - vmin.width) {
+
+ h_scroll->hide();
+ offset.x = 0;
+ } else {
+
+ h_scroll->show();
+ h_scroll->set_max(min.width);
+ h_scroll->set_page(size.width - vmin.width);
+ offset.x = h_scroll->get_value();
+ }
+}
+
+void AnimationTreePlayerEditor::_scroll_moved(float) {
+
+ offset.x = h_scroll->get_value();
+ offset.y = v_scroll->get_value();
+ update();
+}
+
+void AnimationTreePlayerEditor::_node_menu_item(int p_item) {
+
+ switch (p_item) {
+
+ case NODE_DISCONNECT: {
+
+ if (rclick_type == CLICK_INPUT_SLOT) {
+
+ anim_tree->disconnect_nodes(rclick_node, rclick_slot);
+ update();
+ }
+
+ if (rclick_type == CLICK_OUTPUT_SLOT) {
+
+ List<AnimationTreePlayer::Connection> connections;
+ anim_tree->get_connection_list(&connections);
+
+ for (List<AnimationTreePlayer::Connection>::Element *E = connections.front(); E; E = E->next()) {
+
+ const AnimationTreePlayer::Connection &c = E->get();
+ if (c.dst_node == rclick_node) {
+
+ anim_tree->disconnect_nodes(c.dst_node, c.dst_input);
+ }
+ }
+ update();
+ }
+
+ } break;
+ case NODE_RENAME: {
+
+ renaming_edit = true;
+ edited_node = rclick_node;
+ _popup_edit_dialog();
+
+ } break;
+ case NODE_ADD_INPUT: {
+
+ anim_tree->transition_node_set_input_count(rclick_node, anim_tree->transition_node_get_input_count(rclick_node) + 1);
+ update();
+ } break;
+ case NODE_DELETE_INPUT: {
+
+ anim_tree->transition_node_delete_input(rclick_node, rclick_slot);
+ update();
+ } break;
+ case NODE_SET_AUTOADVANCE: {
+
+ anim_tree->transition_node_set_input_auto_advance(rclick_node, rclick_slot, true);
+ update();
+
+ } break;
+ case NODE_CLEAR_AUTOADVANCE: {
+
+ anim_tree->transition_node_set_input_auto_advance(rclick_node, rclick_slot, false);
+ update();
+
+ } break;
+
+ case NODE_ERASE: {
+
+ if (rclick_node == "out")
+ break;
+ order.erase(rclick_node);
+ anim_tree->remove_node(rclick_node);
+ update();
+ } break;
+ }
+}
+
+StringName AnimationTreePlayerEditor::_add_node(int p_item) {
+
+ static const char *bname[] = {
+ "out",
+ "anim",
+ "oneshot",
+ "mix",
+ "blend2",
+ "blend3",
+ "blend4",
+ "scale",
+ "seek",
+ "transition"
+ };
+
+ String name;
+ int idx = 1;
+
+ while (true) {
+
+ name = bname[p_item];
+ if (idx > 1)
+ name += " " + itos(idx);
+ if (anim_tree->node_exists(name))
+ idx++;
+ else
+ break;
+ }
+
+ anim_tree->add_node((AnimationTreePlayer::NodeType)p_item, name);
+ anim_tree->node_set_position(name, Point2(last_x, last_y));
+ order.push_back(name);
+ last_x += 10;
+ last_y += 10;
+ last_x = last_x % (int)get_size().width;
+ last_y = last_y % (int)get_size().height;
+ update();
+
+ return name;
+};
+
+void AnimationTreePlayerEditor::_file_dialog_selected(String p_path) {
+
+ switch (file_op) {
+
+ case MENU_IMPORT_ANIMATIONS: {
+ Vector<String> files = file_dialog->get_selected_files();
+
+ for (int i = 0; i < files.size(); i++) {
+
+ StringName node = _add_node(AnimationTreePlayer::NODE_ANIMATION);
+
+ RES anim = ResourceLoader::load(files[i]);
+ anim_tree->animation_node_set_animation(node, anim);
+ //anim_tree->node_set_name(node, files[i].get_file());
+ };
+ } break;
+
+ default:
+ break;
+ };
+};
+
+void AnimationTreePlayerEditor::_add_menu_item(int p_item) {
+
+ if (p_item == MENU_GRAPH_CLEAR) {
+
+ //clear
+ } else if (p_item == MENU_IMPORT_ANIMATIONS) {
+
+ file_op = MENU_IMPORT_ANIMATIONS;
+ file_dialog->set_mode(EditorFileDialog::MODE_OPEN_FILE);
+ file_dialog->popup_centered_ratio();
+
+ } else {
+
+ _add_node(p_item);
+ }
+}
+
+Size2 AnimationTreePlayerEditor::get_minimum_size() const {
+
+ return Size2(10, 200);
+}
+
+void AnimationTreePlayerEditor::_find_paths_for_filter(const StringName &p_node, Set<String> &paths) {
+
+ ERR_FAIL_COND(!anim_tree->node_exists(p_node));
+
+ for (int i = 0; i < anim_tree->node_get_input_count(p_node); i++) {
+
+ StringName port = anim_tree->node_get_input_source(p_node, i);
+ if (port == StringName())
+ continue;
+ _find_paths_for_filter(port, paths);
+ }
+
+ if (anim_tree->node_get_type(p_node) == AnimationTreePlayer::NODE_ANIMATION) {
+
+ Ref<Animation> anim = anim_tree->animation_node_get_animation(p_node);
+ if (anim.is_valid()) {
+
+ for (int i = 0; i < anim->get_track_count(); i++) {
+ paths.insert(anim->track_get_path(i));
+ }
+ }
+ }
+}
+
+void AnimationTreePlayerEditor::_filter_edited() {
+
+ TreeItem *ed = filter->get_edited();
+ if (!ed)
+ return;
+
+ if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ONESHOT) {
+ anim_tree->oneshot_node_set_filter_path(edited_node, ed->get_metadata(0), ed->is_checked(0));
+ } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_BLEND2) {
+ anim_tree->blend2_node_set_filter_path(edited_node, ed->get_metadata(0), ed->is_checked(0));
+ } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ANIMATION) {
+ anim_tree->animation_node_set_filter_path(edited_node, ed->get_metadata(0), ed->is_checked(0));
+ }
+}
+
+void AnimationTreePlayerEditor::_edit_filters() {
+
+ filter_dialog->popup_centered_ratio();
+ filter->clear();
+
+ Set<String> npb;
+ _find_paths_for_filter(edited_node, npb);
+
+ TreeItem *root = filter->create_item();
+ filter->set_hide_root(true);
+ Map<String, TreeItem *> pm;
+
+ Node *base = anim_tree->get_node(anim_tree->get_base_path());
+
+ for (Set<String>::Element *E = npb.front(); E; E = E->next()) {
+
+ TreeItem *parent = root;
+ String descr = E->get();
+ if (base) {
+ NodePath np = E->get();
+
+ if (np.get_subname_count() == 1) {
+ Node *n = base->get_node(np);
+ Skeleton *s = Object::cast_to<Skeleton>(n);
+ if (s) {
+
+ String skelbase = E->get().substr(0, E->get().find(":"));
+
+ int bidx = s->find_bone(np.get_subname(0));
+
+ if (bidx != -1) {
+ int bparent = s->get_bone_parent(bidx);
+ //
+ if (bparent != -1) {
+
+ String bpn = skelbase + ":" + s->get_bone_name(bparent);
+ if (pm.has(bpn)) {
+ parent = pm[bpn];
+ descr = np.get_subname(0);
+ }
+ } else {
+
+ if (pm.has(skelbase)) {
+ parent = pm[skelbase];
+ }
+ }
+ }
+ }
+ }
+ }
+
+ TreeItem *it = filter->create_item(parent);
+ it->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
+ it->set_text(0, descr);
+ it->set_metadata(0, NodePath(E->get()));
+ it->set_editable(0, true);
+ if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ONESHOT) {
+ it->set_checked(0, anim_tree->oneshot_node_is_path_filtered(edited_node, E->get()));
+ } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_BLEND2) {
+ it->set_checked(0, anim_tree->blend2_node_is_path_filtered(edited_node, E->get()));
+ } else if (anim_tree->node_get_type(edited_node) == AnimationTreePlayer::NODE_ANIMATION) {
+ it->set_checked(0, anim_tree->animation_node_is_path_filtered(edited_node, E->get()));
+ }
+ pm[E->get()] = it;
+ }
+}
+
+void AnimationTreePlayerEditor::_bind_methods() {
+
+ ClassDB::bind_method("_add_menu_item", &AnimationTreePlayerEditor::_add_menu_item);
+ ClassDB::bind_method("_node_menu_item", &AnimationTreePlayerEditor::_node_menu_item);
+ ClassDB::bind_method("_gui_input", &AnimationTreePlayerEditor::_gui_input);
+ //ClassDB::bind_method( "_node_param_changed", &AnimationTreeEditor::_node_param_changed );
+ ClassDB::bind_method("_scroll_moved", &AnimationTreePlayerEditor::_scroll_moved);
+ ClassDB::bind_method("_edit_dialog_changeds", &AnimationTreePlayerEditor::_edit_dialog_changeds);
+ ClassDB::bind_method("_edit_dialog_changede", &AnimationTreePlayerEditor::_edit_dialog_changede);
+ ClassDB::bind_method("_edit_dialog_changedf", &AnimationTreePlayerEditor::_edit_dialog_changedf);
+ ClassDB::bind_method("_edit_dialog_changed", &AnimationTreePlayerEditor::_edit_dialog_changed);
+ ClassDB::bind_method("_edit_dialog_animation_changed", &AnimationTreePlayerEditor::_edit_dialog_animation_changed);
+ ClassDB::bind_method("_edit_dialog_edit_animation", &AnimationTreePlayerEditor::_edit_dialog_edit_animation);
+ ClassDB::bind_method("_play_toggled", &AnimationTreePlayerEditor::_play_toggled);
+ ClassDB::bind_method("_edit_oneshot_start", &AnimationTreePlayerEditor::_edit_oneshot_start);
+ ClassDB::bind_method("_file_dialog_selected", &AnimationTreePlayerEditor::_file_dialog_selected);
+ ClassDB::bind_method("_master_anim_menu_item", &AnimationTreePlayerEditor::_master_anim_menu_item);
+ ClassDB::bind_method("_edit_filters", &AnimationTreePlayerEditor::_edit_filters);
+ ClassDB::bind_method("_filter_edited", &AnimationTreePlayerEditor::_filter_edited);
+}
+
+AnimationTreePlayerEditor::AnimationTreePlayerEditor() {
+
+ set_focus_mode(FOCUS_ALL);
+
+ PopupMenu *p;
+ List<PropertyInfo> defaults;
+
+ add_menu = memnew(MenuButton);
+ //add_menu->set_
+ add_menu->set_position(Point2(0, 0));
+ add_menu->set_size(Point2(25, 15));
+ add_child(add_menu);
+
+ p = add_menu->get_popup();
+ p->add_item(TTR("Animation Node"), AnimationTreePlayer::NODE_ANIMATION);
+ p->add_item(TTR("OneShot Node"), AnimationTreePlayer::NODE_ONESHOT);
+ p->add_item(TTR("Mix Node"), AnimationTreePlayer::NODE_MIX);
+ p->add_item(TTR("Blend2 Node"), AnimationTreePlayer::NODE_BLEND2);
+ p->add_item(TTR("Blend3 Node"), AnimationTreePlayer::NODE_BLEND3);
+ p->add_item(TTR("Blend4 Node"), AnimationTreePlayer::NODE_BLEND4);
+ p->add_item(TTR("TimeScale Node"), AnimationTreePlayer::NODE_TIMESCALE);
+ p->add_item(TTR("TimeSeek Node"), AnimationTreePlayer::NODE_TIMESEEK);
+ p->add_item(TTR("Transition Node"), AnimationTreePlayer::NODE_TRANSITION);
+ p->add_separator();
+ p->add_item(TTR("Import Animations..."), MENU_IMPORT_ANIMATIONS); // wtf
+ p->add_separator();
+ p->add_item(TTR("Clear"), MENU_GRAPH_CLEAR);
+
+ p->connect("id_pressed", this, "_add_menu_item");
+
+ play_button = memnew(Button);
+ play_button->set_position(Point2(25, 0));
+ play_button->set_size(Point2(25, 15));
+ add_child(play_button);
+ play_button->set_toggle_mode(true);
+ play_button->connect("pressed", this, "_play_toggled");
+
+ last_x = 50;
+ last_y = 50;
+
+ property_editor = memnew(CustomPropertyEditor);
+ add_child(property_editor);
+ property_editor->connect("variant_changed", this, "_edit_dialog_animation_changed");
+ property_editor->connect("resource_edit_request", this, "_edit_dialog_edit_animation");
+
+ h_scroll = memnew(HScrollBar);
+ v_scroll = memnew(VScrollBar);
+
+ add_child(h_scroll);
+ add_child(v_scroll);
+
+ h_scroll->connect("value_changed", this, "_scroll_moved");
+ v_scroll->connect("value_changed", this, "_scroll_moved");
+
+ node_popup = memnew(PopupMenu);
+ add_child(node_popup);
+ node_popup->set_as_toplevel(true);
+
+ master_anim_popup = memnew(PopupMenu);
+ add_child(master_anim_popup);
+ master_anim_popup->connect("id_pressed", this, "_master_anim_menu_item");
+
+ node_popup->connect("id_pressed", this, "_node_menu_item");
+
+ updating_edit = false;
+
+ edit_dialog = memnew(PopupPanel);
+ //edit_dialog->get_ok()->hide();
+ //edit_dialog->get_cancel()->hide();
+ add_child(edit_dialog);
+
+ edit_option = memnew(OptionButton);
+ edit_option->set_anchor(MARGIN_RIGHT, ANCHOR_END);
+ edit_option->set_margin(MARGIN_RIGHT, -10);
+ edit_dialog->add_child(edit_option);
+ edit_option->connect("item_selected", this, "_edit_dialog_changedf");
+ edit_option->hide();
+
+ for (int i = 0; i < 2; i++) {
+ edit_scroll[i] = memnew(HSlider);
+ edit_scroll[i]->set_anchor(MARGIN_RIGHT, ANCHOR_END);
+ edit_scroll[i]->set_margin(MARGIN_RIGHT, -10);
+ edit_dialog->add_child(edit_scroll[i]);
+ edit_scroll[i]->hide();
+ edit_scroll[i]->connect("value_changed", this, "_edit_dialog_changedf");
+ }
+ for (int i = 0; i < 4; i++) {
+ edit_line[i] = memnew(LineEdit);
+ edit_line[i]->set_anchor(MARGIN_RIGHT, ANCHOR_END);
+ edit_line[i]->set_margin(MARGIN_RIGHT, -10);
+ edit_dialog->add_child(edit_line[i]);
+ edit_line[i]->hide();
+ edit_line[i]->connect("text_changed", this, "_edit_dialog_changeds");
+ edit_line[i]->connect("text_entered", this, "_edit_dialog_changede");
+ edit_label[i] = memnew(Label);
+ edit_dialog->add_child(edit_label[i]);
+ edit_label[i]->hide();
+ }
+
+ edit_button = memnew(Button);
+ edit_button->set_anchor(MARGIN_RIGHT, ANCHOR_END);
+ edit_button->set_margin(MARGIN_RIGHT, -10);
+ edit_dialog->add_child(edit_button);
+ edit_button->hide();
+ edit_button->connect("pressed", this, "_edit_oneshot_start");
+
+ edit_check = memnew(CheckButton);
+ edit_check->set_anchor(MARGIN_RIGHT, ANCHOR_END);
+ edit_check->set_margin(MARGIN_RIGHT, -10);
+ edit_dialog->add_child(edit_check);
+ edit_check->hide();
+ edit_check->connect("pressed", this, "_edit_dialog_changed");
+
+ file_dialog = memnew(EditorFileDialog);
+ file_dialog->set_enable_multiple_selection(true);
+ file_dialog->set_current_dir(ProjectSettings::get_singleton()->get_resource_path());
+ add_child(file_dialog);
+ file_dialog->connect("file_selected", this, "_file_dialog_selected");
+
+ filter_dialog = memnew(AcceptDialog);
+ filter_dialog->set_title(TTR("Edit Node Filters"));
+ add_child(filter_dialog);
+
+ filter = memnew(Tree);
+ filter_dialog->add_child(filter);
+ //filter_dialog->set_child_rect(filter);
+ filter->connect("item_edited", this, "_filter_edited");
+
+ filter_button = memnew(Button);
+ filter_button->set_anchor(MARGIN_RIGHT, ANCHOR_END);
+ filter_button->set_margin(MARGIN_RIGHT, -10);
+ edit_dialog->add_child(filter_button);
+ filter_button->hide();
+ filter_button->set_text(TTR("Filters..."));
+ filter_button->connect("pressed", this, "_edit_filters");
+
+ set_clip_contents(true);
+}
+
+void AnimationTreePlayerEditorPlugin::edit(Object *p_object) {
+
+ anim_tree_editor->edit(Object::cast_to<AnimationTreePlayer>(p_object));
+}
+
+bool AnimationTreePlayerEditorPlugin::handles(Object *p_object) const {
+
+ return p_object->is_class("AnimationTreePlayer");
+}
+
+void AnimationTreePlayerEditorPlugin::make_visible(bool p_visible) {
+
+ if (p_visible) {
+ //editor->hide_animation_player_editors();
+ //editor->animation_panel_make_visible(true);
+ button->show();
+ editor->make_bottom_panel_item_visible(anim_tree_editor);
+ anim_tree_editor->set_physics_process(true);
+ } else {
+
+ if (anim_tree_editor->is_visible_in_tree())
+ editor->hide_bottom_panel();
+ button->hide();
+ anim_tree_editor->set_physics_process(false);
+ }
+}
+
+AnimationTreePlayerEditorPlugin::AnimationTreePlayerEditorPlugin(EditorNode *p_node) {
+
+ editor = p_node;
+ anim_tree_editor = memnew(AnimationTreePlayerEditor);
+ anim_tree_editor->set_custom_minimum_size(Size2(0, 300));
+
+ button = editor->add_bottom_panel_item(TTR("AnimationTree"), anim_tree_editor);
+ button->hide();
+}
+
+AnimationTreePlayerEditorPlugin::~AnimationTreePlayerEditorPlugin() {
+}
diff --git a/editor/plugins/animation_tree_player_editor_plugin.h b/editor/plugins/animation_tree_player_editor_plugin.h
new file mode 100644
index 0000000000..d1c5f395e4
--- /dev/null
+++ b/editor/plugins/animation_tree_player_editor_plugin.h
@@ -0,0 +1,187 @@
+/*************************************************************************/
+/* animation_tree_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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 ANIMATION_TREE_PLAYER_EDITOR_PLUGIN_H
+#define ANIMATION_TREE_PLAYER_EDITOR_PLUGIN_H
+
+#include "editor/editor_node.h"
+#include "editor/editor_plugin.h"
+#include "editor/property_editor.h"
+#include "scene/animation/animation_tree_player.h"
+#include "scene/gui/button.h"
+#include "scene/gui/popup.h"
+#include "scene/gui/tree.h"
+/**
+ @author Juan Linietsky <reduzio@gmail.com>
+*/
+
+class AnimationTreePlayerEditor : public Control {
+
+ GDCLASS(AnimationTreePlayerEditor, Control);
+
+ static const char *_node_type_names[];
+
+ enum ClickType {
+ CLICK_NONE,
+ CLICK_NAME,
+ CLICK_NODE,
+ CLICK_INPUT_SLOT,
+ CLICK_OUTPUT_SLOT,
+ CLICK_PARAMETER
+ };
+
+ enum {
+
+ MENU_GRAPH_CLEAR = 100,
+ MENU_IMPORT_ANIMATIONS = 101,
+ NODE_DISCONNECT,
+ NODE_RENAME,
+ NODE_ERASE,
+ NODE_ADD_INPUT,
+ NODE_DELETE_INPUT,
+ NODE_SET_AUTOADVANCE,
+ NODE_CLEAR_AUTOADVANCE
+ };
+
+ bool renaming_edit;
+ StringName edited_node;
+ bool updating_edit;
+ Popup *edit_dialog;
+ HSlider *edit_scroll[2];
+ LineEdit *edit_line[4];
+ OptionButton *edit_option;
+ Label *edit_label[4];
+ Button *edit_button;
+ Button *filter_button;
+ CheckButton *edit_check;
+ EditorFileDialog *file_dialog;
+ int file_op;
+
+ void _popup_edit_dialog();
+
+ void _setup_edit_dialog(const StringName &p_node);
+ PopupMenu *master_anim_popup;
+ PopupMenu *node_popup;
+ PopupMenu *add_popup;
+ HScrollBar *h_scroll;
+ VScrollBar *v_scroll;
+ MenuButton *add_menu;
+
+ CustomPropertyEditor *property_editor;
+
+ AnimationTreePlayer *anim_tree;
+ List<StringName> order;
+ Set<StringName> active_nodes;
+
+ int last_x, last_y;
+
+ Point2 offset;
+ ClickType click_type;
+ Point2 click_pos;
+ StringName click_node;
+ int click_slot;
+ Point2 click_motion;
+ ClickType rclick_type;
+ StringName rclick_node;
+ int rclick_slot;
+
+ Button *play_button;
+
+ Size2 _get_maximum_size();
+ Size2 get_node_size(const StringName &p_node) const;
+ void _draw_node(const StringName &p_node);
+
+ AcceptDialog *filter_dialog;
+ Tree *filter;
+
+ void _draw_cos_line(const Vector2 &p_from, const Vector2 &p_to, const Color &p_color);
+ void _update_scrollbars();
+ void _scroll_moved(float);
+ void _play_toggled();
+ /*
+ void _node_param_changed();
+ void _node_add_callback();
+ void _node_add(VisualServer::AnimationTreeNodeType p_type);
+ void _node_edit_property(const StringName& p_node);
+*/
+
+ void _master_anim_menu_item(int p_item);
+ void _node_menu_item(int p_item);
+ void _add_menu_item(int p_item);
+
+ void _filter_edited();
+ void _find_paths_for_filter(const StringName &p_node, Set<String> &paths);
+ void _edit_filters();
+
+ void _edit_oneshot_start();
+ void _edit_dialog_animation_changed();
+ void _edit_dialog_edit_animation();
+ void _edit_dialog_changeds(String);
+ void _edit_dialog_changede(String);
+ void _edit_dialog_changedf(float);
+ void _edit_dialog_changed();
+ void _dialog_changed() const;
+ ClickType _locate_click(const Point2 &p_click, StringName *p_node_id, int *p_slot_index) const;
+ Point2 _get_slot_pos(const StringName &p_node_id, bool p_input, int p_slot);
+
+ StringName _add_node(int p_item);
+ void _file_dialog_selected(String p_path);
+
+protected:
+ void _notification(int p_what);
+ void _gui_input(Ref<InputEvent> p_event);
+ static void _bind_methods();
+
+public:
+ virtual Size2 get_minimum_size() const;
+ void edit(AnimationTreePlayer *p_anim_tree);
+ AnimationTreePlayerEditor();
+};
+
+class AnimationTreePlayerEditorPlugin : public EditorPlugin {
+
+ GDCLASS(AnimationTreePlayerEditorPlugin, EditorPlugin);
+
+ AnimationTreePlayerEditor *anim_tree_editor;
+ EditorNode *editor;
+ Button *button;
+
+public:
+ virtual String get_name() const { return "AnimTree"; }
+ bool has_main_screen() const { return false; }
+ virtual void edit(Object *p_object);
+ virtual bool handles(Object *p_object) const;
+ virtual void make_visible(bool p_visible);
+
+ AnimationTreePlayerEditorPlugin(EditorNode *p_node);
+ ~AnimationTreePlayerEditorPlugin();
+};
+
+#endif // ANIMATION_TREE_EDITOR_PLUGIN_H
diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp
index 4ed2b051aa..66770d98e5 100644
--- a/editor/plugins/asset_library_editor_plugin.cpp
+++ b/editor/plugins/asset_library_editor_plugin.cpp
@@ -421,7 +421,16 @@ void EditorAssetLibraryItemDownload::_notification(int p_what) {
int cstatus = download->get_http_client_status();
if (cstatus == HTTPClient::STATUS_BODY) {
- status->set_text(vformat(TTR("Downloading (%s / %s)..."), String::humanize_size(download->get_downloaded_bytes()), String::humanize_size(download->get_body_size())));
+ if (download->get_body_size() > 0) {
+ status->set_text(
+ vformat(
+ TTR("Downloading (%s / %s)..."),
+ String::humanize_size(download->get_downloaded_bytes()),
+ String::humanize_size(download->get_body_size())));
+ } else {
+ // Total file size is unknown, so it cannot be displayed
+ status->set_text(TTR("Downloading..."));
+ }
}
if (cstatus != prev_status) {
diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp
index 145a2ef9bb..72248b62a3 100644
--- a/editor/plugins/canvas_item_editor_plugin.cpp
+++ b/editor/plugins/canvas_item_editor_plugin.cpp
@@ -2276,14 +2276,14 @@ void CanvasItemEditor::_draw_grid() {
real_grid_offset = grid_offset;
}
- const Color grid_minor_color = get_color("grid_minor_color", "Editor");
+ const Color grid_color = EditorSettings::get_singleton()->get("editors/2d/grid_color");
if (grid_step.x != 0) {
for (int i = 0; i < s.width; i++) {
int cell = Math::fast_ftoi(Math::floor((xform.xform(Vector2(i, 0)).x - real_grid_offset.x) / (grid_step.x * Math::pow(2.0, grid_step_multiplier))));
if (i == 0)
last_cell = cell;
if (last_cell != cell)
- viewport->draw_line(Point2(i, 0), Point2(i, s.height), grid_minor_color);
+ viewport->draw_line(Point2(i, 0), Point2(i, s.height), grid_color);
last_cell = cell;
}
}
@@ -2294,7 +2294,7 @@ void CanvasItemEditor::_draw_grid() {
if (i == 0)
last_cell = cell;
if (last_cell != cell)
- viewport->draw_line(Point2(0, i), Point2(s.width, i), grid_minor_color);
+ viewport->draw_line(Point2(0, i), Point2(s.width, i), grid_color);
last_cell = cell;
}
}
diff --git a/editor/plugins/curve_editor_plugin.cpp b/editor/plugins/curve_editor_plugin.cpp
index 49c54ad67d..f5bdf77973 100644
--- a/editor/plugins/curve_editor_plugin.cpp
+++ b/editor/plugins/curve_editor_plugin.cpp
@@ -616,8 +616,8 @@ void CurveEditor::_draw() {
Vector2 min_edge = get_world_pos(Vector2(0, view_size.y));
Vector2 max_edge = get_world_pos(Vector2(view_size.x, 0));
- const Color grid_color0 = get_color("grid_major_color", "Editor");
- const Color grid_color1 = get_color("grid_minor_color", "Editor");
+ const Color grid_color0 = Color(1.0, 1.0, 1.0, 0.15);
+ const Color grid_color1 = Color(1.0, 1.0, 1.0, 0.07);
draw_line(Vector2(min_edge.x, curve.get_min_value()), Vector2(max_edge.x, curve.get_min_value()), grid_color0);
draw_line(Vector2(max_edge.x, curve.get_max_value()), Vector2(min_edge.x, curve.get_max_value()), grid_color0);
draw_line(Vector2(0, min_edge.y), Vector2(0, max_edge.y), grid_color0);
diff --git a/editor/plugins/mesh_editor_plugin.cpp b/editor/plugins/mesh_editor_plugin.cpp
index ea8f921034..7b7e23531a 100644
--- a/editor/plugins/mesh_editor_plugin.cpp
+++ b/editor/plugins/mesh_editor_plugin.cpp
@@ -97,13 +97,11 @@ void MeshEditor::edit(Ref<Mesh> p_mesh) {
_update_rotation();
AABB aabb = mesh->get_aabb();
- print_line("aabb: " + aabb);
Vector3 ofs = aabb.position + aabb.size * 0.5;
float m = aabb.get_longest_axis_size();
if (m != 0) {
m = 1.0 / m;
m *= 0.5;
- //print_line("scale: "+rtos(m));
Transform xform;
xform.basis.scale(Vector3(m, m, m));
xform.origin = -xform.basis.xform(ofs); //-ofs*m;
diff --git a/editor/plugins/cube_grid_theme_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp
index 68d5ea5247..c24c96bdc5 100644
--- a/editor/plugins/cube_grid_theme_editor_plugin.cpp
+++ b/editor/plugins/mesh_library_editor_plugin.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* cube_grid_theme_editor_plugin.cpp */
+/* mesh_library_editor_plugin.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,7 +28,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "cube_grid_theme_editor_plugin.h"
+#include "mesh_library_editor_plugin.h"
#include "editor/editor_node.h"
#include "editor/editor_settings.h"
@@ -38,12 +38,13 @@
#include "scene/3d/physics_body.h"
#include "scene/main/viewport.h"
#include "scene/resources/packed_scene.h"
+#include "spatial_editor_plugin.h"
-void MeshLibraryEditor::edit(const Ref<MeshLibrary> &p_theme) {
+void MeshLibraryEditor::edit(const Ref<MeshLibrary> &p_mesh_library) {
- theme = p_theme;
- if (theme.is_valid())
- menu->get_popup()->set_item_disabled(menu->get_popup()->get_item_index(MENU_OPTION_UPDATE_FROM_SCENE), !theme->has_meta("_editor_source_scene"));
+ mesh_library = p_mesh_library;
+ if (mesh_library.is_valid())
+ menu->get_popup()->set_item_disabled(menu->get_popup()->get_item_index(MENU_OPTION_UPDATE_FROM_SCENE), !mesh_library->has_meta("_editor_source_scene"));
}
void MeshLibraryEditor::_menu_confirm() {
@@ -52,10 +53,10 @@ void MeshLibraryEditor::_menu_confirm() {
case MENU_OPTION_REMOVE_ITEM: {
- theme->remove_item(to_erase);
+ mesh_library->remove_item(to_erase);
} break;
case MENU_OPTION_UPDATE_FROM_SCENE: {
- String existing = theme->get_meta("_editor_source_scene");
+ String existing = mesh_library->get_meta("_editor_source_scene");
ERR_FAIL_COND(existing == "");
_import_scene_cbk(existing);
@@ -168,16 +169,14 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library,
void MeshLibraryEditor::_import_scene_cbk(const String &p_str) {
- print_line("Impot Callback!");
-
Ref<PackedScene> ps = ResourceLoader::load(p_str, "PackedScene");
ERR_FAIL_COND(ps.is_null());
Node *scene = ps->instance();
- _import_scene(scene, theme, option == MENU_OPTION_UPDATE_FROM_SCENE);
+ _import_scene(scene, mesh_library, option == MENU_OPTION_UPDATE_FROM_SCENE);
memdelete(scene);
- theme->set_meta("_editor_source_scene", p_str);
+ mesh_library->set_meta("_editor_source_scene", p_str);
menu->get_popup()->set_item_disabled(menu->get_popup()->get_item_index(MENU_OPTION_UPDATE_FROM_SCENE), false);
}
@@ -194,7 +193,7 @@ void MeshLibraryEditor::_menu_cbk(int p_option) {
case MENU_OPTION_ADD_ITEM: {
- theme->create_item(theme->get_last_unused_item_id());
+ mesh_library->create_item(mesh_library->get_last_unused_item_id());
} break;
case MENU_OPTION_REMOVE_ITEM: {
@@ -212,7 +211,7 @@ void MeshLibraryEditor::_menu_cbk(int p_option) {
} break;
case MENU_OPTION_UPDATE_FROM_SCENE: {
- cd->set_text("Update from existing scene?:\n" + String(theme->get_meta("_editor_source_scene")));
+ cd->set_text("Update from existing scene?:\n" + String(mesh_library->get_meta("_editor_source_scene")));
cd->popup_centered(Size2(500, 60));
} break;
}
@@ -241,21 +240,20 @@ MeshLibraryEditor::MeshLibraryEditor(EditorNode *p_editor) {
add_child(file);
file->connect("file_selected", this, "_import_scene_cbk");
- Panel *panel = memnew(Panel);
- panel->set_anchors_and_margins_preset(Control::PRESET_WIDE);
- add_child(panel);
- MenuButton *options = memnew(MenuButton);
- panel->add_child(options);
- options->set_position(Point2(1, 1));
- options->set_text("Theme");
- options->get_popup()->add_item(TTR("Add Item"), MENU_OPTION_ADD_ITEM);
- options->get_popup()->add_item(TTR("Remove Selected Item"), MENU_OPTION_REMOVE_ITEM);
- options->get_popup()->add_separator();
- options->get_popup()->add_item(TTR("Import from Scene"), MENU_OPTION_IMPORT_FROM_SCENE);
- options->get_popup()->add_item(TTR("Update from Scene"), MENU_OPTION_UPDATE_FROM_SCENE);
- options->get_popup()->set_item_disabled(options->get_popup()->get_item_index(MENU_OPTION_UPDATE_FROM_SCENE), true);
- options->get_popup()->connect("id_pressed", this, "_menu_cbk");
- menu = options;
+ menu = memnew(MenuButton);
+ SpatialEditor::get_singleton()->add_control_to_menu_panel(menu);
+ menu->set_position(Point2(1, 1));
+ menu->set_text("Mesh Library");
+ menu->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("MeshLibrary", "EditorIcons"));
+ menu->get_popup()->add_item(TTR("Add Item"), MENU_OPTION_ADD_ITEM);
+ menu->get_popup()->add_item(TTR("Remove Selected Item"), MENU_OPTION_REMOVE_ITEM);
+ menu->get_popup()->add_separator();
+ menu->get_popup()->add_item(TTR("Import from Scene"), MENU_OPTION_IMPORT_FROM_SCENE);
+ menu->get_popup()->add_item(TTR("Update from Scene"), MENU_OPTION_UPDATE_FROM_SCENE);
+ menu->get_popup()->set_item_disabled(menu->get_popup()->get_item_index(MENU_OPTION_UPDATE_FROM_SCENE), true);
+ menu->get_popup()->connect("id_pressed", this, "_menu_cbk");
+ menu->hide();
+
editor = p_editor;
cd = memnew(ConfirmationDialog);
add_child(cd);
@@ -265,10 +263,10 @@ MeshLibraryEditor::MeshLibraryEditor(EditorNode *p_editor) {
void MeshLibraryEditorPlugin::edit(Object *p_node) {
if (Object::cast_to<MeshLibrary>(p_node)) {
- theme_editor->edit(Object::cast_to<MeshLibrary>(p_node));
- theme_editor->show();
+ mesh_library_editor->edit(Object::cast_to<MeshLibrary>(p_node));
+ mesh_library_editor->show();
} else
- theme_editor->hide();
+ mesh_library_editor->hide();
}
bool MeshLibraryEditorPlugin::handles(Object *p_node) const {
@@ -278,19 +276,22 @@ bool MeshLibraryEditorPlugin::handles(Object *p_node) const {
void MeshLibraryEditorPlugin::make_visible(bool p_visible) {
- if (p_visible)
- theme_editor->show();
- else
- theme_editor->hide();
+ if (p_visible) {
+ mesh_library_editor->show();
+ mesh_library_editor->get_menu_button()->show();
+ } else {
+ mesh_library_editor->hide();
+ mesh_library_editor->get_menu_button()->hide();
+ }
}
MeshLibraryEditorPlugin::MeshLibraryEditorPlugin(EditorNode *p_node) {
EDITOR_DEF("editors/grid_map/preview_size", 64);
- theme_editor = memnew(MeshLibraryEditor(p_node));
+ mesh_library_editor = memnew(MeshLibraryEditor(p_node));
- p_node->get_viewport()->add_child(theme_editor);
- theme_editor->set_anchors_and_margins_preset(Control::PRESET_TOP_WIDE);
- theme_editor->set_end(Point2(0, 22));
- theme_editor->hide();
+ p_node->get_viewport()->add_child(mesh_library_editor);
+ mesh_library_editor->set_anchors_and_margins_preset(Control::PRESET_TOP_WIDE);
+ mesh_library_editor->set_end(Point2(0, 22));
+ mesh_library_editor->hide();
}
diff --git a/editor/plugins/cube_grid_theme_editor_plugin.h b/editor/plugins/mesh_library_editor_plugin.h
index 36a8f8f203..be33b5324d 100644
--- a/editor/plugins/cube_grid_theme_editor_plugin.h
+++ b/editor/plugins/mesh_library_editor_plugin.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* cube_grid_theme_editor_plugin.h */
+/* mesh_library_editor_plugin.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -28,8 +28,8 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#ifndef CUBE_GRID_THEME_EDITOR_PLUGIN_H
-#define CUBE_GRID_THEME_EDITOR_PLUGIN_H
+#ifndef MESH_LIBRARY_EDITOR_PLUGIN_H
+#define MESH_LIBRARY_EDITOR_PLUGIN_H
#include "editor/editor_node.h"
#include "scene/resources/mesh_library.h"
@@ -38,7 +38,7 @@ class MeshLibraryEditor : public Control {
GDCLASS(MeshLibraryEditor, Control);
- Ref<MeshLibrary> theme;
+ Ref<MeshLibrary> mesh_library;
EditorNode *editor;
MenuButton *menu;
@@ -65,7 +65,9 @@ protected:
static void _bind_methods();
public:
- void edit(const Ref<MeshLibrary> &p_theme);
+ MenuButton *get_menu_button() const { return menu; }
+
+ void edit(const Ref<MeshLibrary> &p_mesh_library);
static Error update_library_file(Node *p_base_scene, Ref<MeshLibrary> ml, bool p_merge = true);
MeshLibraryEditor(EditorNode *p_editor);
@@ -75,7 +77,7 @@ class MeshLibraryEditorPlugin : public EditorPlugin {
GDCLASS(MeshLibraryEditorPlugin, EditorPlugin);
- MeshLibraryEditor *theme_editor;
+ MeshLibraryEditor *mesh_library_editor;
EditorNode *editor;
public:
@@ -88,4 +90,4 @@ public:
MeshLibraryEditorPlugin(EditorNode *p_node);
};
-#endif // CUBE_GRID_THEME_EDITOR_PLUGIN_H
+#endif // MESH_LIBRARY_EDITOR_PLUGIN_H
diff --git a/editor/plugins/particles_2d_editor_plugin.cpp b/editor/plugins/particles_2d_editor_plugin.cpp
index b50e0dfe88..75c0127406 100644
--- a/editor/plugins/particles_2d_editor_plugin.cpp
+++ b/editor/plugins/particles_2d_editor_plugin.cpp
@@ -58,8 +58,6 @@ void Particles2DEditorPlugin::make_visible(bool p_visible) {
void Particles2DEditorPlugin::_file_selected(const String &p_file) {
- print_line("file: " + p_file);
-
source_emission_file = p_file;
emission_mask->popup_centered_minsize();
}
diff --git a/editor/plugins/particles_editor_plugin.cpp b/editor/plugins/particles_editor_plugin.cpp
index 6a99dcb9a5..3c381158a4 100644
--- a/editor/plugins/particles_editor_plugin.cpp
+++ b/editor/plugins/particles_editor_plugin.cpp
@@ -262,6 +262,7 @@ void ParticlesEditor::_notification(int p_notification) {
if (p_notification == NOTIFICATION_ENTER_TREE) {
options->set_icon(options->get_popup()->get_icon("Particles", "EditorIcons"));
+ get_tree()->connect("node_removed", this, "_node_removed");
}
}
@@ -444,6 +445,7 @@ void ParticlesEditor::_bind_methods() {
ClassDB::bind_method("_menu_option", &ParticlesEditor::_menu_option);
ClassDB::bind_method("_generate_aabb", &ParticlesEditor::_generate_aabb);
+ ClassDB::bind_method("_node_removed", &ParticlesEditor::_node_removed);
}
ParticlesEditor::ParticlesEditor() {
diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp
index 4840b1899d..a437cd5362 100644
--- a/editor/plugins/polygon_2d_editor_plugin.cpp
+++ b/editor/plugins/polygon_2d_editor_plugin.cpp
@@ -36,6 +36,7 @@
#include "os/input.h"
#include "os/keyboard.h"
#include "scene/2d/skeleton_2d.h"
+
Node2D *Polygon2DEditor::_get_node() const {
return node;
@@ -82,7 +83,6 @@ void Polygon2DEditor::_notification(int p_what) {
void Polygon2DEditor::_sync_bones() {
- print_line("syncinc");
if (!node->has_node(node->get_skeleton())) {
error->set_text(TTR("The skeleton property of the Polygon2D does not point to a Skeleton2D node"));
error->popup_centered_minsize();
@@ -101,8 +101,6 @@ void Polygon2DEditor::_sync_bones() {
Array prev_bones = node->call("_get_bones");
node->clear_bones();
- print_line("bones in skeleton: " + itos(skeleton->get_bone_count()));
-
for (int i = 0; i < skeleton->get_bone_count(); i++) {
NodePath path = skeleton->get_path_to(skeleton->get_bone(i));
PoolVector<float> weights;
diff --git a/editor/plugins/root_motion_editor_plugin.cpp b/editor/plugins/root_motion_editor_plugin.cpp
index 89c1b3a978..af3c09afc5 100644
--- a/editor/plugins/root_motion_editor_plugin.cpp
+++ b/editor/plugins/root_motion_editor_plugin.cpp
@@ -276,7 +276,6 @@ void EditorInspectorRootMotionPlugin::parse_begin(Object *p_object) {
bool EditorInspectorRootMotionPlugin::parse_property(Object *p_object, Variant::Type p_type, const String &p_path, PropertyHint p_hint, const String &p_hint_text, int p_usage) {
if (p_path == "root_motion_track" && p_object->is_class("AnimationTree") && p_type == Variant::NODE_PATH) {
- print_line("use custom!");
EditorPropertyRootMotion *editor = memnew(EditorPropertyRootMotion);
if (p_hint == PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE && p_hint_text != String()) {
editor->setup(p_hint_text);
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index 522ce52234..4e7047ee38 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -60,7 +60,6 @@ void ScriptTextEditor::apply_code() {
if (script.is_null())
return;
- //print_line("applying code");
script->set_source_code(code_editor->get_text_edit()->get_text());
script->update_exports();
_update_member_keywords();
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp
index ea1876c27a..5ee40dc90a 100644
--- a/editor/plugins/shader_editor_plugin.cpp
+++ b/editor/plugins/shader_editor_plugin.cpp
@@ -37,7 +37,6 @@
#include "editor/editor_node.h"
#include "editor/editor_settings.h"
#include "editor/property_editor.h"
-#include "scene/resources/shader_graph.h"
#include "servers/visual/shader_types.h"
/*** SHADER SCRIPT EDITOR ****/
@@ -167,7 +166,6 @@ void ShaderTextEditor::_check_shader_mode() {
String type = ShaderLanguage::get_shader_type(get_text_edit()->get_text());
- print_line("type is: " + type);
Shader::Mode mode;
if (type == "canvas_item") {
diff --git a/editor/plugins/shader_graph_editor_plugin.cpp b/editor/plugins/shader_graph_editor_plugin.cpp
deleted file mode 100644
index 1a9d980feb..0000000000
--- a/editor/plugins/shader_graph_editor_plugin.cpp
+++ /dev/null
@@ -1,2932 +0,0 @@
-/*************************************************************************/
-/* shader_graph_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2018 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. */
-/*************************************************************************/
-
-// FIXME: Godot 3.0 broke compatibility with ShaderGraphEditorPlugin,
-// it needs to be ported to the new shader language.
-#if 0
-#include "shader_graph_editor_plugin.h"
-
-#include "canvas_item_editor_plugin.h"
-#include "os/keyboard.h"
-#include "scene/gui/check_box.h"
-#include "scene/gui/menu_button.h"
-#include "scene/gui/panel.h"
-#include "spatial_editor_plugin.h"
-
-void GraphColorRampEdit::_gui_input(const InputEvent& p_event) {
-
- if (p_event.type==InputEvent::KEY && p_event->is_pressed() && p_event->get_scancode()==KEY_DELETE && grabbed!=-1) {
-
- points.remove(grabbed);
- grabbed=-1;
- update();
- emit_signal("ramp_changed");
- accept_event();
- }
-
- if (p_event.type==InputEvent::MOUSE_BUTTON && p_event->get_button_index()==1 && p_event->is_pressed()) {
-
- update();
- int x = p_event->get_position().x;
- int total_w = get_size().width-get_size().height-3;
- if (x>total_w+3) {
-
- if (grabbed==-1)
- return;
- Size2 ms = Size2(350, picker->get_combined_minimum_size().height+10);
- picker->set_color(points[grabbed].color);
- popup->set_position(get_global_position()-Size2(0,ms.height));
- popup->set_size(ms);
- popup->popup();
- return;
- }
-
-
- float ofs = CLAMP(x/float(total_w),0,1);
-
- grabbed=-1;
- grabbing=true;
- int pos=-1;
- for(int i=0;i<points.size();i++) {
-
- if (ABS(x-points[i].offset*total_w)<4) {
- grabbed=i;
- }
- if (points[i].offset<ofs)
- pos=i;
- }
-
- grabbed_at=ofs;
- //grab or select
- if (grabbed!=-1) {
- return;
- }
- //insert
-
-
- Point p;
- p.offset=ofs;
-
- Point prev;
- Point next;
-
- if (pos==-1) {
-
- prev.color=Color(0,0,0);
- prev.offset=0;
- if (points.size()) {
- next=points[0];
- } else {
- next.color=Color(1,1,1);
- next.offset=1.0;
- }
- } else {
-
- if (pos==points.size()-1) {
- next.color=Color(1,1,1);
- next.offset=1.0;
- } else {
- next=points[pos+1];
- }
- prev=points[pos];
-
- }
-
- p.color=prev.color.linear_interpolate(next.color,(p.offset-prev.offset)/(next.offset-prev.offset));
-
- points.push_back(p);
- points.sort();
- for(int i=0;i<points.size();i++) {
- if (points[i].offset==ofs) {
- grabbed=i;
- break;
- }
- }
-
- emit_signal("ramp_changed");
-
- }
-
- if (p_event.type==InputEvent::MOUSE_BUTTON && p_event->get_button_index()==1 && !p_event->is_pressed()) {
-
- if (grabbing) {
- grabbing=false;
- emit_signal("ramp_changed");
- }
- update();
- }
-
- if (p_event.type==InputEvent::MOUSE_MOTION && grabbing) {
-
- int total_w = get_size().width-get_size().height-3;
-
- int x = p_event.mouse_motion.x;
- float newofs = CLAMP(x/float(total_w),0,1);
-
- bool valid=true;
- for(int i=0;i<points.size();i++) {
-
- if (points[i].offset==newofs && i!=grabbed) {
- valid=false;
- }
- }
-
- if (!valid)
- return;
-
- points[grabbed].offset=newofs;
-
- points.sort();
- for(int i=0;i<points.size();i++) {
- if (points[i].offset==newofs) {
- grabbed=i;
- break;
- }
- }
-
- emit_signal("ramp_changed");
-
- update();
- }
-}
-
-void GraphColorRampEdit::_notification(int p_what){
-
- if (p_what==NOTIFICATION_ENTER_TREE) {
- if (!picker->is_connected("color_changed",this,"_color_changed")) {
- picker->connect("color_changed",this,"_color_changed");
- }
- }
- if (p_what==NOTIFICATION_DRAW) {
-
-
- Point prev;
- prev.offset=0;
- prev.color=Color(0,0,0);
-
- int h = get_size().y;
- int total_w = get_size().width-get_size().height-3;
-
- for(int i=-1;i<points.size();i++) {
-
- Point next;
- if (i+1==points.size()) {
- next.color=Color(1,1,1);
- next.offset=1;
- } else {
- next=points[i+1];
- }
-
- if (prev.offset==next.offset) {
- prev=next;
- continue;
- }
-
- Vector<Vector2> points;
- Vector<Color> colors;
- points.push_back(Vector2(prev.offset*total_w,h));
- points.push_back(Vector2(prev.offset*total_w,0));
- points.push_back(Vector2(next.offset*total_w,0));
- points.push_back(Vector2(next.offset*total_w,h));
- colors.push_back(prev.color);
- colors.push_back(prev.color);
- colors.push_back(next.color);
- colors.push_back(next.color);
- draw_primitive(points,colors,Vector<Point2>());
- prev=next;
- }
-
- for(int i=0;i<points.size();i++) {
-
- Color col=i==grabbed?Color(1,0.0,0.0,0.9):Color(1,1,1,0.8);
-
- draw_line(Vector2(points[i].offset*total_w,0),Vector2(points[i].offset*total_w,h-1),Color(0,0,0,0.7));
- draw_line(Vector2(points[i].offset*total_w-1,h/2),Vector2(points[i].offset*total_w-1,h-1),col);
- draw_line(Vector2(points[i].offset*total_w+1,h/2),Vector2(points[i].offset*total_w+1,h-1),col);
- draw_line(Vector2(points[i].offset*total_w-1,h/2),Vector2(points[i].offset*total_w+1,h/2),col);
- draw_line(Vector2(points[i].offset*total_w-1,h-1),Vector2(points[i].offset*total_w+1,h-1),col);
-
- }
-
- if (grabbed!=-1) {
-
- draw_rect(Rect2(total_w+3,0,h,h),points[grabbed].color);
- }
-
- if (has_focus()) {
-
- draw_line(Vector2(-1,-1),Vector2(total_w+1,-1),Color(1,1,1,0.6));
- draw_line(Vector2(total_w+1,-1),Vector2(total_w+1,h+1),Color(1,1,1,0.6));
- draw_line(Vector2(total_w+1,h+1),Vector2(-1,h+1),Color(1,1,1,0.6));
- draw_line(Vector2(-1,-1),Vector2(-1,h+1),Color(1,1,1,0.6));
- }
-
- }
-}
-
-Size2 GraphColorRampEdit::get_minimum_size() const {
-
- return Vector2(0,16);
-}
-
-
-void GraphColorRampEdit::_color_changed(const Color& p_color) {
-
- if (grabbed==-1)
- return;
- points[grabbed].color=p_color;
- update();
- emit_signal("ramp_changed");
-
-}
-
-void GraphColorRampEdit::set_ramp(const Vector<float>& p_offsets,const Vector<Color>& p_colors) {
-
- ERR_FAIL_COND(p_offsets.size()!=p_colors.size());
- points.clear();
- for(int i=0;i<p_offsets.size();i++) {
- Point p;
- p.offset=p_offsets[i];
- p.color=p_colors[i];
- points.push_back(p);
- }
-
- points.sort();
- update();
-}
-
-Vector<float> GraphColorRampEdit::get_offsets() const{
- Vector<float> ret;
- for(int i=0;i<points.size();i++)
- ret.push_back(points[i].offset);
- return ret;
-}
-Vector<Color> GraphColorRampEdit::get_colors() const{
-
- Vector<Color> ret;
- for(int i=0;i<points.size();i++)
- ret.push_back(points[i].color);
- return ret;
-}
-
-
-void GraphColorRampEdit::_bind_methods(){
-
- ClassDB::bind_method(D_METHOD("_gui_input"),&GraphColorRampEdit::_gui_input);
- ClassDB::bind_method(D_METHOD("_color_changed"),&GraphColorRampEdit::_color_changed);
- ADD_SIGNAL(MethodInfo("ramp_changed"));
-}
-
-GraphColorRampEdit::GraphColorRampEdit(){
-
- grabbed=-1;
- grabbing=false;
- set_focus_mode(FOCUS_ALL);
-
- popup = memnew( PopupPanel );
- picker = memnew( ColorPicker );
- popup->add_child(picker);
- /popup->set_child_rect(picker);
- add_child(popup);
-
-}
-////////////
-
-void GraphCurveMapEdit::_gui_input(const InputEvent& p_event) {
-
- if (p_event.type==InputEvent::KEY && p_event->is_pressed() && p_event->get_scancode()==KEY_DELETE && grabbed!=-1) {
-
- points.remove(grabbed);
- grabbed=-1;
- update();
- emit_signal("curve_changed");
- accept_event();
- }
-
- if (p_event.type==InputEvent::MOUSE_BUTTON && p_event->get_button_index()==1 && p_event->is_pressed()) {
-
- update();
- Point2 p = Vector2(p_event->get_position().x,p_event->get_position().y)/get_size();
- p.y=1.0-p.y;
- grabbed=-1;
- grabbing=true;
-
- for(int i=0;i<points.size();i++) {
-
- Vector2 ps = p*get_size();
- Vector2 pt = Vector2(points[i].offset,points[i].height)*get_size();
- if (ps.distance_to(pt)<4) {
- grabbed=i;
- }
-
- }
-
-
- //grab or select
- if (grabbed!=-1) {
- return;
- }
- //insert
-
-
- Point np;
- np.offset=p.x;
- np.height=p.y;
-
- points.push_back(np);
- points.sort();
- for(int i=0;i<points.size();i++) {
- if (points[i].offset==p.x && points[i].height==p.y) {
- grabbed=i;
- break;
- }
- }
-
- emit_signal("curve_changed");
-
- }
-
- if (p_event.type==InputEvent::MOUSE_BUTTON && p_event->get_button_index()==1 && !p_event->is_pressed()) {
-
- if (grabbing) {
- grabbing=false;
- emit_signal("curve_changed");
- }
- update();
- }
-
- if (p_event.type==InputEvent::MOUSE_MOTION && grabbing && grabbed != -1) {
-
- Point2 p = Vector2(p_event->get_position().x,p_event->get_position().y)/get_size();
- p.y=1.0-p.y;
-
- p.x = CLAMP(p.x,0.0,1.0);
- p.y = CLAMP(p.y,0.0,1.0);
-
- bool valid=true;
-
- for(int i=0;i<points.size();i++) {
-
- if (points[i].offset==p.x && points[i].height==p.y && i!=grabbed) {
- valid=false;
- }
- }
-
- if (!valid)
- return;
-
- points[grabbed].offset=p.x;
- points[grabbed].height=p.y;
-
- points.sort();
- for(int i=0;i<points.size();i++) {
- if (points[i].offset==p.x && points[i].height==p.y) {
- grabbed=i;
- break;
- }
- }
-
- emit_signal("curve_changed");
-
- update();
- }
-}
-
-void GraphCurveMapEdit::_plot_curve(const Vector2& p_a,const Vector2& p_b,const Vector2& p_c,const Vector2& p_d) {
-
- float geometry[4][4];
- float tmp1[4][4];
- float tmp2[4][4];
- float deltas[4][4];
- double x, dx, dx2, dx3;
- double y, dy, dy2, dy3;
- double d, d2, d3;
- int lastx, lasty;
- int newx, newy;
- int ntimes;
- int i,j;
-
- int xmax=get_size().x;
- int ymax=get_size().y;
-
- /* construct the geometry matrix from the segment */
- for (i = 0; i < 4; i++) {
- geometry[i][2] = 0;
- geometry[i][3] = 0;
- }
-
- geometry[0][0] = (p_a[0] * xmax);
- geometry[1][0] = (p_b[0] * xmax);
- geometry[2][0] = (p_c[0] * xmax);
- geometry[3][0] = (p_d[0] * xmax);
-
- geometry[0][1] = (p_a[1] * ymax);
- geometry[1][1] = (p_b[1] * ymax);
- geometry[2][1] = (p_c[1] * ymax);
- geometry[3][1] = (p_d[1] * ymax);
-
- /* subdivide the curve ntimes (1000) times */
- ntimes = 4 * xmax;
- /* ntimes can be adjusted to give a finer or coarser curve */
- d = 1.0 / ntimes;
- d2 = d * d;
- d3 = d * d * d;
-
- /* construct a temporary matrix for determining the forward differencing deltas */
- tmp2[0][0] = 0; tmp2[0][1] = 0; tmp2[0][2] = 0; tmp2[0][3] = 1;
- tmp2[1][0] = d3; tmp2[1][1] = d2; tmp2[1][2] = d; tmp2[1][3] = 0;
- tmp2[2][0] = 6*d3; tmp2[2][1] = 2*d2; tmp2[2][2] = 0; tmp2[2][3] = 0;
- tmp2[3][0] = 6*d3; tmp2[3][1] = 0; tmp2[3][2] = 0; tmp2[3][3] = 0;
-
- /* compose the basis and geometry matrices */
-
- static const float CR_basis[4][4] = {
- { -0.5, 1.5, -1.5, 0.5 },
- { 1.0, -2.5, 2.0, -0.5 },
- { -0.5, 0.0, 0.5, 0.0 },
- { 0.0, 1.0, 0.0, 0.0 },
- };
-
- for (i = 0; i < 4; i++)
- {
- for (j = 0; j < 4; j++)
- {
- tmp1[i][j] = (CR_basis[i][0] * geometry[0][j] +
- CR_basis[i][1] * geometry[1][j] +
- CR_basis[i][2] * geometry[2][j] +
- CR_basis[i][3] * geometry[3][j]);
- }
- }
- /* compose the above results to get the deltas matrix */
-
- for (i = 0; i < 4; i++)
- {
- for (j = 0; j < 4; j++)
- {
- deltas[i][j] = (tmp2[i][0] * tmp1[0][j] +
- tmp2[i][1] * tmp1[1][j] +
- tmp2[i][2] * tmp1[2][j] +
- tmp2[i][3] * tmp1[3][j]);
- }
- }
-
-
- /* extract the x deltas */
- x = deltas[0][0];
- dx = deltas[1][0];
- dx2 = deltas[2][0];
- dx3 = deltas[3][0];
-
- /* extract the y deltas */
- y = deltas[0][1];
- dy = deltas[1][1];
- dy2 = deltas[2][1];
- dy3 = deltas[3][1];
-
-
- lastx = CLAMP (x, 0, xmax);
- lasty = CLAMP (y, 0, ymax);
-
- /* if (fix255)
- {
- cd->curve[cd->outline][lastx] = lasty;
- }
- else
- {
- cd->curve_ptr[cd->outline][lastx] = lasty;
- if(gb_debug) printf("bender_plot_curve xmax:%d ymax:%d\n", (int)xmax, (int)ymax);
- }
-*/
- /* loop over the curve */
- for (i = 0; i < ntimes; i++)
- {
- /* increment the x values */
- x += dx;
- dx += dx2;
- dx2 += dx3;
-
- /* increment the y values */
- y += dy;
- dy += dy2;
- dy2 += dy3;
-
- newx = CLAMP ((Math::round (x)), 0, xmax);
- newy = CLAMP ((Math::round (y)), 0, ymax);
-
- /* if this point is different than the last one...then draw it */
- if ((lastx != newx) || (lasty != newy)) {
- draw_line(Vector2(lastx,ymax-lasty),Vector2(newx,ymax-newy),Color(0.8,0.8,0.8,0.8),2.0);
- }
-
- lastx = newx;
- lasty = newy;
- }
-}
-
-
-void GraphCurveMapEdit::_notification(int p_what){
-
- if (p_what==NOTIFICATION_DRAW) {
-
- draw_style_box(get_stylebox("bg","Tree"),Rect2(Point2(),get_size()));
-
- int w = get_size().x;
- int h = get_size().y;
-
- Vector2 prev=Vector2(0,0);
- Vector2 prev2=Vector2(0,0);
-
- for(int i=-1;i<points.size();i++) {
-
- Vector2 next;
- Vector2 next2;
- if (i+1>=points.size()) {
- next=Vector2(1,1);
- } else {
- next=Vector2(points[i+1].offset,points[i+1].height);
- }
-
- if (i+2>=points.size()) {
- next2=Vector2(1,1);
- } else {
- next2=Vector2(points[i+2].offset,points[i+2].height);
- }
-
- /*if (i==-1 && prev.offset==next.offset) {
- prev=next;
- continue;
- }*/
-
- _plot_curve(prev2,prev,next,next2);
-
- prev2=prev;
- prev=next;
- }
-
- for(int i=0;i<points.size();i++) {
-
- Color col=i==grabbed?Color(1,0.0,0.0,0.9):Color(1,1,1,0.8);
-
-
- draw_rect(Rect2( Vector2(points[i].offset,1.0-points[i].height)*get_size()-Vector2(2,2),Vector2(5,5)),col);
- }
-
- /* if (grabbed!=-1) {
-
- draw_rect(Rect2(total_w+3,0,h,h),points[grabbed].color);
- }
-*/
- if (has_focus()) {
-
- draw_line(Vector2(-1,-1),Vector2(w+1,-1),Color(1,1,1,0.6));
- draw_line(Vector2(w+1,-1),Vector2(w+1,h+1),Color(1,1,1,0.6));
- draw_line(Vector2(w+1,h+1),Vector2(-1,h+1),Color(1,1,1,0.6));
- draw_line(Vector2(-1,-1),Vector2(-1,h+1),Color(1,1,1,0.6));
- }
-
- }
-}
-
-Size2 GraphCurveMapEdit::get_minimum_size() const {
-
- return Vector2(64,64);
-}
-
-
-
-void GraphCurveMapEdit::set_points(const Vector<Vector2>& p_points) {
-
-
- points.clear();
- for(int i=0;i<p_points.size();i++) {
- Point p;
- p.offset=p_points[i].x;
- p.height=p_points[i].y;
- points.push_back(p);
- }
-
- points.sort();
- update();
-}
-
-Vector<Vector2> GraphCurveMapEdit::get_points() const {
- Vector<Vector2> ret;
- for(int i=0;i<points.size();i++)
- ret.push_back(Vector2(points[i].offset,points[i].height));
- return ret;
-}
-
-void GraphCurveMapEdit::_bind_methods(){
-
- ClassDB::bind_method(D_METHOD("_gui_input"),&GraphCurveMapEdit::_gui_input);
- ADD_SIGNAL(MethodInfo("curve_changed"));
-}
-
-GraphCurveMapEdit::GraphCurveMapEdit(){
-
- grabbed=-1;
- grabbing=false;
- set_focus_mode(FOCUS_ALL);
-
-}
-
-
-////cbacks
-///
-void ShaderGraphView::_scalar_const_changed(double p_value,int p_id) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Scalar Constant"),UndoRedo::MERGE_ENDS);
- ur->add_do_method(graph.ptr(),"scalar_const_node_set_value",type,p_id,p_value);
- ur->add_undo_method(graph.ptr(),"scalar_const_node_set_value",type,p_id,graph->scalar_const_node_get_value(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-
-void ShaderGraphView::_vec_const_changed(double p_value, int p_id,Array p_arr){
-
- Vector3 val;
- for(int i=0;i<p_arr.size();i++) {
- val[i]=p_arr[i].call("get_val");
- }
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Vec Constant"),UndoRedo::MERGE_ENDS);
- ur->add_do_method(graph.ptr(),"vec_const_node_set_value",type,p_id,val);
- ur->add_undo_method(graph.ptr(),"vec_const_node_set_value",type,p_id,graph->vec_const_node_get_value(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-void ShaderGraphView::_rgb_const_changed(const Color& p_color, int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change RGB Constant"),UndoRedo::MERGE_ENDS);
- ur->add_do_method(graph.ptr(),"rgb_const_node_set_value",type,p_id,p_color);
- ur->add_undo_method(graph.ptr(),"rgb_const_node_set_value",type,p_id,graph->rgb_const_node_get_value(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-void ShaderGraphView::_scalar_op_changed(int p_op, int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Scalar Operator"));
- ur->add_do_method(graph.ptr(),"scalar_op_node_set_op",type,p_id,p_op);
- ur->add_undo_method(graph.ptr(),"scalar_op_node_set_op",type,p_id,graph->scalar_op_node_get_op(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-void ShaderGraphView::_vec_op_changed(int p_op, int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Vec Operator"));
- ur->add_do_method(graph.ptr(),"vec_op_node_set_op",type,p_id,p_op);
- ur->add_undo_method(graph.ptr(),"vec_op_node_set_op",type,p_id,graph->vec_op_node_get_op(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-void ShaderGraphView::_vec_scalar_op_changed(int p_op, int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Vec Scalar Operator"));
- ur->add_do_method(graph.ptr(),"vec_scalar_op_node_set_op",type,p_id,p_op);
- ur->add_undo_method(graph.ptr(),"vec_scalar_op_node_set_op",type,p_id,graph->vec_scalar_op_node_get_op(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-void ShaderGraphView::_rgb_op_changed(int p_op, int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change RGB Operator"));
- ur->add_do_method(graph.ptr(),"rgb_op_node_set_op",type,p_id,p_op);
- ur->add_undo_method(graph.ptr(),"rgb_op_node_set_op",type,p_id,graph->rgb_op_node_get_op(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-void ShaderGraphView::_xform_inv_rev_changed(bool p_enabled, int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Toggle Rot Only"));
- ur->add_do_method(graph.ptr(),"xform_vec_mult_node_set_no_translation",type,p_id,p_enabled);
- ur->add_undo_method(graph.ptr(),"xform_vec_mult_node_set_no_translation",type,p_id,graph->xform_vec_mult_node_get_no_translation(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-void ShaderGraphView::_scalar_func_changed(int p_func, int p_id){
-
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Scalar Function"));
- ur->add_do_method(graph.ptr(),"scalar_func_node_set_function",type,p_id,p_func);
- ur->add_undo_method(graph.ptr(),"scalar_func_node_set_function",type,p_id,graph->scalar_func_node_get_function(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-void ShaderGraphView::_vec_func_changed(int p_func, int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Vec Function"));
- ur->add_do_method(graph.ptr(),"vec_func_node_set_function",type,p_id,p_func);
- ur->add_undo_method(graph.ptr(),"vec_func_node_set_function",type,p_id,graph->vec_func_node_get_function(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-void ShaderGraphView::_scalar_input_changed(double p_value,int p_id){
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Scalar Uniform"),UndoRedo::MERGE_ENDS);
- ur->add_do_method(graph.ptr(),"scalar_input_node_set_value",type,p_id,p_value);
- ur->add_undo_method(graph.ptr(),"scalar_input_node_set_value",type,p_id,graph->scalar_input_node_get_value(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-void ShaderGraphView::_vec_input_changed(double p_value, int p_id,Array p_arr){
-
- Vector3 val;
- for(int i=0;i<p_arr.size();i++) {
- val[i]=p_arr[i].call("get_val");
- }
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Vec Uniform"),UndoRedo::MERGE_ENDS);
- ur->add_do_method(graph.ptr(),"vec_input_node_set_value",type,p_id,val);
- ur->add_undo_method(graph.ptr(),"vec_input_node_set_value",type,p_id,graph->vec_input_node_get_value(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-void ShaderGraphView::_xform_input_changed(int p_id, Node *p_button){
-
-
- ToolButton *tb = Object::cast_to<ToolButton>(p_button);
- ped_popup->set_position(tb->get_global_position()+Vector2(0,tb->get_size().height));
- ped_popup->set_size(tb->get_size());
- edited_id=p_id;
- edited_def=-1;
- ped_popup->edit(NULL,"",Variant::TRANSFORM,graph->xform_input_node_get_value(type,p_id),PROPERTY_HINT_NONE,"");
- ped_popup->popup();
-
-}
-void ShaderGraphView::_xform_const_changed(int p_id, Node *p_button){
-
- ToolButton *tb = Object::cast_to<ToolButton>(p_button);
- ped_popup->set_position(tb->get_global_position()+Vector2(0,tb->get_size().height));
- ped_popup->set_size(tb->get_size());
- edited_id=p_id;
- edited_def=-1;
- ped_popup->edit(NULL,"",Variant::TRANSFORM,graph->xform_const_node_get_value(type,p_id),PROPERTY_HINT_NONE,"");
- ped_popup->popup();
-
-}
-
-void ShaderGraphView::_rgb_input_changed(const Color& p_color, int p_id){
-
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change RGB Uniform"),UndoRedo::MERGE_ENDS);
- ur->add_do_method(graph.ptr(),"rgb_input_node_set_value",type,p_id,p_color);
- ur->add_undo_method(graph.ptr(),"rgb_input_node_set_value",type,p_id,graph->rgb_input_node_get_value(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-void ShaderGraphView::_tex_input_change(int p_id, Node *p_button){
-
-
-}
-void ShaderGraphView::_cube_input_change(int p_id){
-
-
-}
-
-void ShaderGraphView::_variant_edited() {
-
- if (edited_def != -1) {
-
- Variant v = ped_popup->get_variant();
- Variant v2 = graph->default_get_value(type,edited_id,edited_def);
- if (v2.get_type() == Variant::NIL)
- switch (v.get_type()) {
- case Variant::VECTOR3:
- v2=Vector3();
- break;
- case Variant::REAL:
- v2=0.0;
- break;
- case Variant::TRANSFORM:
- v2=Transform();
- break;
- case Variant::COLOR:
- v2=Color();
- break;
- default: {}
- }
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Default Value"));
- ur->add_do_method(graph.ptr(),"default_set_value",type,edited_id,edited_def, v);
- ur->add_undo_method(graph.ptr(),"default_set_value",type,edited_id,edited_def, v2);
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
- return;
- }
-
- if (graph->node_get_type(type,edited_id)==ShaderGraph::NODE_XFORM_CONST) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change XForm Uniform"));
- ur->add_do_method(graph.ptr(),"xform_const_node_set_value",type,edited_id,ped_popup->get_variant());
- ur->add_undo_method(graph.ptr(),"xform_const_node_set_value",type,edited_id,graph->xform_const_node_get_value(type,edited_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
- }
-
-
- if (graph->node_get_type(type,edited_id)==ShaderGraph::NODE_XFORM_INPUT) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change XForm Uniform"));
- ur->add_do_method(graph.ptr(),"xform_input_node_set_value",type,edited_id,ped_popup->get_variant());
- ur->add_undo_method(graph.ptr(),"xform_input_node_set_value",type,edited_id,graph->xform_input_node_get_value(type,edited_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
- }
-
- if (graph->node_get_type(type,edited_id)==ShaderGraph::NODE_TEXTURE_INPUT) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Texture Uniform"));
- ur->add_do_method(graph.ptr(),"texture_input_node_set_value",type,edited_id,ped_popup->get_variant());
- ur->add_undo_method(graph.ptr(),"texture_input_node_set_value",type,edited_id,graph->texture_input_node_get_value(type,edited_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
- }
-
- if (graph->node_get_type(type,edited_id)==ShaderGraph::NODE_CUBEMAP_INPUT) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Cubemap Uniform"));
- ur->add_do_method(graph.ptr(),"cubemap_input_node_set_value",type,edited_id,ped_popup->get_variant());
- ur->add_undo_method(graph.ptr(),"cubemap_input_node_set_value",type,edited_id,graph->cubemap_input_node_get_value(type,edited_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
- }
-
-}
-
-void ShaderGraphView::_comment_edited(int p_id,Node* p_button) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- TextEdit *te=Object::cast_to<TextEdit>(p_button);
- ur->create_action(TTR("Change Comment"),UndoRedo::MERGE_ENDS);
- ur->add_do_method(graph.ptr(),"comment_node_set_text",type,p_id,te->get_text());
- ur->add_undo_method(graph.ptr(),"comment_node_set_text",type,p_id,graph->comment_node_get_text(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-
-}
-
-void ShaderGraphView::_color_ramp_changed(int p_id,Node* p_ramp) {
-
- GraphColorRampEdit *cr=Object::cast_to<GraphColorRampEdit>(p_ramp);
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
-
-
- Vector<float> offsets=cr->get_offsets();
- Vector<Color> colors=cr->get_colors();
-
- PoolVector<float> new_offsets;
- PoolVector<Color> new_colors;
- {
- new_offsets.resize(offsets.size());
- new_colors.resize(colors.size());
- PoolVector<float>::Write ow=new_offsets.write();
- PoolVector<Color>::Write cw=new_colors.write();
- for(int i=0;i<new_offsets.size();i++) {
- ow[i]=offsets[i];
- cw[i]=colors[i];
- }
-
- }
-
-
- PoolVector<float> old_offsets=graph->color_ramp_node_get_offsets(type,p_id);
- PoolVector<Color> old_colors=graph->color_ramp_node_get_colors(type,p_id);
-
- if (old_offsets.size()!=new_offsets.size())
- ur->create_action(TTR("Add/Remove to Color Ramp"));
- else
- ur->create_action(TTR("Modify Color Ramp"),UndoRedo::MERGE_ENDS);
-
- ur->add_do_method(graph.ptr(),"color_ramp_node_set_ramp",type,p_id,new_colors,new_offsets);
- ur->add_undo_method(graph.ptr(),"color_ramp_node_set_ramp",type,p_id,old_colors,old_offsets);
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-
-void ShaderGraphView::_curve_changed(int p_id,Node* p_curve) {
-
- GraphCurveMapEdit *cr=Object::cast_to<GraphCurveMapEdit>(p_curve);
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
-
-
- Vector<Point2> points=cr->get_points();
-
- PoolVector<Vector2> new_points;
- {
- new_points.resize(points.size());
- PoolVector<Vector2>::Write ow=new_points.write();
- for(int i=0;i<new_points.size();i++) {
- ow[i]=points[i];
- }
-
- }
-
-
- PoolVector<Vector2> old_points=graph->curve_map_node_get_points(type,p_id);
-
- if (old_points.size()!=new_points.size())
- ur->create_action(TTR("Add/Remove to Curve Map"));
- else
- ur->create_action(TTR("Modify Curve Map"),UndoRedo::MERGE_ENDS);
-
- ur->add_do_method(graph.ptr(),"curve_map_node_set_points",type,p_id,new_points);
- ur->add_undo_method(graph.ptr(),"curve_map_node_set_points",type,p_id,old_points);
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
-}
-
-
-void ShaderGraphView::_input_name_changed(const String& p_name, int p_id, Node *p_line_edit) {
-
- LineEdit *le=Object::cast_to<LineEdit>(p_line_edit);
- ERR_FAIL_COND(!le);
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Input Name"));
- ur->add_do_method(graph.ptr(),"input_node_set_name",type,p_id,p_name);
- ur->add_undo_method(graph.ptr(),"input_node_set_name",type,p_id,graph->input_node_get_name(type,p_id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- block_update=true;
- ur->commit_action();
- block_update=false;
- le->set_text(graph->input_node_get_name(type,p_id));
-}
-
-void ShaderGraphView::_tex_edited(int p_id,Node* p_button) {
-
- ToolButton *tb = Object::cast_to<ToolButton>(p_button);
- ped_popup->set_position(tb->get_global_position()+Vector2(0,tb->get_size().height));
- ped_popup->set_size(tb->get_size());
- edited_id=p_id;
- edited_def=-1;
- ped_popup->edit(NULL,"",Variant::OBJECT,graph->texture_input_node_get_value(type,p_id),PROPERTY_HINT_RESOURCE_TYPE,"Texture");
-}
-
-void ShaderGraphView::_cube_edited(int p_id,Node* p_button) {
-
- ToolButton *tb = Object::cast_to<ToolButton>(p_button);
- ped_popup->set_position(tb->get_global_position()+Vector2(0,tb->get_size().height));
- ped_popup->set_size(tb->get_size());
- edited_id=p_id;
- edited_def=-1;
- ped_popup->edit(NULL,"",Variant::OBJECT,graph->cubemap_input_node_get_value(type,p_id),PROPERTY_HINT_RESOURCE_TYPE,"CubeMap");
-}
-
-
-//////////////view/////////////
-
-
-void ShaderGraphView::_connection_request(const String& p_from, int p_from_slot,const String& p_to,int p_to_slot) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
-
- int from_idx=-1;
- int to_idx=-1;
- for (Map<int,GraphNode*>::Element *E=node_map.front();E;E=E->next()) {
-
- if (p_from==E->get()->get_name())
- from_idx=E->key();
- if (p_to==E->get()->get_name())
- to_idx=E->key();
- }
-
- ERR_FAIL_COND(from_idx==-1);
- ERR_FAIL_COND(to_idx==-1);
-
- ur->create_action(TTR("Connect Graph Nodes"));
-
- List<ShaderGraph::Connection> conns;
-
- graph->get_node_connections(type,&conns);
- //disconnect/reconnect dependencies
- ur->add_undo_method(graph.ptr(),"disconnect_node",type,from_idx,p_from_slot,to_idx,p_to_slot);
- for(List<ShaderGraph::Connection>::Element *E=conns.front();E;E=E->next()) {
-
- if (E->get().dst_id==to_idx && E->get().dst_slot==p_to_slot) {
- ur->add_do_method(graph.ptr(),"disconnect_node",type,E->get().src_id,E->get().src_slot,E->get().dst_id,E->get().dst_slot);
- ur->add_undo_method(graph.ptr(),"connect_node",type,E->get().src_id,E->get().src_slot,E->get().dst_id,E->get().dst_slot);
- }
- }
- ur->add_do_method(graph.ptr(),"connect_node",type,from_idx,p_from_slot,to_idx,p_to_slot);
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
-
-
-}
-
-void ShaderGraphView::_disconnection_request(const String& p_from, int p_from_slot,const String& p_to,int p_to_slot) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
-
- int from_idx=-1;
- int to_idx=-1;
- for (Map<int,GraphNode*>::Element *E=node_map.front();E;E=E->next()) {
-
- if (p_from==E->get()->get_name())
- from_idx=E->key();
- if (p_to==E->get()->get_name())
- to_idx=E->key();
- }
-
- ERR_FAIL_COND(from_idx==-1);
- ERR_FAIL_COND(to_idx==-1);
-
- if (!graph->is_node_connected(type,from_idx,p_from_slot,to_idx,p_to_slot))
- return; //nothing to disconnect
-
- ur->create_action(TTR("Disconnect Graph Nodes"));
-
- List<ShaderGraph::Connection> conns;
-
- graph->get_node_connections(type,&conns);
- //disconnect/reconnect dependencies
- ur->add_do_method(graph.ptr(),"disconnect_node",type,from_idx,p_from_slot,to_idx,p_to_slot);
- ur->add_undo_method(graph.ptr(),"connect_node",type,from_idx,p_from_slot,to_idx,p_to_slot);
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
-
-
-}
-
-void ShaderGraphView::_node_removed(int p_id) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Remove Shader Graph Node"));
-
- ur->add_do_method(graph.ptr(),"node_remove",type,p_id);
- ur->add_undo_method(graph.ptr(),"node_add",type,graph->node_get_type(type,p_id),p_id);
- ur->add_undo_method(graph.ptr(),"node_set_state",type,p_id,graph->node_get_state(type,p_id));
- List<ShaderGraph::Connection> conns;
-
- graph->get_node_connections(type,&conns);
- for(List<ShaderGraph::Connection>::Element *E=conns.front();E;E=E->next()) {
-
- if (E->get().dst_id==p_id || E->get().src_id==p_id) {
- ur->add_undo_method(graph.ptr(),"connect_node",type,E->get().src_id,E->get().src_slot,E->get().dst_id,E->get().dst_slot);
- }
- }
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
-
-}
-
-void ShaderGraphView::_begin_node_move()
-{
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Move Shader Graph Node"));
-}
-
-void ShaderGraphView::_node_moved(const Vector2& p_from, const Vector2& p_to,int p_id) {
-
-
- ERR_FAIL_COND(!node_map.has(p_id));
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->add_do_method(this,"_move_node",p_id,p_to);
- ur->add_undo_method(this,"_move_node",p_id,p_from);
-}
-
-void ShaderGraphView::_end_node_move()
-{
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->commit_action();
-}
-
-void ShaderGraphView::_move_node(int p_id,const Vector2& p_to) {
-
- ERR_FAIL_COND(!node_map.has(p_id));
- node_map[p_id]->set_offset(p_to);
- graph->node_set_position(type,p_id,p_to);
-}
-
-void ShaderGraphView::_duplicate_nodes_request()
-{
- Array s_id;
-
- for(Map<int,GraphNode*>::Element *E=node_map.front();E;E=E->next()) {
- ShaderGraph::NodeType t=graph->node_get_type(type, E->key());
- if (t==ShaderGraph::NODE_OUTPUT || t==ShaderGraph::NODE_INPUT)
- continue;
- GraphNode *gn = E->get();
- if (gn && gn->is_selected())
- s_id.push_back(E->key());
- }
-
- if (s_id.size()==0)
- return;
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Duplicate Graph Node(s)"));
- ur->add_do_method(this,"_duplicate_nodes",s_id);
- List<int> n_ids = graph->generate_ids(type, s_id.size());
- for (List<int>::Element *E=n_ids.front();E;E=E->next())
- ur->add_undo_method(graph.ptr(),"node_remove",type,E->get());
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
-
-}
-
-void ShaderGraphView::_duplicate_nodes(const Array &p_nodes)
-{
- List<int> n = List<int>();
- for (int i=0; i<p_nodes.size();i++)
- n.push_back(p_nodes.get(i));
- graph->duplicate_nodes(type, n);
- call_deferred("_update_graph");
-}
-
-void ShaderGraphView::_delete_nodes_request()
-{
- List<int> s_id=List<int>();
-
- for(Map<int,GraphNode*>::Element *E=node_map.front();E;E=E->next()) {
- ShaderGraph::NodeType t=graph->node_get_type(type, E->key());
- if (t==ShaderGraph::NODE_OUTPUT)
- continue;
- GraphNode *gn = E->get();
- if (gn && gn->is_selected())
- s_id.push_back(E->key());
- }
-
- if (s_id.size()==0)
- return;
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Delete Shader Graph Node(s)"));
-
- for (List<int>::Element *N=s_id.front();N;N=N->next()) {
- ur->add_do_method(graph.ptr(),"node_remove",type,N->get());
- ur->add_undo_method(graph.ptr(),"node_add",type,graph->node_get_type(type,N->get()),N->get());
- ur->add_undo_method(graph.ptr(),"node_set_state",type,N->get(),graph->node_get_state(type,N->get()));
- List<ShaderGraph::Connection> conns;
-
- graph->get_node_connections(type,&conns);
- for(List<ShaderGraph::Connection>::Element *E=conns.front();E;E=E->next()) {
-
- if (E->get().dst_id==N->get() || E->get().src_id==N->get()) {
- ur->add_undo_method(graph.ptr(),"connect_node",type,E->get().src_id,E->get().src_slot,E->get().dst_id,E->get().dst_slot);
- }
- }
- }
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
-
-}
-
-void ShaderGraphView::_default_changed(int p_id, Node *p_button, int p_param, int v_type, String p_hint)
-{
- ToolButton *tb = Object::cast_to<ToolButton>(p_button);
- ped_popup->set_position(tb->get_global_position()+Vector2(0,tb->get_size().height));
- ped_popup->set_size(tb->get_size());
- edited_id=p_id;
- edited_def=p_param;
- Variant::Type vt = (Variant::Type)v_type;
- Variant v = graph->default_get_value(type,p_id,edited_def);
- int h=PROPERTY_HINT_NONE;
- if (v.get_type() == Variant::NIL)
- switch (vt) {
- case Variant::VECTOR3:
- v=Vector3();
- break;
- case Variant::REAL:
- h=PROPERTY_HINT_RANGE;
- v=0.0;
- break;
- case Variant::TRANSFORM:
- v=Transform();
- break;
- case Variant::COLOR:
- h=PROPERTY_HINT_COLOR_NO_ALPHA;
- v=Color();
- break;
- default: {}
- }
-
- ped_popup->edit(NULL,"",vt,v,h,p_hint);
-
- ped_popup->popup();
-}
-
-ToolButton *ShaderGraphView::make_label(String text, Variant::Type v_type) {
- ToolButton *l = memnew( ToolButton );
- l->set_text(text);
- l->set_text_align(ToolButton::ALIGN_LEFT);
- l->add_style_override("hover", l->get_stylebox("normal", "ToolButton"));
- l->add_style_override("pressed", l->get_stylebox("normal", "ToolButton"));
- l->add_style_override("focus", l->get_stylebox("normal", "ToolButton"));
- switch (v_type) {
- case Variant::REAL:
- l->set_icon(ped_popup->get_icon("Real", "EditorIcons"));
- break;
- case Variant::VECTOR3:
- l->set_icon(ped_popup->get_icon("Vector", "EditorIcons"));
- break;
- case Variant::TRANSFORM:
- l->set_icon(ped_popup->get_icon("Matrix", "EditorIcons"));
- break;
- case Variant::COLOR:
- l->set_icon(ped_popup->get_icon("Color", "EditorIcons"));
- break;
- default: {}
- }
- return l;
-}
-
-ToolButton *ShaderGraphView::make_editor(String text,GraphNode* gn,int p_id,int param,Variant::Type v_type, String p_hint) {
- ToolButton *edit = memnew( ToolButton );
- edit->set_text(text);
- edit->set_text_align(ToolButton::ALIGN_LEFT);
- edit->set_flat(false);
- edit->add_style_override("normal", gn->get_stylebox("defaultframe", "GraphNode"));
- edit->add_style_override("hover", gn->get_stylebox("defaultframe", "GraphNode"));
- edit->add_style_override("pressed", gn->get_stylebox("defaultframe", "GraphNode"));
- edit->add_style_override("focus", gn->get_stylebox("defaultfocus", "GraphNode"));
- edit->connect("pressed",this,"_default_changed",varray(p_id,edit,param,v_type,p_hint));
-
- switch (v_type) {
- case Variant::REAL:
- edit->set_icon(ped_popup->get_icon("Real", "EditorIcons"));
- break;
- case Variant::VECTOR3:
- edit->set_icon(ped_popup->get_icon("Vector", "EditorIcons"));
- break;
- case Variant::TRANSFORM:
- edit->set_icon(ped_popup->get_icon("Matrix", "EditorIcons"));
- break;
- case Variant::COLOR: {
- Image icon_color = Image(15,15,false,Image::FORMAT_RGB8);
- Color c = graph->default_get_value(type,p_id,param);
- for (int x=1;x<14;x++)
- for (int y=1;y<14;y++)
- icon_color.set_pixel(x,y,c);
- Ref<ImageTexture> t;
- t.instance();
- t->create_from_image(icon_color);
- edit->set_icon(t);
- } break;
- default: {}
- }
- return edit;
-}
-
-void ShaderGraphView::_create_node(int p_id) {
-
-
- GraphNode *gn = memnew( GraphNode );
- gn->set_show_close_button(true);
- Color typecol[4]={
- Color(0.9,0.4,1),
- Color(0.8,1,0.2),
- Color(1,0.2,0.2),
- Color(0,1,1)
- };
-
- const String hint_spin = "-65536,65535,0.001";
- const String hint_slider = "0.0,1.0,0.01,slider";
-
-
- switch(graph->node_get_type(type,p_id)) {
-
- case ShaderGraph::NODE_INPUT: {
-
- gn->set_title("Input");
-
- List<ShaderGraph::SlotInfo> si;
- ShaderGraph::get_input_output_node_slot_info(graph->get_mode(),type,&si);
-
- int idx=0;
- for (List<ShaderGraph::SlotInfo>::Element *E=si.front();E;E=E->next()) {
- ShaderGraph::SlotInfo& s=E->get();
- if (s.dir==ShaderGraph::SLOT_IN) {
-
- Label *l= memnew( Label );
- l->set_text(s.name);
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
- gn->set_slot(idx,false,0,Color(),true,s.type,typecol[s.type]);
- idx++;
- }
- }
-
- } break; // all inputs (case Shader type dependent)
- case ShaderGraph::NODE_SCALAR_CONST: {
- gn->set_title("Scalar");
- SpinBox *sb = memnew( SpinBox );
- sb->set_min(-100000);
- sb->set_max(100000);
- sb->set_step(0.001);
- sb->set_val(graph->scalar_const_node_get_value(type,p_id));
- sb->connect("value_changed",this,"_scalar_const_changed",varray(p_id));
- gn->add_child(sb);
- gn->set_slot(0,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
- } break; //scalar constant
- case ShaderGraph::NODE_VEC_CONST: {
-
- gn->set_title("Vector");
- Array v3p(true);
- for(int i=0;i<3;i++) {
- HBoxContainer *hbc = memnew( HBoxContainer );
- Label *l = memnew( Label );
- l->set_text(String::chr('X'+i));
- hbc->add_child(l);
- SpinBox *sb = memnew( SpinBox );
- sb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- sb->set_min(-100000);
- sb->set_max(100000);
- sb->set_step(0.001);
- sb->set_val(graph->vec_const_node_get_value(type,p_id)[i]);
- sb->connect("value_changed",this,"_vec_const_changed",varray(p_id,v3p));
- v3p.push_back(sb);
- hbc->add_child(sb);
- gn->add_child(hbc);
- }
- gn->set_slot(0,false,0,Color(),true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
-
- } break; //vec3 constant
- case ShaderGraph::NODE_RGB_CONST: {
-
- gn->set_title("Color");
- ColorPickerButton *cpb = memnew( ColorPickerButton );
- cpb->set_color(graph->rgb_const_node_get_value(type,p_id));
- cpb->connect("color_changed",this,"_rgb_const_changed",varray(p_id));
- gn->add_child(cpb);
- Label *l = memnew( Label );
- l->set_text("RGB");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
- l = memnew( Label );
- l->set_text("Alpha");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
-
- gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(2,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
- } break; //rgb constant (shows a color picker instead)
- case ShaderGraph::NODE_XFORM_CONST: {
- gn->set_title("XForm");
- ToolButton *edit = memnew( ToolButton );
- edit->set_text("edit...");
- edit->connect("pressed",this,"_xform_const_changed",varray(p_id,edit));
- gn->add_child(edit);
- gn->set_slot(0,false,0,Color(),true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
-
- } break; // 4x4 matrix constant
- case ShaderGraph::NODE_TIME: {
-
- gn->set_title("Time");
- Label *l = memnew( Label );
- l->set_text("(s)");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
- gn->set_slot(0,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
- } break; // time in seconds
- case ShaderGraph::NODE_SCREEN_TEX: {
-
- gn->set_title("ScreenTex");
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (!graph->is_slot_connected(type,p_id,0)) {
- Vector3 v = graph->default_get_value(type, p_id, 0);
- hbc->add_child(make_editor("UV: " + v,gn,p_id,0,Variant::VECTOR3));
- } else {
- hbc->add_child(make_label("UV",Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("RGB")));
- gn->add_child(hbc);
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
-
- } break; // screen texture sampler (takes UV) (only usable in fragment case Shader)
- case ShaderGraph::NODE_SCALAR_OP: {
-
- gn->set_title("ScalarOp");
- static const char* op_name[ShaderGraph::SCALAR_MAX_OP]={
- ("Add"),
- ("Sub"),
- ("Mul"),
- ("Div"),
- ("Mod"),
- ("Pow"),
- ("Max"),
- ("Min"),
- ("Atan2")
- };
-
- OptionButton *ob = memnew( OptionButton );
- for(int i=0;i<ShaderGraph::SCALAR_MAX_OP;i++) {
-
- ob->add_item(op_name[i],i);
- }
-
- ob->select(graph->scalar_op_node_get_op(type,p_id));
- ob->connect("item_selected",this,"_scalar_op_changed",varray(p_id));
- gn->add_child(ob);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a",Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("a: ")+Variant(v),gn,p_id,0,Variant::REAL,hint_spin));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("out")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b",Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("b: ")+Variant(v),gn,p_id,1,Variant::REAL,hint_spin));
- }
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],false,0,Color());
-
-
- } break; // scalar vs scalar op (mul: { } break; add: { } break; div: { } break; etc)
- case ShaderGraph::NODE_VEC_OP: {
-
- gn->set_title("VecOp");
- static const char* op_name[ShaderGraph::VEC_MAX_OP]={
- ("Add"),
- ("Sub"),
- ("Mul"),
- ("Div"),
- ("Mod"),
- ("Pow"),
- ("Max"),
- ("Min"),
- ("Cross")
- };
-
- OptionButton *ob = memnew( OptionButton );
- for(int i=0;i<ShaderGraph::VEC_MAX_OP;i++) {
-
- ob->add_item(op_name[i],i);
- }
-
- ob->select(graph->vec_op_node_get_op(type,p_id));
- ob->connect("item_selected",this,"_vec_op_changed",varray(p_id));
- gn->add_child(ob);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a",Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("a: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("out")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b",Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("b: ")+v,gn,p_id,1,Variant::VECTOR3));
- }
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
-
-
- } break; // vec3 vs vec3 op (mul: { } break;ad: { } break;div: { } break;crossprod: { } break;etc)
- case ShaderGraph::NODE_VEC_SCALAR_OP: {
-
- gn->set_title("VecScalarOp");
- static const char* op_name[ShaderGraph::VEC_SCALAR_MAX_OP]={
- ("Mul"),
- ("Div"),
- ("Pow"),
- };
-
- OptionButton *ob = memnew( OptionButton );
- for(int i=0;i<ShaderGraph::VEC_SCALAR_MAX_OP;i++) {
-
- ob->add_item(op_name[i],i);
- }
-
- ob->select(graph->vec_scalar_op_node_get_op(type,p_id));
- ob->connect("item_selected",this,"_vec_scalar_op_changed",varray(p_id));
- gn->add_child(ob);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a",Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("a: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("out")));
- gn->add_child(hbc);
-
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b",Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("b: ")+Variant(v),gn,p_id,1,Variant::REAL,hint_spin));
- }
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],false,0,Color());
-
-
- } break; // vec3 vs scalar op (mul: { } break; add: { } break; div: { } break; etc)
- case ShaderGraph::NODE_RGB_OP: {
-
- gn->set_title("RGB Op");
- static const char* op_name[ShaderGraph::RGB_MAX_OP]={
- ("Screen"),
- ("Difference"),
- ("Darken"),
- ("Lighten"),
- ("Overlay"),
- ("Dodge"),
- ("Burn"),
- ("SoftLight"),
- ("HardLight")
- };
-
- OptionButton *ob = memnew( OptionButton );
- for(int i=0;i<ShaderGraph::RGB_MAX_OP;i++) {
-
- ob->add_item(op_name[i],i);
- }
-
- ob->select(graph->rgb_op_node_get_op(type,p_id));
- ob->connect("item_selected",this,"_rgb_op_changed",varray(p_id));
- gn->add_child(ob);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a",Variant::COLOR));
- } else {
- hbc->add_child(make_editor(String("a: "),gn,p_id,0,Variant::COLOR));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("out")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b",Variant::COLOR));
- } else {
- gn->add_child(make_editor(String("b: "),gn,p_id,1,Variant::COLOR));
- }
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
-
- } break; // vec3 vs vec3 rgb op (with scalar amount): { } break; like brighten: { } break; darken: { } break; burn: { } break; dodge: { } break; multiply: { } break; etc.
- case ShaderGraph::NODE_XFORM_MULT: {
-
- gn->set_title("XFMult");
- HBoxContainer *hbc = memnew( HBoxContainer );
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a",Variant::TRANSFORM));
- } else {
- hbc->add_child(make_editor(String("a: edit..."),gn,p_id,0,Variant::TRANSFORM));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("out")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b",Variant::TRANSFORM));
- } else {
- gn->add_child(make_editor(String("b: edit..."),gn,p_id,1,Variant::TRANSFORM));
- }
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM],true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM],false,0,Color());
-
-
- } break; // mat4 x mat4
- case ShaderGraph::NODE_XFORM_VEC_MULT: {
-
- gn->set_title("XFVecMult");
-
- CheckBox *button = memnew (CheckBox("RotOnly"));
- button->set_pressed(graph->xform_vec_mult_node_get_no_translation(type,p_id));
- button->connect("toggled",this,"_xform_inv_rev_changed",varray(p_id));
-
- gn->add_child(button);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("xf",Variant::TRANSFORM));
- } else {
- hbc->add_child(make_editor(String("xf: edit..."),gn,p_id,0,Variant::TRANSFORM));
- }
- hbc->add_spacer();
- Label *l = memnew(Label("out"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child( l);
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("a",Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("a: ")+v,gn,p_id,1,Variant::VECTOR3));
- }
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
-
- } break;
- case ShaderGraph::NODE_XFORM_VEC_INV_MULT: {
-
- gn->set_title("XFVecInvMult");
-
-
- CheckBox *button = memnew( CheckBox("RotOnly"));
- button->set_pressed(graph->xform_vec_mult_node_get_no_translation(type,p_id));
- button->connect("toggled",this,"_xform_inv_rev_changed",varray(p_id));
-
- gn->add_child(button);
-
- if (graph->is_slot_connected(type, p_id, 0)) {
- gn->add_child(make_label("a",Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- gn->add_child(make_editor(String("a: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 1)) {
- hbc->add_child(make_label("xf", Variant::TRANSFORM));
- } else {
- hbc->add_child(make_editor(String("xf: edit..."),gn,p_id,1,Variant::TRANSFORM));
- }
- hbc->add_spacer();
- Label *l = memnew(Label("out"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child( l);
- gn->add_child(hbc);
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
-
-
- } break; // mat4 x vec3 inverse mult (with no-translation option)
- case ShaderGraph::NODE_SCALAR_FUNC: {
-
- gn->set_title("ScalarFunc");
- static const char* func_name[ShaderGraph::SCALAR_MAX_FUNC]={
- ("Sin"),
- ("Cos"),
- ("Tan"),
- ("ASin"),
- ("ACos"),
- ("ATan"),
- ("SinH"),
- ("CosH"),
- ("TanH"),
- ("Log"),
- ("Exp"),
- ("Sqrt"),
- ("Abs"),
- ("Sign"),
- ("Floor"),
- ("Round"),
- ("Ceil"),
- ("Frac"),
- ("Satr"),
- ("Neg")
- };
-
- OptionButton *ob = memnew( OptionButton );
- for(int i=0;i<ShaderGraph::SCALAR_MAX_FUNC;i++) {
-
- ob->add_item(func_name[i],i);
- }
-
- ob->select(graph->scalar_func_node_get_function(type,p_id));
- ob->connect("item_selected",this,"_scalar_func_changed",varray(p_id));
- gn->add_child(ob);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("in", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("in: ")+Variant(v),gn,p_id,0,Variant::REAL,hint_spin));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("out")));
- gn->add_child(hbc);
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
-
- } break; // scalar function (sin: { } break; cos: { } break; etc)
- case ShaderGraph::NODE_VEC_FUNC: {
-
-
-
- gn->set_title("VecFunc");
- static const char* func_name[ShaderGraph::VEC_MAX_FUNC]={
- ("Normalize"),
- ("Saturate"),
- ("Negate"),
- ("Reciprocal"),
- ("RGB to HSV"),
- ("HSV to RGB"),
- };
-
- OptionButton *ob = memnew( OptionButton );
- for(int i=0;i<ShaderGraph::VEC_MAX_FUNC;i++) {
-
- ob->add_item(func_name[i],i);
- }
-
- ob->select(graph->vec_func_node_get_function(type,p_id));
- ob->connect("item_selected",this,"_vec_func_changed",varray(p_id));
- gn->add_child(ob);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("in", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("in: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("out")));
- gn->add_child(hbc);
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
-
- } break; // vector function (normalize: { } break; negate: { } break; reciprocal: { } break; rgb2hsv: { } break; hsv2rgb: { } break; etc: { } break; etc)
- case ShaderGraph::NODE_VEC_LEN: {
- gn->set_title("VecLength");
- HBoxContainer *hbc = memnew( HBoxContainer );
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("in", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("in: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("len")));
- gn->add_child(hbc);
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
- } break; // vec3 length
- case ShaderGraph::NODE_DOT_PROD: {
-
- gn->set_title("DotProduct");
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("a: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("dp")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("b: ")+v,gn,p_id,1,Variant::VECTOR3));
- }
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
-
- } break; // vec3 . vec3 (dot product -> scalar output)
- case ShaderGraph::NODE_VEC_TO_SCALAR: {
-
- gn->set_title("Vec2Scalar");
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("vec", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("vec: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- Label *l=memnew(Label("x"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child( l);
- gn->add_child(hbc);
- l=memnew(Label("y"));
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child( l );
- l=memnew(Label("z"));
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child( l);
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
- gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
- gn->set_slot(2,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
-
-
-
- } break; // 1 vec3 input: { } break; 3 scalar outputs
- case ShaderGraph::NODE_SCALAR_TO_VEC: {
-
- gn->set_title("Scalar2Vec");
- HBoxContainer *hbc = memnew( HBoxContainer );
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("x", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("x: ")+Variant(v),gn,p_id,0,Variant::REAL));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("vec")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("y", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("y: ")+Variant(v),gn,p_id,1,Variant::REAL));
- }
- if (graph->is_slot_connected(type, p_id, 2)) {
- gn->add_child(make_label("in", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,2);
- gn->add_child(make_editor(String("in: ")+Variant(v),gn,p_id,2,Variant::REAL));
- }
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],false,0,Color());
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],false,0,Color());
-
- } break; // 3 scalar input: { } break; 1 vec3 output
- case ShaderGraph::NODE_VEC_TO_XFORM: {
-
- gn->set_title("Vec2XForm");
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("x", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("x: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("xf")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("y", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("y: ")+v,gn,p_id,1,Variant::VECTOR3));
- }
- if (graph->is_slot_connected(type, p_id, 2)) {
- gn->add_child(make_label("z", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,2);
- gn->add_child(make_editor(String("z: ")+v,gn,p_id,2,Variant::VECTOR3));
- }
- if (graph->is_slot_connected(type, p_id, 3)) {
- gn->add_child(make_label("ofs", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,3);
- gn->add_child(make_editor(String("ofs: ")+v,gn,p_id,3,Variant::VECTOR3));
- }
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
- gn->set_slot(3,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
-
- } break; // 3 vec input: { } break; 1 xform output
- case ShaderGraph::NODE_XFORM_TO_VEC: {
-
- gn->set_title("XForm2Vec");
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("fx", Variant::TRANSFORM));
- } else {
- hbc->add_child(make_editor(String("fx: edit..."),gn,p_id,0,Variant::TRANSFORM));
- }
- hbc->add_spacer();
- Label *l=memnew(Label("x"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child( l);
- gn->add_child(hbc);
- l=memnew(Label("y"));
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child( l );
- l=memnew(Label("z"));
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child( l);
- l=memnew(Label("ofs"));
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child( l);
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(2,false,0,Color(),true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(3,false,0,Color(),true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
-
- } break; // 3 vec input: { } break; 1 xform output
- case ShaderGraph::NODE_SCALAR_INTERP: {
-
- gn->set_title("ScalarInterp");
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("a: ")+Variant(v),gn,p_id,0,Variant::REAL,hint_spin));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("interp")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("b: ")+Variant(v),gn,p_id,1,Variant::REAL,hint_spin));
- }
- if (graph->is_slot_connected(type, p_id, 2)) {
- gn->add_child(make_label("c", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,2);
- gn->add_child(make_editor(String("c: ")+Variant(v),gn,p_id,2,Variant::REAL,hint_slider));
- }
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],false,0,Color());
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],false,0,Color());
-
-
- } break; // scalar interpolation (with optional curve)
- case ShaderGraph::NODE_VEC_INTERP: {
-
- gn->set_title("VecInterp");
- HBoxContainer *hbc = memnew( HBoxContainer );
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("a", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("a: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- hbc->add_child( memnew(Label("interp")));
- gn->add_child(hbc);
- if (graph->is_slot_connected(type, p_id, 1)) {
- gn->add_child(make_label("b", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,1);
- gn->add_child(make_editor(String("b: ")+v,gn,p_id,1,Variant::VECTOR3));
- }
- if (graph->is_slot_connected(type, p_id, 2)) {
- gn->add_child(make_label("c", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,2);
- gn->add_child(make_editor(String("c: ")+Variant(v),gn,p_id,2,Variant::REAL,hint_slider));
- }
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],false,0,Color());
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],false,0,Color());
-
- } break; // vec3 interpolation (with optional curve)
- case ShaderGraph::NODE_COLOR_RAMP: {
-
- gn->set_title("ColorRamp");
- GraphColorRampEdit * ramp = memnew( GraphColorRampEdit );
-
- PoolVector<real_t> offsets = graph->color_ramp_node_get_offsets(type,p_id);
- PoolVector<Color> colors = graph->color_ramp_node_get_colors(type,p_id);
-
- int oc = offsets.size();
-
- if (oc) {
- PoolVector<real_t>::Read rofs = offsets.read();
- PoolVector<Color>::Read rcol = colors.read();
-
- Vector<float> ofsv;
- Vector<Color> colorv;
- for(int i=0;i<oc;i++) {
- ofsv.push_back(rofs[i]);
- colorv.push_back(rcol[i]);
- }
-
- ramp->set_ramp(ofsv,colorv);
-
- }
-
- ramp->connect("ramp_changed",this,"_color_ramp_changed",varray(p_id,ramp));
- ramp->set_custom_minimum_size(Size2(128,1));
- gn->add_child(ramp);
-
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("c", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("c: ")+Variant(v),gn,p_id,0,Variant::REAL,hint_slider));
- }
- hbc->add_spacer();
- Label *l=memnew(Label("rgb"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child( l);
- gn->add_child(hbc);
- l=memnew(Label("alpha"));
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child( l);
-
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(2,false,ShaderGraph::SLOT_MAX,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
-
- } break; // scalar interpolation (with optional curve)
- case ShaderGraph::NODE_CURVE_MAP: {
-
- gn->set_title("CurveMap");
- GraphCurveMapEdit * map = memnew( GraphCurveMapEdit );
-
- PoolVector<Vector2> points = graph->curve_map_node_get_points(type,p_id);
-
- int oc = points.size();
-
- if (oc) {
- PoolVector<Vector2>::Read rofs = points.read();
-
-
- Vector<Vector2> ofsv;
- for(int i=0;i<oc;i++) {
- ofsv.push_back(rofs[i]);
- }
-
- map->set_points(ofsv);
-
- }
- map->connect("curve_changed",this,"_curve_changed",varray(p_id,map));
-
- //map->connect("map_changed",this,"_curve_map_changed",varray(p_id,map));
- map->set_custom_minimum_size(Size2(128,64));
- gn->add_child(map);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("c", Variant::REAL));
- } else {
- float v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("c: ")+Variant(v),gn,p_id,0,Variant::REAL,hint_slider));
- }
- hbc->add_spacer();
- Label *l=memnew(Label("cmap"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child( l);
- gn->add_child(hbc);
-
-
- gn->set_slot(1,true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR],true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
-
- } break; // scalar interpolation (with optional curve)
-
- case ShaderGraph::NODE_SCALAR_INPUT: {
-
- gn->set_title("ScalarUniform");
- LineEdit *le = memnew( LineEdit );
- gn->add_child(le);
- le->set_text(graph->input_node_get_name(type,p_id));
- le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
- SpinBox *sb = memnew( SpinBox );
- sb->set_min(-100000);
- sb->set_max(100000);
- sb->set_step(0.001);
- sb->set_val(graph->scalar_input_node_get_value(type,p_id));
- sb->connect("value_changed",this,"_scalar_input_changed",varray(p_id));
- gn->add_child(sb);
- gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
- } break; // scalar uniform (assignable in material)
- case ShaderGraph::NODE_VEC_INPUT: {
-
- gn->set_title("VectorUniform");
- LineEdit *le = memnew( LineEdit );
- gn->add_child(le);
- le->set_text(graph->input_node_get_name(type,p_id));
- le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
- Array v3p(true);
- for(int i=0;i<3;i++) {
- HBoxContainer *hbc = memnew( HBoxContainer );
- Label *l = memnew( Label );
- l->set_text(String::chr('X'+i));
- hbc->add_child(l);
- SpinBox *sb = memnew( SpinBox );
- sb->set_h_size_flags(Control::SIZE_EXPAND_FILL);
- sb->set_min(-100000);
- sb->set_max(100000);
- sb->set_step(0.001);
- sb->set_val(graph->vec_input_node_get_value(type,p_id)[i]);
- sb->connect("value_changed",this,"_vec_input_changed",varray(p_id,v3p));
- v3p.push_back(sb);
- hbc->add_child(sb);
- gn->add_child(hbc);
- }
- gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
-
- } break; // vec3 uniform (assignable in material)
- case ShaderGraph::NODE_RGB_INPUT: {
-
- gn->set_title("ColorUniform");
- LineEdit *le = memnew( LineEdit );
- gn->add_child(le);
- le->set_text(graph->input_node_get_name(type,p_id));
- le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
- ColorPickerButton *cpb = memnew( ColorPickerButton );
- cpb->set_color(graph->rgb_input_node_get_value(type,p_id));
- cpb->connect("color_changed",this,"_rgb_input_changed",varray(p_id));
- gn->add_child(cpb);
- Label *l = memnew( Label );
- l->set_text("RGB");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
- l = memnew( Label );
- l->set_text("Alpha");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
-
- gn->set_slot(2,false,0,Color(),true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(3,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
-
- } break; // color uniform (assignable in material)
- case ShaderGraph::NODE_XFORM_INPUT: {
- gn->set_title("XFUniform");
- LineEdit *le = memnew( LineEdit );
- gn->add_child(le);
- le->set_text(graph->input_node_get_name(type,p_id));
- le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
- ToolButton *edit = memnew( ToolButton );
- edit->set_text("edit...");
- edit->connect("pressed",this,"_xform_input_changed",varray(p_id,edit));
- gn->add_child(edit);
- gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_XFORM,typecol[ShaderGraph::SLOT_TYPE_XFORM]);
-
- } break; // mat4 uniform (assignable in material)
- case ShaderGraph::NODE_TEXTURE_INPUT: {
-
- gn->set_title("TexUniform");
- LineEdit *le = memnew( LineEdit );
- gn->add_child(le);
- le->set_text(graph->input_node_get_name(type,p_id));
- le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
- TextureRect *tex = memnew( TextureRect );
- tex->set_expand(true);
- tex->set_custom_minimum_size(Size2(80,80));
- tex->set_drag_forwarding(this);
- gn->add_child(tex);
- tex->set_mouse_filter(MOUSE_FILTER_PASS);
- tex->set_texture(graph->texture_input_node_get_value(type,p_id));
- ToolButton *edit = memnew( ToolButton );
- edit->set_text("edit...");
- edit->connect("pressed",this,"_tex_edited",varray(p_id,edit));
- gn->add_child(edit);
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("UV", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("UV: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- Label *l=memnew(Label("RGB"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child(l);
- gn->add_child(hbc);
- l = memnew( Label );
- l->set_text("Alpha");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
-
- gn->set_slot(3,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(4,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
- } break; // texture input (assignable in material)
- case ShaderGraph::NODE_CUBEMAP_INPUT: {
-
- gn->set_title("TexUniform");
- LineEdit *le = memnew( LineEdit );
- gn->add_child(le);
- le->set_text(graph->input_node_get_name(type,p_id));
- le->connect("text_entered",this,"_input_name_changed",varray(p_id,le));
-
- ToolButton *edit = memnew( ToolButton );
- edit->set_text("edit...");
- edit->connect("pressed",this,"_cube_edited",varray(p_id,edit));
- gn->add_child(edit);
-
-
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("UV", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("UV: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- Label *l=memnew(Label("RGB"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child(l);
- gn->add_child(hbc);
- l = memnew( Label );
- l->set_text("Alpha");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
-
- gn->set_slot(2,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(3,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
- } break; // cubemap input (assignable in material)
- case ShaderGraph::NODE_DEFAULT_TEXTURE: {
-
- gn->set_title("CanvasItemTex");
- HBoxContainer *hbc = memnew( HBoxContainer );
- hbc->add_constant_override("separation",0);
- if (graph->is_slot_connected(type, p_id, 0)) {
- hbc->add_child(make_label("UV", Variant::VECTOR3));
- } else {
- Vector3 v = graph->default_get_value(type,p_id,0);
- hbc->add_child(make_editor(String("UV: ")+v,gn,p_id,0,Variant::VECTOR3));
- }
- hbc->add_spacer();
- Label *l=memnew(Label("RGB"));
- l->set_align(Label::ALIGN_RIGHT);
- hbc->add_child(l);
- gn->add_child(hbc);
- l = memnew( Label );
- l->set_text("Alpha");
- l->set_align(Label::ALIGN_RIGHT);
- gn->add_child(l);
-
- gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
- gn->set_slot(1,false,0,Color(),true,ShaderGraph::SLOT_TYPE_SCALAR,typecol[ShaderGraph::SLOT_TYPE_SCALAR]);
-
-
- } break; // screen texture sampler (takes UV) (only usable in fragment case Shader)
-
- case ShaderGraph::NODE_OUTPUT: {
- gn->set_title("Output");
- gn->set_show_close_button(false);
-
- List<ShaderGraph::SlotInfo> si;
- ShaderGraph::get_input_output_node_slot_info(graph->get_mode(),type,&si);
-
- Array colors;
- colors.push_back("Color");
- colors.push_back("LightColor");
- colors.push_back("Light");
- colors.push_back("ShadowColor");
- colors.push_back("Diffuse");
- colors.push_back("Specular");
- colors.push_back("Emission");
- Array reals;
- reals.push_back("Alpha");
- reals.push_back("DiffuseAlpha");
- reals.push_back("NormalMapDepth");
- reals.push_back("SpecExp");
- reals.push_back("Glow");
- reals.push_back("ShadeParam");
- reals.push_back("SpecularExp");
- reals.push_back("LightAlpha");
- reals.push_back("ShadowAlpha");
- reals.push_back("PointSize");
- reals.push_back("Discard");
-
- int idx=0;
- for (List<ShaderGraph::SlotInfo>::Element *E=si.front();E;E=E->next()) {
- ShaderGraph::SlotInfo& s=E->get();
- if (s.dir==ShaderGraph::SLOT_OUT) {
- Variant::Type v;
- if (colors.find(s.name)>=0)
- v=Variant::COLOR;
- else if (reals.find(s.name)>=0)
- v=Variant::REAL;
- else
- v=Variant::VECTOR3;
- gn->add_child(make_label(s.name, v));
- gn->set_slot(idx,true,s.type,typecol[s.type],false,0,Color());
- idx++;
- }
- }
-
- } break; // output (case Shader type dependent)
- case ShaderGraph::NODE_COMMENT: {
- gn->set_title("Comment");
- TextEdit *te = memnew(TextEdit);
- te->set_custom_minimum_size(Size2(100,100));
- gn->add_child(te);
- te->set_text(graph->comment_node_get_text(type,p_id));
- te->connect("text_changed",this,"_comment_edited",varray(p_id,te));
-
- } break; // comment
-
-
-
- }
-
- gn->connect("dragged",this,"_node_moved",varray(p_id));
- gn->connect("close_request",this,"_node_removed",varray(p_id),CONNECT_DEFERRED);
- graph_edit->add_child(gn);
- node_map[p_id]=gn;
- gn->set_offset(graph->node_get_position(type,p_id));
-
-
-}
-
-void ShaderGraphView::_update_graph() {
-
-
- if (block_update)
- return;
-
- for (Map<int,GraphNode*>::Element *E=node_map.front();E;E=E->next()) {
-
- memdelete(E->get());
- }
-
- node_map.clear();
-
- if (!graph.is_valid())
- return;
-
-
- List<int> nl;
- graph->get_node_list(type,&nl);
-
- for(List<int>::Element *E=nl.front();E;E=E->next()) {
-
- _create_node(E->get());
- }
- graph_edit->clear_connections();
-
- List<ShaderGraph::Connection> connections;
- graph->get_node_connections(type,&connections);
- for(List<ShaderGraph::Connection>::Element *E=connections.front();E;E=E->next()) {
-
- ERR_CONTINUE(!node_map.has(E->get().src_id) || !node_map.has(E->get().dst_id));
- graph_edit->connect_node(node_map[E->get().src_id]->get_name(),E->get().src_slot,node_map[E->get().dst_id]->get_name(),E->get().dst_slot);
- }
-
-}
-
-void ShaderGraphView::_sg_updated() {
-
- if (!graph.is_valid())
- return;
- switch(graph->get_graph_error(type)) {
- case ShaderGraph::GRAPH_OK: status->set_text(""); break;
- case ShaderGraph::GRAPH_ERROR_CYCLIC: status->set_text(TTR("Error: Cyclic Connection Link")); break;
- case ShaderGraph::GRAPH_ERROR_MISSING_CONNECTIONS: status->set_text(TTR("Error: Missing Input Connections")); break;
- }
-}
-
-Variant ShaderGraphView::get_drag_data_fw(const Point2 &p_point, Control *p_from)
-{
- TextureRect* frame = Object::cast_to<TextureRect>(p_from);
- if (!frame)
- return Variant();
-
- if (!frame->get_texture().is_valid())
- return Variant();
-
- RES res = frame->get_texture();
- return EditorNode::get_singleton()->drag_resource(res,p_from);
-
- return Variant();
-}
-
-bool ShaderGraphView::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const
-{
- if (p_data.get_type() != Variant::DICTIONARY)
- return false;
-
- Dictionary d = p_data;
-
- if (d.has("type")){
- if (d["type"] == "resource" && d.has("resource")) {
- Variant val = d["resource"];
-
- if (val.get_type()==Variant::OBJECT) {
- RES res = val;
- if (res.is_valid() && Object::cast_to<Texture>(res))
- return true;
- }
- }
- else if (d["type"] == "files" && d.has("files")) {
- Vector<String> files = d["files"];
- if (files.size() != 1)
- return false;
- return (ResourceLoader::get_resource_type(files[0]) == "ImageTexture");
- }
- }
-
- return false;
-}
-
-void ShaderGraphView::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from)
-{
- if (!can_drop_data_fw(p_point, p_data, p_from))
- return;
-
- TextureRect *frame = Object::cast_to<TextureRect>(p_from);
- if (!frame)
- return;
-
- Dictionary d = p_data;
- Ref<Texture> tex;
-
- if (d.has("type")) {
- if (d["type"] == "resource" && d.has("resource")){
- Variant val = d["resource"];
-
- if (val.get_type()==Variant::OBJECT) {
- RES res = val;
- if (res.is_valid())
- tex = Ref<Texture>(Object::cast_to<Texture>(*res));
- }
- }
- else if (d["type"] == "files" && d.has("files")) {
- Vector<String> files = d["files"];
- RES res = ResourceLoader::load(files[0]);
- if (res.is_valid())
- tex = Ref<Texture>(Object::cast_to<Texture>(*res));
- }
- }
-
- if (!tex.is_valid()) return;
-
- GraphNode *gn = Object::cast_to<GraphNode>(frame->get_parent());
- if (!gn) return;
-
- int id = -1;
- for(Map<int,GraphNode*>::Element *E = node_map.front();E;E=E->next())
- if (E->get() == gn) {
- id = E->key();
- break;
- }
- print_line(String::num(double(id)));
- if (id < 0) return;
-
- if (graph->node_get_type(type,id)==ShaderGraph::NODE_TEXTURE_INPUT) {
-
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Change Texture Uniform"));
- ur->add_do_method(graph.ptr(),"texture_input_node_set_value",type,id,tex);
- ur->add_undo_method(graph.ptr(),"texture_input_node_set_value",type,id,graph->texture_input_node_get_value(type,id));
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
- }
-}
-
-void ShaderGraphView::set_graph(Ref<ShaderGraph> p_graph){
-
-
- if (graph.is_valid()) {
- graph->disconnect("updated",this,"_sg_updated");
- }
- graph=p_graph;
- if (graph.is_valid()) {
- graph->connect("updated",this,"_sg_updated");
- }
- _update_graph();
- _sg_updated();
-
-}
-
-void ShaderGraphView::_notification(int p_what) {
-
- if (p_what==NOTIFICATION_ENTER_TREE) {
-
- ped_popup->connect("variant_changed",this,"_variant_edited");
- }
-}
-
-void ShaderGraphView::add_node(int p_type, const Vector2 &location) {
-
- if (p_type==ShaderGraph::NODE_INPUT && graph->node_count(type, p_type)>0)
- return;
-
- List<int> existing;
- graph->get_node_list(type,&existing);
- existing.sort();
- int newid=1;
- for(List<int>::Element *E=existing.front();E;E=E->next()) {
- if (!E->next() || (E->get()+1!=E->next()->get())){
- newid=E->get()+1;
- break;
- }
- }
-
- Vector2 init_ofs = location;
- while(true) {
- bool valid=true;
- for(List<int>::Element *E=existing.front();E;E=E->next()) {
- Vector2 pos = graph->node_get_position(type,E->get());
- if (init_ofs==pos) {
- init_ofs+=Vector2(20,20);
- valid=false;
- break;
-
- }
- }
-
- if (valid)
- break;
- }
- UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("Add Shader Graph Node"));
- ur->add_do_method(graph.ptr(),"node_add",type,p_type,newid);
- ur->add_do_method(graph.ptr(),"node_set_position",type,newid,init_ofs);
- ur->add_undo_method(graph.ptr(),"node_remove",type,newid);
- ur->add_do_method(this,"_update_graph");
- ur->add_undo_method(this,"_update_graph");
- ur->commit_action();
-
-}
-
-void ShaderGraphView::_bind_methods() {
-
- ClassDB::bind_method("_update_graph",&ShaderGraphView::_update_graph);
- ClassDB::bind_method("_begin_node_move", &ShaderGraphView::_begin_node_move);
- ClassDB::bind_method("_node_moved",&ShaderGraphView::_node_moved);
- ClassDB::bind_method("_end_node_move", &ShaderGraphView::_end_node_move);
- ClassDB::bind_method("_move_node",&ShaderGraphView::_move_node);
- ClassDB::bind_method("_node_removed",&ShaderGraphView::_node_removed);
- ClassDB::bind_method("_connection_request",&ShaderGraphView::_connection_request);
- ClassDB::bind_method("_disconnection_request",&ShaderGraphView::_disconnection_request);
- ClassDB::bind_method("_duplicate_nodes_request", &ShaderGraphView::_duplicate_nodes_request);
- ClassDB::bind_method("_duplicate_nodes", &ShaderGraphView::_duplicate_nodes);
- ClassDB::bind_method("_delete_nodes_request", &ShaderGraphView::_delete_nodes_request);
-
- ClassDB::bind_method("_default_changed",&ShaderGraphView::_default_changed);
- ClassDB::bind_method("_scalar_const_changed",&ShaderGraphView::_scalar_const_changed);
- ClassDB::bind_method("_vec_const_changed",&ShaderGraphView::_vec_const_changed);
- ClassDB::bind_method("_rgb_const_changed",&ShaderGraphView::_rgb_const_changed);
- ClassDB::bind_method("_xform_const_changed",&ShaderGraphView::_xform_const_changed);
- ClassDB::bind_method("_scalar_op_changed",&ShaderGraphView::_scalar_op_changed);
- ClassDB::bind_method("_vec_op_changed",&ShaderGraphView::_vec_op_changed);
- ClassDB::bind_method("_vec_scalar_op_changed",&ShaderGraphView::_vec_scalar_op_changed);
- ClassDB::bind_method("_rgb_op_changed",&ShaderGraphView::_rgb_op_changed);
- ClassDB::bind_method("_xform_inv_rev_changed",&ShaderGraphView::_xform_inv_rev_changed);
- ClassDB::bind_method("_scalar_func_changed",&ShaderGraphView::_scalar_func_changed);
- ClassDB::bind_method("_vec_func_changed",&ShaderGraphView::_vec_func_changed);
- ClassDB::bind_method("_scalar_input_changed",&ShaderGraphView::_scalar_input_changed);
- ClassDB::bind_method("_vec_input_changed",&ShaderGraphView::_vec_input_changed);
- ClassDB::bind_method("_xform_input_changed",&ShaderGraphView::_xform_input_changed);
- ClassDB::bind_method("_rgb_input_changed",&ShaderGraphView::_rgb_input_changed);
- ClassDB::bind_method("_tex_input_change",&ShaderGraphView::_tex_input_change);
- ClassDB::bind_method("_cube_input_change",&ShaderGraphView::_cube_input_change);
- ClassDB::bind_method("_input_name_changed",&ShaderGraphView::_input_name_changed);
- ClassDB::bind_method("_tex_edited",&ShaderGraphView::_tex_edited);
- ClassDB::bind_method("_variant_edited",&ShaderGraphView::_variant_edited);
- ClassDB::bind_method("_cube_edited",&ShaderGraphView::_cube_edited);
- ClassDB::bind_method("_comment_edited",&ShaderGraphView::_comment_edited);
- ClassDB::bind_method("_color_ramp_changed",&ShaderGraphView::_color_ramp_changed);
- ClassDB::bind_method("_curve_changed",&ShaderGraphView::_curve_changed);
-
- ClassDB::bind_method(D_METHOD("get_drag_data_fw"), &ShaderGraphView::get_drag_data_fw);
- ClassDB::bind_method(D_METHOD("can_drop_data_fw"), &ShaderGraphView::can_drop_data_fw);
- ClassDB::bind_method(D_METHOD("drop_data_fw"), &ShaderGraphView::drop_data_fw);
-
- ClassDB::bind_method("_sg_updated",&ShaderGraphView::_sg_updated);
-}
-
-ShaderGraphView::ShaderGraphView(ShaderGraph::ShaderType p_type) {
-
- type=p_type;
- graph_edit = memnew( GraphEdit );
- block_update=false;
- ped_popup = memnew( CustomPropertyEditor );
- graph_edit->add_child(ped_popup);
- status = memnew( Label );
- graph_edit->get_top_layer()->add_child(status);
- graph_edit->connect("_begin_node_move", this, "_begin_node_move");
- graph_edit->connect("_end_node_move", this, "_end_node_move");
- status->set_position(Vector2(5,5));
- status->add_color_override("font_color_shadow",Color(0,0,0));
- status->add_color_override("font_color",Color(1,0.4,0.3));
- status->add_constant_override("shadow_as_outline",1);
- status->add_constant_override("shadow_offset_x",2);
- status->add_constant_override("shadow_offset_y",2);
- status->set_text("");
-}
-
-
-//////////////edit//////////////
-void ShaderGraphEditor::edit(Ref<ShaderGraph> p_shader) {
-
- for(int i=0;i<ShaderGraph::SHADER_TYPE_MAX;i++) {
- graph_edits[i]->set_graph(p_shader);
- }
-}
-
-void ShaderGraphEditor::_add_node(int p_type) {
-
- ShaderGraph::ShaderType shader_type=ShaderGraph::ShaderType(tabs->get_current_tab());
- graph_edits[shader_type]->add_node(p_type, next_location);
-}
-
-void ShaderGraphEditor::_popup_requested(const Vector2 &p_position)
-{
- Vector2 scroll_ofs=graph_edits[tabs->get_current_tab()]->get_graph_edit()->get_scroll_ofs();
- next_location = get_local_mouse_position() + scroll_ofs;
- popup->set_global_position(p_position);
- popup->set_size( Size2( 200, 0) );
- popup->popup();
-}
-
-void ShaderGraphEditor::_notification(int p_what) {
- if (p_what==NOTIFICATION_ENTER_TREE) {
-
- for(int i=0;i<ShaderGraph::NODE_TYPE_MAX;i++) {
-
- if (i==ShaderGraph::NODE_OUTPUT)
- continue;
- if (!_2d && i==ShaderGraph::NODE_DEFAULT_TEXTURE)
- continue;
-
- String nn = node_names[i];
- String ic = nn.get_slice(":",0);
- String v = nn.get_slice(":",1);
- bool addsep=false;
- if (nn.ends_with(":")) {
- addsep=true;
- }
- popup->add_icon_item(get_icon(ic,"EditorIcons"),v,i);
- if (addsep)
- popup->add_separator();
- }
- popup->connect("id_pressed",this,"_add_node");
-
-
- }
-}
-
-void ShaderGraphEditor::_bind_methods() {
-
- ClassDB::bind_method("_add_node",&ShaderGraphEditor::_add_node);
- ClassDB::bind_method("_popup_requested",&ShaderGraphEditor::_popup_requested);
-}
-
-
-const char* ShaderGraphEditor::node_names[ShaderGraph::NODE_TYPE_MAX]={
- ("GraphInput:Input"), // all inputs (shader type dependent)
- ("GraphScalar:Scalar Constant"), //scalar constant
- ("GraphVector:Vector Constant"), //vec3 constant
- ("GraphRgb:RGB Constant"), //rgb constant (shows a color picker instead)
- ("GraphXform:XForm Constant"), // 4x4 matrix constant
- ("GraphTime:Time:"), // time in seconds
- ("GraphTexscreen:Screen Sample"), // screen texture sampler (takes uv) (only usable in fragment shader)
- ("GraphScalarOp:Scalar Operator"), // scalar vs scalar op (mul", add", div", etc)
- ("GraphVecOp:Vector Operator"), // vec3 vs vec3 op (mul",ad",div",crossprod",etc)
- ("GraphVecScalarOp:Scalar+Vector Operator"), // vec3 vs scalar op (mul", add", div", etc)
- ("GraphRgbOp:RGB Operator:"), // vec3 vs vec3 rgb op (with scalar amount)", like brighten", darken", burn", dodge", multiply", etc.
- ("GraphXformMult:XForm Multiply"), // mat4 x mat4
- ("GraphXformVecMult:XForm+Vector Multiply"), // mat4 x vec3 mult (with no-translation option)
- ("GraphXformVecImult:Form+Vector InvMultiply:"), // mat4 x vec3 inverse mult (with no-translation option)
- ("GraphXformScalarFunc:Scalar Function"), // scalar function (sin", cos", etc)
- ("GraphXformVecFunc:Vector Function"), // vector function (normalize", negate", reciprocal", rgb2hsv", hsv2rgb", etc", etc)
- ("GraphVecLength:Vector Length"), // vec3 length
- ("GraphVecDp:Dot Product:"), // vec3 . vec3 (dot product -> scalar output)
- ("GraphVecToScalars:Vector -> Scalars"), // 1 vec3 input", 3 scalar outputs
- ("GraphScalarsToVec:Scalars -> Vector"), // 3 scalar input", 1 vec3 output
- ("GraphXformToVecs:XForm -> Vectors"), // 3 vec input", 1 xform output
- ("GraphVecsToXform:Vectors -> XForm:"), // 3 vec input", 1 xform output
- ("GraphScalarInterp:Scalar Interpolate"), // scalar interpolation (with optional curve)
- ("GraphVecInterp:Vector Interpolate:"), // vec3 interpolation (with optional curve)
- ("GraphColorRamp:Color Ramp"), // vec3 interpolation (with optional curve)
- ("GraphCurveMap:Curve Remap:"), // vec3 interpolation (with optional curve)
- ("GraphScalarUniform:Scalar Uniform"), // scalar uniform (assignable in material)
- ("GraphVectorUniform:Vector Uniform"), // vec3 uniform (assignable in material)
- ("GraphRgbUniform:RGB Uniform"), // color uniform (assignable in material)
- ("GraphXformUniform:XForm Uniform"), // mat4 uniform (assignable in material)
- ("GraphTextureUniform:Texture Uniform"), // texture input (assignable in material)
- ("GraphCubeUniform:CubeMap Uniform:"), // cubemap input (assignable in material)
- ("GraphDefaultTexture:CanvasItem Texture:"), // cubemap input (assignable in material)
- ("Output"), // output (shader type dependent)
- ("GraphComment:Comment"), // comment
-
-
-};
-ShaderGraphEditor::ShaderGraphEditor(bool p_2d) {
- _2d=p_2d;
-
- popup = memnew( PopupMenu );
- add_child(popup);
-
-
- tabs = memnew(TabContainer);
- tabs->set_v_size_flags(SIZE_EXPAND_FILL);
- add_child(tabs);
- const char* sname[ShaderGraph::SHADER_TYPE_MAX]={
- "Vertex",
- "Fragment",
- "Light"
- };
- for(int i=0;i<ShaderGraph::SHADER_TYPE_MAX;i++) {
-
- graph_edits[i]= memnew( ShaderGraphView(ShaderGraph::ShaderType(i)) );
- add_child(graph_edits[i]);
- graph_edits[i]->get_graph_edit()->set_name(sname[i]);
- tabs->add_child(graph_edits[i]->get_graph_edit());
- graph_edits[i]->get_graph_edit()->connect("connection_request",graph_edits[i],"_connection_request");
- graph_edits[i]->get_graph_edit()->connect("disconnection_request",graph_edits[i],"_disconnection_request");
- graph_edits[i]->get_graph_edit()->connect("duplicate_nodes_request", graph_edits[i], "_duplicate_nodes_request");
- graph_edits[i]->get_graph_edit()->connect("popup_request",this,"_popup_requested");
- graph_edits[i]->get_graph_edit()->connect("delete_nodes_request",graph_edits[i],"_delete_nodes_request");
- graph_edits[i]->get_graph_edit()->set_right_disconnects(true);
- }
-
- tabs->set_current_tab(1);
-
- set_custom_minimum_size(Size2(100,300));
-}
-
-
-void ShaderGraphEditorPlugin::edit(Object *p_object) {
-
- shader_editor->edit(Object::cast_to<ShaderGraph>(p_object));
-}
-
-bool ShaderGraphEditorPlugin::handles(Object *p_object) const {
-
- ShaderGraph *shader=Object::cast_to<ShaderGraph>(p_object);
- if (!shader)
- return false;
- if (_2d)
- return shader->get_mode()==Shader::MODE_CANVAS_ITEM;
- else
- return shader->get_mode()==Shader::MODE_MATERIAL;
-}
-
-void ShaderGraphEditorPlugin::make_visible(bool p_visible) {
-
- if (p_visible) {
- shader_editor->show();
- } else {
-
- shader_editor->hide();
- }
-
-}
-
-ShaderGraphEditorPlugin::ShaderGraphEditorPlugin(EditorNode *p_node, bool p_2d) {
-
- _2d=p_2d;
- editor=p_node;
- shader_editor = memnew( ShaderGraphEditor(p_2d) );
- shader_editor->hide();
- if (p_2d)
- CanvasItemEditor::get_singleton()->get_bottom_split()->add_child(shader_editor);
- else
- SpatialEditor::get_singleton()->get_shader_split()->add_child(shader_editor);
-
-
- //editor->get_viewport()->add_child(shader_editor);
- //shader_editor->set_anchors_and_margins_preset(Control::PRESET_WIDE);
- //shader_editor->hide();
-
-}
-
-
-ShaderGraphEditorPlugin::~ShaderGraphEditorPlugin()
-{
-}
-
-#endif
diff --git a/editor/plugins/shader_graph_editor_plugin.h b/editor/plugins/shader_graph_editor_plugin.h
deleted file mode 100644
index f273507fcf..0000000000
--- a/editor/plugins/shader_graph_editor_plugin.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*************************************************************************/
-/* shader_graph_editor_plugin.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2018 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 SHADER_GRAPH_EDITOR_PLUGIN_H
-#define SHADER_GRAPH_EDITOR_PLUGIN_H
-
-// FIXME: Godot 3.0 broke compatibility with ShaderGraphEditorPlugin,
-// it needs to be ported to the new shader language.
-#if 0
-
-#include "editor/editor_node.h"
-#include "editor/editor_plugin.h"
-#include "editor/property_editor.h"
-#include "scene/gui/button.h"
-#include "scene/gui/graph_edit.h"
-#include "scene/gui/popup.h"
-#include "scene/gui/tree.h"
-#include "scene/resources/shader.h"
-#include "scene/resources/shader_graph.h"
-
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-
-class GraphColorRampEdit : public Control {
-
- GDCLASS(GraphColorRampEdit,Control);
-
-
- struct Point {
-
- float offset;
- Color color;
- bool operator<(const Point& p_ponit) const {
- return offset<p_ponit.offset;
- }
- };
-
- PopupPanel *popup;
- ColorPicker *picker;
-
-
- bool grabbing;
- int grabbed;
- float grabbed_at;
- Vector<Point> points;
-
- void _color_changed(const Color& p_color);
-
-protected:
- void _gui_input(const InputEvent& p_event);
- void _notification(int p_what);
- static void _bind_methods();
-public:
-
- void set_ramp(const Vector<float>& p_offsets,const Vector<Color>& p_colors);
- Vector<float> get_offsets() const;
- Vector<Color> get_colors() const;
- virtual Size2 get_minimum_size() const;
- GraphColorRampEdit();
-};
-
-
-class GraphCurveMapEdit : public Control {
-
- GDCLASS(GraphCurveMapEdit,Control);
-
-
- struct Point {
-
- float offset;
- float height;
- bool operator<(const Point& p_ponit) const {
- return offset<p_ponit.offset;
- }
- };
-
-
- bool grabbing;
- int grabbed;
- Vector<Point> points;
-
- void _plot_curve(const Vector2& p_a,const Vector2& p_b,const Vector2& p_c,const Vector2& p_d);
-protected:
- void _gui_input(const InputEvent& p_event);
- void _notification(int p_what);
- static void _bind_methods();
-public:
-
- void set_points(const Vector<Vector2>& p_points);
- Vector<Vector2> get_points() const;
- virtual Size2 get_minimum_size() const;
- GraphCurveMapEdit();
-};
-
-class ShaderGraphView : public Control {
-
- GDCLASS(ShaderGraphView,Control);
-
-
-
- CustomPropertyEditor *ped_popup;
- bool block_update;
-
- Label *status;
- GraphEdit *graph_edit;
- Ref<ShaderGraph> graph;
- int edited_id;
- int edited_def;
-
- ShaderGraph::ShaderType type;
-
- void _update_graph();
- void _create_node(int p_id);
-
-
- ToolButton *make_label(String text, Variant::Type v_type = Variant::NIL);
- ToolButton *make_editor(String text, GraphNode* gn, int p_id, int param, Variant::Type type, String p_hint="");
-
- void _connection_request(const String& p_from, int p_from_slot,const String& p_to,int p_to_slot);
- void _disconnection_request(const String& p_from, int p_from_slot,const String& p_to,int p_to_slot);
-
- void _node_removed(int p_id);
- void _begin_node_move();
- void _node_moved(const Vector2& p_from, const Vector2& p_to,int p_id);
- void _end_node_move();
- void _move_node(int p_id,const Vector2& p_to);
- void _duplicate_nodes_request();
- void _duplicate_nodes(const Array &p_nodes);
- void _delete_nodes_request();
-
-
- void _default_changed(int p_id, Node* p_button, int p_param, int v_type, String p_hint);
-
- void _scalar_const_changed(double p_value,int p_id);
- void _vec_const_changed(double p_value, int p_id, Array p_arr);
- void _rgb_const_changed(const Color& p_color, int p_id);
- void _xform_const_changed(int p_id,Node* p_button);
- void _scalar_op_changed(int p_op, int p_id);
- void _vec_op_changed(int p_op, int p_id);
- void _vec_scalar_op_changed(int p_op, int p_id);
- void _rgb_op_changed(int p_op, int p_id);
- void _xform_inv_rev_changed(bool p_enabled, int p_id);
- void _scalar_func_changed(int p_func, int p_id);
- void _vec_func_changed(int p_func, int p_id);
- void _scalar_input_changed(double p_value,int p_id);
- void _vec_input_changed(double p_value, int p_id, Array p_arr);
- void _xform_input_changed(int p_id,Node* p_button);
- void _rgb_input_changed(const Color& p_color, int p_id);
- void _tex_input_change(int p_id,Node* p_button);
- void _cube_input_change(int p_id);
- void _input_name_changed(const String& p_name,int p_id,Node* p_line_edit);
- void _tex_edited(int p_id,Node* p_button);
- void _cube_edited(int p_id,Node* p_button);
- void _variant_edited();
- void _comment_edited(int p_id,Node* p_button);
- void _color_ramp_changed(int p_id,Node* p_ramp);
- void _curve_changed(int p_id,Node* p_curve);
- void _sg_updated();
- Map<int,GraphNode*> node_map;
-
- 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);
-protected:
- void _notification(int p_what);
- static void _bind_methods();
-public:
-
- void add_node(int p_type, const Vector2 &location);
- GraphEdit *get_graph_edit() { return graph_edit; }
- void set_graph(Ref<ShaderGraph> p_graph);
-
- ShaderGraphView(ShaderGraph::ShaderType p_type=ShaderGraph::SHADER_TYPE_FRAGMENT);
-};
-
-class ShaderGraphEditor : public VBoxContainer {
-
- GDCLASS(ShaderGraphEditor,VBoxContainer);
-
- PopupMenu *popup;
- TabContainer *tabs;
- ShaderGraphView *graph_edits[ShaderGraph::SHADER_TYPE_MAX];
- static const char* node_names[ShaderGraph::NODE_TYPE_MAX];
- Vector2 next_location;
-
- bool _2d;
- void _add_node(int p_type);
- void _popup_requested(const Vector2 &p_position);
-protected:
- void _notification(int p_what);
- static void _bind_methods();
-public:
-
- void edit(Ref<ShaderGraph> p_shader);
- ShaderGraphEditor(bool p_2d);
-};
-
-class ShaderGraphEditorPlugin : public EditorPlugin {
-
- GDCLASS( ShaderGraphEditorPlugin, EditorPlugin );
-
- bool _2d;
- ShaderGraphEditor *shader_editor;
- EditorNode *editor;
-
-public:
-
- virtual String get_name() const { return "ShaderGraph"; }
- bool has_main_screen() const { return false; }
- virtual void edit(Object *p_node);
- virtual bool handles(Object *p_node) const;
- virtual void make_visible(bool p_visible);
-
- ShaderGraphEditorPlugin(EditorNode *p_node,bool p_2d);
- ~ShaderGraphEditorPlugin();
-
-};
-
-#endif
-#endif // SHADER_GRAPH_EDITOR_PLUGIN_H
diff --git a/editor/plugins/skeleton_editor_plugin.cpp b/editor/plugins/skeleton_editor_plugin.cpp
index fe7d1df50c..d871922c8b 100644
--- a/editor/plugins/skeleton_editor_plugin.cpp
+++ b/editor/plugins/skeleton_editor_plugin.cpp
@@ -126,7 +126,15 @@ PhysicalBone *SkeletonEditor::create_physical_bone(int bone_id, int bone_child_i
}
void SkeletonEditor::edit(Skeleton *p_node) {
+
skeleton = p_node;
+
+}
+
+void SkeletonEditor::_notification(int p_what) {
+ if (p_what==NOTIFICATION_ENTER_TREE) {
+ get_tree()->connect("node_removed", this, "_node_removed");
+ }
}
void SkeletonEditor::_node_removed(Node *p_node) {
@@ -139,6 +147,7 @@ void SkeletonEditor::_node_removed(Node *p_node) {
void SkeletonEditor::_bind_methods() {
ClassDB::bind_method("_on_click_option", &SkeletonEditor::_on_click_option);
+ ClassDB::bind_method("_node_removed", &SkeletonEditor::_node_removed);
}
SkeletonEditor::SkeletonEditor() {
diff --git a/editor/plugins/skeleton_editor_plugin.h b/editor/plugins/skeleton_editor_plugin.h
index b9bdf91902..0ab94c15b5 100644
--- a/editor/plugins/skeleton_editor_plugin.h
+++ b/editor/plugins/skeleton_editor_plugin.h
@@ -61,6 +61,7 @@ class SkeletonEditor : public Node {
friend class SkeletonEditorPlugin;
protected:
+ void _notification(int p_what);
void _node_removed(Node *p_node);
static void _bind_methods();
diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp
index 9782b9d1f4..906c51b9f6 100644
--- a/editor/plugins/spatial_editor_plugin.cpp
+++ b/editor/plugins/spatial_editor_plugin.cpp
@@ -4352,10 +4352,13 @@ void SpatialEditor::_menu_item_pressed(int p_option) {
bool is_checked = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(p_option));
- is_checked = !is_checked;
- VisualServer::get_singleton()->instance_set_visible(origin_instance, is_checked);
+ origin_enabled = !is_checked;
+ VisualServer::get_singleton()->instance_set_visible(origin_instance, origin_enabled);
+ // Update the grid since its appearance depends on whether the origin is enabled
+ _finish_grid();
+ _init_grid();
- view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(p_option), is_checked);
+ view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(p_option), origin_enabled);
} break;
case MENU_VIEW_GRID: {
@@ -4778,7 +4781,11 @@ void SpatialEditor::_init_grid() {
Vector3 p2_dest = p2 * (-axis_n1 + axis_n2);
Color line_color = secondary_grid_color;
- if (j % primary_grid_steps == 0) {
+ if (origin_enabled && j == 0) {
+ // Don't draw the center lines of the grid if the origin is enabled
+ // The origin would overlap the grid lines in this case, causing flickering
+ continue;
+ } else if (j % primary_grid_steps == 0) {
line_color = primary_grid_color;
}
@@ -5187,9 +5194,10 @@ void SpatialEditor::_register_all_gizmos() {
register_gizmo_plugin(Ref<MeshInstanceSpatialGizmoPlugin>(memnew(MeshInstanceSpatialGizmoPlugin)));
register_gizmo_plugin(Ref<SoftBodySpatialGizmoPlugin>(memnew(SoftBodySpatialGizmoPlugin)));
register_gizmo_plugin(Ref<Sprite3DSpatialGizmoPlugin>(memnew(Sprite3DSpatialGizmoPlugin)));
- register_gizmo_plugin(Ref<Position3DSpatialGizmoPlugin>(memnew(Position3DSpatialGizmoPlugin)));
register_gizmo_plugin(Ref<SkeletonSpatialGizmoPlugin>(memnew(SkeletonSpatialGizmoPlugin)));
+ register_gizmo_plugin(Ref<Position3DSpatialGizmoPlugin>(memnew(Position3DSpatialGizmoPlugin)));
register_gizmo_plugin(Ref<RayCastSpatialGizmoPlugin>(memnew(RayCastSpatialGizmoPlugin)));
+ register_gizmo_plugin(Ref<SpringArmSpatialGizmoPlugin>(memnew(SpringArmSpatialGizmoPlugin)));
register_gizmo_plugin(Ref<VehicleWheelSpatialGizmoPlugin>(memnew(VehicleWheelSpatialGizmoPlugin)));
register_gizmo_plugin(Ref<VisibilityNotifierGizmoPlugin>(memnew(VisibilityNotifierGizmoPlugin)));
register_gizmo_plugin(Ref<ParticlesGizmoPlugin>(memnew(ParticlesGizmoPlugin)));
@@ -5656,7 +5664,7 @@ SpatialEditorPlugin::~SpatialEditorPlugin() {
void EditorSpatialGizmoPlugin::create_material(const String &p_name, const Color &p_color, bool p_billboard, bool p_on_top, bool p_use_vertex_color) {
- Color instanced_color = EDITOR_GET("editors/3d_gizmos/gizmo_colors/instanced");
+ Color instanced_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/instanced", Color(0.7, 0.7, 0.7, 0.5));
Vector<Ref<SpatialMaterial> > mats;
@@ -5698,7 +5706,7 @@ void EditorSpatialGizmoPlugin::create_material(const String &p_name, const Color
void EditorSpatialGizmoPlugin::create_icon_material(const String &p_name, const Ref<Texture> &p_texture, bool p_on_top, const Color &p_albedo) {
- Color instanced_color = EDITOR_GET("editors/3d_gizmos/gizmo_colors/instanced");
+ Color instanced_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/instanced", Color(0.7, 0.7, 0.7, 0.5));
Vector<Ref<SpatialMaterial> > icons;
diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h
index 4057145c2f..5850c0dbf1 100644
--- a/editor/plugins/spatial_editor_plugin.h
+++ b/editor/plugins/spatial_editor_plugin.h
@@ -508,6 +508,7 @@ private:
RID origin;
RID origin_instance;
+ bool origin_enabled;
RID grid[3];
RID grid_instance[3];
bool grid_visible[3]; //currently visible
diff --git a/editor/plugins/sprite_editor_plugin.cpp b/editor/plugins/sprite_editor_plugin.cpp
index 9bf1178b58..58a1835e68 100644
--- a/editor/plugins/sprite_editor_plugin.cpp
+++ b/editor/plugins/sprite_editor_plugin.cpp
@@ -160,7 +160,6 @@ void SpriteEditor::_update_mesh_data() {
Vector<Vector<Vector2> > lines = bm->clip_opaque_to_polygons(rect, epsilon);
- print_line("lines: " + itos(lines.size()));
uv_lines.clear();
computed_vertices.clear();
@@ -190,21 +189,6 @@ void SpriteEditor::_update_mesh_data() {
computed_vertices.push_back(vtx);
}
-#if 0
- Vector<Vector<Vector2> > polys = Geometry::decompose_polygon(lines[j]);
- print_line("polygon: " + itos(polys.size()));
-
- for (int i = 0; i < polys.size(); i++) {
- for (int k = 0; k < polys[i].size(); k++) {
-
- int idxn = (k + 1) % polys[i].size();
- uv_lines.push_back(polys[i][k]);
- uv_lines.push_back(polys[i][idxn]);
- }
- }
-#endif
-
-#if 1
Vector<int> poly = Geometry::triangulate_polygon(lines[j]);
@@ -218,14 +202,6 @@ void SpriteEditor::_update_mesh_data() {
computed_indices.push_back(poly[idx] + index_ofs);
}
}
-#endif
-
-#if 0
- for (int i = 0; i < lines[j].size() - 1; i++) {
- uv_lines.push_back(lines[j][i]);
- uv_lines.push_back(lines[j][i + 1]);
- }
-#endif
}
debug_uv->update();
diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp
index a9afc7a670..fcbbee2b9c 100644
--- a/editor/plugins/sprite_frames_editor_plugin.cpp
+++ b/editor/plugins/sprite_frames_editor_plugin.cpp
@@ -89,7 +89,6 @@ void SpriteFramesEditor::_file_load_request(const PoolVector<String> &p_path, in
}
if (resources.empty()) {
- //print_line("added frames!");
return;
}
@@ -108,7 +107,6 @@ void SpriteFramesEditor::_file_load_request(const PoolVector<String> &p_path, in
undo_redo->add_undo_method(this, "_update_library");
undo_redo->commit_action();
- //print_line("added frames!");
}
void SpriteFramesEditor::_load_pressed() {
diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp
index d13e01dc1e..4a9cbfe535 100644
--- a/editor/plugins/texture_region_editor_plugin.cpp
+++ b/editor/plugins/texture_region_editor_plugin.cpp
@@ -70,7 +70,7 @@ void TextureRegionEditor::_region_draw() {
VS::get_singleton()->canvas_item_add_set_transform(edit_draw->get_canvas_item(), Transform2D());
if (snap_mode == SNAP_GRID) {
- Color grid_color = get_color("grid_major_color", "Editor");
+ Color grid_color = Color(1.0, 1.0, 1.0, 0.15);
Size2 s = edit_draw->get_size();
int last_cell = 0;
diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp
index 3d14db7d0e..34dd36692c 100644
--- a/editor/plugins/tile_map_editor_plugin.cpp
+++ b/editor/plugins/tile_map_editor_plugin.cpp
@@ -79,9 +79,9 @@ void TileMapEditor::_notification(int p_what) {
PopupMenu *p = options->get_popup();
p->set_item_icon(p->get_item_index(OPTION_PAINTING), get_icon("Edit", "EditorIcons"));
p->set_item_icon(p->get_item_index(OPTION_PICK_TILE), get_icon("ColorPick", "EditorIcons"));
- p->set_item_icon(p->get_item_index(OPTION_SELECT), get_icon("ToolSelect", "EditorIcons"));
- p->set_item_icon(p->get_item_index(OPTION_MOVE), get_icon("ToolMove", "EditorIcons"));
- p->set_item_icon(p->get_item_index(OPTION_DUPLICATE), get_icon("Duplicate", "EditorIcons"));
+ p->set_item_icon(p->get_item_index(OPTION_SELECT), get_icon("ActionCopy", "EditorIcons"));
+ p->set_item_icon(p->get_item_index(OPTION_CUT), get_icon("ActionCut", "EditorIcons"));
+ p->set_item_icon(p->get_item_index(OPTION_COPY), get_icon("Duplicate", "EditorIcons"));
p->set_item_icon(p->get_item_index(OPTION_ERASE_SELECTION), get_icon("Remove", "EditorIcons"));
} break;
@@ -119,12 +119,12 @@ void TileMapEditor::_menu_option(int p_option) {
canvas_item_editor->update();
} break;
- case OPTION_DUPLICATE: {
+ case OPTION_COPY: {
_update_copydata();
if (selection_active) {
- tool = TOOL_DUPLICATING;
+ tool = TOOL_PASTING;
canvas_item_editor->update();
}
@@ -135,12 +135,7 @@ void TileMapEditor::_menu_option(int p_option) {
return;
_start_undo(TTR("Erase Selection"));
- for (int i = rectangle.position.y; i <= rectangle.position.y + rectangle.size.y; i++) {
- for (int j = rectangle.position.x; j <= rectangle.position.x + rectangle.size.x; j++) {
-
- _set_cell(Point2i(j, i), invalid_cell, false, false, false);
- }
- }
+ _erase_selection();
_finish_undo();
selection_active = false;
@@ -157,11 +152,19 @@ void TileMapEditor::_menu_option(int p_option) {
undo_redo->commit_action();
} break;
- case OPTION_MOVE: {
+ case OPTION_CUT: {
if (selection_active) {
_update_copydata();
- tool = TOOL_MOVING;
+
+ _start_undo(TTR("Cut Selection"));
+ _erase_selection();
+ _finish_undo();
+
+ selection_active = false;
+
+ tool = TOOL_PASTING;
+
canvas_item_editor->update();
}
} break;
@@ -426,6 +429,9 @@ void TileMapEditor::_update_palette() {
Ref<Texture> tex = tileset->tile_get_texture(entries[i].id);
if (tex.is_valid()) {
+ Color color = tileset->tile_get_modulate(entries[i].id);
+ palette->set_item_icon_modulate(palette->get_item_count() - 1, color);
+
Rect2 region = tileset->tile_get_region(entries[i].id);
if (tileset->tile_get_tile_mode(entries[i].id) == TileSet::AUTO_TILE || tileset->tile_get_tile_mode(entries[i].id) == TileSet::ATLAS_TILE) {
@@ -666,6 +672,18 @@ void TileMapEditor::_select(const Point2i &p_from, const Point2i &p_to) {
canvas_item_editor->update();
}
+void TileMapEditor::_erase_selection() {
+ if (!selection_active)
+ return;
+
+ for (int i = rectangle.position.y; i <= rectangle.position.y + rectangle.size.y; i++) {
+ for (int j = rectangle.position.x; j <= rectangle.position.x + rectangle.size.x; j++) {
+
+ _set_cell(Point2i(j, i), invalid_cell, false, false, false);
+ }
+ }
+}
+
void TileMapEditor::_draw_cell(int p_cell, const Point2i &p_point, bool p_flip_h, bool p_flip_v, bool p_transpose, const Transform2D &p_xform) {
Ref<Texture> t = node->get_tileset()->tile_get_texture(p_cell);
@@ -759,10 +777,13 @@ void TileMapEditor::_draw_cell(int p_cell, const Point2i &p_point, bool p_flip_h
rect.position = p_xform.xform(rect.position);
rect.size *= sc;
+ Color modulate = node->get_tileset()->tile_get_modulate(p_cell);
+ modulate.a = 0.5;
+
if (r.has_no_area())
- canvas_item_editor->draw_texture_rect(t, rect, false, Color(1, 1, 1, 0.5), p_transpose);
+ canvas_item_editor->draw_texture_rect(t, rect, false, modulate, p_transpose);
else
- canvas_item_editor->draw_texture_rect_region(t, rect, r, Color(1, 1, 1, 0.5), p_transpose);
+ canvas_item_editor->draw_texture_rect_region(t, rect, r, modulate, p_transpose);
}
void TileMapEditor::_draw_fill_preview(int p_cell, const Point2i &p_point, bool p_flip_h, bool p_flip_v, bool p_transpose, const Transform2D &p_xform) {
@@ -974,12 +995,12 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
canvas_item_editor->update();
}
- } else if (tool == TOOL_DUPLICATING) {
+ } else if (tool == TOOL_PASTING) {
Point2 ofs = over_tile - rectangle.position;
Vector<int> ids;
- _start_undo(TTR("Duplicate"));
+ _start_undo(TTR("Paste"));
ids.push_back(0);
for (List<TileData>::Element *E = copydata.front(); E; E = E->next()) {
@@ -988,34 +1009,9 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
}
_finish_undo();
- copydata.clear();
-
- canvas_item_editor->update();
- } else if (tool == TOOL_MOVING) {
-
- Point2 ofs = over_tile - rectangle.position;
- Vector<int> ids;
-
- _start_undo(TTR("Move"));
- ids.push_back(TileMap::INVALID_CELL);
- for (int i = rectangle.position.y; i <= rectangle.position.y + rectangle.size.y; i++) {
- for (int j = rectangle.position.x; j <= rectangle.position.x + rectangle.size.x; j++) {
-
- _set_cell(Point2i(j, i), ids, false, false, false);
- }
- }
- for (List<TileData>::Element *E = copydata.front(); E; E = E->next()) {
-
- ids.write[0] = E->get().cell;
- _set_cell(E->get().pos + ofs, ids, E->get().flip_h, E->get().flip_v, E->get().transpose);
- }
- _finish_undo();
-
- copydata.clear();
- selection_active = false;
-
canvas_item_editor->update();
+ return true; // We want to keep the Pasting tool
} else if (tool == TOOL_SELECTING) {
canvas_item_editor->update();
@@ -1062,17 +1058,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
return true;
}
- if (tool == TOOL_DUPLICATING) {
-
- tool = TOOL_NONE;
- copydata.clear();
-
- canvas_item_editor->update();
-
- return true;
- }
-
- if (tool == TOOL_MOVING) {
+ if (tool == TOOL_PASTING) {
tool = TOOL_NONE;
copydata.clear();
@@ -1299,7 +1285,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
if (k->get_scancode() == KEY_ESCAPE) {
- if (tool == TOOL_DUPLICATING || tool == TOOL_MOVING)
+ if (tool == TOOL_PASTING)
copydata.clear();
else if (tool == TOOL_SELECTING || selection_active)
selection_active = false;
@@ -1343,21 +1329,29 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
return true;
}
- if (ED_IS_SHORTCUT("tile_map_editor/duplicate_selection", p_event)) {
+ if (ED_IS_SHORTCUT("tile_map_editor/copy_selection", p_event)) {
_update_copydata();
if (selection_active) {
- tool = TOOL_DUPLICATING;
+ tool = TOOL_PASTING;
canvas_item_editor->update();
return true;
}
}
- if (ED_IS_SHORTCUT("tile_map_editor/move_selection", p_event)) {
+ if (ED_IS_SHORTCUT("tile_map_editor/cut_selection", p_event)) {
if (selection_active) {
_update_copydata();
- tool = TOOL_MOVING;
+
+ _start_undo(TTR("Cut Selection"));
+ _erase_selection();
+ _finish_undo();
+
+ selection_active = false;
+
+ tool = TOOL_PASTING;
+
canvas_item_editor->update();
return true;
}
@@ -1558,7 +1552,7 @@ void TileMapEditor::forward_draw_over_viewport(Control *p_overlay) {
_draw_cell(ids[0], Point2i(j, i), flip_h, flip_v, transpose, xform);
}
}
- } else if (tool == TOOL_DUPLICATING || tool == TOOL_MOVING) {
+ } else if (tool == TOOL_PASTING) {
if (copydata.empty())
return;
@@ -1838,8 +1832,8 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
p->add_item(TTR("Pick Tile"), OPTION_PICK_TILE, KEY_CONTROL);
p->add_separator();
p->add_shortcut(ED_SHORTCUT("tile_map_editor/select", TTR("Select"), KEY_MASK_CMD + KEY_B), OPTION_SELECT);
- p->add_shortcut(ED_SHORTCUT("tile_map_editor/move_selection", TTR("Move Selection"), KEY_MASK_CMD + KEY_M), OPTION_MOVE);
- p->add_shortcut(ED_SHORTCUT("tile_map_editor/duplicate_selection", TTR("Duplicate Selection"), KEY_MASK_CMD + KEY_D), OPTION_DUPLICATE);
+ p->add_shortcut(ED_SHORTCUT("tile_map_editor/cut_selection", TTR("Cut Selection"), KEY_MASK_CMD + KEY_X), OPTION_CUT);
+ p->add_shortcut(ED_SHORTCUT("tile_map_editor/copy_selection", TTR("Copy Selection"), KEY_MASK_CMD + KEY_C), OPTION_COPY);
p->add_shortcut(ED_GET_SHORTCUT("tile_map_editor/erase_selection"), OPTION_ERASE_SELECTION);
p->add_separator();
p->add_item(TTR("Fix Invalid Tiles"), OPTION_FIX_INVALID);
@@ -1897,12 +1891,28 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
TileMapEditor::~TileMapEditor() {
_clear_bucket_cache();
+ copydata.clear();
}
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
+void TileMapEditorPlugin::_notification(int p_what) {
+
+ if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
+
+ switch ((int)EditorSettings::get_singleton()->get("editors/tile_map/editor_side")) {
+ case 0: { // Left.
+ CanvasItemEditor::get_singleton()->get_palette_split()->move_child(tile_map_editor, 0);
+ } break;
+ case 1: { // Right.
+ CanvasItemEditor::get_singleton()->get_palette_split()->move_child(tile_map_editor, 1);
+ } break;
+ }
+ }
+}
+
void TileMapEditorPlugin::edit(Object *p_object) {
tile_map_editor->edit(Object::cast_to<Node>(p_object));
@@ -1936,11 +1946,19 @@ TileMapEditorPlugin::TileMapEditorPlugin(EditorNode *p_node) {
EDITOR_DEF("editors/tile_map/sort_tiles_by_name", true);
EDITOR_DEF("editors/tile_map/bucket_fill_preview", true);
EDITOR_DEF("editors/tile_map/show_tile_info_on_hover", true);
+ EDITOR_DEF("editors/tile_map/editor_side", 1);
+ EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "editors/tile_map/editor_side", PROPERTY_HINT_ENUM, "Left,Right"));
tile_map_editor = memnew(TileMapEditor(p_node));
- add_control_to_container(CONTAINER_CANVAS_EDITOR_SIDE, tile_map_editor);
+ switch ((int)EditorSettings::get_singleton()->get("editors/tile_map/editor_side")) {
+ case 0: { // Left.
+ add_control_to_container(CONTAINER_CANVAS_EDITOR_SIDE_LEFT, tile_map_editor);
+ } break;
+ case 1: { // Right.
+ add_control_to_container(CONTAINER_CANVAS_EDITOR_SIDE_RIGHT, tile_map_editor);
+ } break;
+ }
tile_map_editor->hide();
- tile_map_editor->set_process(true);
}
TileMapEditorPlugin::~TileMapEditorPlugin() {
diff --git a/editor/plugins/tile_map_editor_plugin.h b/editor/plugins/tile_map_editor_plugin.h
index bb76879b02..c824824d56 100644
--- a/editor/plugins/tile_map_editor_plugin.h
+++ b/editor/plugins/tile_map_editor_plugin.h
@@ -61,8 +61,7 @@ class TileMapEditor : public VBoxContainer {
TOOL_SELECTING,
TOOL_BUCKET,
TOOL_PICKING,
- TOOL_DUPLICATING,
- TOOL_MOVING
+ TOOL_PASTING
};
enum Options {
@@ -70,11 +69,11 @@ class TileMapEditor : public VBoxContainer {
OPTION_BUCKET,
OPTION_PICK_TILE,
OPTION_SELECT,
- OPTION_DUPLICATE,
+ OPTION_COPY,
OPTION_ERASE_SELECTION,
OPTION_PAINTING,
OPTION_FIX_INVALID,
- OPTION_MOVE
+ OPTION_CUT
};
TileMap *node;
@@ -167,6 +166,7 @@ class TileMapEditor : public VBoxContainer {
void _erase_points(const PoolVector<Vector2> p_points);
void _select(const Point2i &p_from, const Point2i &p_to);
+ void _erase_selection();
void _draw_cell(int p_cell, const Point2i &p_point, bool p_flip_h, bool p_flip_v, bool p_transpose, const Transform2D &p_xform);
void _draw_fill_preview(int p_cell, const Point2i &p_point, bool p_flip_h, bool p_flip_v, bool p_transpose, const Transform2D &p_xform);
@@ -220,6 +220,9 @@ class TileMapEditorPlugin : public EditorPlugin {
TileMapEditor *tile_map_editor;
+protected:
+ void _notification(int p_what);
+
public:
virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event) { return tile_map_editor->forward_gui_input(p_event); }
virtual void forward_draw_over_viewport(Control *p_overlay) { tile_map_editor->forward_draw_over_viewport(p_overlay); }
diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp
index 490ebeca26..55a04a51b3 100644
--- a/editor/plugins/tile_set_editor_plugin.cpp
+++ b/editor/plugins/tile_set_editor_plugin.cpp
@@ -900,12 +900,13 @@ void TileSetEditor::_on_workspace_overlay_draw() {
else if (tileset->tile_get_tile_mode(t_id) == TileSet::ATLAS_TILE)
c = COLOR_ATLAS;
c.a = tile_names_opacity;
+ String tile_id_name = String::num(t_id, 0) + ": " + tileset->tile_get_name(t_id);
Ref<Font> font = get_font("font", "Label");
- region.set_size(font->get_string_size(tileset->tile_get_name(t_id)));
+ region.set_size(font->get_string_size(tile_id_name));
workspace_overlay->draw_rect(region, c);
region.position.y += region.size.y - 2;
c = Color(0.1, 0.1, 0.1, tile_names_opacity);
- workspace_overlay->draw_string(font, region.position, tileset->tile_get_name(t_id), c);
+ workspace_overlay->draw_string(font, region.position, tile_id_name, c);
}
}
}
@@ -2381,11 +2382,9 @@ TileSetEditorPlugin::TileSetEditorPlugin(EditorNode *p_node) {
editor = p_node;
tileset_editor = memnew(TileSetEditor(p_node));
- tileset_editor_button =
- p_node->add_bottom_panel_item(TTR("Tile Set"), tileset_editor);
- tileset_editor_button->set_tooltip(TTR("Tile Set Editor"));
-
tileset_editor->set_custom_minimum_size(Size2(0, 200) * EDSCALE);
tileset_editor->hide();
+
+ tileset_editor_button = p_node->add_bottom_panel_item(TTR("Tile Set"), tileset_editor);
tileset_editor_button->hide();
}
diff --git a/editor/project_export.cpp b/editor/project_export.cpp
index 3cebbb5d21..019d5d382c 100644
--- a/editor/project_export.cpp
+++ b/editor/project_export.cpp
@@ -29,6 +29,7 @@
/*************************************************************************/
#include "project_export.h"
+
#include "compressed_translation.h"
#include "editor_data.h"
#include "editor_node.h"
@@ -389,7 +390,6 @@ void ProjectExportDialog::_patch_deleted() {
void ProjectExportDialog::_update_parameters(const String &p_edited_property) {
_edit_preset(presets->get_current());
- parameters->update_tree();
}
void ProjectExportDialog::_runnable_pressed() {
@@ -842,12 +842,10 @@ ProjectExportDialog::ProjectExportDialog() {
settings_vb->add_child(sections);
sections->set_v_size_flags(SIZE_EXPAND_FILL);
- parameters = memnew(PropertyEditor);
+ parameters = memnew(EditorInspector);
sections->add_child(parameters);
parameters->set_name(TTR("Options"));
- parameters->hide_top_label();
parameters->set_v_size_flags(SIZE_EXPAND_FILL);
-
parameters->connect("property_edited", this, "_update_parameters");
VBoxContainer *resources_vb = memnew(VBoxContainer);
diff --git a/editor/project_export.h b/editor/project_export.h
index b62254974d..1f8723febd 100644
--- a/editor/project_export.h
+++ b/editor/project_export.h
@@ -31,26 +31,27 @@
#ifndef PROJECT_EXPORT_SETTINGS_H
#define PROJECT_EXPORT_SETTINGS_H
+#include "core/os/dir_access.h"
+#include "core/os/thread.h"
+#include "editor/editor_export.h"
#include "editor/editor_file_dialog.h"
-#include "os/dir_access.h"
-#include "os/thread.h"
+#include "editor/editor_file_system.h"
+#include "editor/editor_inspector.h"
#include "scene/gui/button.h"
+#include "scene/gui/check_button.h"
#include "scene/gui/control.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"
-#include "editor/editor_file_system.h"
-#include "editor_export.h"
-#include "property_editor.h"
-#include "scene/gui/slider.h"
-
class EditorNode;
class ProjectExportDialog : public ConfirmationDialog {
@@ -64,12 +65,9 @@ private:
ItemList *presets;
LineEdit *name;
- PropertyEditor *parameters;
+ EditorInspector *parameters;
CheckButton *runnable;
- //EditorFileDialog *pck_export;
- //EditorFileDialog *file_export;
-
Button *button_export;
bool updating;
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index aad9258ed9..3a6a73d3cc 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -1390,7 +1390,7 @@ void ProjectManager::_open_project_confirm() {
return;
}
- print_line("OPENING: " + path + " (" + selected + ")");
+ print_line("Editing project: " + path + " (" + selected + ")");
List<String> args;
@@ -1447,7 +1447,7 @@ void ProjectManager::_run_project_confirm() {
return;
}
- print_line("OPENING: " + path + " (" + selected + ")");
+ print_line("Running project: " + path + " (" + selected + ")");
List<String> args;
@@ -1513,13 +1513,13 @@ void ProjectManager::_scan_dir(DirAccess *da, float pos, float total, List<Strin
void ProjectManager::_scan_begin(const String &p_base) {
- print_line("SCAN PROJECTS AT: " + p_base);
+ print_line("Scanning projects at: " + p_base);
List<String> projects;
DirAccess *da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
da->change_dir(p_base);
_scan_dir(da, 0, 1, &projects);
memdelete(da);
- print_line("found: " + itos(projects.size()) + " projects.");
+ print_line("Found " + itos(projects.size()) + " projects.");
for (List<String>::Element *E = projects.front(); E; E = E->next()) {
String proj = E->get().replace("/", "::");
diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp
index 970302e058..a7c336eb16 100644
--- a/editor/project_settings_editor.cpp
+++ b/editor/project_settings_editor.cpp
@@ -891,7 +891,6 @@ void ProjectSettingsEditor::_item_del() {
return;
}
- print_line("to delete.. " + property);
undo_redo->create_action(TTR("Delete Item"));
Variant value = ProjectSettings::get_singleton()->get(property);
@@ -1007,6 +1006,7 @@ void ProjectSettingsEditor::_copy_to_platform_about_to_show() {
Set<String> presets;
+ presets.insert("bptc");
presets.insert("s3tc");
presets.insert("etc");
presets.insert("etc2");
diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp
index 408e67149a..d9812f7425 100644
--- a/editor/property_editor.cpp
+++ b/editor/property_editor.cpp
@@ -3992,7 +3992,6 @@ void PropertyEditor::_edit_button(Object *p_item, int p_column, int p_button) {
String prop = d["name"];
emit_signal("property_keyed", prop, obj->get(prop), false);
} else if (p_button == 5) {
- print_line("PB5");
if (!d.has("name"))
return;
String prop = d["name"];
@@ -4732,7 +4731,7 @@ double PropertyValueEvaluator::eval(const String &p_text) {
script->set_source_code(_build_script(p_new_text));
Error err = script->reload();
if (err) {
- print_line("[PropertyValueEvaluator] Error loading script for expression: " + p_new_text);
+ ERR_PRINTS("PropertyValueEvaluator: Error loading script for expression: " + p_new_text);
return _default_eval(p_new_text);
}
@@ -4748,7 +4747,7 @@ double PropertyValueEvaluator::eval(const String &p_text) {
if (call_err.error == Variant::CallError::CALL_OK) {
return result;
}
- print_line("[PropertyValueEvaluator]: Error eval! Error code: " + itos(call_err.error));
+ ERR_PRINTS("PropertyValueEvaluator: Eval failed, error code: " + itos(call_err.error));
return _default_eval(p_new_text);
}
diff --git a/editor/property_selector.cpp b/editor/property_selector.cpp
index d927e07976..dae1bdeeb0 100644
--- a/editor/property_selector.cpp
+++ b/editor/property_selector.cpp
@@ -237,7 +237,6 @@ void PropertySelector::_update_search() {
Ref<Texture> icon;
script_methods = false;
- print_line("name: " + E->get().name);
String rep = E->get().name.replace("*", "");
if (E->get().name == "*Script Methods") {
icon = get_icon("Script", "EditorIcons");
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index 607d974025..39250ab391 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -1512,7 +1512,6 @@ void SceneTreeDock::_script_created(Ref<Script> p_script) {
}
editor_data->get_undo_redo().commit_action();
- print_line("test: " + String(Variant(selected.front()->get()->get_meta("_editor_icon"))));
editor->push_item(p_script.operator->());
}
diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp
index 88d614ab89..a916ae23f6 100644
--- a/editor/scene_tree_editor.cpp
+++ b/editor/scene_tree_editor.cpp
@@ -521,8 +521,10 @@ void SceneTreeEditor::_selected_changed() {
void SceneTreeEditor::_deselect_items() {
// Clear currently elected items in scene tree dock.
- if (editor_selection)
+ if (editor_selection) {
editor_selection->clear();
+ emit_signal("node_changed");
+ }
}
void SceneTreeEditor::_cell_multi_selected(Object *p_object, int p_cell, bool p_selected) {
@@ -546,6 +548,7 @@ void SceneTreeEditor::_cell_multi_selected(Object *p_object, int p_cell, bool p_
} else {
editor_selection->remove_node(n);
}
+ emit_signal("node_changed");
}
void SceneTreeEditor::_notification(int p_what) {
@@ -965,7 +968,6 @@ void SceneTreeEditor::_warning_changed(Node *p_for_node) {
//should use a timer
update_timer->start();
- //print_line("WARNING CHANGED "+String(p_for_node->get_name()));
}
void SceneTreeEditor::_editor_settings_changed() {
diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp
index 97147535c0..9db53fe5f5 100644
--- a/editor/script_editor_debugger.cpp
+++ b/editor/script_editor_debugger.cpp
@@ -1133,7 +1133,6 @@ void ScriptEditorDebugger::_notification(int p_what) {
}
message_type = cmd;
- //print_line("GOT: "+message_type);
ret = ppeer->get_var(cmd);
if (ret != OK) {
@@ -1240,6 +1239,9 @@ void ScriptEditorDebugger::stop() {
if (connection.is_valid()) {
EditorNode::get_log()->add_message("** Debug Process Stopped **");
connection.unref();
+
+ reason->set_text("");
+ reason->set_tooltip("");
}
pending_in_queue = 0;
@@ -1282,15 +1284,13 @@ void ScriptEditorDebugger::_profiler_activate(bool p_enable) {
max_funcs = CLAMP(max_funcs, 16, 512);
msg.push_back(max_funcs);
ppeer->put_var(msg);
-
- print_line("BEGIN PROFILING!");
+ print_verbose("Starting profiling.");
} else {
Array msg;
msg.push_back("stop_profiling");
ppeer->put_var(msg);
-
- print_line("END PROFILING!");
+ print_verbose("Ending profiling.");
}
}
@@ -1427,8 +1427,6 @@ void ScriptEditorDebugger::_method_changed(Object *p_base, const StringName &p_n
return;
}
-
- //print_line("method");
}
void ScriptEditorDebugger::_property_changed(Object *p_base, const StringName &p_property, const Variant &p_value) {
@@ -1497,8 +1495,6 @@ void ScriptEditorDebugger::_property_changed(Object *p_base, const StringName &p
return;
}
-
- //print_line("prop");
}
void ScriptEditorDebugger::_method_changeds(void *p_ud, Object *p_base, const StringName &p_name, VARIANT_ARG_DECLARE) {
diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp
index 64fdc778d0..64638cdb1e 100644
--- a/editor/spatial_editor_gizmos.cpp
+++ b/editor/spatial_editor_gizmos.cpp
@@ -677,7 +677,7 @@ void EditorSpatialGizmo::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_collision_segments", "segments"), &EditorSpatialGizmo::add_collision_segments);
ClassDB::bind_method(D_METHOD("add_collision_triangles", "triangles"), &EditorSpatialGizmo::add_collision_triangles);
ClassDB::bind_method(D_METHOD("add_unscaled_billboard", "material", "default_scale"), &EditorSpatialGizmo::add_unscaled_billboard, DEFVAL(1));
- ClassDB::bind_method(D_METHOD("add_handles", "handles", "billboard", "secondary"), &EditorSpatialGizmo::add_handles, DEFVAL(false), DEFVAL(false));
+ ClassDB::bind_method(D_METHOD("add_handles", "handles", "material", "billboard", "secondary"), &EditorSpatialGizmo::add_handles, DEFVAL(false), DEFVAL(false));
ClassDB::bind_method(D_METHOD("set_spatial_node", "node"), &EditorSpatialGizmo::_set_spatial_node);
ClassDB::bind_method(D_METHOD("clear"), &EditorSpatialGizmo::clear);
ClassDB::bind_method(D_METHOD("set_hidden", "hidden"), &EditorSpatialGizmo::set_hidden);
@@ -1337,6 +1337,48 @@ void CameraSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) {
p_gizmo->add_collision_segments(lines);
p_gizmo->add_unscaled_billboard(icon, 0.05);
p_gizmo->add_handles(handles, get_material("handles"));
+
+ ClippedCamera *clipcam = Object::cast_to<ClippedCamera>(camera);
+ if (clipcam) {
+ Spatial *parent = Object::cast_to<Spatial>(camera->get_parent());
+ if (!parent) {
+ return;
+ }
+ Vector3 cam_normal = -camera->get_global_transform().basis.get_axis(Vector3::AXIS_Z).normalized();
+ Vector3 cam_x = camera->get_global_transform().basis.get_axis(Vector3::AXIS_X).normalized();
+ Vector3 cam_y = camera->get_global_transform().basis.get_axis(Vector3::AXIS_Y).normalized();
+ Vector3 cam_pos = camera->get_global_transform().origin;
+ Vector3 parent_pos = parent->get_global_transform().origin;
+
+ Plane parent_plane(parent_pos, cam_normal);
+ Vector3 ray_from = parent_plane.project(cam_pos);
+
+ lines.clear();
+ lines.push_back(ray_from + cam_x * 0.5 + cam_y * 0.5);
+ lines.push_back(ray_from + cam_x * 0.5 + cam_y * -0.5);
+
+ lines.push_back(ray_from + cam_x * 0.5 + cam_y * -0.5);
+ lines.push_back(ray_from + cam_x * -0.5 + cam_y * -0.5);
+
+ lines.push_back(ray_from + cam_x * -0.5 + cam_y * -0.5);
+ lines.push_back(ray_from + cam_x * -0.5 + cam_y * 0.5);
+
+ lines.push_back(ray_from + cam_x * -0.5 + cam_y * 0.5);
+ lines.push_back(ray_from + cam_x * 0.5 + cam_y * 0.5);
+
+ if (parent_plane.distance_to(cam_pos) < 0) {
+ lines.push_back(ray_from);
+ lines.push_back(cam_pos);
+ }
+
+ Transform local = camera->get_global_transform().affine_inverse();
+ for (int i = 0; i < lines.size(); i++) {
+ lines.write[i] = local.xform(lines[i]);
+ }
+
+ p_gizmo->add_lines(lines, material);
+ p_gizmo->add_collision_segments(lines);
+ }
}
//////
@@ -1920,6 +1962,38 @@ void RayCastSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) {
/////
+void SpringArmSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) {
+
+ SpringArm *spring_arm = Object::cast_to<SpringArm>(p_gizmo->get_spatial_node());
+
+ p_gizmo->clear();
+
+ Vector<Vector3> lines;
+
+ lines.push_back(Vector3());
+ lines.push_back(Vector3(0, 0, 1.0) * spring_arm->get_length());
+
+ Ref<SpatialMaterial> material = get_material("shape_material", p_gizmo);
+
+ p_gizmo->add_lines(lines, material);
+ p_gizmo->add_collision_segments(lines);
+}
+
+SpringArmSpatialGizmoPlugin::SpringArmSpatialGizmoPlugin() {
+ Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/shape", Color(0.5, 0.7, 1));
+ create_material("shape_material", gizmo_color);
+}
+
+bool SpringArmSpatialGizmoPlugin::has_gizmo(Spatial *p_spatial) {
+ return Object::cast_to<SpringArm>(p_spatial) != NULL;
+}
+
+String SpringArmSpatialGizmoPlugin::get_name() const {
+ return "SpringArm";
+}
+
+/////
+
VehicleWheelSpatialGizmoPlugin::VehicleWheelSpatialGizmoPlugin() {
Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/shape", Color(0.5, 0.7, 1));
diff --git a/editor/spatial_editor_gizmos.h b/editor/spatial_editor_gizmos.h
index 877590b91d..6f29e9d999 100644
--- a/editor/spatial_editor_gizmos.h
+++ b/editor/spatial_editor_gizmos.h
@@ -49,6 +49,7 @@
#include "scene/3d/ray_cast.h"
#include "scene/3d/reflection_probe.h"
#include "scene/3d/room_instance.h"
+#include "scene/3d/spring_arm.h"
#include "scene/3d/sprite_3d.h"
#include "scene/3d/vehicle_body.h"
#include "scene/3d/visibility_notifier.h"
@@ -196,6 +197,18 @@ public:
RayCastSpatialGizmoPlugin();
};
+class SpringArmSpatialGizmoPlugin : public EditorSpatialGizmoPlugin {
+
+ GDCLASS(SpringArmSpatialGizmoPlugin, EditorSpatialGizmoPlugin);
+
+public:
+ bool has_gizmo(Spatial *p_spatial);
+ String get_name() const;
+ void redraw(EditorSpatialGizmo *p_gizmo);
+
+ SpringArmSpatialGizmoPlugin();
+};
+
class VehicleWheelSpatialGizmoPlugin : public EditorSpatialGizmoPlugin {
GDCLASS(VehicleWheelSpatialGizmoPlugin, EditorSpatialGizmoPlugin);
@@ -330,14 +343,12 @@ public:
};
class CollisionPolygonSpatialGizmoPlugin : public EditorSpatialGizmoPlugin {
-
GDCLASS(CollisionPolygonSpatialGizmoPlugin, EditorSpatialGizmoPlugin);
public:
bool has_gizmo(Spatial *p_spatial);
String get_name() const;
void redraw(EditorSpatialGizmo *p_gizmo);
-
CollisionPolygonSpatialGizmoPlugin();
};
diff --git a/editor/translations/af.po b/editor/translations/af.po
index d4c8bc26f4..a92264f015 100644
--- a/editor/translations/af.po
+++ b/editor/translations/af.po
@@ -18,337 +18,474 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.18-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Afgeskaskel"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Alle Seleksie"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Mirror"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Anim Voeg Sleutel by"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Dupliseer Seleksie"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Skrap gekose lêers?"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Dupliseer Sleutels"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Skrap Sleutels"
+
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Time"
msgstr "Anim Verander Waarde"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Verander Oorgang"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Verander Transform"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "Anim Verander Waarde"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Verander Roep"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Voeg Baan By"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Dupliseer Sleutels"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Skuif Anim Baan Op"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Skuif Anim Baan Af"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Verwyder Anim Baan"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Voeg Baan By"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Stel Oorgange na:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animasie lengte (in sekondes)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim Baan Hernoem"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animasie Zoem."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim Baan Verander Interpolasie"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Anim Baan Verander Waarde Modus"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim Baan Verander Terug Draai Modus"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Wysig Nodus Kurwe"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Wysig Seleksie Kurwe"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Skrap Sleutels"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Dupliseer Seleksie"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Dupliseer Transponeering"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Verwyder geselekteerde baan."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Verwyder Seleksie"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tree (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Deurlopend"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskrete"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Sneller"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Voeg Sleutel By"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Skuif Sleutels"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Skaal Seleksie"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skaal van Wyser"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Gaan na Volgende Stap"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Gaan na Vorige Stap"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineêr"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstant"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Uit"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "In-Uit"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Uit-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Oorgange"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Anim Dupliseer Sleutels"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimaliseer Animasie"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Anim Skrap Sleutels"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Opruim Animasie"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Verwyder Anim Baan"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Skep NUWE baan vir %s en voeg sleutel by?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Skep %d NUWE bane en voeg sleutels by?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Skep"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Voeg In"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Skep & Voeg by"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Voeg Baan & Sleutel By"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Voeg Sleutel by"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Verander Anim Lente"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Verander Anim Herspeel"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim Skep Soort-Waarde Sleutel"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Voeg In"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Skuif Sleutels"
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Skaal Sleutels"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim Skep Roep Baan"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animasie Zoem."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Lengte(s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animasie lengte (in sekondes)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Tree (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Wyser tree kiek (in secondes)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animasie Zoem."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Aktiveer/Deaktiveer herspeel in animasie."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Skep nuwe bane."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Animasie Zoem."
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Skuif huidige baan op."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Skuif huidige baan af."
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Verwyder geselekteerde baan."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Skaal Seleksie"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Baan gereedskap"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skaal van Wyser"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Dupliseer Seleksie"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Dupliseer Transponeering"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Laat verandering van individuele sleutels toe deur hulle te kliek."
+msgid "Delete Selection"
+msgstr "Dupliseer Seleksie"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Gaan na Volgende Stap"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Gaan na Vorige Stap"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimaliseer Animasie"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Opruim Animasie"
+
+#: 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 "Anim. Optimizer"
msgstr "Anim. Optimaliseerder"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Max. Lineêre Fout:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. Hoekige Fout:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max Optimaliseerbare Hoek:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimaliseer"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Selekteer 'n AnimasieSpeler van die Toeneel Boom om animasies te redigeer."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Sleutel"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Oorgang"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Skaal Verhouding:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Roep Funksies in Watter Nodus?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Verwyder ongeldige sleutels"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Verwyder onopgeloste en leë bane"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Ruim alle animasies op"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Ruim Animasie(s) Op (Geen ONTDOEN!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Ruim-Op"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Skaal Verhouding:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Herskaleer Skikking"
@@ -369,7 +506,7 @@ msgstr "Gaan na Reël"
msgid "Line Number:"
msgstr "Reël Nommer:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Geen Pasmaats"
@@ -385,7 +522,7 @@ msgstr "Pas Letterkas"
msgid "Whole Words"
msgstr "Hele Woorde"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Vervang"
@@ -397,18 +534,27 @@ msgstr "Vervang Alles"
msgid "Selection Only"
msgstr "Slegs Seleksie"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoem In"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zoem Uit"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Herset Zoem"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoem In"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Reël:"
@@ -440,7 +586,8 @@ msgid "Add"
msgstr "Voeg By"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -471,7 +618,7 @@ msgid "Oneshot"
msgstr "Een-skoot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -493,12 +640,13 @@ msgid "Connect '%s' to '%s'"
msgstr "Koppel '%s' aan '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Koppel tans Sein:"
+#, fuzzy
+msgid "Disconnect '%s' from '%s'"
+msgstr "Koppel '%s' aan '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "Koppel '%s' aan '%s'"
#: editor/connections_dialog.cpp
@@ -506,14 +654,46 @@ msgid "Connect..."
msgstr "Koppel..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Ontkoppel"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Koppel tans Sein:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Wysig Seleksie Kurwe"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Seine"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Ontkoppel"
+
+#: editor/connections_dialog.cpp
+msgid "Edit..."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metodes"
+
#: editor/create_dialog.cpp
#, fuzzy
msgid "Change %s Type"
@@ -538,22 +718,25 @@ msgstr "Gunstelinge:"
msgid "Recent:"
msgstr "Onlangse:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Soek:"
#: editor/create_dialog.cpp editor/editor_help.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 "Passendes:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Beskrywing:"
@@ -615,7 +798,9 @@ msgstr "Soek Vervanging Hulpbron:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Oop"
@@ -637,7 +822,7 @@ msgstr ""
"reg kan werk.\n"
"Verwyder die lêers in elk geval? (geen ontdoen)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "Kan nie verwyder nie:\n"
@@ -706,9 +891,13 @@ msgstr "Verander Woordeboek Waarde"
msgid "Thanks from the Godot community!"
msgstr "Dankie van die Godot gemeenskap!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Dankie!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -887,6 +1076,7 @@ msgid "Bus options"
msgstr "Bus opsies"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliseer"
@@ -955,7 +1145,8 @@ msgstr "Voeg Bus By"
msgid "Create a new Bus Layout."
msgstr "Skep 'n nuwe Bus Uitleg."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Laai"
@@ -965,7 +1156,6 @@ msgid "Load an existing Bus Layout."
msgstr "Laai 'n bestaande Bus Uitleg."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Stoor As"
@@ -1005,22 +1195,6 @@ msgstr ""
"Ongeldige naam. Moet nie met bestaande globale knostante name bots nie."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ongeldige Pad."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Lêer bestaan nie."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Nie in hulpbron pad nie."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Voeg AutoLaai By"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "AutoLaai '%s' bestaan reeds!"
@@ -1048,6 +1222,22 @@ msgstr "Aktiveer"
msgid "Rearrange Autoloads"
msgstr "Herrangskik AutoLaaie"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ongeldige Pad."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Lêer bestaan nie."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Nie in hulpbron pad nie."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Voeg AutoLaai By"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1078,7 +1268,7 @@ msgstr "Plaaslike veranderinge word gebêre..."
msgid "Updating scene..."
msgstr "Toneel word opgedateer..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1142,6 +1332,12 @@ msgid "Copy Path"
msgstr ""
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Open 'n Lêer"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1178,7 +1374,7 @@ msgid "Open a File or Directory"
msgstr "Open 'n Lêer of Gids"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Stoor"
@@ -1231,7 +1427,8 @@ msgstr "Gaan na ouer vouer"
msgid "Directories & Files:"
msgstr "Gidse & Lêers:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Voorskou:"
@@ -1383,20 +1580,28 @@ msgstr ""
"Daar is tans geen beskrywing vir hierdie metode nie. Help ons asseblief deur "
"[color=$color][url=$url]een by te dra[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Deursoek Teks"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Eienskappe"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Vind"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Afvoer:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1419,11 +1624,6 @@ msgstr "Fout tydens storing van hulpbron!"
msgid "Save Resource As..."
msgstr "Stoor Hulpbron As..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Ek sien..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Kan nie lêer vir skryf oopmaak nie:"
@@ -1436,9 +1636,9 @@ msgstr "Versoekte lêerformaat onbekend:"
msgid "Error while saving."
msgstr "Fout tydens stoor."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Kan nie '%s' oopmaak nie."
+#: 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'."
@@ -1479,10 +1679,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1549,42 +1745,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1758,11 +1918,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1791,6 +1946,15 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Maak Toe"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1912,10 +2076,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1925,6 +2085,11 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Projek Stigters"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -2016,6 +2181,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2031,7 +2208,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Soek"
@@ -2075,7 +2253,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2096,59 +2274,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2165,6 +2316,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2241,19 +2396,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2261,12 +2420,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2313,6 +2473,101 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Afhanklikheid Bewerker"
+
+#: 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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2347,10 +2602,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2376,6 +2627,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2400,7 +2652,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2460,6 +2712,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2539,7 +2797,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2551,11 +2809,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2631,7 +2889,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2662,6 +2920,22 @@ msgid "Duplicate..."
msgstr "Dupliseer"
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Stoor Hulpbron As..."
+
+#: 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 "Previous Directory"
msgstr ""
@@ -2674,26 +2948,134 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
-msgstr ""
+#, fuzzy
+msgid "Toggle folder status as Favorite."
+msgstr "Wissel Gunsteling"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Skep Vouer"
#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Deursoek Klasse"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Vind"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Hele Woorde"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Pas Letterkas"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Vervang"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Vervang Alles"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Soek"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Deursoek Teks"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "AutoLaai '%s' bestaan reeds!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ongeldige naam."
+
+#: 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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2704,6 +3086,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2745,7 +3131,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2805,16 +3191,125 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Hulpbron"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Eienskappe"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr ""
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr ""
#: editor/node_dock.cpp
-msgid "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Skep Intekening"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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
@@ -2858,6 +3353,144 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+msgstr "Laai"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Skep"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Optimaliseer Animasie"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "AutoLaai '%s' bestaan reeds!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2884,12 +3517,14 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
-msgstr ""
+#, fuzzy
+msgid "Invalid animation name!"
+msgstr "Ongeldige naam."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
-msgstr ""
+#, fuzzy
+msgid "Animation name already exists!"
+msgstr "AutoLaai '%s' bestaan reeds!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
@@ -2897,11 +3532,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2918,12 +3548,14 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
-msgstr ""
+#, fuzzy
+msgid "No animation to copy!"
+msgstr "Animasie Zoem."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr "Nie in hulpbron pad nie."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
@@ -2934,7 +3566,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2966,39 +3598,34 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Oorgange"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Open 'n Gids"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3051,6 +3678,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Animasie Zoem."
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3060,6 +3692,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3077,162 +3710,214 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Nie in hulpbron pad nie."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Skep Nuwe"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Koppel aan Nodus:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Verwyder geselekteerde baan."
+
+#: 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 "Oorgang"
+
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "AnimationTree"
+msgstr "Animasie Zoem."
+
+#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Animasie Zoem."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3286,7 +3971,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3314,19 +4003,20 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr ""
+#, fuzzy
+msgid "Previous"
+msgstr "Voorskou:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+msgid "Next"
+msgstr "Volgende"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3394,7 +4084,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3403,12 +4093,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3421,14 +4109,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3457,11 +4137,24 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Skuif Gunsteling Op"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3481,6 +4174,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zoem Uit"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Zoem Uit"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoem In"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3524,7 +4232,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3532,7 +4240,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3573,6 +4281,10 @@ 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 ""
@@ -3599,23 +4311,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3661,12 +4373,9 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "Anim Voeg Sleutel by"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3681,14 +4390,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3704,10 +4405,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3740,26 +4437,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3830,15 +4519,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3922,6 +4602,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3989,6 +4670,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4089,70 +4791,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4213,59 +4851,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4345,6 +4979,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4377,19 +5027,89 @@ msgstr ""
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Skuif Gunsteling Op"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "AutoLaai '%s' bestaan reeds!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ongeldige Pad."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Verwyder Seleksie"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Skep Intekening"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4418,11 +5138,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4438,8 +5170,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4450,6 +5181,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4472,6 +5227,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4493,17 +5252,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
msgstr "Hulpbron"
+#: 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 ""
@@ -4513,6 +5273,21 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Leêr word gebêre:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Kon nie vouer skep nie."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Fout tydens storing van hulpbron!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4529,6 +5304,20 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Open 'n Lêer"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Stoor Hulpbron As..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4541,6 +5330,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4569,7 +5362,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4597,6 +5390,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4630,11 +5428,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4688,10 +5481,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4710,45 +5499,70 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Deursoek Hulp"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Deursoek Klasse"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Reël:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4836,7 +5650,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4855,128 +5669,39 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "EnkelHouer"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "EnkelHouer"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Skep Intekening"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5104,10 +5829,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5116,6 +5837,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5160,6 +5885,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5287,6 +6016,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5295,6 +6028,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5323,6 +6060,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5336,10 +6077,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5399,6 +6136,48 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Skep Nuwe"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Voorskou:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Settings:"
+msgstr ""
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5467,14 +6246,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5500,26 +6271,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5535,11 +6299,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5611,10 +6370,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5639,7 +6394,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5652,14 +6407,19 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Konstant"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ongeldige naam."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5680,12 +6440,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Vind"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5708,6 +6465,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Verwyder Seleksie"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5724,64 +6486,107 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Skuif huidige baan op."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Skep Vouer"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5797,7 +6602,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5871,10 +6676,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5883,7 +6684,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5891,6 +6692,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5981,6 +6790,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6089,8 +6902,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6102,9 +6915,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Verander Woordeboek Waarde"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6146,19 +6972,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6186,10 +7012,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6234,6 +7056,12 @@ 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 "Already existing"
msgstr ""
@@ -6305,6 +7133,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6314,6 +7146,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Alle Seleksie"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6374,10 +7215,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6414,75 +7251,160 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Pas Letterkas"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nodus Naam:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Nodus Naam:"
+
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Root node name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Tree (s):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "Herset Zoem"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6521,11 +7443,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6545,6 +7462,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6585,11 +7506,28 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Skep Vouer"
+
+#: 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 "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6601,6 +7539,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6644,18 +7586,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6678,10 +7616,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6701,17 +7635,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Wissel Versteekte Lêers"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6719,7 +7646,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6735,20 +7662,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6756,6 +7683,12 @@ 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 ""
@@ -6792,6 +7725,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7028,10 +7965,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7044,19 +7993,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7113,16 +8074,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7187,6 +8138,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Alle Seleksie"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7267,6 +8223,11 @@ msgid "Clear Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Alle Seleksie"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7336,6 +8297,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7387,10 +8412,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7499,36 +8520,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Koppel aan Nodus:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Koppel aan Nodus:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7555,15 +8554,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7571,10 +8566,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7618,6 +8609,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Lede"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7672,6 +8668,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Deursoek Hulp"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7721,8 +8730,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7803,6 +8812,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7863,8 +8885,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7937,6 +8959,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7949,6 +8982,46 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animasie lengte (in sekondes)."
+
+#: 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
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Koppel '%s' aan '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Selekteer 'n AnimasieSpeler van die Toeneel Boom om animasies te redigeer."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8017,8 +9090,123 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
-#~ msgid "Next"
-#~ msgstr "Volgende"
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Afgeskaskel"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Skuif Anim Baan Op"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Skuif Anim Baan Af"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Stel Oorgange na:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim Baan Hernoem"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim Baan Verander Interpolasie"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Anim Baan Verander Waarde Modus"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim Baan Verander Terug Draai Modus"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Wysig Nodus Kurwe"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Voeg Sleutel By"
+
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "Uit"
+
+#~ msgid "In-Out"
+#~ msgstr "In-Uit"
+
+#~ msgid "Out-In"
+#~ msgstr "Uit-In"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Verander Anim Lente"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Verander Anim Herspeel"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim Skep Soort-Waarde Sleutel"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim Skep Roep Baan"
+
+#~ msgid "Length (s):"
+#~ msgstr "Lengte(s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Wyser tree kiek (in secondes)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Aktiveer/Deaktiveer herspeel in animasie."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Skep nuwe bane."
+
+#~ msgid "Move current track up."
+#~ msgstr "Skuif huidige baan op."
+
+#~ msgid "Move current track down."
+#~ msgstr "Skuif huidige baan af."
+
+#~ msgid "Track tools"
+#~ msgstr "Baan gereedskap"
+
+#, fuzzy
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Laat verandering van individuele sleutels toe deur hulle te kliek."
+
+#~ msgid "Key"
+#~ msgstr "Sleutel"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Roep Funksies in Watter Nodus?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Dankie!"
+
+#~ msgid "I see..."
+#~ msgstr "Ek sien..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Kan nie '%s' oopmaak nie."
#~ msgid "Not found!"
#~ msgstr "Nie gevind nie!"
diff --git a/editor/translations/ar.po b/editor/translations/ar.po
index 1535ccafb6..5631c1884d 100644
--- a/editor/translations/ar.po
+++ b/editor/translations/ar.po
@@ -16,11 +16,13 @@
# Rached Noureddine <rached.noureddine@gmail.com>, 2018.
# Rex_sa <asd1234567890m@gmail.com>, 2017, 2018.
# Wajdi Feki <wajdi.feki@gmail.com>, 2017.
+# Omar Aglan <omar.aglan91@yahoo.com>, 2018.
+# Codes Otaku <ilyas.gamerz@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-07-15 19:34+0000\n"
-"Last-Translator: Rached Noureddine <rached.noureddine@gmail.com>\n"
+"PO-Revision-Date: 2018-08-13 14:34+0000\n"
+"Last-Translator: Codes Otaku <ilyas.gamerz@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -28,334 +30,482 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\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 3.1-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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 "نوع برهان خاطئ للتحويل()، إستخدم ثابت TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "ÙƒÙÙ„ Ø§Ù„Ù…ÙØ­Ø¯Ø¯"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr "نوع برهان خاطئ للتحويل()، إستخدم ثابت TYPE_*."
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "مجاني/ÙØ§Ø±Øº"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "خطأ!"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "أدخل Ù…ÙØªØ§Ø­"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "تكرير المحدد"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "إنتقالية تغيير التحريك"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "تحويل تغيير التحريك"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "تغيير قيمة الإطار الأساسي للحركة"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "نداء تغيير التحريك"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "مسار Ø¥Ø¶Ø§ÙØ© التحريك"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Ù…ÙØ§ØªÙŠØ­ نسخ التحريك"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Ø±ÙØ¹ مسار التحريك"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "إنزال مسار التحريك"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "حذ٠مسار التحريك"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "تحديد التحويلات لـ:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "إيقا٠تشغيل الحركة. (س)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "تغيير إسم مسار التحريك"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "مسار Ø¥Ø¶Ø§ÙØ© التحريك"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "تغيير إقحام مسار التحريك"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "طول الحركة (بالثواني)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "تغيير صيغة القيمة لمسار التحريك"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "تكبير الحركة."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "تغيير صيغة الغلا٠لمسار التحريك"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "تحرير منحنى العقدة"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "تحرير منحنى الإختيار"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Ù…ÙØ§ØªÙŠØ­ حذ٠التحريك"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "تمكين/إيقا٠الوضع الخالي من الإلهاء."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "تكرير المحدد"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "نسخ محمّل"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "عقدة الحركة"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Ø­Ø°Ù Ø§Ù„Ù…ÙØ­Ø¯Ø¯"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "ازالة المسار المحدد."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "وقت التلاشي X (ثواني):"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "متواصل"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "متقطع"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Ù…ÙØ·Ù„Ù‚"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Ù…ÙØªØ§Ø­ Ø¥Ø¶Ø§ÙØ© تحريك"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Ù…ÙØªØ§Ø­ حركة التحريك"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "تكبير المحدد"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "تكبير من المؤشر"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "إذهب إلي الخطوة التالية"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "المستقبل"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "إذهب إلي الخطوة السابقة"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "خطي"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "ثابت"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "داخل"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "خارج"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "داخل-خارج"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "خارج-داخل"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "أدخل Ù…ÙØªØ§Ø­"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "تحويلات"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Ù…ÙØ§ØªÙŠØ­ نسخ التحريك"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "تحسين الحركة"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Ù…ÙØ§ØªÙŠØ­ حذ٠التحريك"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "تنظي٠الحركة"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "حذ٠مسار التحريك"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "أنشئ مسار جديد لـ %s Ùˆ أدخل Ù…ÙØªØ§Ø­ØŸ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "أنشئ %d مسارات جديدة Ùˆ أدخل Ù…ÙØ§ØªÙŠØ­ØŸ"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "أنشئ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "إدخال حركة"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "أنشي حركة وأدخلها"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "أنشي مسار حركة Ùˆ Ù…ÙØªØ§Ø­"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Ø£Ø¶Ù Ù…ÙØªØ§Ø­ حركة"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-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_editor.cpp
-msgid "Change Anim Loop"
-msgstr "تغيير تكرير الحركة"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "أنشي Ù…ÙØªØ§Ø­ حركة ذا قيمة مكتوبة"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "إدخال حركة"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Track path is invalid, so can't add a method 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
+msgid "Clipboard is empty"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Ù…ÙØªØ§Ø­ تكبير حركة"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "أض٠خانة مسار حركة"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-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_editor.cpp
-msgid "Length (s):"
-msgstr "الطول (ثانية):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "طول الحركة (بالثواني)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "خطوة (ثانية):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "المؤشر خطوة خطوة (بالثواني)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "شجرة الحركة صحيحة."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "تمكين/تعطيل التكرار ÙÙŠ الحركة."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "أض٠مسارات جديدة."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "شجرة الحركة"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "تحريك المسار الحالي للأعلى."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "إنسخ Ø§Ù„Ù…ÙØ¹Ø§Ù…Ù„"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "لصق Ø§Ù„Ù…ÙØ¹Ø§Ù…Ù„"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "تحريك المسار الحالي للاسÙÙ„."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "تكبير المحدد"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "ازالة المسار المحدد."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "تكبير من المؤشر"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.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 "Goto Next Step"
+msgstr "إذهب إلي الخطوة التالية"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "أدوات المسار"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "إذهب إلي الخطوة السابقة"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "تحسين الحركة"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "السماح بتعديل ازرار Ù…Ù†ÙØµÙ„Ø© بالضغط عليها."
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "تنظي٠الحركة"
-#: editor/animation_editor.cpp
+#: 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 "Anim. Optimizer"
msgstr "Ù…ÙØ­Ø³Ù† الحركة"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "أقصي أخطاء خطية:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "أقصي أخطاء زواية:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "أقصي زواية تحسين:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "تحسين"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "حدد مشغل حركة من شجرة المشهد لكي تعدل الحركة."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Ù…ÙØªØ§Ø­"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "تحول"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "نسبة التكبير:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "إستدعاء وظائ٠ÙÙŠ أي عقدة؟"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "إمسح Ø§Ù„Ù…ÙØ§ØªÙŠØ­ Ø§Ù„ÙØ§Ø³Ø¯Ø©"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "إمسح المسارات Ø§Ù„ÙØ§Ø±ØºØ© أو الغير محلولة"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "تنظي٠جميع الحركات"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "تنظي٠الحركة(ات) (بلا عودة)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "تغيير حجم المصÙÙˆÙØ©"
@@ -376,7 +526,7 @@ msgstr "إذهب إلي الخط"
msgid "Line Number:"
msgstr "رقم الخط:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "لا مطابقة"
@@ -392,7 +542,7 @@ msgstr "قضية تشابه"
msgid "Whole Words"
msgstr "كل الكلمات"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "إستبدال"
@@ -404,18 +554,27 @@ msgstr "إستبدال الكل"
msgid "Selection Only"
msgstr "المحدد Ùقط"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "تقريب"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "إبعاد"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "إرجاع التكبير"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "تقريب"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "الخط:"
@@ -447,7 +606,8 @@ msgid "Add"
msgstr "أضÙ"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -478,7 +638,7 @@ msgid "Oneshot"
msgstr "لقطة واحدة"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -500,11 +660,12 @@ msgid "Connect '%s' to '%s'"
msgstr "وصل '%s' إلي '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "يوصل الإشارة:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "قطع إتصال'%s' من '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "قطع إتصال'%s' من '%s'"
#: editor/connections_dialog.cpp
@@ -512,13 +673,46 @@ msgid "Connect..."
msgstr "يتصل..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "قطع الاتصال"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "يوصل الإشارة:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "خطأ ÙÙŠ الإتصال"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
-msgstr "الإشارات"
+msgstr "إشارات"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "قطع الاتصال"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "قائمة الطرق"
#: editor/create_dialog.cpp
msgid "Change %s Type"
@@ -542,22 +736,25 @@ msgstr "Ø§Ù„Ù…ÙØ¶Ù„Ø©:"
msgid "Recent:"
msgstr "الحالي:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "بحث:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "الوصÙ:"
@@ -598,7 +795,7 @@ msgstr "مورد"
#: editor/project_manager.cpp editor/project_settings_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Path"
-msgstr "مسار"
+msgstr "المسار"
#: editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -619,7 +816,9 @@ msgstr "البحث عن مورد بديل:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Ø¥ÙØªØ­"
@@ -640,7 +839,7 @@ msgstr ""
"المل٠الذي ÙŠÙمسح مطلوب من موارد أخري لكل تعمل جيداً.\n"
"إمسح علي أية حال؟ (لا رجعة)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "لا يمكن المسح:"
@@ -708,9 +907,13 @@ msgstr "تغيير قيمة ÙÙŠ القاموس"
msgid "Thanks from the Godot community!"
msgstr "شكراً من مجتمع Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "شكراً!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -766,7 +969,7 @@ msgstr "مانحين"
#: editor/editor_about.cpp
msgid "License"
-msgstr "الترخيص"
+msgstr "الرخصة"
#: editor/editor_about.cpp
msgid "Thirdparty License"
@@ -811,7 +1014,7 @@ msgstr "الحزمة تم تثبيتها بنجاح!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Success!"
-msgstr "تم بنجاح!"
+msgstr "تم بشكل ناجح!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -887,6 +1090,7 @@ msgid "Bus options"
msgstr "إعدادات البيوس"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "تكرير"
@@ -901,7 +1105,7 @@ msgstr "إمسح التأثير"
#: editor/editor_audio_buses.cpp
msgid "Audio"
-msgstr "صوت"
+msgstr "الصوت"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus"
@@ -955,7 +1159,8 @@ msgstr "أض٠بيوس"
msgid "Create a new Bus Layout."
msgstr "أنشئ نسق بيوس جديد."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "تحميل"
@@ -965,7 +1170,6 @@ msgid "Load an existing Bus Layout."
msgstr "تحميل نسق بيوس موجود مسبقاً."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Ø­ÙØ¸ بأسم"
@@ -1002,22 +1206,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "إسم غير صالح، ييجب ألاّ يتصادم مع إسم موجود لثابت عمومي."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "مسار غير صالح."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "المل٠غير موجود."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "ليس ÙÙŠ مسار الموارد."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Ø¥Ø¶Ø§ÙØ© للتحميل التلقائي"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "التحميل التلقائي '%s' موجود اصلا!"
@@ -1045,6 +1233,22 @@ msgstr "تمكين"
msgid "Rearrange Autoloads"
msgstr "اعادة ترتيب التحميلات التلقائية"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "مسار غير صالح."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "المل٠غير موجود."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "ليس ÙÙŠ مسار الموارد."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Ø¥Ø¶Ø§ÙØ© للتحميل التلقائي"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1075,7 +1279,7 @@ msgstr "جاري تخزين التعديلات المحلية..."
msgid "Updating scene..."
msgstr "ÙŠÙØ­Ø¯Ø« المشهد..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[ÙØ§Ø±Øº]"
@@ -1137,6 +1341,12 @@ msgid "Copy Path"
msgstr "نسخ المسار"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "أظهر ÙÙŠ مدير Ø§Ù„Ù…Ù„ÙØ§Øª"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "أظهر ÙÙŠ مدير Ø§Ù„Ù…Ù„ÙØ§Øª"
@@ -1173,7 +1383,7 @@ msgid "Open a File or Directory"
msgstr "Ø¥ÙØªØ­ مل٠أو وجهة"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Ø­ÙØ¸"
@@ -1226,7 +1436,8 @@ msgstr "إذهب إلي المجلد السابق"
msgid "Directories & Files:"
msgstr "الوجهات ÙˆØ§Ù„Ù…Ù„ÙØ§Øª:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "إستعراض:"
@@ -1378,20 +1589,28 @@ msgstr ""
"لا يوجد حاليا وص٠لهذه الطريقة. الرجاء المساعدة من خلال [color=$color][url="
"$url]المساهمة واحد[/url][/color] !"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "إبحث عن كتابة"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "خصائص"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "جد"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "الخرج:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1413,11 +1632,6 @@ msgstr "خطأ ÙÙŠ Ø­ÙØ¸ المورد!"
msgid "Save Resource As..."
msgstr "Ø­ÙØ¸ المورد باسم..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "أنا أري..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "لا يمكن ÙØªØ­ المل٠للكتابة:"
@@ -1430,9 +1644,9 @@ msgstr "صيغة المل٠المطلوب غير Ù…Ø¹Ø±ÙˆÙØ©:"
msgid "Error while saving."
msgstr "خطأ خلال Ø§Ù„Ø­ÙØ¸."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "لا يمكن ÙØªØ­ '%s'."
+#: 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'."
@@ -1473,10 +1687,6 @@ msgid ""
msgstr "لا يمكن Ø­ÙØ¸ المشهد. على الأرجح لا يمكن Ø¥Ø³ØªÙŠÙØ§Ø¡ التبعيات (مجسّدات)."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "ÙØ´Ù„ تحميل المورد."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "لا يمكن تحميل مكتبة الميش من أجل الدمج!"
@@ -1557,42 +1767,6 @@ msgstr ""
"هذا النظام."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "توسيع كل Ø§Ù„ØªÙØ§ØµÙŠÙ„"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "طي كل Ø§Ù„ØªÙØ§ØµÙŠÙ„"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "إنسخ Ø§Ù„Ù…ÙØ¹Ø§Ù…Ù„"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "لصق Ø§Ù„Ù…ÙØ¹Ø§Ù…Ù„"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "لصق الموارد"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "نسخ الموارد"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "إجعله Ù…ÙØ¯Ù…ج"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "إجعل الموارد الجانبية مميزة"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Ø¥ÙØªØ­ ÙÙŠ المساعدة"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "ليس هناك مشهد محدد ليتم تشغيله."
@@ -1782,11 +1956,6 @@ msgstr ""
"المشهد '%s' تم إستيراده تلقائياً، إذن لا يمكن تعديله.\n"
"لكي تجري أي تغيير إليه، مشهد جديد مورث يمكن إنشاءه."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "آخخ"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1817,6 +1986,16 @@ msgid "Default"
msgstr "Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠ"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "تشغيل المشهد"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "اغلاق"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "تبديل بين Ù†ÙˆØ§ÙØ° المشهد"
@@ -1846,7 +2025,7 @@ msgstr "تمكين/إيقا٠الوضع الخالي من الإلهاء."
#: editor/editor_node.cpp
msgid "Add a new scene."
-msgstr "أض٠مشهد جديد"
+msgstr "Ø¥Ø¶Ø§ÙØ© مشهد جديد"
#: editor/editor_node.cpp
msgid "Scene"
@@ -1938,10 +2117,6 @@ msgstr "مشروع"
msgid "Project Settings"
msgstr "إعدادات المشروع"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "تشغيل الكود"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "تصدير"
@@ -1951,16 +2126,21 @@ msgid "Tools"
msgstr "ادوات"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "ÙØªØ­ مدير المشروع؟"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "غادر الي قائمه المشاريع"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Debug"
-msgstr "تصحيح"
+msgstr "تصحيح الأخطاء"
#: editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr "نشر مع التصحيح البعيد"
+msgstr "نشر مع تصحيح الأخطاء عن بعد"
#: editor/editor_node.cpp
msgid ""
@@ -1968,7 +2148,7 @@ msgid ""
"connect to the IP of this computer in order to be debugged."
msgstr ""
"حينما يتم التصدير أو النشر، مل٠التشغيل الناتج سو٠يحاول الإتصال إلي عنوان "
-"الأي بي الخاص بهذا الكمبيوتر من أجل التصحيح."
+"الأي بي الخاص بهذا الكمبيوتر من أجل تصحيح الأخطاء."
#: editor/editor_node.cpp
msgid "Small Deploy with Network FS"
@@ -1991,7 +2171,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Visible Collision Shapes"
-msgstr "أشكال الإصطدام الظاهرة"
+msgstr "أشكال إصطدام ظاهرة"
#: editor/editor_node.cpp
msgid ""
@@ -2013,7 +2193,7 @@ msgstr "ميشات التنقل والبوليجين سو٠يكونون ظاهØ
#: editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr "مزامنة تغيير المشهد"
+msgstr "مزامنة تغييرات المشهد"
#: editor/editor_node.cpp
msgid ""
@@ -2059,6 +2239,20 @@ msgstr "نسق Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
msgid "Toggle Fullscreen"
msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ وضع الشاشة الكاملة"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "إعدادات Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "إعدادات Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "إدارة قوالب التصدير"
@@ -2074,7 +2268,8 @@ msgstr "Ø§Ù„ÙØ¦Ø§Øª"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "بحث"
@@ -2118,7 +2313,7 @@ msgstr "إيقا٠مؤقت للمشهد"
msgid "Stop the scene."
msgstr "إيقا٠المشهد."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "إيقاÙ"
@@ -2139,6 +2334,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Ø­ÙØ¸ Ùˆ خروج"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "يدور حينما Ù†Ø§ÙØ°Ø© Ø§Ù„Ù…ÙØ¹Ø¯Ù„ يتم إعادة دهانة!"
@@ -2158,42 +2363,6 @@ msgstr "تعطيل دوار التحديث"
msgid "Inspector"
msgstr "Ù…ÙØ±Ø§Ù‚ب"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "إنشاء مورد جديد ÙÙŠ الذاكرة وتعديله."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "تحميل مورد موجود مسبقا من الذاكرة وتعديله."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Ø­ÙØ¸ المورد الذي يتم تعديله حاليا."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Ø­ÙØ¸ باسم..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "إذهب إلي العنصر المعدل سابقاً ÙÙŠ التاريخ."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "إذهب إلي العنصر Ø§Ù„Ù…ÙØ¹Ø¯Ù„ تالياً ÙÙŠ التاريخ."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "تاريخ العناصر المعدلة حالياً."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "خصائص العنصر."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "التغييرات ربما تÙÙقد!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2208,6 +2377,11 @@ msgid "FileSystem"
msgstr "نظام Ø§Ù„Ù…Ù„ÙØ§Øª"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "توسيع الكل"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "الخرج"
@@ -2284,19 +2458,24 @@ msgid "Thumbnail..."
msgstr "الصورة المصغرة..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "تعديل البولي"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª Ø§Ù„Ù…ÙØ«Ø¨ØªØ©:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "تحديث"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "النسخة:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "المالك:"
@@ -2304,13 +2483,16 @@ msgstr "المالك:"
msgid "Status:"
msgstr "الحالة:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "إيقا٠التنميط"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "بدء التنميط"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "بدء!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2356,6 +2538,103 @@ msgstr "الوقت"
msgid "Calls"
msgstr "ندائات"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "إجعلة مميزاً"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "تحويل إلي %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "ÙØªØ­ Ø§Ù„Ù…ÙØ¹Ø¯Ù„ 2D"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "إسم جديد:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "إسم جديد:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "اختار جهاز من القائمة"
@@ -2392,10 +2671,6 @@ msgstr "لم نستطع تشغيل الكود:"
msgid "Did you forget the '_run' method?"
msgstr "هل نسيت الطريقة '_run' ؟"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠ (تماماً مثل المحرر)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "إختيار عقدة(عقد) للإستيراد"
@@ -2421,6 +2696,7 @@ msgid "(Installed)"
msgstr "(مثبت)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "تنزيل"
@@ -2445,7 +2721,8 @@ msgid "Can't open export templates zip."
msgstr "لم نستطع ÙØªØ­ المل٠المضغوط المÙورد."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "صيغة غير صالحة لـ version.txt داخل القالب."
#: editor/export_template_manager.cpp
@@ -2507,6 +2784,12 @@ msgid "Download Complete."
msgstr "التحميل إكتمل."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "خطأ ÙÙŠ طلب الرابط: "
@@ -2585,7 +2868,8 @@ msgid "Download Templates"
msgstr "تنزيل القوالب"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "حدد Ø§Ù„Ø³Ø±ÙØ± من القائمة: "
#: editor/file_type_cache.cpp
@@ -2598,11 +2882,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "لا يمكن التنقل إلي '%s' حيث لم يتم العثور عليها ÙÙŠ نظام Ø§Ù„Ù…Ù„ÙØ§Øª!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "أظهر العناصر كشبكة من الصور المصغرة"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "أظهر العناصر كقائمة"
#: editor/filesystem_dock.cpp
@@ -2673,7 +2959,7 @@ msgstr "توسيع الكل"
msgid "Collapse all"
msgstr "طوي الكل"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "إعادة تسمية..."
@@ -2702,6 +2988,23 @@ msgid "Duplicate..."
msgstr "تكرير..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "ÙØªØ­ سريع للكود..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "المجلد السابق"
@@ -2714,14 +3017,29 @@ msgid "Re-Scan Filesystem"
msgstr "إعادة ÙØ­Øµ نظام Ø§Ù„Ù…Ù„ÙØ§Øª"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "تبديل حالة المجلد كما Ø§Ù„Ù…ÙØ¶Ù„Ø©"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Ø­ÙØ¸ العنوان Ø§Ù„ÙØ±Ø¹ÙŠ Ø§Ù„Ø°ÙŠ يتم تعديله حاليا."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "نمذج المشهد(المشاهد) المحددة كطÙÙ„ للعقدة المحددة."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "إبحث ÙÙŠ الأصناÙ"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2729,14 +3047,112 @@ msgstr ""
"ÙŠÙØ­Øµ Ø§Ù„Ù…Ù„ÙØ§ØªØŒ\n"
"من ÙØ¶Ù„Ùƒ إنتظر..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "تحريك"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "إعادة التسمية"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "مل٠أو مجلد مع هذا الأسم موجود Ø¨Ø§Ù„ÙØ¹Ù„."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d مزيد من Ø§Ù„Ù…Ù„ÙØ§Øª"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "جد"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "كل الكلمات"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "قضية تشابه"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "إلغاء"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "إستبدال"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "إستبدال الكل"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "جاري Ø§Ù„Ø­ÙØ¸..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "إبحث عن كتابة"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "خطأ: إسم الحركة موجود Ø¨Ø§Ù„ÙØ¹Ù„!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "اسم غير صالح."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "المجموعات"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Ø¥Ø¶Ø§ÙØ© إلي مجموعة"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Ø¥Ø¶Ø§ÙØ© إلي مجموعة"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2746,6 +3162,11 @@ msgstr "Ø¥Ø¶Ø§ÙØ© إلي مجموعة"
msgid "Remove from Group"
msgstr "حذ٠من المجموعة"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "المجموعات"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "إستيراد كمشهد واحد"
@@ -2787,7 +3208,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "إستيراد علي هيئة مشاهد + موارد متعددة"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "إستيراد مشهد"
@@ -2847,18 +3268,129 @@ msgstr "إعداد Ù…ÙØ³Ø¨Ù‚..."
msgid "Reimport"
msgstr "إعادة إستيراد"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "ÙØ´Ù„ تحميل المورد."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "حسنا"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "توسيع كل Ø§Ù„ØªÙØ§ØµÙŠÙ„"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "طي كل Ø§Ù„ØªÙØ§ØµÙŠÙ„"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Ø­ÙØ¸ باسم..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "إنسخ Ø§Ù„Ù…ÙØ¹Ø§Ù…Ù„"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "لصق Ø§Ù„Ù…ÙØ¹Ø§Ù…Ù„"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "خطأ: لا مصدر حركة علي Ø§Ù„Ø­Ø§ÙØ¸Ø©!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "نسخ الموارد"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "إجعله Ù…ÙØ¯Ù…ج"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "إجعل الموارد الجانبية مميزة"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "خصائص العنصر."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
-msgstr "المجموعات"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "حدد عقدة لكي ØªÙØ¹Ø¯Ù„ الإشارات والمجموعات."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "تعديل البولي"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "إنشاء حل C#‎"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Ø¥Ø¶Ø§ÙØ§Øª"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2904,6 +3436,146 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "مسح النقاط"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "عقدة الحركة"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+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 "إلغاء/ØªÙØ¹ÙŠÙ„ التشغيل التلقائي"
@@ -2930,11 +3602,13 @@ msgid "Remove Animation"
msgstr "مسح الحركة"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "خطأ: إسم حركة خاطئ!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "خطأ: إسم الحركة موجود Ø¨Ø§Ù„ÙØ¹Ù„!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2943,11 +3617,6 @@ msgid "Rename Animation"
msgstr "إعادة تسمية الحركة"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "أض٠حركة"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "دمج التغيير التالي"
@@ -2964,11 +3633,13 @@ msgid "Duplicate Animation"
msgstr "تكرير الحركة"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "خطأ: لا حركة لنسخها!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "خطأ: لا مصدر حركة علي Ø§Ù„Ø­Ø§ÙØ¸Ø©!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2980,7 +3651,8 @@ msgid "Paste Animation"
msgstr "لصق الحركة"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "خطأ: لا حركة لتعديلها!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3012,20 +3684,27 @@ msgid "Scale animation playback globally for the node."
msgstr "تكبير تشغيل الحركة عالمياً من العقدة."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "إنشاء حركة جديد ÙÙŠ Ø§Ù„Ù…ÙØ´ØºÙ„."
+msgid "Animation Tools"
+msgstr "أدوات الحركة"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "حركة"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "تحميل الحركة من الذاكرة."
+msgid "New"
+msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "تحميل حركة من الذاكرة."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "تحويلات"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Ø­ÙØ¸ الحركة الحالية"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Ù…ÙØ±Ø§Ù‚ب"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3036,18 +3715,6 @@ msgid "Autoplay on Load"
msgstr "تشغيل تلقائي حينما يتم التحميل"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "تعديل هد٠الدمج بالوقت"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "أدوات الحركة"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "نسخ الحركة"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "تقشير البصل"
@@ -3096,6 +3763,11 @@ msgid "Include Gizmos (3D)"
msgstr "تضمين جيزموس (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "لصق الحركة"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "إنشاء حركة جديدة"
@@ -3105,6 +3777,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3122,161 +3795,213 @@ msgstr "التالي (مزامنة تلقائية):"
msgid "Cross-Animation Blend Times"
msgstr "وقت الدمج عبر الحركة"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "إنشاء %s جديد"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "صلها بالعقدة:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "تعديل المصاÙÙŠ"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "تكبير/تصغير:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "تلاشي ÙÙŠ البداية (ثواني):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "تلاشي من النهاية (ثواني):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "دمج"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "خلط"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "إعادة تشغيل تلقائية:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "إعادة تشغيل (ثواني):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "إعادة تشغيل عشوائية (ثواني):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "بدء!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "الكمية:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "الدمج:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "الدمج 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "الدمج 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "وقت التلاشي X (ثواني):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "الحالي:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "أض٠مدخله"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "إخلاء التقدم التلقائي"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "حدد التقدم التلقائي"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "مسح المدخله"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "شجرة الحركة صحيحة."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "شجرة الحركة خاطئة."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "عقدة الحركة"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "عقدة اللقطة الواحدة"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "عقدة الخلط"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "عقدة الدمج2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "عقدة الدمج3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "عقدة الدمج4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "عقدة التكبير الزمني"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "عقدة التنقل الزمني"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "عقدة التنقل"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "إستيراد الحركة..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "تعديل مصاÙÙŠ العقد"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "الÙلترة..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "شجرة الحركة"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "مجاني/ÙØ§Ø±Øº"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "المحتويات:"
@@ -3330,8 +4055,14 @@ msgid "Asset Download Error:"
msgstr "خطأ ÙÙŠ تنزيل الأصول:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "يجلب:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "جاري التنزيل"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "جاري التنزيل"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3358,20 +4089,22 @@ msgid "Download for this asset is already in progress!"
msgstr "تحميل هذا الأصل قيد التنÙيذ أصلاً!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "الأول"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "السابق"
+#, fuzzy
+msgid "Previous"
+msgstr "التبويب السابق"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr "التالي"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "الأخير"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3409,8 +4142,9 @@ msgid "Official"
msgstr "رسمياً"
#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
msgid "Testing"
-msgstr "تجربة"
+msgstr "تجريب"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -3443,7 +4177,7 @@ msgid "Bake Lightmaps"
msgstr "اعداد خرائط الضوء"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "إستعراض"
@@ -3452,12 +4186,10 @@ msgid "Configure Snap"
msgstr "تعديل اللقطة"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "معادل الشبكة:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "خطوة الشبكة:"
@@ -3470,14 +4202,6 @@ msgid "Rotation Step:"
msgstr "خطوة الدوران:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "تحريك المحور"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "عملية التحريك"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "تحريك الموجه العمودي"
@@ -3506,11 +4230,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "إنشاء موجه عمودي وأÙقي جديد"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "تعديل سلسلة IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "تحريك المحور"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "تعديل العنصر القماشي"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "عملية التحريك"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "تعديل العنصر القماشي"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "تعديل العنصر القماشي"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3530,6 +4271,21 @@ msgid "Paste Pose"
msgstr "لصق الوضع"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "إبعاد"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "إبعاد"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "تقريب"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "تحديد الوضع"
@@ -3575,7 +4331,8 @@ msgid "Pan Mode"
msgstr "وضع السحب"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ الكبس"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3583,7 +4340,8 @@ msgid "Use Snap"
msgstr "إستخدم الكبس"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "إعدادات الكبس"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3624,6 +4382,11 @@ msgid "Snap to node sides"
msgstr "إكبس إلي جوانب العقدة"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "إكبس إلي مرتكز العقدة"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "إكبس إلي العقد الأخري"
@@ -3650,14 +4413,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "إرجاع مقدرة تحديد الطÙÙ„ للعنصر."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "أنشئ عظام"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "إخلاء العظام"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "إظهار العظام"
@@ -3670,6 +4425,15 @@ msgid "Clear IK Chain"
msgstr "إخلاء سلسلة IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "إخلاء العظام"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "أظهر"
@@ -3712,14 +4476,11 @@ msgid "Layout"
msgstr "المخطط"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "أدخل Ù…ÙØ§ØªÙŠØ­"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "أدخل Ù…ÙØªØ§Ø­"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "أدخل Ù…ÙØªØ§Ø­ (مسارات موجودة Ø¨Ø§Ù„ÙØ¹Ù„)"
@@ -3732,14 +4493,6 @@ msgid "Clear Pose"
msgstr "إخلاء الوضع"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "سحب المحور من مكان Ø§Ù„ÙØ£Ø±Ø©"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "ضع المحور ÙÙŠ مكان مؤشر الماوس"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "ضاع٠خطوة الشبكة بـ 2"
@@ -3755,10 +4508,6 @@ msgstr "أض٠%s"
msgid "Adding %s..."
msgstr "Ø¥Ø¶Ø§ÙØ© %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "حسنا"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "لا يمكن إنشاء عقد متعددة بدون العقدة الجذر."
@@ -3793,27 +4542,20 @@ msgstr "إنشاء بولي 3d"
msgid "Set Handle"
msgstr "حدد المعامل"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "مسح العنصر %d؟"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Ø¥Ø¶Ø§ÙØ© عنصر"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "مسح العنصر المحدد"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "جسيمات"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "إستيراد من المشهد"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "أنشئ نقاط إنبعاث من الشبكة"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3883,15 +4625,6 @@ msgstr "إبقي ضاغطاً علي Shift لتعديل المماس ÙØ±Ø¯ÙŠØ§Ù
msgid "Bake GI Probe"
msgstr "طبخ مجس GI"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Ø¥Ø¶Ø§ÙØ©/مسح نقطة منحدر اللون"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "تعديل منحدر اللون"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "العنصر %d"
@@ -3977,6 +4710,7 @@ msgid "No mesh to debug."
msgstr "لا ميش لتصحيحة."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "النموذج ليس لديه UV ÙÙŠ هذا الطابق"
@@ -4001,8 +4735,9 @@ msgid "Create Outline"
msgstr "أنشئ الحد"
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#, fuzzy
msgid "Mesh"
-msgstr "الميش"
+msgstr "شبكة"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Static Body"
@@ -4044,6 +4779,27 @@ msgstr "إنشاء شبكة الخطوط العريضة"
msgid "Outline Size:"
msgstr "حجم الخطوط:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "مسح العنصر %d؟"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "إستيراد من المشهد"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "تحديث من المشهد"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "لا مصدر ميش تم تحديده (Ùˆ لا ميش متعدد تم تحديده ÙÙŠ العقدة)."
@@ -4144,70 +4900,6 @@ msgstr "حجم عشوائي:"
msgid "Populate"
msgstr "تكثير/تزويد"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "طبخ!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "طبخ ميش المحاور."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "إخلاء ميش المحاور."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "ÙŠÙØ¬Ù‡Ø² الإعدادات..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "يحسب حجم الشبكة..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "إنشاء مجال Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "تعليم مثلثات التحرك..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "يبني مجال Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹ المدمج..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "تقويض منطقة السير..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "تجزئة..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "إنشاء المحيط..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "إنشاء نموذج الميش..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "يحول إلي ميش التنقل المحلي..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "منشئ تثبيت ميش التنقل:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "توزيع الأشكال الهندسية..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "تم!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "إنشاء Ù…ÙØ¶Ù„ع التنقل"
@@ -4268,18 +4960,6 @@ msgid "Emission Colors"
msgstr "الوان الانبعاث"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "العقدة لا تحتوي على هندسة."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "العقدة لا تحتوي على هندسة (الوجوه)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "معالج المواد من نوع 'ParticlesMaterial' مطلوب."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "الوجوه لا تحتوي على منطقة!"
@@ -4288,16 +4968,12 @@ msgid "No faces!"
msgstr "لا وجوه!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "ولد AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "أنشئ نقاط إنبعاث من الشبكة"
+msgid "Node does not contain geometry."
+msgstr "العقدة لا تحتوي على هندسة."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "أنشئ نقاط إنبعاث من العقدة"
+msgid "Node does not contain geometry (faces)."
+msgstr "العقدة لا تحتوي على هندسة (الوجوه)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4324,6 +5000,19 @@ msgid "Emission Source: "
msgstr "مصدر الانبعاث: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "معالج المواد من نوع 'ParticlesMaterial' مطلوب."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "ولد AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "تحويل إلي %s"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "ولد رؤية AABB"
@@ -4400,6 +5089,23 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+#, fuzzy
+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 ""
@@ -4432,19 +5138,94 @@ msgstr "مسح نقطة خروج التحكم"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "إظهار العظام"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "إنشاء بولي"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "التحميل التلقائي '%s' موجود اصلا!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Ø¥Ø¶Ø§ÙØ© نقطة"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "مسار غير صالح."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "مسح النقطة"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "تعديل البولي"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "أنشئ عظام"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "إنشاء بولي"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4473,11 +5254,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4493,9 +5286,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "إعدادات Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4505,6 +5298,35 @@ msgstr ""
msgid "Grid"
msgstr ""
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "تعديل اللقطة"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "معادل الشبكة:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "معادل الشبكة:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "خطوة الشبكة:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "خطوة الشبكة:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Sync Bones to Polygon"
+msgstr ""
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4527,6 +5349,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4548,16 +5374,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "شجرة الحركة خاطئة."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr ""
@@ -4567,6 +5395,21 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "خطأ ÙÙŠ Ø­ÙØ¸ مجموعة البلاط!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "لا يمكن إنشاء المجلد."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "خطأ ÙÙŠ Ø­ÙØ¸ مجموعة البلاط!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4583,6 +5426,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "مجلد جديد..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Ø¥ÙØªØ­ ملÙ"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Ø­ÙØ¸ باسم..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4595,6 +5453,10 @@ msgid " Class Reference"
msgstr " مرجع الصنÙ"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "ترتيب"
@@ -4623,8 +5485,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "إظهار Ø§Ù„Ù…Ù„ÙØ§Øª"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4651,6 +5514,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4684,11 +5552,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4742,10 +5605,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4764,45 +5623,70 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "إبحث ÙÙŠ المساعدة"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "إبحث ÙÙŠ الأصناÙ"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "الخط:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4890,8 +5774,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "Ùلتر Ø§Ù„Ù…Ù„ÙØ§Øª..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4909,129 +5794,42 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Ø§Ù„ÙØ±Ø¯ÙŠØ©"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "أنشئ ميش التنقل"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Ø§Ù„ÙØ±Ø¯ÙŠØ©"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "إنشاء حل C#‎"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "تشغيل"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5158,10 +5956,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "حسناً :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "لا أب للصق الطÙÙ„ عليه."
@@ -5170,6 +5964,10 @@ msgid "This operation requires a single selected node."
msgstr "هذه العملية تتطلب عقدة واحدة محددة."
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5214,6 +6012,11 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "ÙŠÙنشئ مستعرضات الميش"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5341,6 +6144,11 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "الكبس إلي الشبكة"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ وضع النظرة الحرة"
@@ -5349,6 +6157,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5377,6 +6189,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5390,10 +6206,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5453,6 +6265,51 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "تحويل إلي %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "إنشاء شبكة الخطوط العريضة"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "إستعراض"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "إعدادات Ø§Ù„Ù…ÙØ¹Ø¯Ù„"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5521,14 +6378,6 @@ msgstr "تحريك (للتالي)"
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5554,26 +6403,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5589,11 +6431,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5672,11 +6509,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#, fuzzy
-msgid "Options"
-msgstr "الخيارات"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5702,7 +6534,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5715,14 +6547,19 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "ثابت"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "اسم غير صالح."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5743,12 +6580,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "جد"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5771,6 +6605,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Ø­Ø°Ù Ø§Ù„Ù…ÙØ­Ø¯Ø¯"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5787,64 +6626,110 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "مسح المدخلة الحالية"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "مجموعة البلاط"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Ø­ÙØ¸ العنوان Ø§Ù„ÙØ±Ø¹ÙŠ Ø§Ù„Ø°ÙŠ يتم تعديله حاليا."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "هذه العملية لا يمكن الإكتمال من غير مشهد."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "مجموعة البلاط"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "البراهين:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5859,7 +6744,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5933,10 +6818,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5945,7 +6826,7 @@ msgid "The path does not exist."
msgstr "هذا المسار غير موجود."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5953,6 +6834,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6040,6 +6929,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6148,8 +7041,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6161,9 +7054,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6205,19 +7111,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6245,10 +7151,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6293,6 +7195,12 @@ 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 "Already existing"
msgstr ""
@@ -6364,6 +7272,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6373,6 +7285,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "عملية التحريك"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6433,10 +7354,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6473,34 +7390,10 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "إجعلة مميزاً"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "تحويل إلي %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr ""
@@ -6509,18 +7402,6 @@ msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "On"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr ""
@@ -6544,6 +7425,130 @@ msgstr ""
msgid "Can't load back converted image using PVRTC tool:"
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
+#, fuzzy
+msgid "Advanced options"
+msgstr "إعدادات الكبس"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "إسم العقدة:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "إسم العقدة:"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "لم يتم Ø­ÙØ¸ المشهد الحالي. Ø¥ÙØªØ­Ù‡ علي أية حال؟"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "خطوة (ثانية):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "إرجاع التكبير"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6580,11 +7585,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6604,6 +7604,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "إخلاء الكود"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6644,14 +7648,35 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr ""
+#, fuzzy
+msgid "Make Local"
+msgstr "أنشئ عظام"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "إنشاء عقدة"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "مشهد"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "مشهد"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "إنشاء عقدة"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6660,6 +7685,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6702,18 +7731,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "إخلاء الكود"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Ø­ÙØ¸ المشهد"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6736,10 +7762,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6759,17 +7781,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "أظهر Ø§Ù„Ù…Ù„ÙØ§Øª المخÙية"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6777,7 +7792,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6793,20 +7808,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "ÙØªØ­ الكود"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6814,6 +7830,12 @@ 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 ""
@@ -6850,6 +7872,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "ÙØªØ­ Ù…ÙØ¹Ø¯Ù„ الكود"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7086,10 +8113,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7102,19 +8141,34 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "تغيير وقت الدمج"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "تغيير وقت الدمج"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "تغيير المرتكزات و الهوامش"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7170,16 +8224,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "نوع برهان خاطئ للتحويل()، إستخدم ثابت TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "لا يوجد ما يكÙÙŠ من البايتات من أجل ÙÙƒ البايتات، أو صيغة غير صحيحة."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "الخطوة (المتغيرة المدخلة/argument) تساوي ØµÙØ± !"
@@ -7251,6 +8295,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7331,6 +8380,11 @@ 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 ""
@@ -7399,6 +8453,70 @@ msgstr "إظهار Ø§Ù„Ù…Ù„ÙØ§Øª"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "طبخ!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "طبخ ميش المحاور."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "إخلاء ميش المحاور."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "ÙŠÙØ¬Ù‡Ø² الإعدادات..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "يحسب حجم الشبكة..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "إنشاء مجال Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "تعليم مثلثات التحرك..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "يبني مجال Ø§Ù„Ø¥Ø±ØªÙØ§Ø¹ المدمج..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "تقويض منطقة السير..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "تجزئة..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "إنشاء المحيط..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "إنشاء نموذج الميش..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "يحول إلي ميش التنقل المحلي..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "منشئ تثبيت ميش التنقل:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "توزيع الأشكال الهندسية..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "تم!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7450,10 +8568,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7562,36 +8676,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "نداء"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "صلها بالعقدة:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "صلها بالعقدة:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7618,15 +8710,11 @@ msgid "Remove Function"
msgstr "مسح المهمة"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7634,10 +8722,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7681,6 +8765,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "الأعضاء"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7735,6 +8824,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "إخلاء الكود"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "تشغيل ÙÙŠ Ø§Ù„Ù…ØªØµÙØ­"
@@ -7783,8 +8885,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7867,6 +8969,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7927,8 +9042,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8001,6 +9116,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8013,6 +9139,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "أدوات الحركة"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "خطأ: إسم حركة خاطئ!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "قطع إتصال'%s' من '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "شجرة الحركة خاطئة."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8081,9 +9248,197 @@ msgstr ""
msgid "Invalid font size."
msgstr "حجم الخط غير صالح"
-#~ msgid "Next"
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "أض٠مدخله"
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "تعديل منحدر اللون"
+
+#~ msgid "Disabled"
+#~ msgstr "معطّل"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Ø±ÙØ¹ مسار التحريك"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "إنزال مسار التحريك"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "تحديد التحويلات لـ:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "تغيير إسم مسار التحريك"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "تغيير إقحام مسار التحريك"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "تغيير صيغة القيمة لمسار التحريك"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "تغيير صيغة الغلا٠لمسار التحريك"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "تحرير منحنى العقدة"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "تحرير منحنى الإختيار"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Ù…ÙØªØ§Ø­ Ø¥Ø¶Ø§ÙØ© تحريك"
+
+#~ msgid "In"
+#~ msgstr "داخل"
+
+#~ msgid "Out"
+#~ msgstr "خارج"
+
+#~ msgid "In-Out"
+#~ msgstr "داخل-خارج"
+
+#~ msgid "Out-In"
+#~ msgstr "خارج-داخل"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "تغيير خط الحركة"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "تغيير تكرير الحركة"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "أنشي Ù…ÙØªØ§Ø­ حركة ذا قيمة مكتوبة"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "أض٠خانة مسار حركة"
+
+#~ msgid "Length (s):"
+#~ msgstr "الطول (ثانية):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "المؤشر خطوة خطوة (بالثواني)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "تمكين/تعطيل التكرار ÙÙŠ الحركة."
+
+#~ msgid "Add new tracks."
+#~ msgstr "أض٠مسارات جديدة."
+
+#~ msgid "Move current track up."
+#~ msgstr "تحريك المسار الحالي للأعلى."
+
+#~ msgid "Move current track down."
+#~ msgstr "تحريك المسار الحالي للاسÙÙ„."
+
+#~ msgid "Track tools"
+#~ msgstr "أدوات المسار"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "السماح بتعديل ازرار Ù…Ù†ÙØµÙ„Ø© بالضغط عليها."
+
+#~ msgid "Key"
+#~ msgstr "Ù…ÙØªØ§Ø­"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "إستدعاء وظائ٠ÙÙŠ أي عقدة؟"
+
+#~ msgid "Thanks!"
+#~ msgstr "شكراً!"
+
+#~ msgid "I see..."
+#~ msgstr "أنا أري..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "لا يمكن ÙØªØ­ '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "آخخ"
+
+#~ msgid "Run Script"
+#~ msgstr "تشغيل الكود"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Ø­ÙØ¸ المورد الذي يتم تعديله حاليا."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "إيقا٠التنميط"
+
+#~ msgid "Start Profiling"
+#~ msgstr "بدء التنميط"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠ (تماماً مثل المحرر)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "إنشاء حركة جديد ÙÙŠ Ø§Ù„Ù…ÙØ´ØºÙ„."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "تحميل الحركة من الذاكرة."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "تحميل حركة من الذاكرة."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Ø­ÙØ¸ الحركة الحالية"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "تعديل هد٠الدمج بالوقت"
+
+#~ msgid "Copy Animation"
+#~ msgstr "نسخ الحركة"
+
+#~ msgid "Fetching:"
+#~ msgstr "يجلب:"
+
+#~ msgid "prev"
+#~ msgstr "السابق"
+
+#~ msgid "next"
#~ msgstr "التالي"
+#~ msgid "last"
+#~ msgstr "الأخير"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "تعديل سلسلة IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "سحب المحور من مكان Ø§Ù„ÙØ£Ø±Ø©"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "ضع المحور ÙÙŠ مكان مؤشر الماوس"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Ø¥Ø¶Ø§ÙØ©/مسح نقطة منحدر اللون"
+
+#~ msgid "OK :("
+#~ msgstr "حسناً :("
+
+#~ msgid "Call"
+#~ msgstr "نداء"
+
#~ msgid "Can't contain '/' or ':'"
#~ msgstr "لا يمكن أن يحتوي علي '/' أو ':'"
@@ -8126,9 +9481,6 @@ msgstr "حجم الخط غير صالح"
#~ msgid "Method List For '%s':"
#~ msgstr "قائمة الطرق لـ '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "البراهين:"
-
#~ msgid "Return:"
#~ msgstr "العودة:"
diff --git a/editor/translations/bg.po b/editor/translations/bg.po
index 71b9216b46..beeb2be3c6 100644
--- a/editor/translations/bg.po
+++ b/editor/translations/bg.po
@@ -21,332 +21,475 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.19-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "ÐедоÑтатъчно байтове за разкодиране или недейÑтвителен формат."
-#: editor/animation_editor.cpp
-msgid "All Selection"
+#: core/math/expression.cpp
+msgid "Invalid input %i (not passed) in expression"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Time"
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transition"
+#: core/math/expression.cpp
+msgid "Invalid operands to operator %s, %s and %s."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transform"
+#: core/math/expression.cpp
+msgid "Invalid index of type %s for base type %s"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Value"
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Call"
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ""
+"Ðевалиден агрумент тип на convert(), използвайте конÑтантите започващи Ñ "
+"TYPE_*."
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Грешки"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Insert Key Here"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
+#: editor/animation_bezier_editor.cpp
+msgid "Duplicate Selected Key(s)"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Time"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transition"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transform"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Value"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Call"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "ДобавÑне на нови пътечки."
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Изтриване на анимациÑта?"
+
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Continuous"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Discrete"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Trigger"
-msgstr "СпуÑък"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Премахване на пътечката."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Стъпка (Ñек.):"
+
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
+msgstr "СпуÑък"
+
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Линейно"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "ПоÑтоÑнно"
-
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Преходи"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Имаше грешка при внаÑÑнето:"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Оптимизиране на анимациÑта"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Изтриване на анимациÑта?"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "ПочиÑтване на анимациÑта"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Създаване"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Дължина (Ñек.):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Стъпка (Ñек.):"
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-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_editor.cpp
-msgid "Move current track up."
-msgstr "ПремеÑтване на пътечката нагоре."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "ПремеÑтване на пътечката надолу."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Премахване на пътечката."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Стъпка (Ñек.):"
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Изтриване на анимациÑта?"
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Изтриване на анимациÑта?"
+
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "ПоÑтавÑне на възелите"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Ðова Ñцена"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: 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_editor.cpp
-msgid "Transition"
-msgstr "Преход"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: 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_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Копиране"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "ПреоразмерÑване на маÑива"
@@ -367,7 +510,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -383,7 +526,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -395,18 +538,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -436,7 +587,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -467,7 +619,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -489,11 +641,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -501,14 +653,46 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Свързване..."
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Свързване..."
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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
+#, fuzzy
+msgid "Edit..."
+msgstr "ИзнаÑÑне..."
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Методи"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr ""
@@ -531,22 +715,25 @@ msgstr "Любими:"
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "ТърÑене:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "ОпиÑание:"
@@ -604,7 +791,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -623,7 +812,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -691,9 +880,13 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr ""
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Добре"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -866,6 +1059,7 @@ msgid "Bus options"
msgstr "ÐаÑтройки на шината"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -934,7 +1128,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -944,7 +1139,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -981,48 +1175,48 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Not in resource path."
-msgstr "Обектът не е базиран на реÑурÑен файл"
+msgid "Toggle AutoLoad Globals"
+msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
-msgstr ""
+#, fuzzy
+msgid "Not in resource path."
+msgstr "Обектът не е базиран на реÑурÑен файл"
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1055,7 +1249,7 @@ msgstr ""
msgid "Updating scene..."
msgstr "ОбновÑване на Ñцената..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1117,6 +1311,12 @@ msgid "Copy Path"
msgstr ""
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "ДиÑпечер на проектите"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1153,7 +1353,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Запазване"
@@ -1206,7 +1406,8 @@ msgstr "Към горната папка"
msgid "Directories & Files:"
msgstr "Папки и файлове:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1351,20 +1552,28 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Изберете ÑвойÑтво"
+
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1387,11 +1596,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1404,8 +1608,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1447,10 +1651,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1517,42 +1717,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1728,11 +1892,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1762,6 +1921,16 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Възпроизвеждане на Ñцената"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "ЗатварÑне"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1885,10 +2054,6 @@ msgstr "Проект"
msgid "Project Settings"
msgstr "ÐаÑтройки на проекта"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "ИзнаÑÑне"
@@ -1898,6 +2063,11 @@ msgid "Tools"
msgstr "Сечива"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "ДиÑпечер на проектите"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Изход до ÑпиÑъка Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸"
@@ -1989,6 +2159,20 @@ msgstr ""
msgid "Toggle Fullscreen"
msgstr ""
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "ÐаÑтройки на редактора"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "ÐаÑтройки на редактора"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2004,7 +2188,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "ТърÑене"
@@ -2048,7 +2233,7 @@ msgstr "ПреуÑтановÑване на Ñцената"
msgid "Stop the scene."
msgstr "Спиране на Ñцената."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2069,6 +2254,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Запазване и повторно внаÑÑне"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr ""
@@ -2088,42 +2283,6 @@ msgstr ""
msgid "Inspector"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2138,6 +2297,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2215,19 +2378,24 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "ПриÑтавки"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "ИнÑталирани приÑтавки:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "ВерÑиÑ:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2235,12 +2403,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2287,6 +2456,102 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Ðов Ñкрипт"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "ПоÑтавÑне"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+msgid "New Key:"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "СтойноÑÑ‚"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2321,10 +2586,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2351,6 +2612,7 @@ msgid "(Installed)"
msgstr "ИнÑталирани приÑтавки:"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2375,7 +2637,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2437,6 +2699,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error requesting url: "
msgstr "Имаше грешка при внаÑÑнето:"
@@ -2523,7 +2791,7 @@ msgid "Download Templates"
msgstr "Шаблони"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2535,11 +2803,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2615,7 +2883,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2645,6 +2913,23 @@ msgid "Duplicate..."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Ðов Ñкрипт"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2657,26 +2942,128 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Избиране на текущата папка"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "ТърÑене"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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
+#, fuzzy
+msgid "Searching..."
+msgstr "ТърÑене"
+
+#: editor/find_in_files.cpp
+msgid "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+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
+#, fuzzy
+msgid "Filter nodes"
+msgstr "ПоÑтавÑне на възелите"
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2687,6 +3074,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Import as Single Scene"
@@ -2731,7 +3122,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "ВнаÑÑне на Ñцена"
@@ -2792,16 +3183,128 @@ msgstr ""
msgid "Reimport"
msgstr "Повторно внаÑÑне"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "ПриÑтавки"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Създаване"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "ПриÑтавки"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "ВнаÑÑне на езици:"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Име:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
msgstr ""
#: editor/plugins/abstract_polygon_2d_editor.cpp
@@ -2846,6 +3349,145 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Изтриване на анимациÑта?"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+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 ""
@@ -2872,11 +3514,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2885,11 +3527,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2906,12 +3543,13 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr "Обектът не е базиран на реÑурÑен файл"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
@@ -2922,8 +3560,9 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
-msgstr ""
+#, fuzzy
+msgid "No animation to edit!"
+msgstr "ÐÑма артикули за внаÑÑне!"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
@@ -2954,39 +3593,33 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Преходи"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3040,6 +3673,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Изтриване на анимациÑта?"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3049,6 +3687,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3066,163 +3705,214 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
#, fuzzy
-msgid "Edit Filters"
-msgstr "Файл:"
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Създайте нов/а %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "ИзрÑзване на възелите"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "ВнаÑÑне на анимации..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Изтриване на анимациÑта?"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Съдържание:"
@@ -3276,8 +3966,12 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "ИзтеглÑне:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3305,19 +3999,21 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr ""
+#, fuzzy
+msgid "Previous"
+msgstr "Предишен подпрозорец"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+#, fuzzy
+msgid "Next"
+msgstr "Следващ подпрозорец"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3385,7 +4081,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3394,12 +4090,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3412,14 +4106,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3450,11 +4136,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3474,6 +4172,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
msgid "Select Mode"
msgstr "Избиране на вÑичко"
@@ -3518,7 +4228,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3526,7 +4236,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3567,6 +4277,10 @@ 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 ""
@@ -3593,24 +4307,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Възпроизвеждане на Ñцена по избор"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3655,11 +4370,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3675,14 +4386,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3698,10 +4401,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3734,28 +4433,20 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "ВнаÑÑне от Ñцена"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "ОбновÑване от Ñцена"
-
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
msgstr ""
@@ -3825,15 +4516,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3917,6 +4599,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3986,6 +4669,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "ВнаÑÑне от Ñцена"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "ОбновÑване от Ñцена"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4086,70 +4790,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4210,59 +4850,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4342,6 +4978,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4374,19 +5026,86 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "ЗатварÑне на вÑичко"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Създаване на папка"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4415,11 +5134,24 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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
@@ -4435,9 +5167,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "ÐаÑтройки"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4447,6 +5179,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4469,6 +5225,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4490,16 +5250,17 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "ПоÑтавÑне"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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 ""
@@ -4510,6 +5271,21 @@ msgid "Close and save changes?"
msgstr "Да Ñе затвори ли Ñцената? (незаразените промени ще Ñе загубÑÑ‚)"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Имаше грешка при внаÑÑнето на Ñцената"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "ÐеуÑпешно Ñъздаване на папка."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Грешка при зареждането на шрифта."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4526,6 +5302,21 @@ msgid "Error importing"
msgstr "Имаше грешка при внаÑÑнето"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Ðова папка..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Файл:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Запазване на Ñцената като..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "ВнаÑÑне на тема"
@@ -4538,6 +5329,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "Подреждане:"
@@ -4567,8 +5362,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "Преглед на файловете"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4595,6 +5391,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4628,11 +5429,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4686,10 +5482,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4708,45 +5500,70 @@ msgid "Debugger"
msgstr "ОтÑтранител на грешки"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "ТърÑене"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Имаше грешка при внаÑÑнето:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Линейно"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "ИзрÑзване"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Копиране"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4836,7 +5653,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4855,128 +5672,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5105,10 +5830,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5117,6 +5838,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5162,6 +5887,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5292,6 +6021,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5300,6 +6033,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5328,6 +6065,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5341,10 +6082,6 @@ msgid "Settings"
msgstr "ÐаÑтройки"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5404,6 +6141,49 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Създайте нов/а %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "ОбновÑване от Ñцена"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "ÐаÑтройки"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5473,14 +6253,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5506,27 +6278,21 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr ""
+#, fuzzy
+msgid "TextureRegion"
+msgstr "Двуизмерна текÑтура"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -5541,11 +6307,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5618,10 +6379,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5646,7 +6403,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5659,14 +6416,18 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+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
msgid "Paint TileMap"
msgstr ""
@@ -5688,11 +6449,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5716,6 +6473,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Ðова Ñцена"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5732,66 +6494,109 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "ПремеÑтване на пътечката нагоре."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "Файл:"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Избиране на текущата папка"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5806,7 +6611,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5881,10 +6686,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5893,16 +6694,24 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
-msgid "Please choose a 'project.godot' file."
+msgid "Please choose an empty folder."
msgstr "МолÑ, изнеÑете извън папката на проекта!"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Please choose an empty folder."
+msgid "Please choose a 'project.godot' or '.zip' file."
msgstr "МолÑ, изнеÑете извън папката на проекта!"
#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "ВнеÑен проект"
@@ -5996,6 +6805,11 @@ msgid "Project Path:"
msgstr "Път:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Път:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Разглеждане"
@@ -6106,8 +6920,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6119,9 +6933,22 @@ 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
+#, fuzzy
+msgid "All Devices"
+msgstr "УÑтройÑтво"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "УÑтройÑтво"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6163,20 +6990,24 @@ msgid "Wheel Down Button"
msgstr "Колелце надолу"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Копче 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Колелце нагоре"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Копче 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "ДÑÑно копче"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Копче 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Копче 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Копче 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Копче 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6203,10 +7034,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "УÑтройÑтво"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Копче"
@@ -6251,6 +7078,12 @@ 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 "Already existing"
msgstr ""
@@ -6322,6 +7155,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6331,6 +7168,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "ОпиÑание:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6392,10 +7238,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6433,34 +7275,10 @@ msgid "Select Node"
msgstr "Избиране на вÑичко"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Ðов Ñкрипт"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/property_editor.cpp
#, fuzzy
msgid "Pick a Node"
msgstr "ПоÑтавÑне"
@@ -6470,18 +7288,6 @@ msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "On"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr ""
@@ -6506,6 +7312,125 @@ msgstr ""
msgid "Can't load back converted image using PVRTC tool:"
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 "Advanced options"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Възел"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "Стъпка (Ñек.):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6542,11 +7467,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr "ÐаÑтройки за пуÑкане на Ñцена"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Добре"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6566,6 +7486,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Clear Script"
+msgstr "Ðова Ñцена"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6606,14 +7531,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Създаване на папка"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Сцена"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Сцена"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "ИзрÑзване на възелите"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6622,6 +7567,11 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Attach Script"
+msgstr "Ðова Ñцена"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6665,19 +7615,14 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Attach Script"
-msgstr "Ðова Ñцена"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "Ðова Ñцена"
+msgid "Make Scene Root"
+msgstr "Запазване на Ñцената"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6701,11 +7646,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "ПоÑтавÑне на възелите"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6726,16 +7666,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6744,7 +7676,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6760,21 +7692,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "Ðова Ñцена"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6782,6 +7714,12 @@ 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 ""
@@ -6821,6 +7759,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7061,10 +8003,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7077,19 +8031,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7150,18 +8116,6 @@ msgid "GDNative"
msgstr ""
#: 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_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "ÐедоÑтатъчно байтове за разкодиране или недейÑтвителен формат."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "Стъпката на range() е нула!"
@@ -7237,6 +8191,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7322,6 +8281,11 @@ msgstr "Ðова Ñцена"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "Ðова Ñцена"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "ÐаÑтройки"
@@ -7392,6 +8356,70 @@ msgstr "Преглед на файловете"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7443,10 +8471,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7557,36 +8581,14 @@ msgid "Connect Nodes"
msgstr "ИзрÑзване на възелите"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "УÑловие"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "ИзрÑзване на възелите"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "ИзрÑзване на възелите"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7614,24 +8616,15 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "ÐаÑтройки на редактора"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
+msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7678,6 +8671,11 @@ msgstr "ИзрÑзване на възелите"
msgid "Paste Nodes"
msgstr "ПоÑтавÑне на възелите"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Файл:"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7732,6 +8730,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "ПоÑтавÑне на възелите"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7788,8 +8799,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7889,6 +8900,19 @@ msgstr ""
"Параметърът 'Path' трÑбва да Ñочи към дейÑтвителен възел Node2D, за да "
"работи."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7949,8 +8973,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8026,6 +9050,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8038,6 +9073,42 @@ msgid ""
"it as a child of a VehicleBody."
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_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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8107,6 +9178,61 @@ msgstr "Грешка при зареждането на шрифта."
msgid "Invalid font size."
msgstr ""
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Изключено"
+
+#~ msgid "Length (s):"
+#~ msgstr "Дължина (Ñек.):"
+
+#~ msgid "Move current track up."
+#~ msgstr "ПремеÑтване на пътечката нагоре."
+
+#~ msgid "Move current track down."
+#~ msgstr "ПремеÑтване на пътечката надолу."
+
+#~ msgid "Fetching:"
+#~ msgstr "ИзтеглÑне:"
+
+#~ msgid "Button 7"
+#~ msgstr "Копче 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Копче 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Копче 9"
+
+#~ msgid "Condition"
+#~ msgstr "УÑловие"
+
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "ÐаÑтройки на редактора"
+
#, fuzzy
#~ msgid "Can't write file."
#~ msgstr "ÐеуÑпешно Ñъздаване на папка."
@@ -8134,9 +9260,6 @@ msgstr ""
#~ "За да Ñе извърши повторното внаÑÑне, текущата Ñцена трÑбва да бъде "
#~ "запазена."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Запазване и повторно внаÑÑне"
-
#~ msgid "Re-Importing"
#~ msgstr "Извършва Ñе повторно внаÑÑне"
@@ -8170,18 +9293,12 @@ msgstr ""
#~ msgid "Import Textures"
#~ msgstr "ВнаÑÑне на текÑтури"
-#~ msgid "2D Texture"
-#~ msgstr "Двуизмерна текÑтура"
-
#~ msgid "3D Texture"
#~ msgstr "Триизмерна текÑтура"
#~ msgid "Import Large Texture"
#~ msgstr "ВнаÑÑне на голÑма текÑтура"
-#~ msgid "No items to import!"
-#~ msgstr "ÐÑма артикули за внаÑÑне!"
-
#~ msgid "Import Translations"
#~ msgstr "ВнаÑÑне на преводи"
@@ -8191,9 +9308,6 @@ msgstr ""
#~ msgid "Import Translation"
#~ msgstr "ВнаÑÑне на превода"
-#~ msgid "Import Languages:"
-#~ msgstr "ВнаÑÑне на езици:"
-
#~ msgid "Invalid project path, the path must exist!"
#~ msgstr "ÐедейÑтвителен път. ПътÑÑ‚ трÑбва да ÑъщеÑтвува!"
@@ -8235,6 +9349,3 @@ msgstr ""
#~ msgid "Export all files in the project directory."
#~ msgstr "ИзнаÑÑне на вÑички файлове в папката на проекта."
-
-#~ msgid "Export..."
-#~ msgstr "ИзнаÑÑне..."
diff --git a/editor/translations/bn.po b/editor/translations/bn.po
index aa36beefb6..f4021e9731 100644
--- a/editor/translations/bn.po
+++ b/editor/translations/bn.po
@@ -20,335 +20,490 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.18-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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_* ধà§à¦°à§à¦¬à¦• বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨à¥¤"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "সব সিলেকà§à¦Ÿ করà§à¦¨"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "%s নোডে সূচক/ইনডেকà§à¦¸ মানের অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম '%s'।"
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "%s নোডে সূচক/ইনডেকà§à¦¸ মানের অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম '%s'।"
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ মান/আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ-à¦à¦° ধরণ: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "মà§à¦•à§à¦¤ করে দিন"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "পà§à¦°à¦¤à¦¿à¦¬à¦¿à¦®à§à¦¬ X"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "চাবি সনà§à¦¨à¦¿à¦¬à§‡à¦¶ করà§à¦¨"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কি ডà§à¦ªà§à¦²à¦¿à¦•েট করà§à¦¨"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) চাবিগà§à¦²à§‹ অপসারণ করà§à¦¨"
+
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Time"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) ভà§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦¨à¦œà¦¿à¦¶à¦¨ পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à¦¾à¦¨à§à¦¸à¦«à¦°à§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) ভà§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কল পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦• যোগ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "পà§à¦°à¦ªà¦¾à¦°à§à¦Ÿà¦¿:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) কি ডà§à¦ªà§à¦²à¦¿à¦•েট করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "রà§à¦ªà¦¾à¦¨à§à¦¤à¦°à§‡à¦° ধরণ"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ ( Anim) টà§à¦°à§à¦¯à¦¾à¦• আপ"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦• ডাউন"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦• রিমà§à¦­ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "টà§à¦°à§à¦¯à¦¾à¦¨à¦œà¦¿à¦¶à¦¨/সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦°à¦£ সেট/নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° চালনা বনà§à¦§ করà§à¦¨à¥¤ (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦•/পথ-à¦à¦° নাম পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦• যোগ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦•/পথ-à¦à¦° পà§à¦°à¦•à§à¦·à§‡à¦ª/নিবেশ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Animation) দৈরà§à¦˜à§à¦¯ (সময় সেকেনà§à¦¡à§‡)।"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦•/পথ-à¦à¦° মানের ধরন/পà§à¦°à¦•ার পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) জà§à¦® (zoom) করà§à¦¨à¥¤"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ টà§à¦°à§à¦¯à¦¾à¦•-à¦à¦° Wrapping মোড পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "ফাংশনগà§à¦²à¦¿:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "নোডের বাà¦à¦•/কারà§à¦­ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "অডিও শà§à¦°à§‹à¦¤à¦¾"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "নিরà§à¦¬à¦¾à¦šà¦¨ বাà¦à¦•/কারà§à¦­ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "কà§à¦²à¦¿à¦ªà¦¸à¦®à§‚হ"
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) চাবিগà§à¦²à§‹ অপসারণ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "বিকà§à¦·à§‡à¦ª-হীন মোড"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "পকà§à¦·à¦¾à¦¨à§à¦¤à¦°à¦¿à¦¤ (Transposed) সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নোড"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-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
+#, fuzzy
+msgid "Time (s): "
+msgstr "X-ফেড/বিলীন সময় (সেঃ):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "অবিচà§à¦›à¦¿à¦¨à§à¦¨/নিরবচà§à¦›à¦¿à¦¨à§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "সà§à¦¬à¦¤à¦¨à§à¦¤à§à¦°/পৃথকà§"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "টà§à¦°à¦¿à¦—ার/চালনা করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) চাবি/কী যোগ করà§à¦¨"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) চাবি/কী-সমà§à¦¹ সরান"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহের আকার পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "কারà§à¦¸à¦° হতে আকার পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "পরবরà§à¦¤à§€ ধাপে যান"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "গঠনবিনà§à¦¯à¦¾à¦¸"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ ধাপে যান"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "রৈখিক/লিনিয়ার"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "ধà§à¦°à§à¦¬à¦•/কনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦Ÿ"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "অভà§à¦¯à¦¨à§à¦¤à¦°à§‡/ইন"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "বাইরে/অউট"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "অভà§à¦¯à¦¨à§à¦¤à¦°à§‡-বাইরে/ইন-অউট"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "বাইরে-অভà§à¦¯à¦¨à§à¦¤à¦°à§‡/অউট-ইন"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "চাবি সনà§à¦¨à¦¿à¦¬à§‡à¦¶ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "অনà§à¦¬à¦¾à¦¦à¦¸à¦®à§‚হ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "নোড(সমূহ) পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) উনà§à¦¨à¦¤/নিখà§à¦à¦¤ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "নোড(সমূহ) অপসারণ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) পরিচà§à¦›à¦¨à§à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦• রিমà§à¦­ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "%s à¦à¦° জনà§à¦¯ নতà§à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ তৈরি করতে à¦à¦¬à¦‚ চাবি পà§à¦°à¦¬à§‡à¦¶ করাতে চান?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "%d à¦à¦° জনà§à¦¯ নতà§à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ-সমূহ তৈরি করতে à¦à¦¬à¦‚ চাবিসমূহ পà§à¦°à¦¬à§‡à¦¶ করাতে চান?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "তৈরি করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) অনà§à¦¤à¦°à§à¦­à§à¦•à§à¦¤ করà§à¦¨"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) তৈরি à¦à¦¬à¦‚ যোগ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) টà§à¦°à§à¦¯à¦¾à¦•/পথ à¦à¦¬à¦‚ চাবি যোগ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) চাবি যোগ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) দৈরà§à¦˜à§à¦¯ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿/লà§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) পà§à¦°à¦¤à§€à¦•à§€ মানের চাবি তৈরি করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) অনà§à¦¤à¦°à§à¦­à§à¦•à§à¦¤ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿà§‡ চলক-পà§à¦°à¦¾à¦ªà¦• (VariableGet) পাওয়া যায়নি: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) চাবি/কী-সমà§à¦¹ সরান"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "রিসোরà§à¦¸à§‡à¦° কà§à¦²à§€à¦ªà¦¬à§‹à¦°à§à¦¡ খালি!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) চাবিসমূহের আকার পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) ডাকার টà§à¦°à§à¦¯à¦¾à¦•/পথ যোগ করà§à¦¨"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) জà§à¦® (zoom) করà§à¦¨à¥¤"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "দৈরà§à¦˜à§à¦¯ (দৈরà§à¦˜à§à¦¯à¦¸à¦®à§‚হ):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Animation) দৈরà§à¦˜à§à¦¯ (সময় সেকেনà§à¦¡à§‡)।"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª (পিকà§à¦¸à§‡à¦²à¦¸à¦®à§‚হ):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° তালিকাটি কারà§à¦¯à¦•র।"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "ধাপ (ধাপসমূহ):"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (Edit)"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "কারà§à¦¸à¦°à§‡à¦° সà§à¦¥à¦¾à¦¨à§‡/পদকà§à¦·à§‡à¦ªà§‡ ভাঙà§à¦—à§à¦¨ (snap) (সময় সেকেনà§à¦¡à§‡)।"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿/লà§à¦ª সকà§à¦·à¦®/অকà§à¦·à¦® করà§à¦¨à¥¤"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "মানসমূহ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "নতà§à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ-সমূহ যোগ করà§à¦¨à¥¤"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "মানসমূহ পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨/পেসà§à¦Ÿ করà§à¦¨"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহের আকার পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "বরà§à¦¤à¦®à¦¾à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ উপরের দিকে তà§à¦²à§à¦¨à¥¤"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "কারà§à¦¸à¦° হতে আকার পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "বরà§à¦¤à¦®à¦¾à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ নিচের দিকে নামান।"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ টà§à¦°à§à¦¯à¦¾à¦•/পথ অপসারণ করà§à¦¨à¥¤"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "পকà§à¦·à¦¾à¦¨à§à¦¤à¦°à¦¿à¦¤ (Transposed) সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "টà§à¦°à§à¦¯à¦¾à¦•/পথের সরঞà§à¦œà¦¾à¦®à¦¸à¦®à§‚হ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "পরবরà§à¦¤à§€ ধাপে যান"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "পà§à¦°à¦¤à¦¿à¦Ÿà¦¿ চাবির সমà§à¦ªà¦¾à¦¦à¦¨-যোগà§à¦¯à¦¤à¦¾ সকà§à¦°à¦¿à¦¯à¦¼ করার জনà§à¦¯ তাদের নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ ধাপে যান"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) উনà§à¦¨à¦¤/নিখà§à¦à¦¤ করà§à¦¨"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Animation) পরিচà§à¦›à¦¨à§à¦¨ করà§à¦¨"
+
+#: 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 "Anim. Optimizer"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পরিমারà§à¦œà¦¨à¦•ারী"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "সরà§à¦¬à§‡à¦¾à¦šà§à¦š রৈখিক ভà§à¦²/সমসà§à¦¯à¦¾:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "সরà§à¦¬à§‡à¦¾à¦šà§à¦š কৌণিক ভà§à¦²/সমসà§à¦¯à¦¾:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "সরà§à¦¬à§‹à¦šà§à¦š পরিশোধনযোগà§à¦¯ কোণ:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "পরিমারà§à¦œà¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করতে দৃশà§à¦¯à§‡à¦° তালিকা থেকে à¦à¦•টি AnimationPlayer নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤"
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "চাবি"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "টà§à¦°à§à¦¯à¦¾à¦¨à¦œà¦¿à¦¶à¦¨/সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦°à¦£"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "সà§à¦•েল/মাপের অনà§à¦ªà¦¾à¦¤:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "কোন নোডে ফাংশন(সমূহ) ডাকবেন?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ চাবিসমূহ অপসারণ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "অমীমাংসিত à¦à¦¬à¦‚ খালি/অসার টà§à¦°à§à¦¯à¦¾à¦•/পথসমূহ অপসারণ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "সকল অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ পরিচà§à¦›à¦¨à§à¦¨ করà§à¦¨"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "সকল অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ পরিচà§à¦›à¦¨à§à¦¨ করà§à¦¨ (অফেরৎযোগà§à¦¯!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "শà§à¦°à§‡à¦£à§€à¦¬à¦¿à¦¨à§à¦¯à¦¾à¦¸/সারি পà§à¦¨à¦°à§à¦®à¦¾à¦ªà¦¨ করà§à¦¨"
@@ -369,7 +524,7 @@ msgstr "লাইন-ঠযান"
msgid "Line Number:"
msgstr "লাইন নামà§à¦¬à¦¾à¦°:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "কোনো মিল নেই"
@@ -385,7 +540,7 @@ msgstr "অকà§à¦·à¦°à§‡à¦° মাতà§à¦°à¦¾ (বড়/ছোট-হাতেà
msgid "Whole Words"
msgstr "সমà§à¦ªà§‚রà§à¦£ শবà§à¦¦"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
@@ -397,18 +552,28 @@ msgstr "সমসà§à¦¤à¦—à§à¦²à¦¿ পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করà§à
msgid "Selection Only"
msgstr "শà§à¦§à§à¦®à¦¾à¦¤à§à¦° নিরà§à¦¬à¦¾à¦šà¦¿à¦¤à¦¸à¦®à§‚হ"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¿à¦¤ করà§à¦¨ (জà§à¦®à§ ইন)"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "সংকà§à¦šà¦¿à¦¤ করà§à¦¨ (জà§à¦®à§ আউট)"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¨/সংকোচন অপসারণ করà§à¦¨ (রিসেট জà§à¦®à§)"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "সতরà§à¦•তা"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "জà§à¦®à§ (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "লাইন:"
@@ -440,7 +605,8 @@ msgid "Add"
msgstr "সংযোজন করà§à¦¨"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -471,7 +637,7 @@ msgid "Oneshot"
msgstr "ওয়ান-শট"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -493,12 +659,13 @@ msgid "Connect '%s' to '%s'"
msgstr "'%s' à¦à¦° সাথে '%s' সংযà§à¦•à§à¦¤ করà§à¦¨"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "সংযোজক সংকেত/সিগনà§à¦¯à¦¾à¦²:"
+#, fuzzy
+msgid "Disconnect '%s' from '%s'"
+msgstr "'%s' à¦à¦° সাথে '%s' সংযà§à¦•à§à¦¤ করà§à¦¨"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "'%s' à¦à¦° সাথে '%s' সংযà§à¦•à§à¦¤ করà§à¦¨"
#: editor/connections_dialog.cpp
@@ -506,14 +673,48 @@ msgid "Connect..."
msgstr "সংযোগ..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "সংযোগ বিচà§à¦›à¦¿à¦¨à§à¦¨ করà§à¦¨"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "সংযোজক সংকেত/সিগনà§à¦¯à¦¾à¦²:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "সংযোগসমূহ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "à¦à¦•ধিক পà§à¦°à¦•লà§à¦ª চালানোয় আপনি সà§à¦¨à¦¿à¦¶à§à¦šà¦¿à¦¤?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "সংকেতসমূহ"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "সংযোগ বিচà§à¦›à¦¿à¦¨à§à¦¨ করà§à¦¨"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (Edit)"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "মেথডের তালিকা:"
+
#: editor/create_dialog.cpp
#, fuzzy
msgid "Change %s Type"
@@ -538,22 +739,25 @@ msgstr "ফেবরিট/পà§à¦°à¦¿à¦¯à¦¼-সমূহ:"
msgid "Recent:"
msgstr "সামà§à¦ªà§à¦°à¦¤à¦¿à¦•:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "বরà§à¦£à¦¨à¦¾:"
@@ -615,7 +819,9 @@ msgstr "পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦• রিসোরà§à¦¸-à¦à¦° অনà§
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "খà§à¦²à§à¦¨"
@@ -637,7 +843,7 @@ msgstr ""
"দরকারি।\n"
"তবà§à¦“ তাদের অপসারণ করবেন? (অফেরৎযোগà§à¦¯)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "অপসারণ সমà§à¦­à¦¬ নয় :\n"
@@ -706,9 +912,13 @@ msgstr "ডিকশনারি ভà§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ à¦
msgid "Thanks from the Godot community!"
msgstr "Godot কমিউনিটি হতে আপনাকে ধনà§à¦¯à¦¬à¦¾à¦¦!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "ধনà§à¦¯à¦¬à¦¾à¦¦!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "সঠিক"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -886,6 +1096,7 @@ msgid "Bus options"
msgstr "বাস অপশন"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট"
@@ -954,7 +1165,8 @@ msgstr "বাস যোগ করà§à¦¨"
msgid "Create a new Bus Layout."
msgstr "নতà§à¦¨ বাস লেআউট তৈরি করà§à¦¨à¥¤"
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "লোড"
@@ -964,7 +1176,6 @@ msgid "Load an existing Bus Layout."
msgstr "বাস লেআউট লোড করà§à¦¨à¥¤"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "à¦à¦‡à¦°à§‚পে সংরকà§à¦·à¦£ করà§à¦¨"
@@ -1007,22 +1218,6 @@ msgstr ""
"হতে পারবে না।"
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "অকারà§à¦¯à¦•র পথ।"
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "ফাইলটি বিদà§à¦¯à¦®à¦¾à¦¨ নয়।"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "রিসোরà§à¦¸à§‡à¦° পথে নয়।"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "AutoLoad সংযà§à¦•à§à¦¤ করà§à¦¨"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "'%s' à¦à¦° AutoLoad ইতিমধà§à¦¯à§‡à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨!"
@@ -1050,6 +1245,22 @@ msgstr "সকà§à¦°à¦¿à¦¯à¦¼ করà§à¦¨"
msgid "Rearrange Autoloads"
msgstr "Autoload সমূহ পà§à¦¨à¦°à§à¦¬à¦¿à¦¨à§à¦¯à¦¸à§à¦¤ করà§à¦¨"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "অকারà§à¦¯à¦•র পথ।"
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "ফাইলটি বিদà§à¦¯à¦®à¦¾à¦¨ নয়।"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "রিসোরà§à¦¸à§‡à¦° পথে নয়।"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "AutoLoad সংযà§à¦•à§à¦¤ করà§à¦¨"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1080,7 +1291,7 @@ msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ পরিবরà§à¦¤à¦¨-সমূহ সংরক
msgid "Updating scene..."
msgstr "দৃশà§à¦¯ হাল নাগাদ হচà§à¦›à§‡..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
#, fuzzy
msgid "[empty]"
msgstr "(খালি/শূনà§à¦¯)"
@@ -1146,6 +1357,12 @@ msgid "Copy Path"
msgstr "পথ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "ফাইল-মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°à§‡ দেখà§à¦¨"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "ফাইল-মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°à§‡ দেখà§à¦¨"
@@ -1183,7 +1400,7 @@ msgid "Open a File or Directory"
msgstr "ফাইল বা পথ/ডিরেকà§à¦Ÿà¦°à¦¿ খà§à¦²à§à¦¨"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "সংরকà§à¦·à¦¨ করà§à¦¨"
@@ -1237,7 +1454,8 @@ msgstr "ফোলà§à¦¡à¦¾à¦° তৈরী করা সমà§à¦­à¦¬ হয়নà¦
msgid "Directories & Files:"
msgstr "পথ à¦à¦¬à¦‚ ফাইল:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "পà§à¦°à¦¿à¦­à¦¿à¦‰:"
@@ -1403,21 +1621,29 @@ msgstr ""
"সহায়তা করà§à¦¨à¥¤ তথà§à¦¯ পà§à¦°à¦¦à¦¾à¦¨à§‡à¦° জনà§à¦¯ [color=$color][url=$url], [/url][/color] ফরমà§à¦¯à¦¾à¦Ÿ "
"বà§à¦¯à¦¾à¦¬à¦¹à¦¾à¦° করà§à¦¨ !"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "টেকà§à¦¸à¦Ÿ অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "পà§à¦°à¦ªà¦¾à¦°à§à¦Ÿà¦¿:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "সনà§à¦§à¦¾à¦¨ করà§à¦¨"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "নিযà§à¦•à§à¦¤ করà§à¦¨ (Set)"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
#, fuzzy
msgid "Output:"
msgstr " আউটপà§à¦Ÿ/ফলাফল:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1440,11 +1666,6 @@ msgstr "রিসোরà§à¦¸ সংরকà§à¦·à¦£à§‡ সমসà§à¦¯à¦¾ হয়
msgid "Save Resource As..."
msgstr "রিসোরà§à¦¸ à¦à¦‡à¦°à§‚পে সংরকà§à¦·à¦£ করà§à¦¨..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "বà§à¦à¦²à¦¾à¦®..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "লেখার জনà§à¦¯ ফাইলটি খোলায় সমসà§à¦¯à¦¾ হয়েছে:"
@@ -1457,10 +1678,9 @@ msgstr "আবেদনকৃত ফাইল ফরমà§à¦¯à¦¾à¦Ÿ/ধরণ à¦
msgid "Error while saving."
msgstr "সংরকà§à¦·à¦£à§‡à¦° সময় সমসà§à¦¯à¦¾ হয়েছে।"
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Can't open '%s'."
-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
#, fuzzy
@@ -1508,10 +1728,6 @@ msgstr ""
"সনà§à¦¤à§à¦·à§à¦Ÿ করা সমà§à¦­à¦¬ হচà§à¦›à§‡ না।"
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "রিসোরà§à¦¸ লোড বà§à¦¯à¦°à§à¦¥ হয়েছে।"
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "à¦à¦•তà§à¦°à¦¿à¦¤ করার জনà§à¦¯ পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿ MeshLibrary লোড অসমà§à¦­à¦¬ হয়েছে!"
@@ -1589,44 +1805,6 @@ msgstr ""
"ডিবাগিং সংকà§à¦°à¦¾à¦¨à§à¦¤ বিসà§à¦¤à¦¾à¦°à¦¿à¦¤ তথà§à¦¯à§‡à¦° জনà§à¦¯ অনà§à¦—à§à¦°à¦¹ করে ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨à§‡à¦° সাহাযà§à¦¯ নিন।"
#: editor/editor_node.cpp
-#, fuzzy
-msgid "Expand all properties"
-msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ করà§à¦¨"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Collapse all properties"
-msgstr "কলাপà§à¦¸ করà§à¦¨"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "মানসমূহ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "মানসমূহ পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨/পেসà§à¦Ÿ করà§à¦¨"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "রিসোরà§à¦¸ পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨/পেসà§à¦Ÿ করà§à¦¨"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "রিসোরà§à¦¸ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "পূরà§à¦¬à¦¨à¦¿à¦°à§à¦®à¦¾à¦£ হিসেবে তৈরি করà§à¦¨"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "উপ-রিসোরà§à¦¸à¦•ে অননà§à¦¯ হিসেবে তৈরি করà§à¦¨"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "সাহাযà§à¦¯à§‡à¦° পাতায় খà§à¦²à§à¦¨"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "চালানোর জনà§à¦¯ কোনো দৃশà§à¦¯ নিরà§à¦¦à¦¿à¦·à§à¦Ÿ করা নেই।"
@@ -1825,11 +2003,6 @@ msgstr ""
"'%s' সিনটি সয়ংকà§à¦°à¦¿à¦¯à¦¼à¦­à¦¾à¦¬à§‡ ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡à¦¡ হয়েছে à¦à¦¬à¦‚ অপরিবরà§à¦¤à¦¨à§€à§Ÿà¥¤\n"
"পরিবরà§à¦¤à¦¨à§‡à¦° জনà§à¦¯ দয়া করে à¦à¦•টি নতà§à¦¨ ইনহেরিটেড সিন তৈরি করà§à¦¨à¥¤"
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "আহà§â€Œ"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1861,6 +2034,16 @@ msgid "Default"
msgstr "সাধারণ/ডিফলà§à¦Ÿ"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "দৃশà§à¦¯ চালান"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "অনà§à¦¯ টà§à¦¯à¦¾à¦¬à¦—à§à¦²à¦¿ বনà§à¦§ করà§à¦¨"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "দৃশà§à¦¯à§‡à¦° টà§à¦¯à¦¾à¦¬ পরিবরà§à¦¤à¦¨ করà§à¦¨"
@@ -1989,10 +2172,6 @@ msgstr "নতà§à¦¨ পà§à¦°à¦•লà§à¦ª"
msgid "Project Settings"
msgstr "পà§à¦°à¦•লà§à¦ªà§‡à¦° সেটিংস"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ চালান"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ"
@@ -2002,6 +2181,11 @@ msgid "Tools"
msgstr "সরঞà§à¦œà¦¾à¦®-সমূহ"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "পà§à¦°à¦•লà§à¦ª মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "পà§à¦°à¦•লà§à¦ªà§‡à¦° তালিকায় পà§à¦°à¦¸à§à¦¥à¦¾à¦¨ করà§à¦¨"
@@ -2114,6 +2298,20 @@ msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° লেআউট/নকশা"
msgid "Toggle Fullscreen"
msgstr "পূরà§à¦£-পরà§à¦¦à¦¾ অদলবদল/টগল করà§à¦¨"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° সেটিংস"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° সেটিংস"
+
#: editor/editor_node.cpp editor/project_export.cpp
#, fuzzy
msgid "Manage Export Templates"
@@ -2130,7 +2328,8 @@ msgstr "কà§à¦²à¦¾à¦¸à¦¸à¦®à§‚হ"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
@@ -2175,7 +2374,7 @@ msgstr "দৃশà§à¦¯à¦•ে বিরতি দিন"
msgid "Stop the scene."
msgstr "দৃশà§à¦¯à¦Ÿà¦¿à¦•ে থামান।"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "থামান"
@@ -2196,6 +2395,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "সংরকà§à¦·à¦£ à¦à¦¬à¦‚ পà§à¦¨-ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° পà§à¦¨-অঙà§à¦•নে à¦à¦Ÿà¦¿ ঘূরà§à¦£à¦¨ করে!"
@@ -2215,43 +2424,6 @@ msgstr "হাল-নাগাদকারী ঘূরà§à¦£à¦• নিষà§à¦•
msgid "Inspector"
msgstr "পরিদরà§à¦¶à¦•/পরীকà§à¦·à¦•"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "মেমোরিতে নতà§à¦¨ à¦à¦•টি রিসোরà§à¦¸ তৈরি করà§à¦¨ à¦à¦¬à¦‚ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨à¥¤"
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "ডিসà§à¦• হতে à¦à¦•টি বিদà§à¦¯à¦®à¦¾à¦¨ রিসোরà§à¦¸ লোড করà§à¦¨ à¦à¦¬à¦‚ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨à¥¤"
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "à¦à¦‡-মà§à¦¹à§‚রà§à¦¤à§‡ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ রিসোরà§à¦¸à¦Ÿà¦¿ সংরকà§à¦·à¦£ করà§à¦¨à¥¤"
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "à¦à¦‡à¦°à§‚পে সংরকà§à¦·à¦£ করà§à¦¨..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "সà§à¦®à§ƒà¦¤à¦¿à¦¤à§‡ অবসà§à¦¥à¦¿à¦¤ পূরà§à¦¬à§‡ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ বসà§à¦¤à§à¦¤à§‡ যান।"
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "সà§à¦®à§ƒà¦¤à¦¿à¦¤à§‡ অবসà§à¦¥à¦¿à¦¤ পরবরà§à¦¤à¦¿à¦¤à§‡ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ বসà§à¦¤à§à¦¤à§‡ যান।"
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "সামà§à¦ªà§à¦°à¦¤à¦¿à¦• সময়ে সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ বসà§à¦¤à§à¦° সà§à¦®à§ƒà¦¤à¦¿à¥¤"
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "বসà§à¦¤à§à¦° বৈশিষà§à¦Ÿà§à¦¯à¦¸à¦®à§‚হ।"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Changes may be lost!"
-msgstr "ছবির গà§à¦°à§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2266,6 +2438,11 @@ msgid "FileSystem"
msgstr "ফাইলসিসà§à¦Ÿà§‡à¦®"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ করà§à¦¨"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "আউটপà§à¦Ÿ/ফলাফল"
@@ -2350,19 +2527,24 @@ msgid "Thumbnail..."
msgstr "থামà§à¦¬à¦¨à§‡à¦‡à¦²..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "ইনà§à¦¸à¦Ÿà¦²-কৃত পà§à¦²à¦¾à¦—ইন-সমূহ:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "হালনাগাদ"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "সংসà§à¦•রণ:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "লেখক:"
@@ -2370,13 +2552,16 @@ msgstr "লেখক:"
msgid "Status:"
msgstr "অবসà§à¦¥à¦¾:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "পà§à¦°à§‹à¦«à¦¾à¦‡à¦²à¦¿à¦‚ বনà§à¦§ করà§à¦¨"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (Edit)"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "পà§à¦°à§‹à¦«à¦¾à¦‡à¦²à¦¿à¦‚ শà§à¦°à§ করà§à¦¨"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "আরমà§à¦­!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2425,6 +2610,112 @@ msgstr "সময়:"
msgid "Calls"
msgstr "ডাকà§à¦¨ (Call)"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "চালà§"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "বিট %d, মান %d।"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "[Empty]"
+msgstr "খালি বসà§à¦¤à§ যোগ করà§à¦¨"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "নিযà§à¦•à§à¦¤"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Pick a Viewport"
+msgstr "১ টি Viewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "নতà§à¦¨ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Make Unique"
+msgstr "বোনà§â€Œ/হাড় তৈরি করà§à¦¨"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Show in File System"
+msgstr "ফাইলসিসà§à¦Ÿà§‡à¦®"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨/পেসà§à¦Ÿ করà§à¦¨"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "à¦à¦¤à§‡ রূপানà§à¦¤à¦° করà§à¦¨..."
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡ খà§à¦²à§à¦¨"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Selected node is not a Viewport!"
+msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡à¦° জনà§à¦¯ নোড(সমূহ) নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "সেল (Cell)-à¦à¦° আকার:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "নতà§à¦¨ নাম:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "নতà§à¦¨ নাম:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "বসà§à¦¤à§ অপসারণ করà§à¦¨"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "লিসà§à¦Ÿ থেকে ডিভাইস সিলেকà§à¦Ÿ করà§à¦¨"
@@ -2461,10 +2752,6 @@ msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ চালানো সমà§à¦­à¦¬ হয়ন
msgid "Did you forget the '_run' method?"
msgstr "আপনি কি '_run' মেথডটি দিতে ভà§à¦²à§‡à¦›à§‡à¦¨?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "ডিফলà§à¦Ÿ/সাধারণ (à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° মতোই)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡à¦° জনà§à¦¯ নোড(সমূহ) নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"
@@ -2493,6 +2780,7 @@ msgid "(Installed)"
msgstr "ইনà§à¦¸à¦Ÿà¦²"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Download"
msgstr "নীচে"
@@ -2519,7 +2807,8 @@ msgid "Can't open export templates zip."
msgstr "à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà§‡à¦° zip খোলায় সমসà§à¦¯à¦¾ হয়েছে।"
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "টেমপà§à¦²à§‡à¦Ÿ à¦à¦° version.txt ফরমà§à¦¯à¦¾à¦Ÿ গà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ নয়।"
#: editor/export_template_manager.cpp
@@ -2586,6 +2875,12 @@ msgid "Download Complete."
msgstr "নীচে"
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error requesting url: "
msgstr "à¦à¦Ÿà¦²à¦¾à¦¸/মানচিতà§à¦°à¦¾à¦¬à¦²à§€ সংরকà§à¦·à¦£à§‡ সমসà§à¦¯à¦¾ হয়েছে:"
@@ -2682,7 +2977,8 @@ msgid "Download Templates"
msgstr "বসà§à¦¤à§ অপসারণ করà§à¦¨"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "লিসà§à¦Ÿ থেকে মিরর নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨: "
#: editor/file_type_cache.cpp
@@ -2696,11 +2992,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "'% s' তে নেভিগেট করা যাবে না কারণ à¦à¦Ÿà¦¿ ফাইল সিসà§à¦Ÿà§‡à¦®à§‡ পাওয়া যায়নি!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "থামà§à¦¬à¦¨à§‡à¦‡à¦² গà§à¦°à¦¿à¦¡ হিসাবে আইটেম দেখà§à¦¨"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "লিসà§à¦Ÿ হিসেবে আইটেম দেখà§à¦¨"
#: editor/filesystem_dock.cpp
@@ -2788,7 +3086,7 @@ msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ à¦
msgid "Collapse all"
msgstr "কলাপà§à¦¸ করà§à¦¨"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Rename..."
msgstr "পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨"
@@ -2820,6 +3118,23 @@ msgid "Duplicate..."
msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "নতà§à¦¨ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "পূরà§à¦¬à§‡à¦° সà§à¦¥à¦¾à¦¨"
@@ -2832,14 +3147,29 @@ msgid "Re-Scan Filesystem"
msgstr "ফাইলসিসà§à¦Ÿà§‡à¦® পà§à¦¨-সà§à¦•à§à¦¯à¦¾à¦¨ করà§à¦¨"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "ফোলà§à¦¡à¦¾à¦°à§‡à¦° অবসà§à¦¥à¦¾ ফেবরিট/পà§à¦°à¦¿à¦¯à¦¼ হিসেবে অদলবদল/টগল করà§à¦¨"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "à¦à¦‡-মà§à¦¹à§‚রà§à¦¤à§‡ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ রিসোরà§à¦¸à¦Ÿà¦¿ সংরকà§à¦·à¦£ করà§à¦¨à¥¤"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ দৃশà§à¦¯(সমূহ)-কে নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোডের অংশ হিসেবে ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨à¥¤"
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "কà§à¦²à¦¾à¦¸à§‡à¦° অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2847,14 +3177,113 @@ msgstr ""
"ফাইল সà§à¦•à§à¦¯à¦¾à¦¨ করা হচà§à¦›à§‡,\n"
"অনà§à¦—à§à¦°à¦¹à¦ªà§‚রà§à¦¬à¦• অপেকà§à¦·à¦¾ করà§à¦¨..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "সরান"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "গà§à¦°à§à¦ªà§‡à¦° নাম ইতিমধà§à¦¯à§‡à¦‡ আছে!"
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ তৈরি করà§à¦¨"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "টাইল খà§à¦à¦œà§à¦¨"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "সনà§à¦§à¦¾à¦¨ করà§à¦¨"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "সমà§à¦ªà§‚রà§à¦£ শবà§à¦¦"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "অকà§à¦·à¦°à§‡à¦° মাতà§à¦°à¦¾ (বড়/ছোট-হাতের) মিল করà§à¦¨"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "বাতিল"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "সমসà§à¦¤à¦—à§à¦²à¦¿ পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "সংরকà§à¦·à¦¿à¦¤ হচà§à¦›à§‡..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "টেকà§à¦¸à¦Ÿ অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ভà§à¦²: অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নাম ইতিমধà§à¦¯à§‡à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম।"
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "দলসমূহ"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "গà§à¦°à§à¦ª/দলে যোগ করà§à¦¨"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Filter nodes"
+msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "গà§à¦°à§à¦ªà¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2864,6 +3293,11 @@ msgstr "গà§à¦°à§à¦ª/দলে যোগ করà§à¦¨"
msgid "Remove from Group"
msgstr "গà§à¦°à§à¦ª/দল হতে অপসারণ করà§à¦¨"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "ছবির গà§à¦°à§à¦ªà¦¸à¦®à§‚হ"
+
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Import as Single Scene"
@@ -2908,7 +3342,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "মালà§à¦Ÿà¦¿à¦ªà¦² সিন + মà§à¦¯à¦¾à¦Ÿà§‡à¦°à¦¿à§Ÿà¦¾à¦² হিসেবে ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "দৃশà§à¦¯ ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
@@ -2973,18 +3407,134 @@ msgstr "পà§à¦°à¦¿à¦¸à§‡à¦Ÿ..."
msgid "Reimport"
msgstr "পà§à¦¨-ইমà§à¦ªà§‹à¦°à§à¦Ÿ"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "রিসোরà§à¦¸ লোড বà§à¦¯à¦°à§à¦¥ হয়েছে।"
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "ঠিক আছে"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Expand all properties"
+msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ করà§à¦¨"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Collapse all properties"
+msgstr "কলাপà§à¦¸ করà§à¦¨"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "à¦à¦‡à¦°à§‚পে সংরকà§à¦·à¦£ করà§à¦¨..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "মানসমূহ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "মানসমূহ পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨/পেসà§à¦Ÿ করà§à¦¨"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "রিসোরà§à¦¸à§‡à¦° কà§à¦²à§€à¦ªà¦¬à§‹à¦°à§à¦¡ খালি!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "রিসোরà§à¦¸ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "পূরà§à¦¬à¦¨à¦¿à¦°à§à¦®à¦¾à¦£ হিসেবে তৈরি করà§à¦¨"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "উপ-রিসোরà§à¦¸à¦•ে অননà§à¦¯ হিসেবে তৈরি করà§à¦¨"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "বসà§à¦¤à§à¦° বৈশিষà§à¦Ÿà§à¦¯à¦¸à¦®à§‚হ।"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Changes may be lost!"
+msgstr "ছবির গà§à¦°à§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "মালà§à¦Ÿà¦¿-নোড সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "দলসমূহ"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "সিগনà§à¦¯à¦¾à¦²-সমূহ à¦à¦¬à¦‚ দলসমূহ সমà§à¦ªà¦¾à¦¦à¦¨ করতে à¦à¦•টি নোড নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤"
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া তৈরি করà§à¦¨"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "পà§à¦²à¦¾à¦—ইন-সমূহ"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "ভাষা"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -3033,6 +3583,151 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "বিনà§à¦¦à§ অপসারণ করà§à¦¨"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "মাউসের ডান বোতাম: বিনà§à¦¦à§ মà§à¦›à§‡ ফেলà§à¦¨à¥¤"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নোড"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "'%s' অà§à¦¯à¦¾à¦•শন ইতিমধà§à¦¯à§‡à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "%d টি তà§à¦°à¦¿à¦­à§à¦œ বিশà§à¦²à§‡à¦·à¦£ করা হচà§à¦›à§‡:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "নোড সংযোজন করà§à¦¨"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "নোড ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "সমà§à¦ªà¦¾à¦¦à¦¨à¦¯à§‹à¦—à§à¦¯ অংশীদারীসমূহ"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ চালানো টগল করà§à¦¨"
@@ -3060,11 +3755,13 @@ msgid "Remove Animation"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ অপসারণ করà§à¦¨"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ভà§à¦²: অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নাম!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ভà§à¦²: অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নাম ইতিমধà§à¦¯à§‡à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3073,11 +3770,6 @@ msgid "Rename Animation"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ যà§à¦•à§à¦¤ করà§à¦¨"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "পরবরà§à¦¤à§€ পরিবরà§à¦¤à¦¨à§‡à¦° সাথে বà§à¦²à§‡à¦¨à§à¦¡ করà§à¦¨"
@@ -3094,11 +3786,13 @@ msgid "Duplicate Animation"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ভà§à¦²: পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করার মতো কোনো অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ নেই!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ভà§à¦²: কà§à¦²à§€à¦ªà¦¬à§‹à¦°à§à¦¡à§‡ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° কোনো রিসোরà§à¦¸ নেই!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3110,7 +3804,8 @@ msgid "Paste Animation"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨ করà§à¦¨"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ভà§à¦²: সমà§à¦ªà¦¾à¦¦à¦¨ করার মতো কোনো অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ নেই!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3142,20 +3837,27 @@ msgid "Scale animation playback globally for the node."
msgstr "নোডের অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ চালনার সà§à¦•েল/মাপ সারà§à¦¬à¦œà¦¨à§€à¦¨à¦­à¦¾à¦¬à§‡ পরিবরà§à¦¤à¦¨ করà§à¦¨à¥¤"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "পà§à¦²à§‡à§Ÿà¦¾à¦°à§‡ নতà§à¦¨ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ তৈরি করà§à¦¨à¥¤"
+msgid "Animation Tools"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° সরঞà§à¦œà¦¾à¦®à¦¸à¦®à§‚হ"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "ডিসà§à¦• হতে অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ লোড করà§à¦¨à¥¤"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "ডিসà§à¦• হতে à¦à¦•টি অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ লোড করà§à¦¨à¥¤"
+msgid "New"
+msgstr "নতà§à¦¨"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "বরà§à¦¤à¦®à¦¾à¦¨ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ সংরকà§à¦·à¦£ করà§à¦¨"
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "অনà§à¦¬à¦¾à¦¦à¦¸à¦®à§‚হ"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡ খà§à¦²à§à¦¨"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3166,18 +3868,6 @@ msgid "Autoplay on Load"
msgstr "লোডের পরেই সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ চালানà§â€Œ"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "উদà§à¦¦à§‡à¦¶à§à¦¯à¦¿à¦¤ বà§à¦²à§‡à¦¨à§à¦¡-à¦à¦° সময় সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° সরঞà§à¦œà¦¾à¦®à¦¸à¦®à§‚হ"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr ""
@@ -3229,6 +3919,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨ করà§à¦¨"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "নতà§à¦¨ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ তৈরি করà§à¦¨"
@@ -3238,6 +3933,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3255,163 +3951,215 @@ msgstr "পরবরà§à¦¤à§€ (সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ সা
msgid "Cross-Animation Blend Times"
msgstr "আনà§à¦¤-অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ বà§à¦²à§‡à¦¨à§à¦¡ সময়"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "সমাপà§à¦¤à¦¿(সমূহ)"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
-msgstr "নতà§à¦¨ নাম:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
#, fuzzy
-msgid "Edit Filters"
-msgstr "নোড ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "নতà§à¦¨ তৈরি করà§à¦¨"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "নোডের সাথে সংযà§à¦•à§à¦¤ করà§à¦¨:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "অনà§à¦¤à¦ƒà¦¸à§à¦¥ ফেড/বিলীন (সেঃ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "বহিঃসà§à¦¥ ফেড/বিলীন (সেঃ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "বà§à¦²à§‡à¦¨à§à¦¡/মিশà§à¦°à¦£"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "মিশà§à¦°à¦¿à¦¤ করà§à¦¨"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿà¦­à¦¾à¦¬à§‡ পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­ করà§à¦¨:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­ (সেঃ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "যথেচà§à¦› পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­ (সেঃ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "আরমà§à¦­!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "পরিমাণ:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "বà§à¦²à§‡à¦¨à§à¦¡/মিশà§à¦°à¦£:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "বà§à¦²à§‡à¦¨à§à¦¡/মিশà§à¦°à¦£ ০:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "বà§à¦²à§‡à¦¨à§à¦¡/মিশà§à¦°à¦£ à§§:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "X-ফেড/বিলীন সময় (সেঃ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "বরà§à¦¤à¦®à¦¾à¦¨:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "ইনপà§à¦Ÿ যোগ করà§à¦¨"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ-অগà§à¦°à¦—তি পরিষà§à¦•ার করà§à¦¨"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ-অগà§à¦°à¦—তি সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "ইনপà§à¦Ÿ অপসারণ করà§à¦¨"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° তালিকাটি কারà§à¦¯à¦•র।"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° তালিকাটি অকারà§à¦¯à¦•র।"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "ওয়ান-শট নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "মিশà§à¦° নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "বà§à¦²à§‡à¦¨à§à¦¡à§¨ নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "বà§à¦²à§‡à¦¨à§à¦¡à§© নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "বà§à¦²à§‡à¦¨à§à¦¡à§ª নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "টাইম-সà§à¦•েল নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "টাইম-সীকà§â€Œ নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "টà§à¦°à§à¦¯à¦¾à¦¨à¦œà¦¿à¦¶à¦¨ নোড"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "নোড ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "মà§à¦•à§à¦¤ করে দিন"
-
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Contents:"
@@ -3469,8 +4217,14 @@ msgid "Asset Download Error:"
msgstr "অà§à¦¯à¦¾à¦¸à§‡à¦Ÿ ডাউনলোড তà§à¦°à§à¦Ÿà¦¿:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "খà§à¦à¦œà§‡ আনার চেসà§à¦Ÿà¦¾ চলছে:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "নীচে"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "নীচে"
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
@@ -3500,20 +4254,22 @@ msgid "Download for this asset is already in progress!"
msgstr "à¦à¦‡ অà§à¦¯à¦¾à¦¸à§‡à¦Ÿà¦Ÿà¦¿ ইতমধà§à¦¯à§‡ ডাউনলোড হচà§à¦›à§‡!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "পà§à¦°à¦¥à¦®"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€"
+#, fuzzy
+msgid "Previous"
+msgstr "পূরà§à¦¬à§‡à¦° টà§à¦¯à¦¾à¦¬"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr "পরবরà§à¦¤à§€"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "শেষ"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3581,7 +4337,7 @@ msgid "Bake Lightmaps"
msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "পà§à¦°à¦¿à¦­à¦¿à¦‰"
@@ -3590,12 +4346,10 @@ msgid "Configure Snap"
msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª কনফিগার করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "গà§à¦°à¦¿à¦¡à§‡à¦° অফসেট/ভারসামà§à¦¯:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "গà§à¦°à¦¿à¦¡à§‡à¦° পদকà§à¦·à§‡à¦ª:"
@@ -3608,14 +4362,6 @@ msgid "Rotation Step:"
msgstr "ঘূরà§à¦£à¦¾à§Ÿà¦¨à§‡à¦° পদকà§à¦·à§‡à¦ª:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "কেনà§à¦¦à§à¦° সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "ভারà§à¦Ÿà¦¿à¦•à§à¦¯à¦¾à¦² গাইড সরান"
@@ -3649,11 +4395,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "নতà§à¦¨ হরাইজনà§à¦Ÿà¦¾à¦² à¦à¦¬à¦‚ ভারà§à¦Ÿà¦¿à¦•à§à¦¯à¦¾à¦² গাইড তৈরী করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "IK চেইন সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+#, fuzzy
+msgid "Move pivot"
+msgstr "কেনà§à¦¦à§à¦° সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করà§à¦¨"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "CanvasItem সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3675,6 +4438,21 @@ msgid "Paste Pose"
msgstr "ভঙà§à¦—ি পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨ করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "সংকà§à¦šà¦¿à¦¤ করà§à¦¨ (জà§à¦®à§ আউট)"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "জà§à¦®à§ পà§à¦¨:সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¿à¦¤ করà§à¦¨ (জà§à¦®à§ ইন)"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "মোড (Mode) বাছাই করà§à¦¨"
@@ -3721,7 +4499,7 @@ msgstr "পà§à¦¯à¦¾à¦¨ মোড"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr "ছেদবিনà§à¦¦à§ অদলবদল করà§à¦¨ (টগল বà§à¦°à§‡à¦•পয়েনà§à¦Ÿ)"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3730,7 +4508,7 @@ msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° সিদà§à¦§à¦¾à¦¨à§à¦¤à¦¸à¦®à§‚হ"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3774,6 +4552,11 @@ msgid "Snap to node sides"
msgstr "নোড সাইডের সাথে সà§à¦¨à§à¦¯à¦¾à¦ª করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "নোড অà§à¦¯à¦¾à¦¨à§à¦•রের সাথে সà§à¦¨à§à¦¯à¦¾à¦ª করà§à¦¨"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "অনà§à¦¯ নোড à¦à¦° সাথে সà§à¦¨à§à¦¯à¦¾à¦ª করà§à¦¨"
@@ -3801,14 +4584,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "বসà§à¦¤à§à¦° অনà§à¦¤à¦°à§à¦­à§à¦•à§à¦¤-সমূহের নিরà§à¦¬à¦¾à¦šà¦¨à¦¯à§‹à¦—à§à¦¯à¦¤à¦¾ পà§à¦¨à¦°à¦¾à§Ÿ ফিরিয়ে আনে।"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "বোনà§â€Œ/হাড় তৈরি করà§à¦¨"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "বোনà§â€Œ/হাড় পরিষà§à¦•ার করà§à¦¨"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "বোনà§â€Œ/হাড় দেখান"
@@ -3821,6 +4596,15 @@ msgid "Clear IK Chain"
msgstr "IK চেইন পরিষà§à¦•ার করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "বোনà§â€Œ/হাড় পরিষà§à¦•ার করà§à¦¨"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "দৃশà§à¦¯/পরিদরà§à¦¶à¦¨"
@@ -3869,14 +4653,11 @@ msgid "Layout"
msgstr "লেআউট/নকশা সংরকà§à¦·à¦£ করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "চাবিসমূহ সনà§à¦¨à¦¿à¦¬à§‡à¦¶ করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "চাবি সনà§à¦¨à¦¿à¦¬à§‡à¦¶ করà§à¦¨"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "চাবি সনà§à¦¨à¦¿à¦¬à§‡à¦¶ করà§à¦¨ (বিদà§à¦¯à¦®à¦¾à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথসমূহ)"
@@ -3889,15 +4670,6 @@ msgid "Clear Pose"
msgstr "ভঙà§à¦—ি পরিষà§à¦•ার করà§à¦¨"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "মাউস পজিশন থেকে পিভট ডà§à¦°à§à¦¯à¦¾à¦— করà§à¦¨"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "বহিঃ-বকà§à¦°à¦°à§‡à¦–ার সà§à¦¥à¦¾à¦¨ নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "গà§à¦°à¦¿à¦¡ সà§à¦Ÿà§‡à¦ª দà§à¦¬à¦¿à¦—à§à¦£ সংখà§à¦¯à¦• বৃদà§à¦§à¦¿ করà§à¦¨"
@@ -3913,10 +4685,6 @@ msgstr "%s সংযà§à¦•à§à¦¤ করà§à¦¨"
msgid "Adding %s..."
msgstr "%s সংযà§à¦•à§à¦¤ হচà§à¦›à§‡..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "ঠিক আছে"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3951,27 +4719,22 @@ msgstr "Poly3D তৈরি করà§à¦¨"
msgid "Set Handle"
msgstr "হà§à¦¯à¦¾à¦¨à§à¦¡à§‡à¦² সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "%d টি বসà§à¦¤à§ অপসারণ করবেন?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "বসà§à¦¤à§ যোগ করà§à¦¨"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ বসà§à¦¤à§à¦Ÿà¦¿ অপসারণ করà§à¦¨"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "ভারটেকà§à¦¸"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "দৃশà§à¦¯ হতে ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Create Emission Points From Mesh"
+msgstr "Mesh হতে Emitter তৈরি করà§à¦¨"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "দৃশà§à¦¯ হতে হালনাগাদ করà§à¦¨"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Create Emission Points From Node"
+msgstr "Node হতে Emitter তৈরি করà§à¦¨"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -4052,15 +4815,6 @@ msgstr "টà§à¦¯à¦¾à¦¨à¦œà§‡à¦¨à§à¦Ÿà¦—à§à¦²à¦¿ আলাদা আলাদà
msgid "Bake GI Probe"
msgstr "জি আই পà§à¦°à§‹à¦¬ বেক করà§à¦¨"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "রঙà§à¦—ের রâ€à§à¦¯à¦¾à¦®à§à¦ª বিনà§à¦¦à§ সংযোজন/বিয়োজন করà§à¦¨"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "রঙà§à¦—ের রâ€à§à¦¯à¦¾à¦®à§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "বসà§à¦¤à§ %d"
@@ -4146,6 +4900,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4215,6 +4970,27 @@ msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨"
msgid "Outline Size:"
msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–ার আকার:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "%d টি বসà§à¦¤à§ অপসারণ করবেন?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "দৃশà§à¦¯ হতে ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "দৃশà§à¦¯ হতে হালনাগাদ করà§à¦¨"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "মেসের কোনো উৎস নিরà§à¦¦à¦¿à¦·à§à¦Ÿ করা নেই (à¦à¦¬à¦‚ নোডে কোনো মালà§à¦Ÿà¦¿à¦®à§‡à¦¸ সà§à¦¥à¦¾à¦ªà¦¨ করা নেই)।"
@@ -4315,79 +5091,6 @@ msgstr "যথেচà§à¦› মাপ:"
msgid "Populate"
msgstr "পপà§à¦²à§‡à¦Ÿ"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "সিদà§à¦§/বেকà§â€Œ!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Bake the navigation mesh."
-msgstr "Navigation Mesh তৈরি করà§à¦¨"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Clear the navigation mesh."
-msgstr "Navigation Mesh তৈরি করà§à¦¨"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "কনফিগারেশন তৈরি করা হচà§à¦›à§‡..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "গà§à¦°à¦¿à¦¡ সাইজ হিসাব করা হচà§à¦›à§‡..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating heightfield..."
-msgstr "লাইটের ওকটà§à¦°à§€ (octree) তৈরি করা হচà§à¦›à§‡"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Marking walkable triangles..."
-msgstr "অনà§à¦¬à¦¾à¦¦-সমà§à¦­à¦¬ শবà§à¦¦à¦®à¦¾à¦²à¦¾/বাকà§à¦¯-সমূহ..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "কমà§à¦ªà§à¦¯à¦¾à¦•à§à¦Ÿ হাইফিলà§à¦¡ তৈরি করা হছে..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "বà§à¦¯à¦¾à¦¬à¦¹à¦¾à¦°à¦¯à§‹à¦—à§à¦¯ পথ মà§à¦›à§‡ ফেলা হচà§à¦›à§‡..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Partitioning..."
-msgstr "সতরà§à¦•তা"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating contours..."
-msgstr "ওকটà§à¦°à§€ (octree) গঠনবিনà§à¦¯à¦¾à¦¸ তৈরি করা হচà§à¦›à§‡"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating polymesh..."
-msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Converting to native navigation mesh..."
-msgstr "Navigation Mesh তৈরি করà§à¦¨"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "নà§à¦¯à¦¾à¦­à¦¿à¦—েশন মà§à¦¯à¦¾à¦¶ জেনারেটর সেটআপ:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Parsing Geometry..."
-msgstr "জà§à¦¯à¦¾à¦®à¦¿à¦¤à¦¿à¦•-আকার বিশà§à¦²à§‡à¦·à¦£ করা হচà§à¦›à§‡"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "সমà§à¦ªà¦¨à§à¦¨ হয়েছে!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Navigation Polygon তৈরি করà§à¦¨"
@@ -4454,18 +5157,6 @@ msgid "Emission Colors"
msgstr "Emission-à¦à¦° সà§à¦¥à¦¾à¦¨à¦¸à¦®à§‚হ:"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "নোডে কোনো জà§à¦¯à¦¾à¦®à¦¿à¦¤à¦¿à¦• আকার নেই।"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "নোডে কোনো জà§à¦¯à¦¾à¦®à¦¿à¦¤à¦¿à¦• আকার নেই (পৃষà§à¦ )।"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "'পারà§à¦Ÿà¦¿à¦•লস মà§à¦¯à¦¾à¦Ÿà§‡à¦°à¦¿à§Ÿà¦¾à¦²' টাইপের à¦à¦•টি পà§à¦°à¦¸à§‡à¦¸à¦° মà§à¦¯à¦¾à¦Ÿà§‡à¦°à¦¿à§Ÿà¦¾à¦² পà§à¦°à§Ÿà§‹à¦œà¦¨ ।"
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "পৃষà§à¦ à¦¸à¦®à§‚হ কোনো আকার নেই!"
@@ -4474,18 +5165,12 @@ msgid "No faces!"
msgstr "কোনো পৃষà§à¦  নেই!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "AABB উৎপনà§à¦¨ করà§à¦¨"
-
-#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
-msgid "Create Emission Points From Mesh"
-msgstr "Mesh হতে Emitter তৈরি করà§à¦¨"
+msgid "Node does not contain geometry."
+msgstr "নোডে কোনো জà§à¦¯à¦¾à¦®à¦¿à¦¤à¦¿à¦• আকার নেই।"
#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
-msgid "Create Emission Points From Node"
-msgstr "Node হতে Emitter তৈরি করà§à¦¨"
+msgid "Node does not contain geometry (faces)."
+msgstr "নোডে কোনো জà§à¦¯à¦¾à¦®à¦¿à¦¤à¦¿à¦• আকার নেই (পৃষà§à¦ )।"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4515,6 +5200,19 @@ msgid "Emission Source: "
msgstr "Emission পূরণ:"
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "'পারà§à¦Ÿà¦¿à¦•লস মà§à¦¯à¦¾à¦Ÿà§‡à¦°à¦¿à§Ÿà¦¾à¦²' টাইপের à¦à¦•টি পà§à¦°à¦¸à§‡à¦¸à¦° মà§à¦¯à¦¾à¦Ÿà§‡à¦°à¦¿à§Ÿà¦¾à¦² পà§à¦°à§Ÿà§‹à¦œà¦¨ ।"
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "AABB উৎপনà§à¦¨ করà§à¦¨"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "à¦à¦¤à§‡ রূপানà§à¦¤à¦° করà§à¦¨..."
+
+#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
msgid "Generate Visibility AABB"
msgstr "AABB উৎপনà§à¦¨ করà§à¦¨"
@@ -4594,6 +5292,22 @@ msgstr "বিনà§à¦¦à§ অপসারণ করà§à¦¨"
msgid "Close Curve"
msgstr "বকà§à¦°à¦°à§‡à¦–া বনà§à¦§ করà§à¦¨"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "বকà§à¦°à¦°à§‡à¦–ার বিনà§à¦¦à§ #"
@@ -4631,19 +5345,95 @@ msgstr "বকà§à¦°à¦°à§‡à¦–া বহিঃ-নিয়নà§à¦¤à§à¦°à¦£à§‡
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "বোনà§â€Œ/হাড় দেখান"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "UV Map তৈরি করà§à¦¨"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Poly তৈরি করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "'%s' অà§à¦¯à¦¾à¦•শন ইতিমধà§à¦¯à§‡à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "ইনপà§à¦Ÿ যোগ করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ পথ!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "পথের বিনà§à¦¦à§ অপসারণ করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "UV Map রà§à¦ªà¦¾à¦¨à§à¦¤à¦° করà§à¦¨"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon 2D UV à¦à¦¡à¦¿à¦Ÿà¦°"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Poly সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "পথ বিভকà§à¦¤ করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "বোনà§â€Œ/হাড় তৈরি করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Poly তৈরি করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "বিনà§à¦¦à§ সরান"
@@ -4672,12 +5462,25 @@ msgid "Scale Polygon"
msgstr "পলিগন মাপ করà§à¦¨"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨ (Edit)"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4692,9 +5495,9 @@ msgid "Clear UV"
msgstr "UV পরিসà§à¦•ার করà§à¦¨"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª সেটিংস"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4704,6 +5507,36 @@ msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª সকà§à¦°à¦¿à§Ÿ করà§à¦¨"
msgid "Grid"
msgstr "গà§à¦°à¦¿à¦¡"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª কনফিগার করà§à¦¨"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "গà§à¦°à¦¿à¦¡à§‡à¦° অফসেট/ভারসামà§à¦¯:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "গà§à¦°à¦¿à¦¡à§‡à¦° অফসেট/ভারসামà§à¦¯:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "গà§à¦°à¦¿à¦¡à§‡à¦° পদকà§à¦·à§‡à¦ª:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "গà§à¦°à¦¿à¦¡à§‡à¦° পদকà§à¦·à§‡à¦ª:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "পলিগন মাপ করà§à¦¨"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "সমসà§à¦¯à¦¾: রিসোরà§à¦¸ লোড করা সমà§à¦­à¦¬ হয়নি!"
@@ -4726,6 +5559,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡ খà§à¦²à§à¦¨"
@@ -4747,17 +5584,19 @@ msgid "Load Resource"
msgstr "রিসোরà§à¦¸ লোড করà§à¦¨"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨/পেসà§à¦Ÿ করà§à¦¨"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° তালিকাটি অকারà§à¦¯à¦•র।"
+
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Clear Recent Files"
@@ -4771,6 +5610,21 @@ msgstr ""
"\""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "ছবি লোডে সমসà§à¦¯à¦¾ হয়েছে:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "ছবি লোড অসমà§à¦­à¦¬ হয়েছে"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "TileSet সংরকà§à¦·à¦£à§‡ সমসà§à¦¯à¦¾ হয়েছে!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "থিম সংরকà§à¦·à¦£à§‡ সমসà§à¦¯à¦¾ হয়েছে"
@@ -4787,6 +5641,21 @@ msgid "Error importing"
msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡ সমসà§à¦¯à¦¾ হয়েছে"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "à¦à¦•টি ফাইল খà§à¦²à§à¦¨"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "à¦à¦‡à¦°à§‚পে সংরকà§à¦·à¦£ করà§à¦¨..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "থিম ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
@@ -4799,6 +5668,10 @@ msgid " Class Reference"
msgstr " কà§à¦²à¦¾à¦¸ রেফারেনà§à¦¸"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "সাজান:"
@@ -4828,8 +5701,9 @@ msgid "File"
msgstr "ফাইল"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "নতà§à¦¨"
+#, fuzzy
+msgid "New TextFile"
+msgstr "ফাইল"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4858,6 +5732,11 @@ msgid "History Next"
msgstr "পরের ইতিহাস"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "থিম"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "থিম রিলোড করà§à¦¨"
@@ -4892,11 +5771,6 @@ msgstr "ফেবরিট/পà§à¦°à¦¿à¦¯à¦¼-সমূহ অদলবদল/à¦
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "খà§à¦à¦œà§à¦¨..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "পরবরà§à¦¤à§€ খà§à¦à¦œà§à¦¨"
@@ -4953,10 +5827,6 @@ msgid "Discard"
msgstr "সà§à¦¬à¦¤à¦¨à§à¦¤à§à¦°/পৃথকà§"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ তৈরি করà§à¦¨"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4977,46 +5847,72 @@ msgid "Debugger"
msgstr "ডিবাগার"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "সাহাযà§à¦¯ অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "কà§à¦²à¦¾à¦¸à§‡à¦° অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr "পূরà§à¦¬à¦¨à¦¿à¦°à§à¦®à¦¿à¦¤ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ শà§à¦§à§à¦®à¦¾à¦¤à§à¦° তাদের অধিকারী দৃশà§à¦¯ লোড করা হলেই সমà§à¦ªà¦¾à¦¦à¦¨ করা যাবে"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "লাইন:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "শà§à¦§à§à¦®à¦¾à¦¤à§à¦° ফাইল সিসà§à¦Ÿà§‡à¦® থেকে রিসোরà§à¦¸ ডà§à¦°à¦ª করা সমà§à¦­à¦¬à¥¤"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "সিমà§à¦¬à¦² সমà§à¦ªà§‚রà§à¦£ করà§à¦¨"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "রঙ পছনà§à¦¦ করà§à¦¨"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
#, fuzzy
msgid "Convert Case"
msgstr "ছবিসমূহ রূপানà§à¦¤à¦° করা হচà§à¦›à§‡"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "বড় হাতের অকà§à¦·à¦°"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "ছোট হাতের অকà§à¦·à¦°"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "করà§à¦¤à¦¨/কাট করà§à¦¨"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -5108,8 +6004,9 @@ msgid "Find Previous"
msgstr "পূরà§à¦¬à§‡ খà§à¦à¦œà§à¦¨"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "দà§à¦°à§à¦¤ ফাইলসমূহ ফিলà§à¦Ÿà¦¾à¦° করà§à¦¨..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -5127,129 +6024,42 @@ msgstr "পà§à¦°à¦¾à¦¸à¦™à§à¦—িক সাহাযà§à¦¯"
msgid "Shader"
msgstr "শেডার"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "সà§à¦•েলার ধà§à¦°à§à¦¬à¦• পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "ভেকà§à¦Ÿà¦° ধà§à¦°à§à¦¬à¦• পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "RGB ধà§à¦°à§à¦¬à¦• পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "সà§à¦•েলার অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "ভেকà§à¦Ÿà¦° অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "ভেকà§à¦Ÿà¦° সà§à¦•েলার অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "RGB অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "শà§à¦§à§à¦®à¦¾à¦¤à§à¦° ঘূরà§à¦£à¦¨ টগল করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "সà§à¦•েলার ফাংশন পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "ভেকà§à¦Ÿà¦° ফাংশন পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "সà§à¦•েলার ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "ভেকà§à¦Ÿà¦° ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "RGB ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• মান পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "XForm ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "টেকà§à¦¸à¦¾à¦° ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Cubemap ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "কমেনà§à¦Ÿ পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "রঙà§à¦—ের রâ€à§à¦¯à¦¾à¦®à§à¦ªà§‡ সংযোজন/বিয়োজন করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Curve Map-ঠসংযোজন/বিয়োজন করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Curve Map পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "ইনপà§à¦Ÿ নাম পরিবরà§à¦¤à¦¨ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "গà§à¦°à¦¾à¦«à§‡à¦° নোডসমূহ সংযà§à¦•à§à¦¤ করà§à¦¨"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "গà§à¦°à¦¾à¦«à§‡à¦° নোডসমূহ বিচà§à¦›à¦¿à¦¨à§à¦¨ করà§à¦¨"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Shader Graph Node অপসারণ করà§à¦¨"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "সà§à¦•েলেটন/কাঠাম..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Shader Graph Node সরান"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "গà§à¦°à¦¾à¦« নোড(সমূহ) পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Shader Graph Node(s) অপসারণ করà§à¦¨"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Navigation Mesh তৈরি করà§à¦¨"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "সমসà§à¦¯à¦¾: আবরà§à¦¤à¦¨à¦¶à§€à¦² সংযোগ লিঙà§à¦•"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "সà§à¦•েলেটন/কাঠাম..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "সমসà§à¦¯à¦¾: ইনপà§à¦Ÿ সংযোগ নেই"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া তৈরি করà§à¦¨"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Shader Graph Node যোগ করà§à¦¨"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "চালান"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5382,10 +6192,6 @@ msgid "Align with view"
msgstr "দরà§à¦¶à¦¨à§‡à¦° সাথে সারিবদà§à¦§ করà§à¦¨"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "ঠিক আছে :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করার জনà§à¦¯ পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿ ধারক উপসà§à¦¥à¦¿à¦¤ নেই।"
@@ -5394,6 +6200,11 @@ msgid "This operation requires a single selected node."
msgstr "à¦à¦‡ কাজটি করার জনà§à¦¯ à¦à¦•টি à¦à¦•ক নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোড পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "তথà§à¦¯ দেখà§à¦¨"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Normal পà§à¦°à¦¦à¦°à§à¦¶à¦¨"
@@ -5444,6 +6255,11 @@ msgid "Doppler Enable"
msgstr "সকà§à¦°à¦¿à¦¯à¦¼ করà§à¦¨"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "মেস লাইবà§à¦°à§‡à¦°à¦¿ তৈরি হচà§à¦›à§‡"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "বাম দিকে ফà§à¦°à¦¿à¦²à§à¦• করà§à¦¨"
@@ -5583,6 +6399,11 @@ msgstr "সà§à¦•েল/মাপ:"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
+msgid "Snap To Floor"
+msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª মোড:"
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Toggle Freelook"
msgstr "পূরà§à¦£-পরà§à¦¦à¦¾ অদলবদল/টগল করà§à¦¨"
@@ -5591,6 +6412,10 @@ msgid "Transform"
msgstr "রà§à¦ªà¦¾à¦¨à§à¦¤à¦°"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "রà§à¦ªà¦¾à¦¨à§à¦¤à¦°à§‡à¦° à¦à¦° সংলাপ..."
@@ -5619,6 +6444,11 @@ msgid "4 Viewports"
msgstr "৪ টি Viewports"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "গিজমোস"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "অরিজিন দেখà§à¦¨"
@@ -5632,10 +6462,6 @@ msgid "Settings"
msgstr "সেটিংস"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª সেটিংস"
@@ -5695,6 +6521,53 @@ msgstr "পূরà§à¦¬ (Pre)"
msgid "Post"
msgstr "পরবরà§à¦¤à§€ (Post)"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "ফà§à¦°à§‡à¦®à¦¸à¦®à§‚হ সà§à¦¤à§‚প করà§à¦¨"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "à¦à¦¤à§‡ রূপানà§à¦¤à¦° করà§à¦¨..."
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª (পিকà§à¦¸à§‡à¦²à¦¸à¦®à§‚হ):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "à¦à¦Ÿà¦²à¦¾à¦¸/মানচিতà§à¦°à¦¾à¦¬à¦²à§€ পà§à¦°à¦¿à¦­à¦¿à¦‰"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "সেটিংস"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "সমসà§à¦¯à¦¾: ফà§à¦°à§‡à¦® রিসোরà§à¦¸ লোড করা সমà§à¦­à¦¬ হয়নি!"
@@ -5766,15 +6639,6 @@ msgstr "বামে সরান"
msgid "SpriteFrames"
msgstr "ফà§à¦°à§‡à¦®à¦¸à¦®à§‚হ সà§à¦¤à§‚প করà§à¦¨"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "StyleBox পà§à¦°à¦¿à¦­à¦¿à¦‰:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-#, fuzzy
-msgid "StyleBox"
-msgstr "সà§à¦Ÿà¦¾à¦‡à¦²"
-
#: editor/plugins/texture_region_editor_plugin.cpp
#, fuzzy
msgid "Set Region Rect"
@@ -5801,28 +6665,22 @@ msgid "Auto Slice"
msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ টà§à¦•রো"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "অফসেট/ভারসামà§à¦¯:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "পদকà§à¦·à§‡à¦ª:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "বিচà§à¦›à§‡à¦¦:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "গঠনবিনà§à¦¯à¦¾à¦¸à§‡à¦° à¦à¦²à¦¾à¦•া"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "গঠনবিনà§à¦¯à¦¾à¦¸à§‡à¦° à¦à¦²à¦¾à¦•া à¦à¦¡à¦¿à¦Ÿà¦°"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "থিমটি ফাইলে সংরকà§à¦·à¦£ করা সমà§à¦­à¦¬ হয়নি:"
@@ -5836,11 +6694,6 @@ msgid "Add All"
msgstr "সবগà§à¦²à¦¿ যোগ করà§à¦¨"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "বসà§à¦¤à§ অপসারণ করà§à¦¨"
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "কà§à¦²à¦¾à¦¸à§‡à¦° আইটেম অপসারণ করà§à¦¨"
@@ -5917,10 +6770,6 @@ msgstr "আছে"
msgid "Many"
msgstr "অনেক"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "সিদà§à¦§à¦¾à¦¨à§à¦¤à¦¸à¦®à§‚হ"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5946,7 +6795,7 @@ msgstr "ডাটার ধরণ:"
msgid "Icon"
msgstr "আইকন"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "সà§à¦Ÿà¦¾à¦‡à¦²"
@@ -5959,8 +6808,8 @@ msgid "Color"
msgstr "রঙ"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "থিম"
+msgid "Constant"
+msgstr "ধà§à¦°à§à¦¬à¦•/কনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦Ÿ"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5968,6 +6817,11 @@ msgid "Erase Selection"
msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤à¦¸à¦®à§‚হ মà§à¦›à§‡ ফেলà§à¦¨"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ নাম।"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "TileMap আà¦à¦•à§à¦¨"
@@ -5990,11 +6844,8 @@ msgid "Erase TileMap"
msgstr "TileMap মà§à¦›à§‡ ফেলà§à¦¨"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤à¦¸à¦®à§‚হ মà§à¦›à§‡ ফেলà§à¦¨"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "টাইল খà§à¦à¦œà§à¦¨"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -6019,6 +6870,11 @@ msgid "Pick Tile"
msgstr "টাইল পছনà§à¦¦ করà§à¦¨"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "০ ডিগà§à¦°à¦¿ ঘোরানà§"
@@ -6035,12 +6891,40 @@ msgid "Rotate 270 degrees"
msgstr "২৭০ ডিগà§à¦°à¦¿ ঘোরানà§â€Œ"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "টাইলটি খà§à¦à¦œà§‡ পাওয়া যায়নি:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "শাখা (tree) হতে নোড (সমূহ) যà§à¦•à§à¦¤ করà§à¦¨"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "পথের বিনà§à¦¦à§ অপসারণ করà§à¦¨"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr "দৃশà§à¦¯ হতে তৈরি করবেন"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "আইটেমের নাম বা আইডি:"
+msgid "Merge from Scene"
+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."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Selected Textue and ALL TILES wich uses 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?"
@@ -6051,51 +6935,70 @@ msgid "Merge from scene?"
msgstr "দৃশà§à¦¯ হতে à¦à¦•তà§à¦°à¦¿à¦¤ করবেন?"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet (টাইল-সেট)..."
+msgid " file(s) was not added because was already on the list."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "দৃশà§à¦¯ হতে তৈরি করবেন"
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "দৃশà§à¦¯ হতে à¦à¦•তà§à¦°à¦¿à¦¤ করবেন"
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "সমসà§à¦¯à¦¾/ভà§à¦²"
+msgid ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Autotiles"
-msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ টà§à¦•রো"
+msgid ""
+"Select current edited sub-tile.\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."
+"bindings.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
-"LMB: set bit on.\n"
-"RMB: set bit off."
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
-msgstr "à¦à¦‡-মà§à¦¹à§‚রà§à¦¤à§‡ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ রিসোরà§à¦¸à¦Ÿà¦¿ সংরকà§à¦·à¦£ করà§à¦¨à¥¤"
+msgid "This property can't be changed."
+msgstr "দৃশà§à¦¯ ছাড়া à¦à¦Ÿà¦¿ করা সমà§à¦­à¦¬ হবে না।"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
-msgstr ""
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet (টাইল-সেট)..."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "বাতিল"
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "ভারটেকà§à¦¸"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "ফà§à¦°à¦¾à¦—মেনà§à¦Ÿ"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "ডান"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "শেডার"
#: editor/project_export.cpp
#, fuzzy
@@ -6113,10 +7016,10 @@ msgid "Delete preset '%s'?"
msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ফাইলসমূহ অপসারণ করবেন?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
"à¦à¦‡ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡à¦° জনà§à¦¯ দরকারি à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà¦—à§à¦²à¦¿ কà§à¦·à¦¤à¦¿à¦—à§à¦°à¦¸à§à¦¥ হয়েছে অথবা খà§à¦à¦œà§‡ পাওয়া "
-"যাচà§à¦›à§‡ না: "
+"যাচà§à¦›à§‡ না:"
#: editor/project_export.cpp
#, fuzzy
@@ -6203,12 +7106,6 @@ msgid "Export templates for this platform are missing:"
msgstr "à¦à¦‡ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡à¦° জনà§à¦¯ দরকারি à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà¦—à§à¦²à¦¿ খà§à¦à¦œà§‡ পাওয়া যাচà§à¦›à§‡ না:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"à¦à¦‡ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡à¦° জনà§à¦¯ দরকারি à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà¦—à§à¦²à¦¿ কà§à¦·à¦¤à¦¿à¦—à§à¦°à¦¸à§à¦¥ হয়েছে অথবা খà§à¦à¦œà§‡ পাওয়া "
-"যাচà§à¦›à§‡ না:"
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export With Debug"
msgstr "Tile Set à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
@@ -6220,8 +7117,8 @@ msgstr "ফাইলটি বিদà§à¦¯à¦®à¦¾à¦¨ নয়।"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Please choose a 'project.godot' file."
-msgstr "অনà§à¦—à§à¦°à¦¹ করে পà§à¦°à¦•লà§à¦ªà§‡à¦° ফোলà§à¦¡à¦¾à¦°à§‡à¦° বাইরে à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨!"
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "à¦à¦®à¦¨ à¦à¦•টি ফোলà§à¦¡à¦¾à¦° বাছাই করà§à¦¨ যেখানে 'project.godot' নামে কোন ফাইল নেই।"
#: editor/project_manager.cpp
#, fuzzy
@@ -6229,6 +7126,15 @@ msgid "Please choose an empty folder."
msgstr "অনà§à¦—à§à¦°à¦¹ করে পà§à¦°à¦•লà§à¦ªà§‡à¦° ফোলà§à¦¡à¦¾à¦°à§‡à¦° বাইরে à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨!"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "অনà§à¦—à§à¦°à¦¹ করে পà§à¦°à¦•লà§à¦ªà§‡à¦° ফোলà§à¦¡à¦¾à¦°à§‡à¦° বাইরে à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨!"
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "পà§à¦°à¦•লà§à¦ª ইমà§à¦ªà§‹à¦°à§à¦Ÿ করা হয়েছে"
@@ -6325,6 +7231,11 @@ msgid "Project Path:"
msgstr "পà§à¦°à¦•লà§à¦ªà§‡à¦° পথ:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "পà§à¦°à¦•লà§à¦ªà§‡à¦° পথ:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "বà§à¦°à¦¾à¦‰à¦¸"
@@ -6447,8 +7358,8 @@ msgstr "মাউসের বোতাম"
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6460,9 +7371,23 @@ msgid "Rename Input Action Event"
msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন ইভেনà§à¦Ÿ পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নাম পরিবরà§à¦¤à¦¨ করà§à¦¨:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন ইভেনà§à¦Ÿ যোগ করà§à¦¨"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "ডিভাইস/যনà§à¦¤à§à¦°"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "ডিভাইস/যনà§à¦¤à§à¦°"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6504,20 +7429,24 @@ msgid "Wheel Down Button"
msgstr "চাকা নিচে নামানোর বোতাম"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "বোতাম ৬"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "চাকা উপরে তোলার বোতাম"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "বোতাম ৭"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "ডান বোতাম"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "বোতাম ৮"
+#, fuzzy
+msgid "X Button 1"
+msgstr "বোতাম ৬"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "বোতাম ৯"
+#, fuzzy
+msgid "X Button 2"
+msgstr "বোতাম ৬"
#: editor/project_settings_editor.cpp
#, fuzzy
@@ -6548,10 +7477,6 @@ msgid "Add Event"
msgstr "খালি বসà§à¦¤à§ যোগ করà§à¦¨"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "ডিভাইস/যনà§à¦¤à§à¦°"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "বাটন/বোতাম"
@@ -6599,6 +7524,12 @@ 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
#, fuzzy
msgid "Already existing"
msgstr "সà§à¦¥à¦¾à§Ÿà§€à§Ÿà¦¤à¦¾ টগল করà§à¦¨"
@@ -6673,6 +7604,10 @@ msgstr "পà§à¦°à¦ªà¦¾à¦°à§à¦Ÿà¦¿:"
msgid "Override For..."
msgstr "ওভাররাইড..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "ইনপà§à¦Ÿ মà§à¦¯à¦¾à¦ª/নকশা"
@@ -6682,6 +7617,14 @@ msgid "Action:"
msgstr "অà§à¦¯à¦¾à¦•শন:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾/অà§à¦¯à¦¾à¦•শন"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "ডিভাইস:"
@@ -6746,11 +7689,6 @@ msgid "AutoLoad"
msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ-লোড"
#: editor/property_editor.cpp
-#, fuzzy
-msgid "Pick a Viewport"
-msgstr "১ টি Viewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "আনà§à¦¤-সহজাগমন"
@@ -6788,39 +7726,11 @@ msgid "Select Node"
msgstr "à¦à¦•টি নোড নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "নতà§à¦¨ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Make Unique"
-msgstr "বোনà§â€Œ/হাড় তৈরি করà§à¦¨"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Show in File System"
-msgstr "ফাইলসিসà§à¦Ÿà§‡à¦®"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Convert To %s"
-msgstr "à¦à¦¤à§‡ রূপানà§à¦¤à¦° করà§à¦¨..."
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "ফাইল লোডে সমসà§à¦¯à¦¾: রিসোরà§à¦¸ নয়!"
#: editor/property_editor.cpp
#, fuzzy
-msgid "Selected node is not a Viewport!"
-msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡à¦° জনà§à¦¯ নোড(সমূহ) নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"
-
-#: editor/property_editor.cpp
-#, fuzzy
msgid "Pick a Node"
msgstr "à¦à¦•টি নোড নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"
@@ -6829,19 +7739,6 @@ msgid "Bit %d, val %d."
msgstr "বিট %d, মান %d।"
#: editor/property_editor.cpp
-msgid "On"
-msgstr "চালà§"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "[Empty]"
-msgstr "খালি বসà§à¦¤à§ যোগ করà§à¦¨"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "নিযà§à¦•à§à¦¤ করà§à¦¨ (Set)"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:"
@@ -6866,6 +7763,134 @@ msgstr "PVRTC সরঞà§à¦œà¦¾à¦® à¦à¦•à§à¦¸à¦¿à¦•িউট করা সম
msgid "Can't load back converted image using PVRTC tool:"
msgstr "PVRTC সরঞà§à¦œà¦¾à¦® দà§à¦¬à¦¾à¦°à¦¾ রূপানà§à¦¤à¦°à¦¿à¦¤ ছবি পà§à¦¨à¦°à¦¾à§Ÿ লোড করা সমà§à¦­à¦¬ নয়:"
+#: 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
+#, fuzzy
+msgid "Advanced options"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° সিদà§à¦§à¦¾à¦¨à§à¦¤à¦¸à¦®à§‚হ"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "নোডের নাম:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "নোডের ধরণ সনà§à¦§à¦¾à¦¨ করà§à¦¨"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "বরà§à¦¤à¦®à¦¾à¦¨ দৃশà§à¦¯"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "পদকà§à¦·à§‡à¦ª:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "অভিবà§à¦¯à¦•à§à¦¤à¦¿ (Expression) পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾-পরবরà§à¦¤à§€ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "রাখà§à¦¨"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "ছোট হাতের অকà§à¦·à¦°"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "বড় হাতের অকà§à¦·à¦°"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "সমà§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¨/সংকোচন অপসারণ করà§à¦¨ (রিসেট জà§à¦®à§)"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "সমসà§à¦¯à¦¾/ভà§à¦²"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "নোডের নতà§à¦¨ অভিভাবক দান করà§à¦¨"
@@ -6902,11 +7927,6 @@ msgstr "পà§à¦°à¦§à¦¾à¦¨ দৃশà§à¦¯à§‡à¦° মান/আরà§à¦—à§à¦®à§‡
msgid "Scene Run Settings"
msgstr "দৃশà§à¦¯ চালানোর সেটিংস"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "সঠিক"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "দৃশà§à¦¯à¦¸à¦®à§‚হ ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করার মতো কোনো অভিভাবক নেই।"
@@ -6928,6 +7948,10 @@ msgid "Instance Scene(s)"
msgstr "দৃশà§à¦¯(সমূহ) ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ পরিসà§à¦•ার করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "শাখার মূলে à¦à¦Ÿà¦¿ করা সমà§à¦­à¦¬ হবে না।"
@@ -6968,12 +7992,33 @@ msgid "Load As Placeholder"
msgstr "পà§à¦²à§‡à¦¸à¦¹à§‹à¦²à§à¦¡à¦¾à¦° হিসেবে লোড করà§à¦¨"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করা বাতিল করà§à¦¨"
+msgid "Make Local"
+msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ করà§à¦¨"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "অরà§à¦¥à¦ªà§‚রà§à¦¨!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "নোড তৈরি করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "দৃশà§à¦¯"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "দৃশà§à¦¯"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "উতà§à¦¤à¦°à¦¾à¦§à¦¿à¦•ারতà§à¦¬ পরিসà§à¦•ার করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "নোড-সমূহ করà§à¦¤à¦¨/কাট করà§à¦¨"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6984,6 +8029,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "বরà§à¦¤à¦®à¦¾à¦¨ দৃশà§à¦¯ যার হতে উৎপতà§à¦¤à¦¿ হয় তার নোডে à¦à¦Ÿà¦¿ করা সমà§à¦­à¦¬ হবে না!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ সংযà§à¦•à§à¦¤ করà§à¦¨"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "নোড(সমূহ) অপসারণ করà§à¦¨"
@@ -7029,18 +8078,15 @@ msgid "Change Type"
msgstr "ধরণ পরিবরà§à¦¤à¦¨ করà§à¦¨"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ সংযà§à¦•à§à¦¤ করà§à¦¨"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ পরিসà§à¦•ার করà§à¦¨"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "অরà§à¦¥à¦ªà§‚রà§à¦¨!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "দৃশà§à¦¯ হতে à¦à¦•তà§à¦°à¦¿à¦¤ করà§à¦¨"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "পà§à¦°à¦¶à¦¾à¦–াকে দৃশà§à¦¯ হিসেবে সংরকà§à¦·à¦£ করà§à¦¨"
@@ -7066,11 +8112,6 @@ msgstr ""
"উতà§à¦¤à¦°à¦¾à¦§à¦¿à¦•ারী দৃশà§à¦¯ তৈরি করে।"
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "à¦à¦•টি নতà§à¦¨ বা বিদà§à¦¯à¦®à¦¾à¦¨ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোডে সংযà§à¦•à§à¦¤ করà§à¦¨à¥¤"
@@ -7092,25 +8133,19 @@ msgstr "ঘটনাসà§à¦¥à¦²"
msgid "Clear Inheritance? (No Undo!)"
msgstr "উতà§à¦¤à¦°à¦¾à¦§à¦¿à¦•ারতà§à¦¬ পরিসà§à¦•ার করবেন? (ফেরৎ পাবেন না!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "পরিসà§à¦•ার করà§à¦¨!"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
+#, fuzzy
+msgid "Toggle Visible"
msgstr "Spatial দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "CanvasItem দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
-
-#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "নোড কনফিগারেশন সতরà§à¦•বারà§à¦¤à¦¾:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"à¦à¦‡ নোডের কানেকশন à¦à¦¬à¦‚ গà§à¦°à§à¦ª বিদà§à¦¯à¦®à¦¾à¦¨\n"
@@ -7132,23 +8167,25 @@ msgstr ""
"à¦à¦‡ নোডটি à¦à¦•টি গà§à¦°à§à¦ªà§‡à¦° অনà§à¦¤à¦°à§à¦­à§à¦•à§à¦¤à¥¤\n"
"গà§à¦°à§à¦ª ডক পà§à¦°à¦¦à¦°à§à¦¶à¦¨ করতে কà§à¦²à¦¿à¦• করà§à¦¨à¥¤"
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "পরবরà§à¦¤à§€ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"নোডটি লকড।\n"
"আনলক করতে কà§à¦²à¦¿à¦• করà§à¦¨"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"চিলডà§à¦°à§‡à¦¨ নিরà§à¦¬à¦¾à¦šà¦¨à¦¯à§‹à¦—à§à¦¯ নয়।\n"
"নিরà§à¦¬à¦¾à¦šà¦¨à¦¯à§‹à¦—à§à¦¯ করতে কà§à¦²à¦¿à¦• করà§à¦¨"
@@ -7159,6 +8196,12 @@ msgid "Toggle Visibility"
msgstr "Spatial দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
#: 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 "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ নোডের নাম, নীমà§à¦¨à§‹à¦•à§à¦¤ অকà§à¦·à¦°à¦¸à¦®à§‚হ গà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ নয়:"
@@ -7197,6 +8240,11 @@ msgid "N/A"
msgstr "না/আ"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "à¦à¦¡à¦¿à¦Ÿà¦°à§‡ খà§à¦²à§à¦¨"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "পথটি খালি"
@@ -7445,10 +8493,23 @@ msgid "Change Camera Size"
msgstr "Camera à¦à¦° আকার পরিবরà§à¦¤à¦¨ করà§à¦¨"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Notifier à¦à¦° সীমা পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "পারà§à¦Ÿà¦¿à¦•ল পরিবরà§à¦¤à¦¨ করà§à¦¨ AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "পà§à¦°à§‹à¦¬à§‡à¦° (Probe) পরিবà§à¦¯à¦¾à¦ªà§à¦¤à¦¿ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Sphere Shape à¦à¦° বà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦§ পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Box Shape à¦à¦° সীমা পরিবরà§à¦¤à¦¨ করà§à¦¨"
@@ -7461,20 +8522,38 @@ msgid "Change Capsule Shape Height"
msgstr "Capsule Shape à¦à¦° উচà§à¦šà¦¤à¦¾ পরিবরà§à¦¤à¦¨ করà§à¦¨"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Ray Shape à¦à¦° দৈরà§à¦˜à§à¦¯ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Capsule Shape à¦à¦° বà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦§ পরিবরà§à¦¤à¦¨ করà§à¦¨"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Notifier à¦à¦° সীমা পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Capsule Shape à¦à¦° উচà§à¦šà¦¤à¦¾ পরিবরà§à¦¤à¦¨ করà§à¦¨"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "পারà§à¦Ÿà¦¿à¦•ল পরিবরà§à¦¤à¦¨ করà§à¦¨ AABB"
+msgid "Change Ray Shape Length"
+msgstr "Ray Shape à¦à¦° দৈরà§à¦˜à§à¦¯ পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "পà§à¦°à§‹à¦¬à§‡à¦° (Probe) পরিবà§à¦¯à¦¾à¦ªà§à¦¤à¦¿ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Light à¦à¦° বà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦§ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Capsule Shape à¦à¦° উচà§à¦šà¦¤à¦¾ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Sphere Shape à¦à¦° বà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦§ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Light à¦à¦° বà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦§ পরিবরà§à¦¤à¦¨ করà§à¦¨"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7535,16 +8614,6 @@ msgid "GDNative"
msgstr "জিডিনà§à¦¯à¦¾à¦Ÿà¦¿à¦­"
#: 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_* ধà§à¦°à§à¦¬à¦• বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨à¥¤"
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "বিনà§à¦¯à¦¾à¦¸ জানার জনà§à¦¯ যথেষà§à¦Ÿ বাইট নেই, অথবা ভà§à¦² ফরমà§à¦¯à¦¾à¦Ÿà¥¤"
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "ধাপ মান/আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿ শূনà§à¦¯!"
@@ -7614,6 +8683,11 @@ msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অপসারণ করà§à¦¨"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ সমূহ অনà§à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
@@ -7705,6 +8779,11 @@ msgstr "নিরà§à¦¬à¦¾à¦šà¦¨à¦•ে কেনà§à¦¦à§à¦°à§€à¦­à§‚ত করà
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "সব সিলেকà§à¦Ÿ করà§à¦¨"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª সেটিংস"
@@ -7782,6 +8861,79 @@ msgstr "ফাইল"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "সিদà§à¦§/বেকà§â€Œ!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Bake the navigation mesh."
+msgstr "Navigation Mesh তৈরি করà§à¦¨"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Clear the navigation mesh."
+msgstr "Navigation Mesh তৈরি করà§à¦¨"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "কনফিগারেশন তৈরি করা হচà§à¦›à§‡..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "গà§à¦°à¦¿à¦¡ সাইজ হিসাব করা হচà§à¦›à§‡..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Creating heightfield..."
+msgstr "লাইটের ওকটà§à¦°à§€ (octree) তৈরি করা হচà§à¦›à§‡"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Marking walkable triangles..."
+msgstr "অনà§à¦¬à¦¾à¦¦-সমà§à¦­à¦¬ শবà§à¦¦à¦®à¦¾à¦²à¦¾/বাকà§à¦¯-সমূহ..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "কমà§à¦ªà§à¦¯à¦¾à¦•à§à¦Ÿ হাইফিলà§à¦¡ তৈরি করা হছে..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "বà§à¦¯à¦¾à¦¬à¦¹à¦¾à¦°à¦¯à§‹à¦—à§à¦¯ পথ মà§à¦›à§‡ ফেলা হচà§à¦›à§‡..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Partitioning..."
+msgstr "সতরà§à¦•তা"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Creating contours..."
+msgstr "ওকটà§à¦°à§€ (octree) গঠনবিনà§à¦¯à¦¾à¦¸ তৈরি করা হচà§à¦›à§‡"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Creating polymesh..."
+msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Converting to native navigation mesh..."
+msgstr "Navigation Mesh তৈরি করà§à¦¨"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "নà§à¦¯à¦¾à¦­à¦¿à¦—েশন মà§à¦¯à¦¾à¦¶ জেনারেটর সেটআপ:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Parsing Geometry..."
+msgstr "জà§à¦¯à¦¾à¦®à¦¿à¦¤à¦¿à¦•-আকার বিশà§à¦²à§‡à¦·à¦£ করা হচà§à¦›à§‡"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "সমà§à¦ªà¦¨à§à¦¨ হয়েছে!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7844,10 +8996,6 @@ msgid "Set Variable Type"
msgstr "চলক/ভেরিয়েবল সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "ফাংশনগà§à¦²à¦¿:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "ভেরিয়েবলস/চলকসমূহ:"
@@ -7972,36 +9120,14 @@ msgid "Connect Nodes"
msgstr "নোডের সাথে সংযà§à¦•à§à¦¤ করà§à¦¨:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "শরà§à¦¤ (Condition)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "কà§à¦°à¦® (Sequence)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "সà§à¦‡à¦š (Switch)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "পà§à¦¨à¦°à§à¦•à§à¦¤à¦¿à¦•ারী (Iterator)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "যতকà§à¦·à¦£ (While)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "ফেরৎ পাঠান (Return)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "ডাকà§à¦¨ (Call)"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "নোডের সাথে সংযà§à¦•à§à¦¤ করà§à¦¨:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "মান পান (Get)"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "নোডের সাথে সংযà§à¦•à§à¦¤ করà§à¦¨:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -8032,28 +9158,18 @@ msgid "Remove Function"
msgstr "ফাংশন (Function) অপসারণ করà§à¦¨"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Variable"
-msgstr "চলক/ভেরিয়েবল সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "চলক/ভেরিয়েবল অপসারণ করà§à¦¨"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "সংকেত/সিগনà§à¦¯à¦¾à¦² সমà§à¦ªà¦¾à¦¦à¦¨:"
+msgid "Editing Variable:"
+msgstr "চলক/ভেরিয়েবল সমà§à¦ªà¦¾à¦¦à¦¨:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "সংকেত (Signal) অপসারণ করà§à¦¨"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "চলক/ভেরিয়েবল সমà§à¦ªà¦¾à¦¦à¦¨:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "সংকেত/সিগনà§à¦¯à¦¾à¦² সমà§à¦ªà¦¾à¦¦à¦¨:"
@@ -8097,6 +9213,11 @@ msgstr "নোড-সমূহ করà§à¦¤à¦¨/কাট করà§à¦¨"
msgid "Paste Nodes"
msgstr "নোড-সমূহ পà§à¦°à¦¤à¦¿à¦²à§‡à¦ªà¦¨/পেসà§à¦Ÿ করà§à¦¨"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "সদসà§à¦¯à¦—ণ (Members):"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "যোগান/ইনপà§à¦Ÿ-à¦à¦° ধরণ পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿à¦®à§‚লক নয়: "
@@ -8153,6 +9274,19 @@ msgstr ""
"_step() হতে অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ মান ফেরৎ à¦à¦¸à§‡à¦›à§‡, মান অবশà§à¦¯à¦‡ পূরà§à¦£à¦¸à¦‚খà§à¦¯à¦¾ (integer) (কà§à¦°à¦®à¦¿à¦•), "
"অথবা শবà§à¦¦à¦®à¦¾à¦²à¦¾/বাকà§à¦¯ (string) (ভà§à¦²/সমসà§à¦¯à¦¾) হতে হবে।"
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Shader Graph Node অপসারণ করà§à¦¨"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "মান পান (Get)"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Run in Browser"
@@ -8210,8 +9344,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -8307,6 +9441,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "Path à¦à¦° দিক অবশà§à¦¯à¦‡ à¦à¦•টি কারà§à¦¯à¦•র Node2D à¦à¦° দিকে নিরà§à¦¦à§‡à¦¶ করাতে হবে।"
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8372,8 +9519,8 @@ msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8461,6 +9608,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8475,6 +9633,48 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° সরঞà§à¦œà¦¾à¦®à¦¸à¦®à§‚হ"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ভà§à¦²: অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° নাম!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "'%s' à¦à¦° সাথে '%s' সংযà§à¦•à§à¦¤ করà§à¦¨"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করতে দৃশà§à¦¯à§‡à¦° তালিকা থেকে à¦à¦•টি AnimationPlayer নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤"
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° তালিকাটি অকারà§à¦¯à¦•র।"
+
#: scene/gui/color_picker.cpp
#, fuzzy
msgid "Raw Mode"
@@ -8552,13 +9752,374 @@ msgstr "ফনà§à¦Ÿ তà§à¦²à¦¤à§‡/লোডে সমসà§à¦¯à¦¾ হয়েà¦
msgid "Invalid font size."
msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "পূরà§à¦¬à§‡à¦° টà§à¦¯à¦¾à¦¬"
+msgid "Input"
+msgstr "ইনপà§à¦Ÿ যোগ করà§à¦¨"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<নান/কিছà§à¦‡ না>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "সà§à¦•েলার ধà§à¦°à§à¦¬à¦• পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "ভেকà§à¦Ÿà¦° ধà§à¦°à§à¦¬à¦• পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "RGB ধà§à¦°à§à¦¬à¦• পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "সà§à¦•েলার অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "ভেকà§à¦Ÿà¦° অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "ভেকà§à¦Ÿà¦° সà§à¦•েলার অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "RGB অপারেটর পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "শà§à¦§à§à¦®à¦¾à¦¤à§à¦° ঘূরà§à¦£à¦¨ টগল করà§à¦¨"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "সà§à¦•েলার ফাংশন পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "ভেকà§à¦Ÿà¦° ফাংশন পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "সà§à¦•েলার ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "ভেকà§à¦Ÿà¦° ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "RGB ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
-#~ msgid "Next"
+#~ msgid "Change Default Value"
+#~ msgstr "পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• মান পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "XForm ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "টেকà§à¦¸à¦¾à¦° ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Cubemap ইউনিফরà§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Comment"
+#~ msgstr "কমেনà§à¦Ÿ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "রঙà§à¦—ের রâ€à§à¦¯à¦¾à¦®à§à¦ªà§‡ সংযোজন/বিয়োজন করà§à¦¨"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "রঙà§à¦—ের রâ€à§à¦¯à¦¾à¦®à§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Curve Map-ঠসংযোজন/বিয়োজন করà§à¦¨"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Curve Map পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Input Name"
+#~ msgstr "ইনপà§à¦Ÿ নাম পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "গà§à¦°à¦¾à¦«à§‡à¦° নোডসমূহ সংযà§à¦•à§à¦¤ করà§à¦¨"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "গà§à¦°à¦¾à¦«à§‡à¦° নোডসমূহ বিচà§à¦›à¦¿à¦¨à§à¦¨ করà§à¦¨"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Shader Graph Node অপসারণ করà§à¦¨"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Shader Graph Node সরান"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "গà§à¦°à¦¾à¦« নোড(সমূহ) পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Shader Graph Node(s) অপসারণ করà§à¦¨"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "সমসà§à¦¯à¦¾: আবরà§à¦¤à¦¨à¦¶à§€à¦² সংযোগ লিঙà§à¦•"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "সমসà§à¦¯à¦¾: ইনপà§à¦Ÿ সংযোগ নেই"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Shader Graph Node যোগ করà§à¦¨"
+
+#~ msgid "Disabled"
+#~ msgstr "অসমরà§à¦¥"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ ( Anim) টà§à¦°à§à¦¯à¦¾à¦• আপ"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦• ডাউন"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "টà§à¦°à§à¦¯à¦¾à¦¨à¦œà¦¿à¦¶à¦¨/সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦°à¦£ সেট/নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦•/পথ-à¦à¦° নাম পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦•/পথ-à¦à¦° পà§à¦°à¦•à§à¦·à§‡à¦ª/নিবেশ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à§à¦¯à¦¾à¦•/পথ-à¦à¦° মানের ধরন/পà§à¦°à¦•ার পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ টà§à¦°à§à¦¯à¦¾à¦•-à¦à¦° Wrapping মোড পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "নোডের বাà¦à¦•/কারà§à¦­ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "নিরà§à¦¬à¦¾à¦šà¦¨ বাà¦à¦•/কারà§à¦­ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) চাবি/কী যোগ করà§à¦¨"
+
+#~ msgid "In"
+#~ msgstr "অভà§à¦¯à¦¨à§à¦¤à¦°à§‡/ইন"
+
+#~ msgid "Out"
+#~ msgstr "বাইরে/অউট"
+
+#~ msgid "In-Out"
+#~ msgstr "অভà§à¦¯à¦¨à§à¦¤à¦°à§‡-বাইরে/ইন-অউট"
+
+#~ msgid "Out-In"
+#~ msgstr "বাইরে-অভà§à¦¯à¦¨à§à¦¤à¦°à§‡/অউট-ইন"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) দৈরà§à¦˜à§à¦¯ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° (Anim) পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿/লà§à¦ª পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) পà§à¦°à¦¤à§€à¦•à§€ মানের চাবি তৈরি করà§à¦¨"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡ (Anim) ডাকার টà§à¦°à§à¦¯à¦¾à¦•/পথ যোগ করà§à¦¨"
+
+#~ msgid "Length (s):"
+#~ msgstr "দৈরà§à¦˜à§à¦¯ (দৈরà§à¦˜à§à¦¯à¦¸à¦®à§‚হ):"
+
+#~ msgid "Step (s):"
+#~ msgstr "ধাপ (ধাপসমূহ):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "কারà§à¦¸à¦°à§‡à¦° সà§à¦¥à¦¾à¦¨à§‡/পদকà§à¦·à§‡à¦ªà§‡ ভাঙà§à¦—à§à¦¨ (snap) (সময় সেকেনà§à¦¡à§‡)।"
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨à§‡à¦° পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿/লà§à¦ª সকà§à¦·à¦®/অকà§à¦·à¦® করà§à¦¨à¥¤"
+
+#~ msgid "Add new tracks."
+#~ msgstr "নতà§à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ-সমূহ যোগ করà§à¦¨à¥¤"
+
+#~ msgid "Move current track up."
+#~ msgstr "বরà§à¦¤à¦®à¦¾à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ উপরের দিকে তà§à¦²à§à¦¨à¥¤"
+
+#~ msgid "Move current track down."
+#~ msgstr "বরà§à¦¤à¦®à¦¾à¦¨ টà§à¦°à§à¦¯à¦¾à¦•/পথ নিচের দিকে নামান।"
+
+#~ msgid "Track tools"
+#~ msgstr "টà§à¦°à§à¦¯à¦¾à¦•/পথের সরঞà§à¦œà¦¾à¦®à¦¸à¦®à§‚হ"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "পà§à¦°à¦¤à¦¿à¦Ÿà¦¿ চাবির সমà§à¦ªà¦¾à¦¦à¦¨-যোগà§à¦¯à¦¤à¦¾ সকà§à¦°à¦¿à¦¯à¦¼ করার জনà§à¦¯ তাদের নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨à¥¤"
+
+#~ msgid "Key"
+#~ msgstr "চাবি"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "কোন নোডে ফাংশন(সমূহ) ডাকবেন?"
+
+#~ msgid "Thanks!"
+#~ msgstr "ধনà§à¦¯à¦¬à¦¾à¦¦!"
+
+#~ msgid "I see..."
+#~ msgstr "বà§à¦à¦²à¦¾à¦®..."
+
+#, fuzzy
+#~ msgid "Can't open '%s'."
+#~ msgstr "'..' তে পরিচালনা করা সমà§à¦­à¦¬ নয়"
+
+#~ msgid "Ugh"
+#~ msgstr "আহà§â€Œ"
+
+#~ msgid "Run Script"
+#~ msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ চালান"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "à¦à¦‡-মà§à¦¹à§‚রà§à¦¤à§‡ সমà§à¦ªà¦¾à¦¦à¦¿à¦¤ রিসোরà§à¦¸à¦Ÿà¦¿ সংরকà§à¦·à¦£ করà§à¦¨à¥¤"
+
+#~ msgid "Stop Profiling"
+#~ msgstr "পà§à¦°à§‹à¦«à¦¾à¦‡à¦²à¦¿à¦‚ বনà§à¦§ করà§à¦¨"
+
+#~ msgid "Start Profiling"
+#~ msgstr "পà§à¦°à§‹à¦«à¦¾à¦‡à¦²à¦¿à¦‚ শà§à¦°à§ করà§à¦¨"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "ডিফলà§à¦Ÿ/সাধারণ (à¦à¦¡à¦¿à¦Ÿà¦°à§‡à¦° মতোই)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "পà§à¦²à§‡à§Ÿà¦¾à¦°à§‡ নতà§à¦¨ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ তৈরি করà§à¦¨à¥¤"
+
+#~ msgid "Load animation from disk."
+#~ msgstr "ডিসà§à¦• হতে অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ লোড করà§à¦¨à¥¤"
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "ডিসà§à¦• হতে à¦à¦•টি অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ লোড করà§à¦¨à¥¤"
+
+#~ msgid "Save the current animation"
+#~ msgstr "বরà§à¦¤à¦®à¦¾à¦¨ অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ সংরকà§à¦·à¦£ করà§à¦¨"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "উদà§à¦¦à§‡à¦¶à§à¦¯à¦¿à¦¤ বà§à¦²à§‡à¦¨à§à¦¡-à¦à¦° সময় সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#~ msgid "Copy Animation"
+#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨"
+
+#~ msgid "Fetching:"
+#~ msgstr "খà§à¦à¦œà§‡ আনার চেসà§à¦Ÿà¦¾ চলছে:"
+
+#~ msgid "prev"
+#~ msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€"
+
+#~ msgid "next"
#~ msgstr "পরবরà§à¦¤à§€"
+#~ msgid "last"
+#~ msgstr "শেষ"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "IK চেইন সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "মাউস পজিশন থেকে পিভট ডà§à¦°à§à¦¯à¦¾à¦— করà§à¦¨"
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "বহিঃ-বকà§à¦°à¦°à§‡à¦–ার সà§à¦¥à¦¾à¦¨ নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "রঙà§à¦—ের রâ€à§à¦¯à¦¾à¦®à§à¦ª বিনà§à¦¦à§ সংযোজন/বিয়োজন করà§à¦¨"
+
+#~ msgid "OK :("
+#~ msgstr "ঠিক আছে :("
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "StyleBox পà§à¦°à¦¿à¦­à¦¿à¦‰:"
+
+#, fuzzy
+#~ msgid "StyleBox"
+#~ msgstr "সà§à¦Ÿà¦¾à¦‡à¦²"
+
+#~ msgid "Separation:"
+#~ msgstr "বিচà§à¦›à§‡à¦¦:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "গঠনবিনà§à¦¯à¦¾à¦¸à§‡à¦° à¦à¦²à¦¾à¦•া à¦à¦¡à¦¿à¦Ÿà¦°"
+
+#~ msgid "Erase selection"
+#~ msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤à¦¸à¦®à§‚হ মà§à¦›à§‡ ফেলà§à¦¨"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "টাইলটি খà§à¦à¦œà§‡ পাওয়া যায়নি:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "আইটেমের নাম বা আইডি:"
+
+#, fuzzy
+#~ msgid "Autotiles"
+#~ msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ টà§à¦•রো"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "à¦à¦‡ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡à¦° জনà§à¦¯ দরকারি à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà¦—à§à¦²à¦¿ কà§à¦·à¦¤à¦¿à¦—à§à¦°à¦¸à§à¦¥ হয়েছে অথবা খà§à¦à¦œà§‡ পাওয়া "
+#~ "যাচà§à¦›à§‡ না: "
+
+#~ msgid "Button 7"
+#~ msgstr "বোতাম ৭"
+
+#~ msgid "Button 8"
+#~ msgstr "বোতাম ৮"
+
+#~ msgid "Button 9"
+#~ msgstr "বোতাম ৯"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করা বাতিল করà§à¦¨"
+
+#~ msgid "Clear!"
+#~ msgstr "পরিসà§à¦•ার করà§à¦¨!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Spatial দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "CanvasItem দৃশà§à¦¯à¦®à¦¾à¦¨à¦¤à¦¾ টগল করà§à¦¨"
+
+#~ msgid "Condition"
+#~ msgstr "শরà§à¦¤ (Condition)"
+
+#~ msgid "Sequence"
+#~ msgstr "কà§à¦°à¦® (Sequence)"
+
+#~ msgid "Switch"
+#~ msgstr "সà§à¦‡à¦š (Switch)"
+
+#~ msgid "Iterator"
+#~ msgstr "পà§à¦¨à¦°à§à¦•à§à¦¤à¦¿à¦•ারী (Iterator)"
+
+#~ msgid "While"
+#~ msgstr "যতকà§à¦·à¦£ (While)"
+
+#~ msgid "Return"
+#~ msgstr "ফেরৎ পাঠান (Return)"
+
+#~ msgid "Call"
+#~ msgstr "ডাকà§à¦¨ (Call)"
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "চলক/ভেরিয়েবল সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨:"
+
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "সংকেত/সিগনà§à¦¯à¦¾à¦² সমà§à¦ªà¦¾à¦¦à¦¨:"
+
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "অকারà§à¦¯à¦•র অà§à¦¯à¦¾à¦•শন ('/' বা ':' ছাড়া কিছà§à¦‡ যাবে না)।"
@@ -8577,9 +10138,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Can't write file."
#~ msgstr "টাইলটি খà§à¦à¦œà§‡ পাওয়া যায়নি:"
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "à¦à¦®à¦¨ à¦à¦•টি ফোলà§à¦¡à¦¾à¦° বাছাই করà§à¦¨ যেখানে 'project.godot' নামে কোন ফাইল নেই।"
-
#, fuzzy
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "পà§à¦°à¦•লà§à¦ªà§‡à¦° পথে engine.cfg তৈরি করা সমà§à¦­à¦¬ হয়নি।"
@@ -8705,9 +10263,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ "à¦à¦‡ sprite টি কারà§à¦¯à¦•র করতে path পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿à¦¤à§‡ নিরà§à¦§à¦¾à¦°à¦¿à¦¤ Viewport টি অবশà§à¦¯à¦‡ "
#~ "'render target' ঠনিরà§à¦§à¦¾à¦°à¦¿à¦¤ করতে হবে।"
-#~ msgid "Filter:"
-#~ msgstr "ফিলà§à¦Ÿà¦¾à¦°:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' à¦à¦° জনà§à¦¯ মেথডের তালিকা:"
@@ -8744,9 +10299,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "পà§à¦¨à¦°à¦¾à§Ÿ-ইমà§à¦ªà§‹à¦°à§à¦Ÿ করতে বরà§à¦¤à¦®à¦¾à¦¨ দৃশà§à¦¯à¦Ÿà¦¿à¦•ে অবশà§à¦¯à¦‡ সংরকà§à¦·à¦£ করতে হবে।"
-#~ msgid "Save & Re-Import"
-#~ msgstr "সংরকà§à¦·à¦£ à¦à¦¬à¦‚ পà§à¦¨-ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
-
#~ msgid "Re-Importing"
#~ msgstr "পà§à¦¨à¦°à¦¾à§Ÿ ইমà§à¦ªà§‹à¦°à§à¦Ÿ হচà§à¦›à§‡"
@@ -8771,10 +10323,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Can't move directories to within themselves."
#~ msgstr "সà§à¦¥à¦¾à¦¨à¦¸à¦®à§‚হকে তাদের মাà¦à§‡à¦‡ সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ নয়।"
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "ছবি লোডে সমসà§à¦¯à¦¾ হয়েছে:"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "নতà§à¦¨ নাম à¦à¦¬à¦‚ অবসà§à¦¥à¦¾à¦¨ বাছাই করà§à¦¨:"
@@ -8799,9 +10347,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Target path must exist."
#~ msgstr "উদà§à¦¦à§‡à¦¶à§à¦¯à¦¿à¦¤ পথটি অবশà§à¦¯à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨ হতে হবে।"
-#~ msgid "Save path is empty!"
-#~ msgstr "সংরকà§à¦·à¦£à§‡à¦° পথটি খালি!"
-
#~ msgid "Import BitMasks"
#~ msgstr "BitMasks ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨"
@@ -8915,15 +10460,9 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Max Angle"
#~ msgstr "সরà§à¦¬à§‡à¦¾à¦šà§à¦š কোণ"
-#~ msgid "Clips"
-#~ msgstr "কà§à¦²à¦¿à¦ªà¦¸à¦®à§‚হ"
-
#~ msgid "Start(s)"
#~ msgstr "আরমà§à¦­(সমূহ)"
-#~ msgid "End(s)"
-#~ msgstr "সমাপà§à¦¤à¦¿(সমূহ)"
-
#~ msgid "Filters"
#~ msgstr "ফিলà§à¦Ÿà¦¾à¦°à¦¸à¦®à§‚হ"
@@ -8954,18 +10493,12 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Target Texture Folder:"
#~ msgstr "গঠনবিনà§à¦¯à¦¾à¦¸à§‡à¦° উদà§à¦¦à§‡à¦¶à§à¦¯à¦¿à¦¤ ফোলà§à¦¡à¦¾à¦°:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾-পরবরà§à¦¤à§€ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "সà§à¦¬à¦¨à¦¿à¦°à§à¦®à¦¿à¦¤ মূল নোডের ধরণ:"
#~ msgid "Auto"
#~ msgstr "সà§à¦¬à§Ÿà¦‚কà§à¦°à¦¿à§Ÿ"
-#~ msgid "Root Node Name:"
-#~ msgstr "মূল নোডের নাম:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "নিমà§à¦¨à§‹à¦•à§à¦¤ ফাইলসমূহ অনà§à¦ªà¦¸à§à¦¥à¦¿à¦¤:"
@@ -9023,9 +10556,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "à¦à¦Ÿà¦²à¦¾à¦¸/মানচিতà§à¦°à¦¾à¦¬à¦²à§€à¦° জনà§à¦¯ গঠনবিনà§à¦¯à¦¾à¦¸ ইমà§à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨ (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "সেল (Cell)-à¦à¦° আকার:"
-
#~ msgid "Large Texture"
#~ msgstr "বৃহৎ গঠনবিনà§à¦¯à¦¾à¦¸"
@@ -9108,9 +10638,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Couldn't save converted texture:"
#~ msgstr "রূপানà§à¦¤à¦°à¦¿à¦¤ গঠনবিনà§à¦¯à¦¾à¦¸ সংরকà§à¦·à¦£ করা সমà§à¦­à¦¬ হচà§à¦›à§‡ না:"
-#~ msgid "Invalid source!"
-#~ msgstr "অকারà§à¦¯à¦•র উৎস!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "অকারà§à¦¯à¦•র অনà§à¦¬à¦¾à¦¦à§‡à¦° উৎস!"
@@ -9151,9 +10678,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Translation"
#~ msgstr "অনà§à¦¬à¦¾à¦¦"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "%d টি তà§à¦°à¦¿à¦­à§à¦œ বিশà§à¦²à§‡à¦·à¦£ করা হচà§à¦›à§‡:"
-
#~ msgid "Triangle #"
#~ msgstr "তà§à¦°à¦¿à¦­à§à¦œ #"
@@ -9179,24 +10703,12 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgstr ""
#~ "লাইটà§à¦®à§à¦¯à¦¾à¦ª ওকটà§à¦°à§€à¦° (octree) সিদà§à¦§/বেকà§â€Œ-à¦à¦° পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾à¦•রণ পà§à¦¨:সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨ (পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­)।"
-#~ msgid "Zoom (%):"
-#~ msgstr "জà§à¦®à§ (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "সà§à¦•েলেটন/কাঠাম..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "জà§à¦®à§ পà§à¦¨:সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨"
-
#~ msgid "Zoom Set..."
#~ msgstr "জà§à¦®à§ নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨..."
#~ msgid "Set a Value"
#~ msgstr "à¦à¦•টি মান নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª (পিকà§à¦¸à§‡à¦²à¦¸à¦®à§‚হ):"
-
#~ msgid "Parse BBCode"
#~ msgstr "BBCode বিশà§à¦²à§‡à¦·à¦£ করà§à¦¨"
@@ -9274,15 +10786,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Resource Tools"
#~ msgstr "রিসোরà§à¦¸-à¦à¦° সরঞà§à¦œà¦¾à¦®à¦¸à¦®à§‚হ"
-#~ msgid "Make Local"
-#~ msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ করà§à¦¨"
-
-#~ msgid "Edit Groups"
-#~ msgstr "গà§à¦°à§à¦ªà¦¸à¦®à§‚হ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
-
-#~ msgid "Edit Connections"
-#~ msgstr "সংযোগসমূহ সমà§à¦ªà¦¾à¦¦à¦¨ করà§à¦¨"
-
#, fuzzy
#~ msgid "Tiles"
#~ msgstr "ফাইল"
@@ -9413,9 +10916,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Ambient Light Color:"
#~ msgstr "অà§à¦¯à¦¾à¦®à§à¦¬à¦¿à§Ÿà§‡à¦¨à§à¦Ÿ লাইটের রঙ:"
-#~ msgid "Couldn't load image"
-#~ msgstr "ছবি লোড অসমà§à¦­à¦¬ হয়েছে"
-
#~ msgid "Invalid parent class name"
#~ msgstr "অভিভাবকের অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ কà§à¦²à¦¾à¦¸ নাম"
@@ -9431,9 +10931,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Parent class name is invalid!"
#~ msgstr "অভিভাবকের কà§à¦²à¦¾à¦¸ নাম অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯!"
-#~ msgid "Invalid path!"
-#~ msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ পথ!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr "Path à¦à¦° দিক অবশà§à¦¯à¦‡ à¦à¦•টি কারà§à¦¯à¦•র Particles2D à¦à¦° দিকে নিরà§à¦¦à§‡à¦¶ করাতে হবে।"
@@ -9534,9 +11031,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Delete Image Group"
#~ msgstr "ছবির গà§à¦°à§à¦ª অপসারণ করà§à¦¨"
-#~ msgid "Atlas Preview"
-#~ msgstr "à¦à¦Ÿà¦²à¦¾à¦¸/মানচিতà§à¦°à¦¾à¦¬à¦²à§€ পà§à¦°à¦¿à¦­à¦¿à¦‰"
-
#~ msgid "Project Export Settings"
#~ msgstr "পà§à¦°à¦•লà§à¦ª à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ-à¦à¦° সেটিংস"
@@ -9549,9 +11043,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Export all files in the project directory."
#~ msgstr "পà§à¦°à¦•লà§à¦ªà§‡à¦° পথে সকল ফাইল à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ করà§à¦¨à¥¤"
-#~ msgid "Action"
-#~ msgstr "পà§à¦°à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾/অà§à¦¯à¦¾à¦•শন"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "à¦à¦•à§à¦¸à¦ªà¦°à§à¦Ÿà§‡à¦° সময় টেকà§à¦¸à¦Ÿ দৃশà§à¦¯à¦—à§à¦²à§‹à¦•ে বাইনারিতে রà§à¦ªà¦¾à¦¨à§à¦¤à¦° করà§à¦¨à¥¤"
@@ -9579,9 +11070,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Compress Formats:"
#~ msgstr "ধরণসমূহ সংকোচন করà§à¦¨:"
-#~ msgid "Image Groups"
-#~ msgstr "ছবির গà§à¦°à§à¦ªà¦¸à¦®à§‚হ"
-
#~ msgid "Groups:"
#~ msgstr "গà§à¦°à§à¦ªà¦¸à¦®à§‚হ:"
@@ -9621,9 +11109,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "নমà§à¦¨à¦¾ রূপানà§à¦¤à¦° মোড: (.wav ফাইল):"
-#~ msgid "Keep"
-#~ msgstr "রাখà§à¦¨"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "সঙà§à¦•োচন (RAM - IMA-ADPCM)"
@@ -9666,9 +11151,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤"
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance কোনো BakedLight রিসোরà§à¦¸ ধারণ করে না।"
-#~ msgid "Fragment"
-#~ msgstr "ফà§à¦°à¦¾à¦—মেনà§à¦Ÿ"
-
#~ msgid "Lighting"
#~ msgstr "লাইটিং"
diff --git a/editor/translations/ca.po b/editor/translations/ca.po
index 085241296e..075b112224 100644
--- a/editor/translations/ca.po
+++ b/editor/translations/ca.po
@@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-06-08 03:41+0000\n"
+"PO-Revision-Date: 2018-07-26 12:25+0000\n"
"Last-Translator: Roger Blanco Ribera <roger.blancoribera@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/"
"godot/ca/>\n"
@@ -16,335 +16,490 @@ msgstr ""
"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.0\n"
+"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Desactivat"
+#: 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 "L'argument per a convert() no és vàlid, utilitzeu constants TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Tota la Selecció"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+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"
+msgstr ""
+
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "El nom de la propietat índex '%s' del node %s no és vàlid ."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "El nom de la propietat índex '%s' del node %s no és vàlid ."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argument no vàlid del tipus: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Allibera"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Replica en l'eix X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Insereix una clau"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplica la Selecció"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Elimina Seleccionats"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Duplica les Claus"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Esborra les Claus"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Modifica el temps de la clau"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Modifica la Transició d'Animació"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Modifica la Transformació de l'Animació"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Modifica el valor de la clau"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Modifica la Crida"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Afegeix una Pista"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Propietat:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Duplica les Claus"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Tipus de Transformació"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Mou la Pista Amunt"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Mou la Pista Avall"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Treu la Pista"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Aturar la reproducció de l'animació. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Afegeix una Pista"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Estableix les Transicions com :"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Durada de l'Animació (en segons)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Reanomena la Pista"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom de l'animació."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Modifica l'Interpolació de la Pista"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funcions:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Modifica el Valor del Mode de Pista"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Receptor d'Àudio"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Modifica el Valor del Mode d'Ajustament de Pista"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Clips"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Edita la Corba del Node"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Mode Lliure de Distraccions."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Edita la Corba de Selecció"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Esborra les Claus"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Node d'Animació"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplica la Selecció"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplica'l Transposat"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Treu la pista seleccionada."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Treu la Selecció"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Durada de la fosa (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Continu"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discret"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Activador"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Afegeix una Clau"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Mou les Claus"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Escala la Selecció"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Escala amb el Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Vés al Pas Següent"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Característiques"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Vés al Pas Anterior"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineal"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constant"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Entrada"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Sortida"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Entrada-Sortida"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Sortida-Entrada"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Insereix una clau"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transicions"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplica els Nodes"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimitza l'Animació"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Elimina els Nodes"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Poleix l'Animació"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Treu la Pista"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Voleu crear una NOVA pista per a %s i inserir-hi una clau?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Voleu crear %d NOVES pistes i inserir-hi claus?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Crea"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Insereix una Animació"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Crea i Insereix"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Insereix una Pista i una Clau"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Insereix una Clau"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Modifica la durada"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Modifica el bucle de l'Animació"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Crea una Clau de Valor Tipat"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Insereix una Animació"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "Variable Get no trobada en l'Script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Mou les Claus"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "El porta-retalls és buit!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Escala les Claus"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Afegeix una Pista de Crida"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom de l'animació."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Durada (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Durada de l'Animació (en segons)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Pas (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Pas del cursor (s)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "L'arbre d'animació és vàlid."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Activa/Desactiva el bucle de l'animació."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Edita"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Afegeix noves pistes."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Arbre d'Animació"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Mou amunt."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copia els Paràmetres"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Mou avall."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Enganxa els Paràmetres"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Treu la pista seleccionada."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Escala la Selecció"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Escala amb el Cursor"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplica la Selecció"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplica'l Transposat"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Elimina Seleccionats"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Eines de Pista"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Vés al Pas Següent"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Edició individual de claus en clicar-hi."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Vés al Pas Anterior"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimitza l'Animació"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Poleix l'Animació"
+
+#: 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 "Anim. Optimizer"
msgstr "Optimitzador d'Animació"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Error Lineal Max.:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Error Angular Max.:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max. Angle Optimitzable:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimitza"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Selecciona un AnimationPlayer a l'Arbre de l'Escena per editar-ne l'animació."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Clau"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transició"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Relació d'Escala:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Voleu cridar les Funcions en el Node \"Which\"?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Treu claus no vàlides"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Treu les pistes buides i/o sense resoldre"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Poleix totes les animacions"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Poleix les Animacions (No es pot desfer!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Poleix"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Relació d'Escala:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copia"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Redimensiona la Matriu"
@@ -365,7 +520,7 @@ msgstr "Vés a la Línia"
msgid "Line Number:"
msgstr "Línia:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Cap Coincidència"
@@ -381,7 +536,7 @@ msgstr "Distingeix entre majúscules i minúscules"
msgid "Whole Words"
msgstr "Paraules senceres"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Reemplaça"
@@ -393,18 +548,28 @@ msgstr "Reemplaça-hoTot"
msgid "Selection Only"
msgstr "Selecció Només"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Apropa"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Allunya"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Reinicia el Zoom"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Avisos"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Apropa"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Línia:"
@@ -436,7 +601,8 @@ msgid "Add"
msgstr "Afegeix"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -467,7 +633,7 @@ msgid "Oneshot"
msgstr "Un sol cop"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -489,11 +655,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Connecta '%s' amb '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Connectant Senyal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Desconnecta '%s' de '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Desconnecta '%s' de '%s'"
#: editor/connections_dialog.cpp
@@ -501,14 +668,48 @@ msgid "Connect..."
msgstr "Connecta..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Desconnecta"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Connectant Senyal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Error en la connexió"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Esteu segur que voleu executar més d'un projecte de cop?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Senyals"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Desconnecta"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Edita"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Mètodes"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Modifica el Tipus de %s"
@@ -531,22 +732,25 @@ msgstr "Favorits:"
msgid "Recent:"
msgstr "Recents:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cerca:"
#: editor/create_dialog.cpp editor/editor_help.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 "Coincidències:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Descripció:"
@@ -608,7 +812,9 @@ msgstr "Cerca Recurs Reemplaçant:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Obre"
@@ -630,7 +836,7 @@ msgstr ""
"Els fitxers seleccionats són utilitzats per altres recursos.\n"
"Voleu Eliminar-los de totes maneres? (No es pot desfer!)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "No es pot eliminar:"
@@ -698,9 +904,13 @@ msgstr "Modifica Valor del Diccionari"
msgid "Thanks from the Godot community!"
msgstr "Gràcies de la part de la Comunitat del Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Gràcies!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "D'acord"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -877,6 +1087,7 @@ msgid "Bus options"
msgstr "Opcions del Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplica"
@@ -945,7 +1156,8 @@ msgstr "Afegeix Bus"
msgid "Create a new Bus Layout."
msgstr "Crea un nou Disseny de Bus."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Carrega"
@@ -955,7 +1167,6 @@ msgid "Load an existing Bus Layout."
msgstr "Carrega un Disseny de Bus existent."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Anomena i Desa"
@@ -998,22 +1209,6 @@ msgstr ""
"existents."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Camí no vàlid."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "El Fitxer no existeix."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Fora del camí dels recursos."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Afegeix AutoCàrrega"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "l'AutoCàrrega '%s' ja existeix!"
@@ -1041,6 +1236,22 @@ msgstr "Activa"
msgid "Rearrange Autoloads"
msgstr "Reorganitza AutoCàrregues"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Camí no vàlid."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "El Fitxer no existeix."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Fora del camí dels recursos."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Afegeix AutoCàrrega"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1071,7 +1282,7 @@ msgstr "Emmagatzemant canvis locals..."
msgid "Updating scene..."
msgstr "S'està actualitzant l'escena..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[buit]"
@@ -1133,6 +1344,12 @@ msgid "Copy Path"
msgstr "Copia Camí"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Mostra en el Gestor de Fitxers"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Mostra en el Gestor de Fitxers"
@@ -1169,7 +1386,7 @@ msgid "Open a File or Directory"
msgstr "Obre un Fitxer o Directori"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Desa"
@@ -1222,7 +1439,8 @@ msgstr "Vés al directori principal"
msgid "Directories & Files:"
msgstr "Directoris i Fitxers:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Vista prèvia:"
@@ -1374,20 +1592,28 @@ msgstr ""
"Aquest mètode no disposa de cap descripció. Podeu contribuir [color=$color]"
"[url=$url] tot aportant-ne una[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Cerca Text"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Propietat:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Troba"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Estableix"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Sortida:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1409,11 +1635,6 @@ msgstr "Error en desar recurs!"
msgid "Save Resource As..."
msgstr "Anomena i Desa el Recurs..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Vaja..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "No s'ha pogut escriure en el fitxer:"
@@ -1426,9 +1647,9 @@ msgstr "Format de fitxer desconegut:"
msgid "Error while saving."
msgstr "Error en desar."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "No es pot obrir '%s' ."
+#: 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'."
@@ -1471,10 +1692,6 @@ msgstr ""
"les dependències (instàncies o herències)."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "No s'ha pogut carregar el recurs."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "No s'ha pogut carregar MeshLibrary per combinar les dades!!"
@@ -1553,42 +1770,6 @@ msgstr ""
"Referiu-vos a la documentació rellevant sobre la Depuració de codi."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Expandeix totes les propietats"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Col·lapsa totes les propietats"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copia els Paràmetres"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Enganxa els Paràmetres"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Enganxa el Recurs"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copia el Recurs"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Crea'l Integrat"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Crea SubRecurs Únic"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Obre dins l'Ajuda"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "No s'ha definit cap escena per executar."
@@ -1788,11 +1969,6 @@ msgstr ""
"En ser importada automàticament, l'escena '%s' no es pot modificar. Per fer-"
"hi canvis, creeu una nova escena heretada."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Uf..."
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1823,6 +1999,16 @@ msgid "Default"
msgstr "Predeterminat"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Reprodueix Escena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Tanca les altres pestanyes"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Mou-te entre les pestanyes d'Escena"
@@ -1944,10 +2130,6 @@ msgstr "Projecte"
msgid "Project Settings"
msgstr "Configuració del Projecte"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Executa Script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exporta"
@@ -1957,6 +2139,11 @@ msgid "Tools"
msgstr "Eines"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Obre el Gestor de Projectes?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Surt a la Llista de Projectes"
@@ -2068,6 +2255,20 @@ msgstr "Disseny de l'Editor"
msgid "Toggle Fullscreen"
msgstr "Mode Pantalla Completa"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Configuració de l'Editor"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Configuració de l'Editor"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gestor de Plantilles d'Exportació"
@@ -2083,7 +2284,8 @@ msgstr "Classes"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Cerca"
@@ -2127,7 +2329,7 @@ msgstr "Pausa Escena"
msgid "Stop the scene."
msgstr "Atura l'escena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Atura"
@@ -2148,6 +2350,16 @@ msgid "Play Custom Scene"
msgstr "Reprodueix Escena Personalitzada"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Desa i ReImporta"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Gira i Gira mentre l'editor es repinta!"
@@ -2167,42 +2379,6 @@ msgstr "Desactiva l'Indicador d'Actualització"
msgid "Inspector"
msgstr "Inspector"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Crea un nou recurs en memòria i edita'l."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Carrega un recurs des del disc i edita'l."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Desa el recurs editat ara."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Anomena i Desa..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Vés a l'anterior objecte editat de l'historial."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Vés al següent objecte editat de l'historial."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historial d'objectes editats recentment."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Propietats de l'objecte."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Es podrien perdre els canvis!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2217,6 +2393,11 @@ msgid "FileSystem"
msgstr "Sistema de Fitxers"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Expandir tot"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Sortida"
@@ -2293,19 +2474,24 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Edita Polígon"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Connectors Instal·lats:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Actualitza"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versió:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2313,13 +2499,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Estat:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Atura Perfilació"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Edita"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Comença Perfilació"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Inicia!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2365,6 +2554,105 @@ msgstr "Temps"
msgid "Calls"
msgstr "Crides"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Activat"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, valor %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Buit]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Assigna"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Selecciona una Vista"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Script Nou"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Nou %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Fes-lo Únic"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Mostra'l en el Sistema de Fitxers"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Enganxa"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Converteix a %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Obre en l'Editor"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "El Node seleccionat no és una Vista!"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Size: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Nou nom:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nou nom:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Elimina Element"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Selecciona un dispositiu de la llista"
@@ -2401,10 +2689,6 @@ msgstr "No s'ha pogut executar l'Script:"
msgid "Did you forget the '_run' method?"
msgstr "Podria mancar el mètode '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Predeterminat (Idèntic a l'Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecciona Node(s) per Importar"
@@ -2430,6 +2714,7 @@ msgid "(Installed)"
msgstr "(Instal·lat)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Baixa"
@@ -2454,7 +2739,8 @@ msgid "Can't open export templates zip."
msgstr "No s'ha pogut obrir el zip amb les plantilles d'exportació."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "El format de version.txt dins de les plantilles no és vàlid."
#: editor/export_template_manager.cpp
@@ -2516,6 +2802,12 @@ msgid "Download Complete."
msgstr "Baixada Completa."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Error en la sol·licitud de l'url: "
@@ -2594,7 +2886,8 @@ msgid "Download Templates"
msgstr "Baixa plantilles"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Selecciona una rèplica: "
#: editor/file_type_cache.cpp
@@ -2608,11 +2901,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "No es pot accedir a '%s'. No es troba en el sistema de fitxers!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Visualitza en una graella de miniatures"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Visualitza en una llista"
#: editor/filesystem_dock.cpp
@@ -2683,7 +2978,7 @@ msgstr "Expandir tot"
msgid "Collapse all"
msgstr "Col·lapsar tot"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Reanomena..."
@@ -2712,6 +3007,23 @@ msgid "Duplicate..."
msgstr "Duplica..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Script Nou"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Anomena i Desa el Recurs..."
+
+#: 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 "Reanomena"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Directori Anterior"
@@ -2724,27 +3036,140 @@ msgid "Re-Scan Filesystem"
msgstr "ReAnalitza Sistema de Fitxers"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Modifica l'estat del directori com a Favorit"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Selecciona la sub-tessel·la en edició."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instancia les escenes seleccionades com a filles del node seleccionat."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Cerca Classes"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr "Analitzant Fitxers..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Mou"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Reanomena"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Ja hi ha un directori amb el mateix nom en aquest camí."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Crea un Script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Cerca Tessel·la"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Troba"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Paraules senceres"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Distingeix entre majúscules i minúscules"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtre:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Cerca..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Substitueix..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Reemplaça"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Reemplaça-hoTot"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Desant..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Cerca Text"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERROR: Ja existeix aquest nom d'Animació!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nom no vàlid."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grups"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Afegeix al Grup"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtre els Nodes"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Afegeix al Grup"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2754,6 +3179,11 @@ msgstr "Afegeix al Grup"
msgid "Remove from Group"
msgstr "Treu del Grup"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grups"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importar com a Única Escena"
@@ -2795,7 +3225,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importar com a Múltiples Escenes+Materials"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importa Escena"
@@ -2855,18 +3285,131 @@ msgstr "Configuració..."
msgid "Reimport"
msgstr "ReImportar"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "No s'ha pogut carregar el recurs."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "D'acord"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Expandeix totes les propietats"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Col·lapsa totes les propietats"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Anomena i Desa..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copia els Paràmetres"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Enganxa els Paràmetres"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "El porta-retalls de Recursos és buit!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copia el Recurs"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Crea'l Integrat"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Crea SubRecurs Únic"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Obre dins l'Ajuda"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Crea un nou recurs en memòria i edita'l."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Carrega un recurs des del disc i edita'l."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Vés a l'anterior objecte editat de l'historial."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Vés al següent objecte editat de l'historial."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Historial d'objectes editats recentment."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Propietats de l'objecte."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtre els Nodes"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Es podrien perdre els canvis!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Establir MultiNode"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grups"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Seleccioneu un Node per editar Senyals i Grups."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Edita Polígon"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Crea una solució en C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Connectors"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Llengua"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "L'Script és vàlid"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2912,6 +3455,149 @@ msgstr ""
msgid "Delete points"
msgstr "Elimina els Punts"
+#: 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 "Afegeix una Animació"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Carrega"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Elimina els Punts"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Clic Dret: Eliminar un Punt."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Mou el Punt"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Node d'Animació"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "L'Acció '%s' ja existeix!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Alinea"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Edita Filtres"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Afegeix un Node"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Edita Filtres"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Fills Editables"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Reproducció Automàtica"
@@ -2938,11 +3624,13 @@ msgid "Remove Animation"
msgstr "Eliminar l'Animació"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERROR: El Nom de l'Animació no és vàlid!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERROR: Ja existeix aquest nom d'Animació!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2951,11 +3639,6 @@ msgid "Rename Animation"
msgstr "Reanomena l'Animació"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Afegeix una Animació"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Mesclar Següent Canviat"
@@ -2972,11 +3655,13 @@ msgid "Duplicate Animation"
msgstr "Duplica l'Animació"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERROR: Cap animació per copiar!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERROR: Cap recurs d'animació al porta-retalls!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2988,7 +3673,8 @@ msgid "Paste Animation"
msgstr "Enganxa l'Animació"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERROR: Cap animació per editar!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3021,20 +3707,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Escalar globalment la reproducció de l'animació pel node."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Crea una nova animació en el reproductor."
+msgid "Animation Tools"
+msgstr "Eines d'Animació"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animació"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Carrega un animació del del disc."
+msgid "New"
+msgstr "Nou"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Carrega una animació des del disc."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Transicions"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Desar l'animació actual"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Obre en l'Editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3045,18 +3738,6 @@ msgid "Autoplay on Load"
msgstr "Reproducció Automàtica en Carregar"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Edita els Temps de Mescla dels Objectius"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Eines d'Animació"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copiar l'Animació"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Efecte Paper Ceba"
@@ -3105,6 +3786,11 @@ msgid "Include Gizmos (3D)"
msgstr "Inclou Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Enganxa l'Animació"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Crea una Nova Animació"
@@ -3114,6 +3800,7 @@ msgstr "Nom de l'Animació:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3131,161 +3818,214 @@ msgstr "Següent (Enviar a la Cua):"
msgid "Cross-Animation Blend Times"
msgstr "Temps de mescla entre Animacions"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animació"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Final/s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Fora del camí dels recursos."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Crea Nou %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Connecta els Nodes"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Treu la pista seleccionada."
+
+#: 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 "Transició"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "Arbre d'Animació"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nou nom:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Edita Filtres"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Escala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fosa d'entrada (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fosa de sortida (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Mescla"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mesclar"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Reinici automàtic :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Reinici (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Reinici aleatori (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Inicia!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Quantitat:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Mescla:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Mescla 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Mescla 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Durada de la fosa (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Actual:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Afegeix una Entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Neteja l'Autoavenç"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Estableix l'Autoavenç"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Elimina l'Entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "L'arbre d'animació és vàlid."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "L'arbre d'animació no és vàlid."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Node d'Animació"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Node unSolCop"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Node de Mescla"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Node Mescla2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Node Mescla3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Node Mescla4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Node escalaTemps"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Node cercaTemps"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Node de Transició"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importa animacions..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Edita els filtres de Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtres..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "Arbre d'Animació"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Allibera"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Continguts:"
@@ -3339,8 +4079,14 @@ msgid "Asset Download Error:"
msgstr "Error en la baixada de l'Actiu:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Recollida:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "S'esta descarrengant"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "S'esta descarrengant"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3367,20 +4113,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Ja s'està baixant aquest actiu!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "Inici"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "anterior"
+#, fuzzy
+msgid "Previous"
+msgstr "Pestanya Anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "següent"
+msgid "Next"
+msgstr "Següent"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "darrer"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3455,7 +4203,7 @@ msgid "Bake Lightmaps"
msgstr "Precalcular Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Previsualització"
@@ -3464,12 +4212,10 @@ msgid "Configure Snap"
msgstr "Configura l'Alineament"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "òfset de la graella:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Pas de la Graella:"
@@ -3482,14 +4228,6 @@ msgid "Rotation Step:"
msgstr "Pas de la Rotació:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Mou el Pivot"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Mou l'Acció"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Mou la guia vertical"
@@ -3518,11 +4256,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Crea una guia horitzontal i vertical noves"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Edita la Cadena CI"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Mou el Pivot"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Modifica el elementCanvas"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Mou l'Acció"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Modifica el elementCanvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Modifica el elementCanvas"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3542,6 +4297,21 @@ msgid "Paste Pose"
msgstr "Enganxa Positura"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Allunya"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Allunya"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Apropa"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Mode de selecció"
@@ -3589,7 +4359,8 @@ msgid "Pan Mode"
msgstr "Mode d'Escombratge lateral"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Activa/Desactiva Alineament"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3597,7 +4368,8 @@ msgid "Use Snap"
msgstr "Alinea"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opcions d'Alineament"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3638,6 +4410,11 @@ msgid "Snap to node sides"
msgstr "Alinea-ho amb els costats del node"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Alinea-ho amb el node d'ancoratge"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Alinea-ho amb altres nodes"
@@ -3664,14 +4441,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Permet la selecció de nodes fills."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Crea els ossos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Esborra els Ossos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Mostra els Ossos"
@@ -3684,6 +4453,15 @@ msgid "Clear IK Chain"
msgstr "Esborra la cadena CI"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Esborra els Ossos"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Vista"
@@ -3726,14 +4504,11 @@ msgid "Layout"
msgstr "Desar Disseny"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Insereix Claus"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Insereix una clau"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Insereix una Clau (Pistes existents)"
@@ -3746,14 +4521,6 @@ msgid "Clear Pose"
msgstr "Reestableix la Postura"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Arrossega el pivot des de l la posició del ratolí"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Estableix el pivot a la posició del ratolí"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multiplica l'increment de la graella per 2"
@@ -3769,10 +4536,6 @@ msgstr "Afegeix %s"
msgid "Adding %s..."
msgstr "Afegint %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "D'acord"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "No es poden instanciar múltiples nodes sense cap arrel."
@@ -3807,27 +4570,20 @@ msgstr "Crea un Poly3D"
msgid "Set Handle"
msgstr "Estableix la Nansa"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Elimina l'element %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Afegeix un Element"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Elimina l'Element Seleccionat"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partícules"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importa des de l'Escena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Crea Punts d'Emissió des d'una Malla"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Actualitza des de l'Escena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Crea Punts d'Emissió des d'un Node"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3897,15 +4653,6 @@ msgstr "Prem Maj. per editar les tangents individualment"
msgid "Bake GI Probe"
msgstr "Precalcula la Sonda d'IG"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Afegeix/Elimina un Punt en la Rampa de Color"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modifica la Rampa de Color"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Element %d"
@@ -3991,6 +4738,7 @@ msgid "No mesh to debug."
msgstr "Cap malla per depurar."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "El model no té UVs en aquesta capa"
@@ -4058,6 +4806,27 @@ msgstr "Crea la Malla de Contorn"
msgid "Outline Size:"
msgstr "Mida del Contorn:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Elimina l'element %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Afegeix un Element"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Elimina l'Element Seleccionat"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importa des de l'Escena"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Actualitza des de l'Escena"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Manca una malla d'origen (ni s'ha establert cap MultiMesh en el node)."
@@ -4158,70 +4927,6 @@ msgstr "Escala aleatòria:"
msgid "Populate"
msgstr "Omple"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Calcula!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Precalcula la malla de navegació."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Reestableix la malla de navegació."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Establint la Configuració..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Calculant la mida de la graella..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Creant un camp de desplaçaments verticals..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Marcant els triangles transitables..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Construcció d'un camp compacte de desplaçaments verticals..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Erosionant l'àrea transitable..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Establint Particions..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Creant els contorns..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "creant la polyMesh..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Convertint-ho en una malla de navegació nativa..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Configuració del Generador de Malles de Navegació:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Analitzant la Geometria..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Fet!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Crea un Polígon de Navegació"
@@ -4282,18 +4987,6 @@ msgid "Emission Colors"
msgstr "Colors d'Emissió"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "El Node no conté cap geometria."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "El Node no conté cap geometria (cares)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Un material processador de tipus 'ParticlesMaterial' és obligatori."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Les Cares no tenen àrea!"
@@ -4302,16 +4995,12 @@ msgid "No faces!"
msgstr "Cap Cara!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Genera AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Crea Punts d'Emissió des d'una Malla"
+msgid "Node does not contain geometry."
+msgstr "El Node no conté cap geometria."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Crea Punts d'Emissió des d'un Node"
+msgid "Node does not contain geometry (faces)."
+msgstr "El Node no conté cap geometria (cares)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4338,6 +5027,19 @@ msgid "Emission Source: "
msgstr "Font d'Emissió: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Un material processador de tipus 'ParticlesMaterial' és obligatori."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Genera AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Converteix en majúscules"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Genera un AABB de Visibilitat"
@@ -4414,6 +5116,22 @@ msgstr "Elimina el Punt"
msgid "Close Curve"
msgstr "Tanca la Corba"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opcions"
+
+#: 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 "Punt num. # de la Corba"
@@ -4446,19 +5164,95 @@ msgstr "Elimina el Punt Out-Control"
msgid "Remove In-Control Point"
msgstr "Elimina el Punt In-Control"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Mou el Punt"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Mostra els Ossos"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Crea un Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Crea Polígon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "L'Acció '%s' ja existeix!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Afegeix un punt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Camí no vàlid"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Elimina el punt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transforma el Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Editor d'UVs de Polígons 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Edita Polígon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Parteix el Camí"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Crea els ossos"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Crea Polígon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Mou el Punt"
@@ -4487,12 +5281,25 @@ msgid "Scale Polygon"
msgstr "Escala el Polígon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Edita"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Cal seleccionar un Element!"
+
+#: 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 "Polygon->UV"
@@ -4507,9 +5314,9 @@ msgid "Clear UV"
msgstr "Esborra UVs"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Alinea"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Configuració del GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4519,6 +5326,36 @@ msgstr "Activa l'Alineament"
msgid "Grid"
msgstr "Graella"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configura l'Alineament"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "òfset de la graella:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "òfset de la graella:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Pas de la Graella:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Pas de la Graella:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Escala el Polígon"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "Error: No es pot carregar el recurs!"
@@ -4541,6 +5378,10 @@ msgid "Resource clipboard is empty!"
msgstr "El porta-retalls de Recursos és buit!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Enganxa el Recurs"
+
+#: 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"
@@ -4562,16 +5403,18 @@ msgid "Load Resource"
msgstr "Carrega un Recurs"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Enganxa"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "ResourcePreloader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "L'arbre d'animació no és vàlid."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Buida la llista de Fitxers recents"
@@ -4581,6 +5424,21 @@ msgid "Close and save changes?"
msgstr "Tancar i desar els canvis?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Error en desar TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Error - No s'ha pogut crea l'Script en el sistema de fitxers."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Error en desar el TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Error en desar el tema"
@@ -4597,6 +5455,21 @@ msgid "Error importing"
msgstr "Error en importar"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nou Directori..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Obre un Fitxer"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Anomena i Desa..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importa un Tema"
@@ -4609,6 +5482,10 @@ msgid " Class Reference"
msgstr " Referència de Classe"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordena"
@@ -4637,8 +5514,9 @@ msgid "File"
msgstr "Fitxer"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nou"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Visualitza Fitxers"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4665,6 +5543,11 @@ msgid "History Next"
msgstr "Següent en l'Historial"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Recarrega el Tema"
@@ -4698,11 +5581,6 @@ msgstr "Panell d'Scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Cerca..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Cerca el Següent"
@@ -4756,10 +5634,6 @@ msgid "Discard"
msgstr "Descarta'l"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Crea un Script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4780,6 +5654,16 @@ msgid "Debugger"
msgstr "Depurador"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Cerca Ajuda"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Cerca Classes"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4787,40 +5671,56 @@ msgstr ""
"carregada"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Línia:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Només s'hi poden deixar caure Recursos del sistema de fitxers."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Completa el Símbol"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Tria un Color"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Converteix Majúscules"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Majúscules"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Minúscula"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Converteix a Majúscules"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Talla"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copia"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4908,8 +5808,9 @@ msgid "Find Previous"
msgstr "Cerca l'Anterior"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Substitueix..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrat de Fitxers..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4927,129 +5828,42 @@ msgstr "Ajuda Contextual"
msgid "Shader"
msgstr "Ombreig"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Modificar una constant escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Modificar una constant vectorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Modificar una constant RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Modifica un operador escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Modifica un operador vectorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Modifica un operador vectorial- escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Modifica un operador RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "només Rotacio"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Modifica una Funció Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Modifica una Funció Vectorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Modificar un Uniforme Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Modifica un Uniforme Vectorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Modifica un Uniforme RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Modifica el Valor per Defecte"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Modifica el Uniforme XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Modifica un Uniforme Textura"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Modifica un Uniforme 'CubeMap'"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Modifica el Comentari"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Afegeix/Elimina-ho de la Rampa de Colors"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Afegeix/Ellimina-ho del Mapa de Corbes"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Modifica el Mapa de Corbes"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Modifica el Nom de l'Entrada"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Connecta els Nodes de Graf"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Desconnecta el Nodes de Graf"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Elimina el Node de Graf d'Ombreig"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Mou el Node de Graf d'Ombreig"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Duplica el(s) Node(s) de Graf"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Elimina el(s) Node(s) de Graf d'Ombreig"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Crea un malla de Navegació"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Error: Enllaç de Connexió Cíclic"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Error: Manquen les Connexions d'Entrada"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Crea una solució en C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Afegeix un Node de Graf d'Ombreig"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Reprodueix"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5176,10 +5990,6 @@ msgid "Align with view"
msgstr "Alinea amb la Vista"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Buenu, pos molt bé, pos adiós... :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "No hi ha cap node Pare per instanciar-li un fill."
@@ -5188,6 +5998,11 @@ msgid "This operation requires a single selected node."
msgstr "Aquesta operació requereix un únic node seleccionat."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Mostra la Informació"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Mostra les Normals"
@@ -5232,6 +6047,11 @@ msgid "Doppler Enable"
msgstr "Activa Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Creant Previsualitzacions de Malles"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Vista Lliure Esquerra"
@@ -5362,6 +6182,11 @@ msgid "Tool Scale"
msgstr "Eina d'Escala"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Alinea-ho amb la graella"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Vista Lliure"
@@ -5370,6 +6195,10 @@ msgid "Transform"
msgstr "Transforma"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Diàleg de Transformació..."
@@ -5398,6 +6227,11 @@ msgid "4 Viewports"
msgstr "4 Vistes"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Mostra els Gizmos"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Mostra l'Origen"
@@ -5411,10 +6245,6 @@ msgid "Settings"
msgstr "Configuració"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Visibilitat del giny esquelet"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Configuració de l'Alineament"
@@ -5474,6 +6304,52 @@ msgstr "Pre"
msgid "Post"
msgstr "Post"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "El camí per desar és buit!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Converteix a %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Crea la Malla de Contorn"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Previsualització"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Configuració"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "Error: No s'ha trobat el recurs de fotogrames!"
@@ -5542,14 +6418,6 @@ msgstr "Mou (Després)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "Previsualització del StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Defineix la Regió Rectangular"
@@ -5575,28 +6443,22 @@ msgid "Auto Slice"
msgstr "Auto Tall"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "òfset:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Pas:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Separació:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Regió de Textura"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Editor de Regions de Textura"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "No es pot desar el Tema:"
@@ -5610,11 +6472,6 @@ msgid "Add All"
msgstr "Afegeix-ho Tot"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Elimina Element"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Treu tots els Elements"
@@ -5686,10 +6543,6 @@ msgstr "Té"
msgid "Many"
msgstr "Molts"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opcions"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Té,Moltes,Opcions"
@@ -5714,7 +6567,7 @@ msgstr "Tipus de Dades:"
msgid "Icon"
msgstr "Icona"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Estil"
@@ -5727,14 +6580,19 @@ msgid "Color"
msgstr "Color"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+msgid "Constant"
+msgstr "Constant"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Elimina la Selecció"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nom no vàlid."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Pinta el TileMap"
@@ -5755,11 +6613,8 @@ msgid "Erase TileMap"
msgstr "Elimina el TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Elimina la Selecció"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Cerca Tessel·la"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5783,6 +6638,11 @@ msgid "Pick Tile"
msgstr "Tria un Tessel·la"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Treu la Selecció"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Gira-ho 0 graus"
@@ -5799,68 +6659,123 @@ msgid "Rotate 270 degrees"
msgstr "Gira-ho 270 graus"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "No s'ha trobat la tessel·la:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Afegeix Nodes des d'Arbre"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nom o ID de l'Element:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Elimina l'entrada actual"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Crear-ho a partir de l'escena?"
+msgid "Create from Scene"
+msgstr "Crea-ho a partir de l'Escena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Combinar-ho a partir de l'escena?"
+msgid "Merge from Scene"
+msgstr "Combina-ho a partir de l'Escena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Selecciona una sub-tessel·la com a icona. També s'utilitzarà per les "
+"assignacions automàtiques no-vàlides de l'autotile."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Crea-ho a partir de l'Escena"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Combina-ho a partir de l'Escena"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Error"
+#: 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 "Autotiles"
-msgstr "AutoTiles"
+msgid "Create from scene?"
+msgstr "Crear-ho a partir de l'escena?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr "Combinar-ho a partir de l'escena?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Selecciona una sub-tessel·la com a icona. També s'utilitzarà per les "
-"assignacions automàtiques no-vàlides de l'autotile."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"clic Esquerra: activa el bit\n"
"clic Dreta: desactiva el bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Selecciona la sub-tessel·la en edició."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Selecciona una sub-tessel·la com a icona. També s'utilitzarà per les "
+"assignacions automàtiques no-vàlides de l'autotile."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Selecciona una sub-tessel·la per a modificar-ne la prioritat."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Cancel·la"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Aquesta operació no pot dur-se a terme sense cap escena."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Tile Set"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vèrtexs"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "Arguments:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Dreta"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Ombreig"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5875,9 +6790,8 @@ msgid "Delete preset '%s'?"
msgstr "Esborrar la configuració '%s' ?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr ""
-"Manquen les Plantilles d'Exportació per aquesta plataforma o s'han malmès: "
+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 "Presets"
@@ -5954,10 +6868,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Manquen les plantilles d'exportació per aquesta plataforma:"
#: 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 With Debug"
msgstr "Exporta en mode Depuració"
@@ -5966,14 +6876,25 @@ msgid "The path does not exist."
msgstr "El camí no existeix."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Selecciona un fitxer 'projecte.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+"Seleccioneu un directori que no contingui ja un fitxer 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Selecciona un directori buit."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Selecciona un fitxer 'projecte.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Project importat"
@@ -6062,6 +6983,11 @@ msgid "Project Path:"
msgstr "Camí del Projecte:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Camí del Projecte:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Navega"
@@ -6180,9 +7106,10 @@ msgid "Mouse Button"
msgstr "Botó del ratolí"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Nom d'acció no vàlid. No pot estar buit ni contenir '/', ':', '=', '\\' o "
"'\"'."
@@ -6196,9 +7123,23 @@ msgid "Rename Input Action Event"
msgstr "Reanomena la Incidència de l'Acció d'Entrada"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Modifica el Nom de l'Animació:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Afegeix un Incidència d'Acció de Entrada"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Dispositiu"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Dispositiu"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Maj +"
@@ -6240,20 +7181,24 @@ msgid "Wheel Down Button"
msgstr "Botó Roda Avall"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Botó 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Botó Roda Amunt"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Botó 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Botó Dret"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Botó 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Botó 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Botó 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Botó 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6280,10 +7225,6 @@ msgid "Add Event"
msgstr "Afegeix una Incidència"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Dispositiu"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Botó"
@@ -6328,6 +7269,14 @@ msgid "Delete Item"
msgstr "Esborra l'Element"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Nom d'acció no vàlid. No pot estar buit ni contenir '/', ':', '=', '\\' o "
+"'\"'."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Ja existeix"
@@ -6399,6 +7348,10 @@ msgstr "Propietat:"
msgid "Override For..."
msgstr "Substitutiu per a..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Mapa d'Entrades"
@@ -6408,6 +7361,15 @@ msgid "Action:"
msgstr "Acció:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Acció:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Dispositiu:"
@@ -6468,10 +7430,6 @@ msgid "AutoLoad"
msgstr "Càrrega Automàtica"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Selecciona una Vista"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Entrada lenta"
@@ -6508,34 +7466,10 @@ msgid "Select Node"
msgstr "Selecciona un Node"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Script Nou"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Nou %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Fes-lo Únic"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Mostra'l en el Sistema de Fitxers"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Converteix a %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "S'ha produït un error en llegir el fitxer: No és un recurs!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "El Node seleccionat no és una Vista!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Escull un Node"
@@ -6544,18 +7478,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, valor %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Activat"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Buit]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Estableix"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Propietats:"
@@ -6579,6 +7501,134 @@ msgstr "No s'ha pogut executar l'eina PVRTC:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "No es pot recarregar la imatge convertida amb PVRTC:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Reanomena"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opcions d'Alineament"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nom del node:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Troba el Tipus de Node"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Escena Actual"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nom del node:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Pas:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Modifica l'Expressió"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Script de Post-Processat:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Minúscula"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Majúscules"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Reinicia el Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Error"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Torna a Parentar el Node"
@@ -6615,11 +7665,6 @@ msgstr "Arguments de l'Escena Principal:"
msgid "Scene Run Settings"
msgstr "Configuració de l'Execució de l'Escena"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "D'acord"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Manca un Node Pare per instanciar-li l'escena."
@@ -6641,6 +7686,10 @@ msgid "Instance Scene(s)"
msgstr "Instància les Escenes"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Esborra l'Script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Aquesta operació no es pot executar en l'arrel de l'arbre."
@@ -6681,12 +7730,34 @@ msgid "Load As Placeholder"
msgstr "Carrega com a Contenidor Temporal"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Descarta l'instància"
+#, fuzzy
+msgid "Make Local"
+msgstr "Local"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Entesos!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Crea un Node"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Escena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Escena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Elimina l'Herència"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Talla els Nodes"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6697,6 +7768,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "No es pot operar en nodes heretats per l'escena actual!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Adjunta-li un Script"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Elimina els Nodes"
@@ -6741,18 +7816,15 @@ msgid "Change Type"
msgstr "Modifica el Tipus"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Adjunta-li un Script"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Esborra l'Script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Entesos!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Combina-ho a partir de l'Escena"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Desa la Branca com un Escena"
@@ -6777,10 +7849,6 @@ msgstr ""
"node arrel."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtre els Nodes"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Adjunta un Script nou o existent per al Node Seleccionat."
@@ -6800,25 +7868,19 @@ msgstr "Local"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Elimina l'Herència (No es pot desfer!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Elimina!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Visibilitat dels Espacials"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Visibilitat del CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Visibilitat"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Avís de Configuració del Node:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"El Node té connexions i grups\n"
@@ -6840,22 +7902,25 @@ msgstr ""
"El Node està agrupat.\n"
"Clic per mostrar el Tauler de Grups."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Obre un Script"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"El Node està blocat. \n"
"Feu clic per desblocar-lo"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Els Nodes fills no es pot seleccionar.\n"
"Feu Clic per a poder seleccionar-los"
@@ -6865,6 +7930,12 @@ msgid "Toggle Visibility"
msgstr "Visibilitat"
#: 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 "El Nom del node no és vàlid. No es permeten els caràcters següents:"
@@ -6901,6 +7972,11 @@ msgid "N/A"
msgstr "No Disponible"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Editor d'Scripts"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "El camí és Buit"
@@ -7137,10 +8213,23 @@ msgid "Change Camera Size"
msgstr "Modifica la Mida de la Càmera"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Modifica l'abast dels Notificadors"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Modifica les Partícules AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Modifica l'abast de la Sonda"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Modifica el Radi d'un Forma Esfèrica"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Modifica l'abast de la Forma Caixa"
@@ -7153,20 +8242,38 @@ msgid "Change Capsule Shape Height"
msgstr "Modifica l'alçada de la Forma Caixa"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Modifica la longitud de la Forma Raig"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Modifica el radi d'una Forma Càpsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Modifica l'abast dels Notificadors"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Modifica l'alçada de la Forma Caixa"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Modifica les Partícules AABB"
+msgid "Change Ray Shape Length"
+msgstr "Modifica la longitud de la Forma Raig"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Modifica l'abast de la Sonda"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Modifica el Radi de Llum"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Modifica l'alçada de la Forma Caixa"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Modifica el Radi d'un Forma Esfèrica"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Modifica el Radi de Llum"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7221,16 +8328,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "L'argument per a convert() no és vàlid, utilitzeu constants TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-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."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "L'argument 'step' és zero!"
@@ -7299,6 +8396,11 @@ msgid "GridMap Delete Selection"
msgstr "Elimina la Selecció del GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Elimina la Selecció del GridMap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "Duplica la Selecció del GridMap"
@@ -7379,6 +8481,11 @@ msgid "Clear Selection"
msgstr "Esborra la Selecció"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Tota la Selecció"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Configuració del GridMap"
@@ -7439,14 +8546,77 @@ msgid "Warnings"
msgstr "Avisos"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Visualitza Fitxers"
+msgstr "Mostra el Registre"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Final de la traça de la pila d'excepció interna"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Calcula!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Precalcula la malla de navegació."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Reestableix la malla de navegació."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Establint la Configuració..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Calculant la mida de la graella..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Creant un camp de desplaçaments verticals..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Marcant els triangles transitables..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Construcció d'un camp compacte de desplaçaments verticals..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Erosionant l'àrea transitable..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Establint Particions..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Creant els contorns..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "creant la polyMesh..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Convertint-ho en una malla de navegació nativa..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Configuració del Generador de Malles de Navegació:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Analitzant la Geometria..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Fet!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7506,10 +8676,6 @@ msgid "Set Variable Type"
msgstr "Estableix el Tipus de Variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funcions:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variables:"
@@ -7622,36 +8788,14 @@ msgid "Connect Nodes"
msgstr "Connecta els Nodes"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condició"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Seqüència"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "commutador"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterador"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Mentre"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Retorna"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Crida"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Connecta els Nodes"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Obtenir"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Connecta els Nodes"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7678,26 +8822,18 @@ msgid "Remove Function"
msgstr "Elimina la Funció"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Edita la Variable"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Elimina la Variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Edita el Senyal"
+msgid "Editing Variable:"
+msgstr "Edició de la Variable:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Elimina el Senyal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Edició de la Variable:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Edició del Senyal:"
@@ -7741,6 +8877,11 @@ msgstr "Talla els Nodes"
msgid "Paste Nodes"
msgstr "Enganxa els Nodes"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Membres"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Tipus d'entrada no iterable: "
@@ -7798,6 +8939,19 @@ msgstr ""
"El Valor retornat per _step() no és vàlid. Ha de ser un nombre enter (seq "
"out), o una cadena de text (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Elimina el Node de VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Obtenir"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Executa-ho en el Navegador"
@@ -7848,9 +9002,10 @@ msgstr ""
"instanciades). El primer funcionarà, mentre que la resta seran ignorats."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"En no disposar de cap fill del tipus Shape, aquest node no pot interactuar "
@@ -7960,6 +9115,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "Cal que la propietat Camí (Path) assenyali un Node2D vàlid."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8023,9 +9191,10 @@ msgid "Lighting Meshes: "
msgstr "Il·luminant les Malles: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"En no disposar de cap fill del tipus Shape, aquest node no pot interactuar "
@@ -8121,6 +9290,21 @@ msgstr ""
"Aquest WorldEnvironment s'ignora. Afegiu una càmera (per a escenes 3D) o "
"configureu el Background Mode a Canvas (per a escenes 2D)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"El motor de físiques sobreescriurà els canvis en la mida dels nodes "
+"RigidBody(Caràcter o Rígid). \n"
+"Modifica la mida de les Formes de Col. lisió Filles."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8138,6 +9322,48 @@ msgstr ""
"RigidBody(Caràcter o Rígid). \n"
"Modifica la mida de les Formes de Col·lisió Filles."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Eines d'Animació"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERROR: El Nom de l'Animació no és vàlid!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Desconnecta '%s' de '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Selecciona un AnimationPlayer a l'Arbre de l'Escena per editar-ne l'animació."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "L'arbre d'animació no és vàlid."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Mode Cru"
@@ -8218,12 +9444,367 @@ msgstr "Error carregant lletra."
msgid "Invalid font size."
msgstr "La mida de la lletra no és vàlida."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Afegeix una Entrada"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Cap>"
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Pestanya Anterior"
+msgid "Invalid source for shader."
+msgstr "La mida de la lletra no és vàlida."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Modificar una constant escalar"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Modificar una constant vectorial"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Modificar una constant RGB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Modifica un operador escalar"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Modifica un operador vectorial"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Modifica un operador vectorial- escalar"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Modifica un operador RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "només Rotacio"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Modifica una Funció Escalar"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Modifica una Funció Vectorial"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Modificar un Uniforme Escalar"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Modifica un Uniforme Vectorial"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Modifica un Uniforme RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Modifica el Valor per Defecte"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Modifica el Uniforme XForm"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Modifica un Uniforme Textura"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Modifica un Uniforme 'CubeMap'"
+
+#~ msgid "Change Comment"
+#~ msgstr "Modifica el Comentari"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Afegeix/Elimina-ho de la Rampa de Colors"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modifica la Rampa de Color"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Afegeix/Ellimina-ho del Mapa de Corbes"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Modifica el Mapa de Corbes"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Modifica el Nom de l'Entrada"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Connecta els Nodes de Graf"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Desconnecta el Nodes de Graf"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Elimina el Node de Graf d'Ombreig"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Mou el Node de Graf d'Ombreig"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Duplica el(s) Node(s) de Graf"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Elimina el(s) Node(s) de Graf d'Ombreig"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Error: Enllaç de Connexió Cíclic"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Error: Manquen les Connexions d'Entrada"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Afegeix un Node de Graf d'Ombreig"
+
+#~ msgid "Disabled"
+#~ msgstr "Desactivat"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Mou la Pista Amunt"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Mou la Pista Avall"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Estableix les Transicions com :"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Reanomena la Pista"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Modifica l'Interpolació de la Pista"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Modifica el Valor del Mode de Pista"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Modifica el Valor del Mode d'Ajustament de Pista"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Edita la Corba del Node"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Edita la Corba de Selecció"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Afegeix una Clau"
+
+#~ msgid "In"
+#~ msgstr "Entrada"
+
+#~ msgid "Out"
+#~ msgstr "Sortida"
+
+#~ msgid "In-Out"
+#~ msgstr "Entrada-Sortida"
+
+#~ msgid "Out-In"
+#~ msgstr "Sortida-Entrada"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Modifica la durada"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Modifica el bucle de l'Animació"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Crea una Clau de Valor Tipat"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Afegeix una Pista de Crida"
+
+#~ msgid "Length (s):"
+#~ msgstr "Durada (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Pas del cursor (s)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Activa/Desactiva el bucle de l'animació."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Afegeix noves pistes."
+
+#~ msgid "Move current track up."
+#~ msgstr "Mou amunt."
+
+#~ msgid "Move current track down."
+#~ msgstr "Mou avall."
+
+#~ msgid "Track tools"
+#~ msgstr "Eines de Pista"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Edició individual de claus en clicar-hi."
-#~ msgid "Next"
-#~ msgstr "Següent"
+#~ msgid "Key"
+#~ msgstr "Clau"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Voleu cridar les Funcions en el Node \"Which\"?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Gràcies!"
+
+#~ msgid "I see..."
+#~ msgstr "Vaja..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "No es pot obrir '%s' ."
+
+#~ msgid "Ugh"
+#~ msgstr "Uf..."
+
+#~ msgid "Run Script"
+#~ msgstr "Executa Script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Desa el recurs editat ara."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Atura Perfilació"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Comença Perfilació"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Predeterminat (Idèntic a l'Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Crea una nova animació en el reproductor."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Carrega un animació del del disc."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Carrega una animació des del disc."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Desar l'animació actual"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Edita els Temps de Mescla dels Objectius"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copiar l'Animació"
+
+#~ msgid "Fetching:"
+#~ msgstr "Recollida:"
+
+#~ msgid "prev"
+#~ msgstr "anterior"
+
+#~ msgid "next"
+#~ msgstr "següent"
+
+#~ msgid "last"
+#~ msgstr "darrer"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Edita la Cadena CI"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Arrossega el pivot des de l la posició del ratolí"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Estableix el pivot a la posició del ratolí"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Afegeix/Elimina un Punt en la Rampa de Color"
+
+#~ msgid "OK :("
+#~ msgstr "Buenu, pos molt bé, pos adiós... :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Visibilitat del giny esquelet"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "Previsualització del StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "Separació:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Editor de Regions de Textura"
+
+#~ msgid "Erase selection"
+#~ msgstr "Elimina la Selecció"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "No s'ha trobat la tessel·la:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nom o ID de l'Element:"
+
+#~ msgid "Autotiles"
+#~ msgstr "AutoTiles"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Manquen les Plantilles d'Exportació per aquesta plataforma o s'han "
+#~ "malmès: "
+
+#~ msgid "Button 7"
+#~ msgstr "Botó 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Botó 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Botó 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Descarta l'instància"
+
+#~ msgid "Clear!"
+#~ msgstr "Elimina!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Visibilitat dels Espacials"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Visibilitat del CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "Condició"
+
+#~ msgid "Sequence"
+#~ msgstr "Seqüència"
+
+#~ msgid "Switch"
+#~ msgstr "commutador"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterador"
+
+#~ msgid "While"
+#~ msgstr "Mentre"
+
+#~ msgid "Return"
+#~ msgstr "Retorna"
+
+#~ msgid "Call"
+#~ msgstr "Crida"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Edita la Variable"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Edita el Senyal"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "L'Acció no és vàlida (no es pot utilitzar ' / ' o ':')."
@@ -8241,10 +9822,6 @@ msgstr "La mida de la lletra no és vàlida."
#~ msgid "Can't write file."
#~ msgstr "No es pot escriure el fitxer."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Seleccioneu un directori que no contingui ja un fitxer 'project.godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "No s'ha trobat el fitxer 'project.godot' en el camí del Projecte."
@@ -8360,15 +9937,9 @@ msgstr "La mida de la lletra no és vàlida."
#~ "d'utilitzar el mode 'Destinació de renderització' (render target) perquè "
#~ "l'sprite funcioni."
-#~ msgid "Filter:"
-#~ msgstr "Filtre:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "Llista de mètodes de '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "Arguments:"
-
#~ msgid "Return:"
#~ msgstr "Retorn:"
@@ -8399,9 +9970,6 @@ msgstr "La mida de la lletra no és vàlida."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "S'ha de desar l'escena abans de reimportar-la."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Desa i ReImporta"
-
#~ msgid "Re-Importing"
#~ msgstr "Re-Importació"
@@ -8429,10 +9997,6 @@ msgstr "La mida de la lletra no és vàlida."
#~ msgid "Can't move directories to within themselves."
#~ msgstr "No es poden moure directoris en si mateixos."
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Error en desar TileSet!"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Tria un Nou Nom i Ubicació per a:"
@@ -8457,9 +10021,6 @@ msgstr "La mida de la lletra no és vàlida."
#~ msgid "Target path must exist."
#~ msgstr "El camí de Destinació ha d'existir."
-#~ msgid "Save path is empty!"
-#~ msgstr "El camí per desar és buit!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Importa Màscares de Bit"
@@ -8574,15 +10135,9 @@ msgstr "La mida de la lletra no és vàlida."
#~ msgid "Max Angle"
#~ msgstr "Angle Màxim"
-#~ msgid "Clips"
-#~ msgstr "Clips"
-
#~ msgid "Start(s)"
#~ msgstr "Inici/s"
-#~ msgid "End(s)"
-#~ msgstr "Final/s"
-
#~ msgid "Filters"
#~ msgstr "Filtres"
@@ -8613,19 +10168,12 @@ msgstr "La mida de la lletra no és vàlida."
#~ msgid "Target Texture Folder:"
#~ msgstr "Directori per a Textures escollit:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Script de Post-Processat:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Tipus de Node Arrel Personalitzat:"
#~ msgid "Auto"
#~ msgstr "Auto"
-#, fuzzy
-#~ msgid "Root Node Name:"
-#~ msgstr "Nom del node:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Manquen els següents Fitxers:"
diff --git a/editor/translations/cs.po b/editor/translations/cs.po
index b4cf176796..0da8ebee3c 100644
--- a/editor/translations/cs.po
+++ b/editor/translations/cs.po
@@ -24,333 +24,488 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.0-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Zakázáno"
+#: 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 ""
+"Neplatný typ argumentu funkce convert(), použijte některou z konstant TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Všechny vybrané"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Nedostatek bajtů pro dekódování bajtů, nebo špatný formát."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Neplatné jméno vlastnosti '%s' v uzlu %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Neplatné jméno vlastnosti '%s' v uzlu %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Neplatný argument typu: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Free"
+msgstr "Uvolnit"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Zrcadlit X"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Vložit klíÄ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplikovat výběr"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Smazat vybraný"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Animace: duplikovat klíÄe"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Animace: smazat klíÄe"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Animace: ZmÄ›nit Äas klíÄového snímku"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animace: změna přechodu"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animace: změna transformace"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Animace: ZmÄ›nit hodnotu klíÄového snímku"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animace: změna volání"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animace: přidat stopu"
-
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Animace: duplikovat klíÄe"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Vlastnost:"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Posun stopy animace nahoru"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Transformovat UV mapu"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Posun stopy animace dolů"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Odstranit stopu animace"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Změna přechodů na:"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Animace: přejmenování stopy"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Zastavit přehrávání animace. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Animace: změna interpolace stopy"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animace: přidat stopu"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Animace: změna typu hodnot"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Délka animace (v sekundách)."
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Anim Track Change Wrap Mode"
-msgstr "Animace: ZmÄ›na režimu opakování animaÄní stopy"
+msgid "Animation Looping"
+msgstr "Přiblížení animace."
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Úprava křivky uzlu"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funkce:"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Úprava vybraných křivek"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Animace: smazat klíÄe"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplikovat výběr"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Zapnout nerozptylující režim."
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplikovat transponované"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Odstranit výběr"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nerozptylující režim"
+
+#: 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 "Odstranit vybranou stopu."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "ÄŒas:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Spojité"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskrétní"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Spoušť"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Animace: pÅ™idat klíÄ"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Animace: pÅ™esunout klíÄe"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Změnit měřítko výběru"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Změnit měřítko od kurzoru"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Jít k dalšímu kroku"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Budoucí"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Jít k předchozímu kroku"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineární"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstantní"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Výstup"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Vstup-Výstup"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Výstup-Vstup"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Vložit klíÄ"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Přechody"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplikovat uzel/uzly"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimalizovat animaci"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Odstranit uzel/uzly"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "ProÄistit animaci"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Odstranit stopu animace"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "VytvoÅ™it NOVOU stopu pro %s a vložit klíÄ?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "VytvoÅ™it %d NOVÃCH stop a vložit klíÄe?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Vytvořit"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Animace: vložit"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Animace: Vytvořit a vložit"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Animace: Vložit stopu a klíÄ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Animace: vložit klíÄ"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Změnit délku animace"
+#: 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 "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Změnit opakování animace"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Animace: VytvoÅ™it typovaný klíÄ"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Animace: vložit"
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "Proměnná pro získání nebyla ve skriptu nalezena: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Animace: pÅ™esunout klíÄe"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Schránka je prázdná!"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Animace: zmÄ›nit měřítko klíÄů"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Animace: přidat stopu volání"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Přiblížení animace."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Délka (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Délka animace (v sekundách)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Krok (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Krokování kurzoru (v sekundách)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Strom animace je platný."
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Upravit"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Zapnout/vypnout opakování animace."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Strom animací"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Přidat novou stopu."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopírovat parametry"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Posunout aktuální stopu nahoru."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Vložit parametry"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Posunout aktuální stopu dolů."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Změnit měřítko výběru"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Odstranit vybranou stopu."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Změnit měřítko od kurzoru"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Nástroje stopy"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplikovat výběr"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplikovat transponované"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Smazat vybraný"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Jít k dalšímu kroku"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Jít k předchozímu kroku"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimalizovat animaci"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "ProÄistit animaci"
+
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Kliknutím na klíÄe zapnete jejich individuální úpravu."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
msgstr "Optimalizátor animace"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Maximální lineární chyba:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Maximální úhlová chyba:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Maximální optimalizovatelný úhel:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimalizuj"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Pro úpravu animací vyberte ze stromu scény uzel AnimationPlayer."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "KlíÄ"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Přechod"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Poměr zvětšení:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Ze kterého uzlu volej funkce?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Odstranit neplatné klíÄe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Odstranit neurÄené a prázdné stopy"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "ProÄistit vÅ¡echny animace"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "ProÄistit animaci (NELZE VZÃT ZPÄšT!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "ProÄistit"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Poměr zvětšení:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopírovat"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Změnit velikost pole"
@@ -371,7 +526,7 @@ msgstr "Běž na řádek"
msgid "Line Number:"
msgstr "Číslo řádku:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Žádné shody"
@@ -387,7 +542,7 @@ msgstr "Rozlišovat malá/velká"
msgid "Whole Words"
msgstr "Celá slova"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Nahradit"
@@ -399,18 +554,28 @@ msgstr "Nahradit všechny"
msgid "Selection Only"
msgstr "Pouze výběr"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Přiblížit"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Oddálit"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Obnovit původní přiblížení"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Varování"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Přiblížit"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Řádek:"
@@ -442,7 +607,8 @@ msgid "Add"
msgstr "Přidat"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -473,7 +639,7 @@ msgid "Oneshot"
msgstr "Jednorázově"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -495,11 +661,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Připojit '%s' k '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Připojuji signál:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Odpojit '%s' od '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Odpojit '%s' od '%s'"
#: editor/connections_dialog.cpp
@@ -507,14 +674,48 @@ msgid "Connect..."
msgstr "Připojit..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Odpojit"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Připojuji signál:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Chyba připojení"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Jste si jisti, že chcete spustit více než jeden projekt?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signály"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Odpojit"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Upravit"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metody"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Změnit typ %d"
@@ -537,22 +738,25 @@ msgstr "Oblíbené:"
msgid "Recent:"
msgstr "Nedávné:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Hledat:"
#: editor/create_dialog.cpp editor/editor_help.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 "Shody:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Popis:"
@@ -614,7 +818,9 @@ msgstr "Hledat náhradní zdroj:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Otevřít"
@@ -635,7 +841,7 @@ msgstr ""
"Soubory ke smazání potÅ™ebují jiné zdroje ke své Äinnosti.\n"
"Přesto je chcete smazat? (nelze vrátit zpět)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Nelze odstranit:"
@@ -703,9 +909,13 @@ msgstr "Změnit hodnotu slovníku"
msgid "Thanks from the Godot community!"
msgstr "Děkujeme za komunitu Godotu!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Díky!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -882,6 +1092,7 @@ msgid "Bus options"
msgstr "Možnosti Busu"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikovat"
@@ -950,7 +1161,8 @@ msgstr "Přidat bus"
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "NaÄíst"
@@ -960,7 +1172,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Uložit jako"
@@ -999,22 +1210,6 @@ msgstr ""
"Neplatný název. Nesmí kolidovat s existujícím názvem globální konstanty."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Neplatná cesta."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Soubor neexistuje."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Není v cestě ke zdroji."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Přidat AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' už existuje!"
@@ -1042,6 +1237,22 @@ msgstr "Povolit"
msgid "Rearrange Autoloads"
msgstr ""
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Neplatná cesta."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Soubor neexistuje."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Není v cestě ke zdroji."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Přidat AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1072,7 +1283,7 @@ msgstr "Ukládám lokální změny..."
msgid "Updating scene..."
msgstr "Aktualizuji scénu..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[prázdné]"
@@ -1134,6 +1345,12 @@ msgid "Copy Path"
msgstr "Kopírovat cestu"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Ukázat ve správci souborů"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Ukázat ve správci souborů"
@@ -1170,7 +1387,7 @@ msgid "Open a File or Directory"
msgstr "Otevřít soubor nebo složku"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Uložit"
@@ -1223,7 +1440,8 @@ msgstr "Jít na nadřazenou složku"
msgid "Directories & Files:"
msgstr "Složky a soubory:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Náhled:"
@@ -1375,20 +1593,28 @@ msgstr ""
"V souÄasné dobÄ› neexistuje žádný popis pro tuto metodu. Prosím pomozte nám "
"tím, že ho [color=$color][url=$url]vytvoříte[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Prohledat text"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Vlastnost:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Najít"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Nastavit"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Výstup:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1410,11 +1636,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Chápu..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Nelze otevřít soubor pro zápis:"
@@ -1427,9 +1648,9 @@ msgstr "Žádaný formát souboru je neznámý:"
msgid "Error while saving."
msgstr "Chyba při ukládání."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Nelze otevřít '%s'."
+#: 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'."
@@ -1472,10 +1693,6 @@ msgstr ""
"(instance nebo dÄ›diÄnosti)."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1542,42 +1759,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Rozbalit všechny vlastnosti"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Sbalit všechny vlastnosti"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Kopírovat parametry"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Vložit parametry"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Otevřít v nápovědě"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Neexistuje žádná scéna pro spuštění."
@@ -1759,11 +1940,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Ups"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1794,6 +1970,16 @@ msgid "Default"
msgstr "Výchozí"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Spustit scénu"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Zavřít ostatní záložky"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Přepnout záložku scény"
@@ -1915,10 +2101,6 @@ msgstr "Projekt"
msgid "Project Settings"
msgstr "Nastavení projektu"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Spustit skript"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportovat"
@@ -1928,6 +2110,11 @@ msgid "Tools"
msgstr "Nástroje"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Otevřít Správce projektu?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "UkonÄit do seznamu projektů"
@@ -2034,6 +2221,20 @@ msgstr "Rozložení editoru"
msgid "Toggle Fullscreen"
msgstr "Celá obrazovka"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Nastavení editoru"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Nastavení editoru"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Spravovat exportní šablony"
@@ -2049,7 +2250,8 @@ msgstr "Třídy"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Hledat"
@@ -2093,7 +2295,7 @@ msgstr "Pozastavit scénu"
msgid "Stop the scene."
msgstr "Zastavit scénu."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Zastavit"
@@ -2114,6 +2316,16 @@ msgid "Play Custom Scene"
msgstr "Spustit vlastní scénu"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Uložit a ukonÄit"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "ToÄí se, když se okno pÅ™ekresluje!"
@@ -2133,42 +2345,6 @@ msgstr "Vypnout aktualizaÄní koleÄko"
msgid "Inspector"
msgstr "Inspektor"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Uložit jako..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historie naposledy upravených objektů."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Vlastnosti objektu."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Změny mohou být ztraceny!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2183,6 +2359,10 @@ msgid "FileSystem"
msgstr "Souborový systém"
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Výstup"
@@ -2259,19 +2439,24 @@ msgid "Thumbnail..."
msgstr "Náhled..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Pluginy"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Nainstalované pluginy:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Aktualizovat"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Verze:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2279,13 +2464,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Stav:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Zastavit profilování"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Upravit"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Spustit profilování"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2331,6 +2519,104 @@ msgstr "ÄŒas"
msgid "Calls"
msgstr "Volání"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Prázdné]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Přiřadit"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Nový skript"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Nový %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Vytvořit unikátní"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Zobrazit v souborovém systému"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Vložit"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Konvertovat na %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Otevřít v editoru"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Nové jméno:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nové jméno:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Odstranit položku"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Vyberte zařízení ze seznamu"
@@ -2368,10 +2654,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2397,6 +2679,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2421,7 +2704,8 @@ msgid "Can't open export templates zip."
msgstr "Nelze otevřít zip soubor exportních šablon."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Neplatný formát version.txt uvnitř šablon."
#: editor/export_template_manager.cpp
@@ -2481,6 +2765,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Chyba požadavku o url: "
@@ -2559,7 +2849,7 @@ msgid "Download Templates"
msgstr "Stáhnout šablony"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2571,11 +2861,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2646,7 +2936,7 @@ msgstr ""
msgid "Collapse all"
msgstr "Sbalit vše"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Přejmenovat..."
@@ -2675,6 +2965,23 @@ msgid "Duplicate..."
msgstr "Duplikovat..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Nový skript"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Zdroj"
+
+#: 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 "Previous Directory"
msgstr "Předchozí adresář"
@@ -2687,26 +2994,136 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
-msgstr ""
+#, fuzzy
+msgid "Toggle folder status as Favorite."
+msgstr "Zobrazit oblíbené"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Vytvořit složku"
#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Hledat třídy"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Vytvořit skript"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d více souborů"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Najít"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Celá slova"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Rozlišovat malá/velká"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtr:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Najít..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Nahradit..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Zrušit"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Nahradit"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Nahradit všechny"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Hledat"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Prohledat text"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "Chyba: Jméno animace už existuje!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Neplatný název."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Skupiny"
+
+#: editor/groups_editor.cpp
+msgid "Nodes not in Group"
+msgstr ""
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrovat uzly"
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2717,6 +3134,11 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Skupiny"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2758,7 +3180,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2818,18 +3240,131 @@ msgstr "Předvolba..."
msgid "Reimport"
msgstr "Znovu importovat"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Rozbalit všechny vlastnosti"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Sbalit všechny vlastnosti"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Uložit jako..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Kopírovat parametry"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Vložit parametry"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Schránka zdroje je prázdná!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Otevřít v nápovědě"
+
+#: 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 "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 "Historie naposledy upravených objektů."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Vlastnosti objektu."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrovat uzly"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Změny mohou být ztraceny!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr ""
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Skupiny"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr ""
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Upravit IK řetězec"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Vytvořit C# řešení"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Pluginy"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Jazyk"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Skript je validní"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2871,6 +3406,148 @@ msgstr ""
msgid "Delete points"
msgstr "Odstranit body"
+#: 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 "Přidat animaci"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "NaÄíst"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Odstranit body"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Vymazat bod."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Přesunout bod"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Jméno animace:"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Akce '%s' již existuje!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Přichytit"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Editovat filtry"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Přidat uzel"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Editovat filtry"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr ""
@@ -2897,11 +3574,13 @@ msgid "Remove Animation"
msgstr "Smazat animaci"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "Chyba: Neplatné jméno animace!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "Chyba: Jméno animace už existuje!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2910,11 +3589,6 @@ msgid "Rename Animation"
msgstr "Přejmenovat animaci"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Přidat animaci"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2931,12 +3605,14 @@ msgid "Duplicate Animation"
msgstr "Duplikovat animaci"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERROR: Nevybrána animace pro kopírování!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr "Není v cestě ke zdroji."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
@@ -2947,7 +3623,8 @@ msgid "Paste Animation"
msgstr "Vložit animaci"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERROR: Nevybrána animace pro úpravu!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2979,20 +3656,27 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
+msgid "Animation Tools"
+msgstr "Nástroje pro animaci"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animace"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "NaÄíst animaci z disku."
+msgid "New"
+msgstr "Nový"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "NaÄíst animaci z disku."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Přechody"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Uložit vybranou animaci"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Otevřít v editoru"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3003,18 +3687,6 @@ msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Nástroje pro animaci"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Kopírovat animaci"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr ""
@@ -3063,6 +3735,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Vložit animaci"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Vytvořit novou animaci"
@@ -3072,6 +3749,7 @@ msgstr "Jméno animace:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3089,163 +3767,214 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animace"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Není v cestě ke zdroji."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Vytvořit nový %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Připojit uzly"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Odstranit vybranou stopu."
+
+#: 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 "Přechod"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "Strom animací"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nové jméno:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Editovat filtry"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Zvětšení:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Start!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Množství:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Prolínání:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Prolínání 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend 1:"
msgstr "Prolínání 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Aktuální:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Přidat vstup"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Odstranit vstup"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Strom animace je platný."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Strom animace je neplatný."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importovat animace..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtry..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "Strom animací"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Free"
-msgstr "Uvolnit"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Obsah:"
@@ -3299,8 +4028,14 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Stahuji:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Stahuji"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Stahuji"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3327,20 +4062,22 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "první"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "předchozí"
+#, fuzzy
+msgid "Previous"
+msgstr "Předchozí záložka"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "následující"
+msgid "Next"
+msgstr "Další"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "poslední"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3408,7 +4145,7 @@ msgid "Bake Lightmaps"
msgstr "Zapéct lightmapy"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Náhled"
@@ -3417,12 +4154,10 @@ msgid "Configure Snap"
msgstr "Nastavení přichycování"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Offset mřížky:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Krok mřížky:"
@@ -3435,14 +4170,6 @@ msgid "Rotation Step:"
msgstr "Krok rotace:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Přemístit střed"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Přesunout akci"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Přesunout svislé vodítko"
@@ -3471,11 +4198,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Vytvořit nové vodorovné a svislé vodítka"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Upravit IK řetězec"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Přemístit střed"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Upravit CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Přesunout akci"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Upravit CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Upravit CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3495,6 +4239,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Oddálit"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Oddálit"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Přiblížit"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Režim výběru"
@@ -3539,7 +4298,8 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Přepnout přichycování"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3547,7 +4307,8 @@ msgid "Use Snap"
msgstr "Použít přichycování"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Možnosti přichytávání"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3588,6 +4349,11 @@ msgid "Snap to node sides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "PÅ™ichytit k rodiÄovi"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr ""
@@ -3614,14 +4380,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Vytvořit kosti"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Vymazat kosti"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Zobrazit kosti"
@@ -3634,6 +4392,15 @@ msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Vymazat kosti"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Zobrazit"
@@ -3677,14 +4444,11 @@ msgid "Layout"
msgstr "Rozložení"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Vložit klíÄe"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Vložit klíÄ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr ""
@@ -3697,14 +4461,6 @@ msgid "Clear Pose"
msgstr "Vymazat pózu"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Nastavit střed na pozici myši"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3720,10 +4476,6 @@ msgstr "Přidat %s"
msgid "Adding %s..."
msgstr "Přidávám %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3756,27 +4508,20 @@ msgstr "Vytvořit Poly3D"
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Odstranit %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Přidat položku"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Odstranit vybranou položku"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Vrcholy"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importovat ze scény"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Aktualizovat ze scény"
+#: 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 "Flat0"
@@ -3848,15 +4593,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Položka %d"
@@ -3942,6 +4678,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4010,6 +4747,27 @@ msgstr "Vytvořit mesh obrysu"
msgid "Outline Size:"
msgstr "Velikost obrysu:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Odstranit %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Přidat položku"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Odstranit vybranou položku"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importovat ze scény"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Aktualizovat ze scény"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4110,70 +4868,6 @@ msgstr "Náhodné měřítko:"
msgid "Populate"
msgstr "Naplnit"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4234,18 +4928,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4254,15 +4936,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Vygenerovat AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4290,6 +4968,19 @@ 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 "Generate AABB"
+msgstr "Vygenerovat AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Konvertovat na velká písmena"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4367,6 +5058,22 @@ msgstr "Odstranit bod"
msgid "Close Curve"
msgstr "Uzavřít křivku"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Možnosti"
+
+#: 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 "Bod křivky #"
@@ -4402,19 +5109,94 @@ msgstr "Odstranit funkci"
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Přesunout bod"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Zobrazit kosti"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Vytvořit UV mapu"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Vytvořit Poly3D"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Akce '%s' již existuje!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Přidat bod"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Neplatná cesta"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Odstranit bod"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformovat UV mapu"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Rozdělit cestu"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Vytvořit kosti"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Vytvořit Poly3D"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Přesunout bod"
@@ -4443,12 +5225,25 @@ msgid "Scale Polygon"
msgstr "Změnit měřítko mnohoúhelníku"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Upravit"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Vyberte složku pro skenování"
+
+#: 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 "Polygon->UV"
@@ -4463,9 +5258,9 @@ msgid "Clear UV"
msgstr "Vymazat UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Přichytit"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Nastavení GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4475,6 +5270,36 @@ msgstr "Povolit přichytávání"
msgid "Grid"
msgstr "Mřížka"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Nastavení přichycování"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Offset mřížky:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Offset mřížky:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Krok mřížky:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Krok mřížky:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Změnit měřítko mnohoúhelníku"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "Chyba: Nelze naÄíst zdroj!"
@@ -4497,6 +5322,10 @@ msgid "Resource clipboard is empty!"
msgstr "Schránka zdroje je prázdná!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr ""
+
+#: 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"
@@ -4518,16 +5347,18 @@ msgid "Load Resource"
msgstr "NaÄíst zdroj"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Vložit"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "Zdroj"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Strom animace je neplatný."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Vymazat nedávné soubory"
@@ -4537,6 +5368,21 @@ msgid "Close and save changes?"
msgstr "Zavřít a uložit změny?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Chyba pÅ™i naÄítání:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Chyba - Nelze vytvořit skript v souborovém systému."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Chyba pÅ™i naÄítání:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Chyba při ukládání motivu"
@@ -4553,6 +5399,21 @@ msgid "Error importing"
msgstr "Chyba při importu"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nová složka..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Otevřít soubor"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Uložit jako..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importovat motiv"
@@ -4565,6 +5426,10 @@ msgid " Class Reference"
msgstr " Reference třídy"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Seřadit"
@@ -4593,8 +5458,9 @@ msgid "File"
msgstr "Soubor"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nový"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Zobrazit soubory"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4621,6 +5487,11 @@ msgid "History Next"
msgstr "Historie další"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Znovu naÄíst motiv"
@@ -4654,11 +5525,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Najít..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Najít další"
@@ -4713,10 +5579,6 @@ msgid "Discard"
msgstr "Zahodit"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Vytvořit skript"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4735,47 +5597,72 @@ msgid "Debugger"
msgstr "Ladicí program"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Prohledat nápovědu"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Hledat třídy"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
"VestavÄ›né skripty lze editovat pouze pokud scéna, které náleží, je naÄtená"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Řádek:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Lookup Symbol"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Vyberte barvu"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
#, fuzzy
msgid "Convert Case"
msgstr "Převest písmena"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Velká písmena"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Malá písmena"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Velká písmena"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Vyjmout"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopírovat"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4863,8 +5750,9 @@ msgid "Find Previous"
msgstr "Najít předchozí"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Nahradit..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrovat soubory..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4882,129 +5770,42 @@ msgstr "Kontextová nápověda"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Změnit skalární konstantu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Změna RGB konstanty"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Změnit skalární operátor"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Změnit RGB operátor"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Změnit skalární funkci"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Změnit vektorovou funkci"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Změnit výchozí hodnotu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Změnit komentář"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Upravit mapu křivky"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Změnit název vstupu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Propojit uzly grafu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Odpojit uzly grafu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Vytvořit Navigation Mesh"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Vytvořit C# řešení"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Spustit"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5132,10 +5933,6 @@ msgid "Align with view"
msgstr "Zarovnat s výhledem"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5144,6 +5941,11 @@ msgid "This operation requires a single selected node."
msgstr "Tato operace vyžaduje jeden vybraný uzel."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Zobrazit informace"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5189,6 +5991,10 @@ msgid "Doppler Enable"
msgstr "Povolit"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Volný pohled doleva"
@@ -5319,6 +6125,11 @@ msgid "Tool Scale"
msgstr "Nástroj Zvětšení"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Přichytit k mřížce"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Přepnout volný pohled"
@@ -5327,6 +6138,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5355,6 +6170,10 @@ msgid "4 Viewports"
msgstr "4 výřezy"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Zobrazit poÄátek"
@@ -5368,10 +6187,6 @@ msgid "Settings"
msgstr "Nastavení"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Nastavení přichycení"
@@ -5432,6 +6247,51 @@ msgstr "Před"
msgid "Post"
msgstr "Po"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Mesh je prázdný!"
+
+#: 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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Konvertovat na %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Vytvořit mesh obrysu"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Náhled"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Nastavení"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5501,14 +6361,6 @@ msgstr "Přemístit (za)"
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5534,28 +6386,22 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Offset:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Krok:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Oddělení:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Oblast textury"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Editor oblasti textury"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr ""
@@ -5569,11 +6415,6 @@ msgid "Add All"
msgstr "Přidat vše"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Odstranit položku"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Odstranit všechny položky"
@@ -5646,10 +6487,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Možnosti"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5675,7 +6512,7 @@ msgstr "Datový typ:"
msgid "Icon"
msgstr "Ikona"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Styl"
@@ -5688,14 +6525,19 @@ msgid "Color"
msgstr "Barva"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Konstantní"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Vymazat oznaÄené"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Neplatný název."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5716,12 +6558,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Najít další"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5744,6 +6583,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Odstranit výběr"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "OtoÄit o 0 stupňů"
@@ -5760,12 +6604,40 @@ msgid "Rotate 270 degrees"
msgstr "OtoÄit o 270 stupňů"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Přidat uzel(y) ze stromu"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Odstranit signál"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr "Vytvořit ze scény"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr "SlouÄit ze scény"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Název položky nebo ID:"
+msgid "Remove Selected Textue and ALL TILES wich uses 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?"
@@ -5776,50 +6648,71 @@ msgid "Merge from scene?"
msgstr "SlouÄit ze scény?"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "Soubor:"
+msgid " file(s) was not added because was already on the list."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Vytvořit ze scény"
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "SlouÄit ze scény"
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Chyba"
+msgid ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr ""
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
+msgstr "Vytvořit složku"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings."
+"bindings.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
-"LMB: set bit on.\n"
-"RMB: set bit off."
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
-msgstr "Vytvořit složku"
+msgid "This property can't be changed."
+msgstr "Tato operace nemůže být provedena bez scény."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
-msgstr ""
+#, fuzzy
+msgid "Tile Set"
+msgstr "Soubor:"
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Zrušit"
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vrcholy"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "Argumenty:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Pravý"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
#, fuzzy
@@ -5836,8 +6729,8 @@ msgid "Delete preset '%s'?"
msgstr "Odstranit předvolbu '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Exportní šablony pro tuto platformu chybí nebo jsou poškozené: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "Exportní šablony pro tuto platformu chybí nebo jsou poškozené:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5911,10 +6804,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Exportní šablony pro tuto platformu chybí:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Exportní šablony pro tuto platformu chybí nebo jsou poškozené:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5923,7 +6812,7 @@ msgid "The path does not exist."
msgstr "Cesta neexistuje."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5931,6 +6820,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6018,6 +6915,11 @@ msgid "Project Path:"
msgstr "Cesta k projektu:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Cesta k projektu:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Procházet"
@@ -6127,8 +7029,8 @@ msgstr "TlaÄítko myÅ¡i"
#: editor/project_settings_editor.cpp
#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Neplatné jméno akce. Nesmí být prázdné nebo obsahovat '/', ':', '=', '\\' "
"nebo '\"'"
@@ -6142,9 +7044,23 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Změnit hodnotu slovníku"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Zařízení"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Zařízení"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6186,20 +7102,24 @@ msgid "Wheel Down Button"
msgstr "KoleÄko dolů"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "TlaÄítko Ä. 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "KoleÄko nahoru"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "TlaÄítko Ä. 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Pravé tlaÄítko"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "TlaÄítko Ä. 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "TlaÄítko Ä. 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "TlaÄítko Ä. 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "TlaÄítko Ä. 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6227,10 +7147,6 @@ msgid "Add Event"
msgstr "Přidat akci"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Zařízení"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "TlaÄítko"
@@ -6275,6 +7191,15 @@ msgid "Delete Item"
msgstr "Odstranit položku"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Neplatné jméno akce. Nesmí být prázdné nebo obsahovat '/', ':', '=', '\\' "
+"nebo '\"'"
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Již existující"
@@ -6347,6 +7272,10 @@ msgstr "Vlastnost:"
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6356,6 +7285,15 @@ msgid "Action:"
msgstr "Akce:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Akce:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Zařízení:"
@@ -6416,10 +7354,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6456,34 +7390,10 @@ msgid "Select Node"
msgstr "Vybrat uzel"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Nový skript"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Nový %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Vytvořit unikátní"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Zobrazit v souborovém systému"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Konvertovat na %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Vybrat uzel"
@@ -6492,18 +7402,6 @@ msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "On"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Prázdné]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Nastavit"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Vlastnosti:"
@@ -6527,6 +7425,132 @@ msgstr ""
msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Rozlišovat malá/velká"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Možnosti přichytávání"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Název uzlu:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Vyhledat typ uzlu"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Aktuální scéna"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Krok:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Změnit výraz"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Malá písmena"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Velká písmena"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Obnovit původní přiblížení"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Chyba"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6563,11 +7587,6 @@ msgstr "Argumenty hlavní scény:"
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6587,6 +7606,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Vymazat skript"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6627,12 +7650,33 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+#, fuzzy
+msgid "Make Local"
+msgstr "Místní"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Vytvořit uzel"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scéna"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scéna"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Dává smysl!"
+#, fuzzy
+msgid "Custom Node"
+msgstr "Vyjmout uzly"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6643,6 +7687,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Připojit skript"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Odstranit uzel/uzly"
@@ -6685,18 +7733,15 @@ msgid "Change Type"
msgstr "Změnit typ"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Připojit skript"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Vymazat skript"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Dává smysl!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "SlouÄit ze scény"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Uložit větev jako scénu"
@@ -6719,10 +7764,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrovat uzly"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Připojit nový, nebo existující skript k vybranému uzlu."
@@ -6742,17 +7783,10 @@ msgstr "Místní"
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Přepnout viditelnost"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6760,7 +7794,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6776,20 +7810,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Otevřít skript"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6797,6 +7832,12 @@ msgid "Toggle Visibility"
msgstr "Přepnout viditelnost"
#: 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 ""
@@ -6833,6 +7874,11 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Otevřít editor skriptů"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Cesta je prázdná"
@@ -7070,10 +8116,22 @@ msgid "Change Camera Size"
msgstr "Změnit velikost kamery"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7086,20 +8144,37 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Změnit rádius světla"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr ""
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Změnit rádius světla"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Změnit velikost kamery"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Změnit rádius světla"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Změnit rádius světla"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7155,17 +8230,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"Neplatný typ argumentu funkce convert(), použijte některou z konstant TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Nedostatek bajtů pro dekódování bajtů, nebo špatný formát."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "Argument kroku je nula!"
@@ -7232,6 +8296,11 @@ msgid "GridMap Delete Selection"
msgstr "GridMap Smazat výběr"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "GridMap Smazat výběr"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "GridMap Duplikovat výběr"
@@ -7313,6 +8382,11 @@ msgid "Clear Selection"
msgstr "Vymazat výběr"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Všechny vybrané"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Nastavení GridMap"
@@ -7381,6 +8455,70 @@ msgstr "Zobrazit soubory"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
#, fuzzy
msgid ""
@@ -7439,10 +8577,6 @@ msgid "Set Variable Type"
msgstr "Nastavit typ proměnné"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funkce:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Proměnné:"
@@ -7557,36 +8691,14 @@ msgid "Connect Nodes"
msgstr "Připojit uzly"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Podmínka"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sekvence"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterátor"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Vrátit"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Zavolat"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Připojit uzly"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Získat"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Připojit uzly"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7613,26 +8725,18 @@ msgid "Remove Function"
msgstr "Odstranit funkci"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Upravit proměnnou"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Odstranit proměnnou"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Upravit signál"
+msgid "Editing Variable:"
+msgstr "Úprava proměnné:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Odstranit signál"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Úprava proměnné:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Úprava signálu:"
@@ -7676,6 +8780,11 @@ msgstr "Vyjmout uzly"
msgid "Paste Nodes"
msgstr "Vložit uzly"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Členové"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Vstupním typem nelze iterovat: "
@@ -7732,6 +8841,19 @@ msgstr ""
"Neplatná návratová hodnota z funkce _step(). Musí být celé Äíslo (výstupní "
"posloupnost), nebo řetězec (chyba)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Odstranit VisualScript uzel"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Získat"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Spustit v prohlížeÄi"
@@ -7786,8 +8908,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7884,6 +9006,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Pro zajiÅ¡tÄ›ní funkÄnosti musí vlastnost path ukazovat na platný uzel Node2D."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7946,8 +9081,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8037,6 +9172,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8051,6 +9197,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Nástroje pro animaci"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "Chyba: Neplatné jméno animace!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Odpojit '%s' od '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Pro úpravu animací vyberte ze stromu scény uzel AnimationPlayer."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Strom animace je neplatný."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "RAW mód"
@@ -8129,12 +9316,249 @@ msgstr "Chyba nahrávání fontu."
msgid "Invalid font size."
msgstr "Neplatná velikost fontu."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Přidat vstup"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Žádné>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Neplatná velikost fontu."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Změnit skalární konstantu"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Změna RGB konstanty"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Změnit skalární operátor"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Změnit RGB operátor"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Změnit skalární funkci"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Změnit vektorovou funkci"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Změnit výchozí hodnotu"
+
+#~ msgid "Change Comment"
+#~ msgstr "Změnit komentář"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Upravit mapu křivky"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Změnit název vstupu"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Propojit uzly grafu"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Odpojit uzly grafu"
+
+#~ msgid "Disabled"
+#~ msgstr "Zakázáno"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Posun stopy animace nahoru"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Posun stopy animace dolů"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Změna přechodů na:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Animace: přejmenování stopy"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Animace: změna interpolace stopy"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Animace: změna typu hodnot"
+
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Předchozí záložka"
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Animace: ZmÄ›na režimu opakování animaÄní stopy"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Úprava křivky uzlu"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Úprava vybraných křivek"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Animace: pÅ™idat klíÄ"
+
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "Výstup"
+
+#~ msgid "In-Out"
+#~ msgstr "Vstup-Výstup"
+
+#~ msgid "Out-In"
+#~ msgstr "Výstup-Vstup"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Změnit délku animace"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Změnit opakování animace"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Animace: VytvoÅ™it typovaný klíÄ"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Animace: přidat stopu volání"
+
+#~ msgid "Length (s):"
+#~ msgstr "Délka (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Krokování kurzoru (v sekundách)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Zapnout/vypnout opakování animace."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Přidat novou stopu."
+
+#~ msgid "Move current track up."
+#~ msgstr "Posunout aktuální stopu nahoru."
+
+#~ msgid "Move current track down."
+#~ msgstr "Posunout aktuální stopu dolů."
+
+#~ msgid "Track tools"
+#~ msgstr "Nástroje stopy"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Kliknutím na klíÄe zapnete jejich individuální úpravu."
+
+#~ msgid "Key"
+#~ msgstr "KlíÄ"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Ze kterého uzlu volej funkce?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Díky!"
+
+#~ msgid "I see..."
+#~ msgstr "Chápu..."
-#~ msgid "Next"
-#~ msgstr "Další"
+#~ msgid "Can't open '%s'."
+#~ msgstr "Nelze otevřít '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Ups"
+
+#~ msgid "Run Script"
+#~ msgstr "Spustit skript"
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Zastavit profilování"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Spustit profilování"
+
+#~ msgid "Load animation from disk."
+#~ msgstr "NaÄíst animaci z disku."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "NaÄíst animaci z disku."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Uložit vybranou animaci"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Kopírovat animaci"
+
+#~ msgid "Fetching:"
+#~ msgstr "Stahuji:"
+
+#~ msgid "prev"
+#~ msgstr "předchozí"
+
+#~ msgid "next"
+#~ msgstr "následující"
+
+#~ msgid "last"
+#~ msgstr "poslední"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Nastavit střed na pozici myši"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Separation:"
+#~ msgstr "Oddělení:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Editor oblasti textury"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Název položky nebo ID:"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Exportní šablony pro tuto platformu chybí nebo jsou poškozené: "
+
+#~ msgid "Button 7"
+#~ msgstr "TlaÄítko Ä. 7"
+
+#~ msgid "Button 8"
+#~ msgstr "TlaÄítko Ä. 8"
+
+#~ msgid "Button 9"
+#~ msgstr "TlaÄítko Ä. 9"
+
+#~ msgid "Condition"
+#~ msgstr "Podmínka"
+
+#~ msgid "Sequence"
+#~ msgstr "Sekvence"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterátor"
+
+#~ msgid "Return"
+#~ msgstr "Vrátit"
+
+#~ msgid "Call"
+#~ msgstr "Zavolat"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Upravit proměnnou"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Upravit signál"
#~ msgid "Can't contain '/' or ':'"
#~ msgstr "Nesmí obsaovat '/' nebo ':'"
@@ -8206,22 +9630,12 @@ msgstr "Neplatná velikost fontu."
#~ "Aby tento sprite mohl fungovat, Viewport nastavený ve vlastnosti path "
#~ "musí být nastaven do módu 'render target'."
-#~ msgid "Filter:"
-#~ msgstr "Filtr:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "Seznam metod '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "Argumenty:"
-
#~ msgid "Return:"
#~ msgstr "Vrátit:"
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Chyba pÅ™i naÄítání:"
-
#~ msgid "Invalid font custom source."
#~ msgstr "Nevalidní písmo z vlastního zdroje."
diff --git a/editor/translations/da.po b/editor/translations/da.po
index fcfdb6d249..d3a036452a 100644
--- a/editor/translations/da.po
+++ b/editor/translations/da.po
@@ -2,353 +2,500 @@
# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.
# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)
# This file is distributed under the same license as the Godot source code.
-#
# Dankse Memes <purplelops@gmail.com>, 2018.
-# David Lamhauge <davidlamhauge@gmail.com>, 2016.
+# David Lamhauge <davidlamhauge@gmail.com>, 2016, 2018.
# Esben Damkjær Sørensen <esben@damkjaergaard.com>, 2018.
# Kim Nielsen <kimmowich@stofanet.dk>, 2017, 2018.
# Michael Madsen <mim@michael-madsen.dk>, 2017.
-#
+# Christoffer Schindel <ceas@outlook.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-05-17 19:35+0000\n"
-"Last-Translator: Kim Nielsen <kimmowich@stofanet.dk>\n"
+"PO-Revision-Date: 2018-08-15 20:35+0000\n"
+"Last-Translator: David Lamhauge <davidlamhauge@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/godot-engine/"
"godot/da/>\n"
"Language: da\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.0-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Deaktiveret"
+#: 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 "Ugyldigt type argument til convert(), brug TYPE_* konstanter."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "All selection"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+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"
+msgstr ""
+
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Ugyldigt indeks egenskabsnavn '%s' i noden %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Ugyldigt indeks egenskabsnavn '%s' i noden %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Ugyldigt argument af typen: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Anim Indsæt Nøgle"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplikér Valgte"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Slet Valgte"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Dublikér Nøgle"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Slet Nøgler"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Skift Keyframetid"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Skift Overgang"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Skift Transformering"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Skift Keyframeværdi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Skift Call"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Tilføj Spor"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Dublikér Nøgle"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Flyt Anim Spor Op"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Flyt Anim Spor Ned"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Fjern Anim Spor"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Sæt Overgange til:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Stop animation afspilning. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim Omdøb Spor"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Tilføj Spor"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim Skift Spor Interpolation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animations Længde (i sekunder)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Anim Skift Sport Værdi Mode"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animation Zoom."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim Skift Spor Wrap Mode"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funktioner:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Rediger Node Kurve"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Rediger Valgte Kurve"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Slet Nøgler"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Skift distraktions-fri modus."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplikér Valgte"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplicate transposed"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Distraktions Fri Modus"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Fjern Markering"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Fjern valgte spor."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tid:"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Kontinuerlig"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskret"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Udløser"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Tilføj Nøgle"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Flyt Nøgle"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Skalér Valgte"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skaler Fra Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Gå Til Næste Trin"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "GÃ¥ Til Forrige Trin"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineær"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstant"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "I"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Ud"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Ind-Ud"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Ud-Ind"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Overgange"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Anim Dublikér Nøgle"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimer Animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Anim Slet Nøgler"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Clean-Up Animation"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Fjern Anim Spor"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Opret NYT spor til %s og indsæt nøgle?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Opret %d NYE spor og indsæt nøgler?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Opret"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Indsæt"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Opret & Indsæt"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Indsæt Spor & Nøgle"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Indsæt Nøgle"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Ændre Anim Længde"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Ændre Anim Løkke"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim Opret Indtastet Værdi Nøgle"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Indsæt"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet blev ikke fundet i scriptet: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Flyt Nøgle"
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Skaler Nøgler"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim tilføj Call Track"
+#: 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 "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
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Trin:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animation Zoom."
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Rediger"
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
msgstr "Animation Zoom."
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Længde (r):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopier Parametre"
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animations Længde (i sekunder)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Indsæt Parametre"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Trin:"
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Skalér Valgte"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skaler Fra Cursor"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Cursor trin snap (i sekunder)."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplikér Valgte"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Aktiver/Deaktivér løkker i animation."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplicate transposed"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Tilføje nye spor."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Slet Valgte"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Flyt aktuelle spor op."
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Gå Til Næste Trin"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Flyt aktuelle spor ned."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "GÃ¥ Til Forrige Trin"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Fjern valgte spor."
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimer Animation"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Spor værktøjer"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Clean-Up Animation"
+
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Aktivere redigering af individuelle nøgler ved at klikke på dem."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
msgstr "Anim. optimizer"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Max. Lineær Fejl:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. Azimutal fejl:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max optimerbar vinkel:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimér"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Vælg en Animations afspiller fra Scene Tree for at redigere i animationer."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Nøgle"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Overgang"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Skalaforhold:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Kald funktioner i hvilken Node?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Fjern ugyldige nøgler"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Fjern uafklarede og tomme spor"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Clean-up alle animationer"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Clean-Up Animation(-er) (ingen FORTRYD!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Clean-up"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Skalaforhold:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopier"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Ændre størrelsen på Array"
@@ -369,7 +516,7 @@ msgstr "GÃ¥ til linje"
msgid "Line Number:"
msgstr "Linjenummer:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Ingen Match"
@@ -385,7 +532,7 @@ msgstr "Match stor/lille"
msgid "Whole Words"
msgstr "Hele Ord"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Erstat"
@@ -397,18 +544,27 @@ msgstr "Erstat Alle"
msgid "Selection Only"
msgstr "Kun Valgte"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoom Ind"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zoom Ud"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Nulstil Zoom"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom Ind"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linje:"
@@ -440,7 +596,8 @@ msgid "Add"
msgstr "Tilføj"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -471,7 +628,7 @@ msgid "Oneshot"
msgstr "OneShot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -493,11 +650,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Forbind '%s' til '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Forbindelses Signal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Afbryd '%s' fra '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Afbryd '%s' fra '%s'"
#: editor/connections_dialog.cpp
@@ -505,14 +663,47 @@ msgid "Connect..."
msgstr "Forbind..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Afbryd"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Forbindelses Signal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Forbindelses fejl"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signaler"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Afbryd"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Rediger"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metoder"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Skift %s Type"
@@ -535,22 +726,25 @@ msgstr "Favoritter:"
msgid "Recent:"
msgstr "Seneste:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Søgning:"
#: editor/create_dialog.cpp editor/editor_help.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 "Matches:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Beskrivelse:"
@@ -612,7 +806,9 @@ msgstr "Søg Erstatnings Ressource:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Ã…ben"
@@ -633,7 +829,7 @@ msgstr ""
"De filer der fjernes er nødvendige for, at andre ressourcer kan fungere.\n"
"Fjern dem alligevel? (ej fortrydes)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "Kan ikke fjerne:"
@@ -702,9 +898,13 @@ msgstr "Ændre Dictionary Værdi"
msgid "Thanks from the Godot community!"
msgstr "Tak fra Godot fællesskabet!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Tak!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Ok"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -881,6 +1081,7 @@ msgid "Bus options"
msgstr "Bus muligheder"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikere"
@@ -949,7 +1150,8 @@ msgstr "Tilføj Bus"
msgid "Create a new Bus Layout."
msgstr "Opret et nyt Bus Layout."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Indlæs"
@@ -959,7 +1161,6 @@ msgid "Load an existing Bus Layout."
msgstr "Indlæs et eksisterende Bus Layout"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Gem som"
@@ -1001,22 +1202,6 @@ msgstr ""
"Ugyldigt navn. Må ikke være i konflikt med eksisterende global constant navn."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ugyldig Sti."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Fil eksisterer ikke."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Ikke i stien for ressource."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Tilføj AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' eksisterer allerede!"
@@ -1045,6 +1230,22 @@ msgstr "Aktivér"
msgid "Rearrange Autoloads"
msgstr "Flytte om på Autoloads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ugyldig Sti."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Fil eksisterer ikke."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Ikke i stien for ressource."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Tilføj AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1075,7 +1276,7 @@ msgstr "Gemmer lokale ændringer..."
msgid "Updating scene..."
msgstr "Opdatere scene..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[tom]"
@@ -1137,6 +1338,12 @@ msgid "Copy Path"
msgstr "Kopier Sti"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Vis I Fil Manager"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Vis I Fil Manager"
@@ -1173,7 +1380,7 @@ msgid "Open a File or Directory"
msgstr "Ã…ben en Fil eller Mappe"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Gem"
@@ -1226,7 +1433,8 @@ msgstr "GÃ¥ til overliggende mappe"
msgid "Directories & Files:"
msgstr "Mapper & Filer:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Forhåndsvisning:"
@@ -1273,7 +1481,6 @@ msgid "Inherits:"
msgstr "Inherits:"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Inherited by:"
msgstr "Arvet af:"
@@ -1364,9 +1571,8 @@ msgstr ""
"ved at give os dit [color=$color][url=$url]bidrag[/url][/color]!"
#: editor/editor_help.cpp
-#, fuzzy
msgid "Methods"
-msgstr "Metode liste:"
+msgstr "Metoder"
#: editor/editor_help.cpp
msgid "Method Description:"
@@ -1381,20 +1587,28 @@ msgstr ""
"hjælp, hvis du kan [color=$color][url=$url]bidrage[/url][/color] med en "
"beskrivelse!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Søg Tekst"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Egenskaber"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Output:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1416,12 +1630,6 @@ msgstr "Fejl, kan ikke gemme ressource!"
msgid "Save Resource As..."
msgstr "Gem Ressource Som..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "I see..."
-msgstr "Jeg ser..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Kan ikke åbne fil til skrivning:"
@@ -1434,9 +1642,9 @@ msgstr "Det ønskede filformat er ukendt:"
msgid "Error while saving."
msgstr "Fejl, under forsøg på at gemme."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Kan ikke åbne '%s'."
+#: 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'."
@@ -1480,10 +1688,6 @@ msgstr ""
"kunne opfyldes."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Fejler med at indlæse ressource."
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Can't load MeshLibrary for merging!"
msgstr "Kan ikke indlæse MeshLibrary til sammenlægning!"
@@ -1567,42 +1771,6 @@ msgstr ""
"forstå denne arbejdsgang."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Udvid alle egenskaber"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Klap alle egenskaber sammen"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Kopier Parametre"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Indsæt Parametre"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Indsæt Ressource"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kopier Ressource"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Gør Indbygget"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Gør Under-Ressourcer Unikke"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Åben i Hjælp"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Der er ingen defineret scene at køre."
@@ -1794,12 +1962,6 @@ msgstr ""
"Scene '%s' blev automatisk importeret, så den kan ikke ændres.\n"
"For at lave ændringer i den, kan en ny nedarvet scene oprettes."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Ugh"
-msgstr "Ugh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1830,6 +1992,16 @@ msgid "Default"
msgstr "Standard"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Spil Scenen"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Luk"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Skift Scene Fane"
@@ -1955,10 +2127,6 @@ msgstr "Projekt"
msgid "Project Settings"
msgstr "Projekt Indstillinger"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Kør Script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Eksporter"
@@ -1968,6 +2136,11 @@ msgid "Tools"
msgstr "Værktøjer"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Ã…bn Projekt Manager?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Afslut til Projekt Listen"
@@ -2080,6 +2253,20 @@ msgstr "Editor Layout"
msgid "Toggle Fullscreen"
msgstr "Skifter fuldskærm"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Editor Indstillinger"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Editor Indstillinger"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Organiser Eksport Skabeloner"
@@ -2095,7 +2282,8 @@ msgstr "Klasser"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Søg"
@@ -2113,7 +2301,7 @@ msgstr "Problem Tracker"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr "Fællesskabet"
+msgstr "Fællesskab"
#: editor/editor_node.cpp
msgid "About"
@@ -2139,7 +2327,7 @@ msgstr "Sæt scenen på pause"
msgid "Stop the scene."
msgstr "Stop scenen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Stop"
@@ -2160,6 +2348,16 @@ msgid "Play Custom Scene"
msgstr "Spil Brugerdefineret Scene"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Gem & Afslut"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Snurrer når editor vinduer gentegnes!"
@@ -2179,42 +2377,6 @@ msgstr "Slå Opdaterings Snurrer Fra"
msgid "Inspector"
msgstr "Inspektør"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Opret en ny ressource i hukommelsen og rediger den."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Indlæs en eksisterende ressource fra disk og rediger den."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Gem den aktuelt redigerede ressource."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Gem Som..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "GÃ¥ til det forrige redigerede objekt i historikken."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Gå til det næste redigerede objekt i historikken."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historik af nyligt redigerede objekter."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Objekt Egenskaber."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Ændringer kan mistes!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2229,6 +2391,11 @@ msgid "FileSystem"
msgstr "Fil System"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Udvid alle"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Output"
@@ -2305,19 +2472,24 @@ msgid "Thumbnail..."
msgstr "Miniature..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Rediger Poly"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Installerede Plugins:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Opdater"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Version:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Forfatter:"
@@ -2325,13 +2497,15 @@ msgstr "Forfatter:"
msgid "Status:"
msgstr "Status:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Stop Profilering"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Rediger"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Start Profilering"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2381,6 +2555,101 @@ msgstr "Tid:"
msgid "Calls"
msgstr "Kald"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Indsæt"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Konverter Til %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Ã…bn 2D Editor"
+
+#: 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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Vælg enhed fra listen"
@@ -2417,10 +2686,6 @@ msgstr "Kunne ikke køre script:"
msgid "Did you forget the '_run' method?"
msgstr "Glemte du '_run' metoden?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Standard (Samme som Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Vælg Noder at Importere"
@@ -2446,6 +2711,7 @@ msgid "(Installed)"
msgstr "(Installeret)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Download"
@@ -2470,7 +2736,8 @@ msgid "Can't open export templates zip."
msgstr "Kan ikke åbne eksport skabeloner zip."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Ugyldigt version.txt format inde i skabeloner."
#: editor/export_template_manager.cpp
@@ -2535,6 +2802,12 @@ msgid "Download Complete."
msgstr "Download fuldført."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error requesting url: "
msgstr "Fejl i anmodning url: "
@@ -2617,7 +2890,8 @@ msgid "Download Templates"
msgstr "Download Skabeloner"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Vælg spejl fra liste: "
#: editor/file_type_cache.cpp
@@ -2629,11 +2903,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "Kan ikke navigere til '%s' da det ikke blev fundet i filsystemet!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Vis emner som et gitter af miniaturebilleder"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Vis emner som en liste"
#: editor/filesystem_dock.cpp
@@ -2714,7 +2990,7 @@ msgstr "Udvid alle"
msgid "Collapse all"
msgstr "Klap alle sammen"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Omdøb..."
@@ -2745,6 +3021,23 @@ msgid "Duplicate..."
msgstr "Duplikere"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Hurtig Ã…bn Script..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Gem Ressource Som..."
+
+#: 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 "Omdøb"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Forrige Mappe"
@@ -2757,14 +3050,29 @@ msgid "Re-Scan Filesystem"
msgstr "Gen-scan Filsystemet"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Skift mappe status til Favorit"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Gem den aktuelt redigerede ressource."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Søg Classes"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2772,14 +3080,112 @@ msgstr ""
"Scanner Filer,\n"
"Vent Venligst..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Flyt"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Omdøb"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "En fil eller mappe med dette navn findes allerede."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d flere filer"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Find"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Hele Ord"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Match stor/lille"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filter:"
+
+#: 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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Annuller"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Erstat"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Erstat Alle"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Gemmer..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Søg Tekst"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "FEJL: Animationsnavn eksisterer allerede!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ugyldigt navn."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupper"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Føj til Gruppe"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrer noder"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Føj til Gruppe"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2789,6 +3195,11 @@ msgstr "Føj til Gruppe"
msgid "Remove from Group"
msgstr "Fjern fra Gruppe"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupper"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importer som Enkelt Scene"
@@ -2830,7 +3241,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importer som Adskillige Scener+Materialer"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importer Scene"
@@ -2890,18 +3301,128 @@ msgstr "Forudindstillet..."
msgid "Reimport"
msgstr "Genimporter"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Fejler med at indlæse ressource."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Udvid alle egenskaber"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Klap alle egenskaber sammen"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Gem Som..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Kopier Parametre"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Indsæt Parametre"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "FEJL: Ingen animationsressource i udklipsholder!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kopier Ressource"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Gør Indbygget"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Gør Under-Ressourcer Unikke"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Åben i Hjælp"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Opret en ny ressource i hukommelsen og rediger den."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Indlæs en eksisterende ressource fra disk og rediger den."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "GÃ¥ til det forrige redigerede objekt i historikken."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Gå til det næste redigerede objekt i historikken."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Historik af nyligt redigerede objekter."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Objekt Egenskaber."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrer noder"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Ændringer kan mistes!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "MultiNode Sæt"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupper"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Vælg en Node at redigere Signaler og Grupper for."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Rediger Poly"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Opret Abonnement"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2947,6 +3468,147 @@ msgstr ""
msgid "Delete points"
msgstr "Slet points"
+#: 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 "Tilføj animation"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Indlæs"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Slet points"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Slet points"
+
+#: 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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Ny Animation Navn:"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "FEJL: Animationsnavn eksisterer allerede!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Rediger filtre"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Tilføj Node"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Rediger filtre"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Skift Autoplay"
@@ -2973,11 +3635,13 @@ msgid "Remove Animation"
msgstr "Fjern Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "FEJL: Ugyldig animationsnavn!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "FEJL: Animationsnavn eksisterer allerede!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2986,11 +3650,6 @@ msgid "Rename Animation"
msgstr "Omdøb animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Tilføj animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -3007,11 +3666,13 @@ msgid "Duplicate Animation"
msgstr "Lav en kopi af animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "FEJL: Der er ingen animation der kan kopieres!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "FEJL: Ingen animationsressource i udklipsholder!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3023,7 +3684,8 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "FEJL: Der er ingen animation som kan redigeres!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3055,39 +3717,34 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Overgange"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Inspektør"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3141,6 +3798,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Ændre Animation Navn:"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3150,6 +3812,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3167,162 +3830,214 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Rediger filtre"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Ikke i stien for ressource."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Opret Ny %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Forbind Nodes"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Fjern valgte spor."
+
+#: 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 "Overgang"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "AnimationTree"
+msgstr "Animation Zoom."
+
+#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Animation Zoom."
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Indhold:"
@@ -3376,8 +4091,14 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr ""
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Indlæser"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Indlæser"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3404,19 +4125,20 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr ""
+#, fuzzy
+msgid "Previous"
+msgstr "Forrige fane"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+msgid "Next"
+msgstr "Næste"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3484,7 +4206,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3493,12 +4215,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3511,14 +4231,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3547,11 +4259,24 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Fjern punkt"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3571,6 +4296,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zoom Ud"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Zoom Ud"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoom Ind"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3615,7 +4355,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr "Skift snapping mode"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3623,7 +4363,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3664,6 +4404,10 @@ 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 ""
@@ -3690,24 +4434,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Spil Brugerdefineret Scene"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3752,12 +4497,9 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "Anim Indsæt Nøgle"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3772,14 +4514,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Sæt midtpunkt på musens position"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3795,10 +4529,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3832,26 +4562,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3923,15 +4645,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -4015,6 +4728,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4084,6 +4798,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4184,70 +4919,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4308,18 +4979,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4328,15 +4987,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4364,6 +5019,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Konverter Til %s"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4440,6 +5108,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4476,19 +5160,92 @@ msgstr "Fjern Funktion"
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Fjern punkt"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Opret Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Autoload '%s' eksisterer allerede!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Tilføj punkt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ugyldig sti"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Fjern punkt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Rediger Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Opret Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4517,12 +5274,24 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Rediger"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4537,9 +5306,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Editor Indstillinger"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4549,6 +5318,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4571,6 +5364,10 @@ msgid "Resource clipboard is empty!"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Indsæt Ressource"
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4592,17 +5389,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Indsæt"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
msgstr "Ressource"
+#: 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 ""
@@ -4612,6 +5410,21 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Error loading skrifttype."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Fejl - kunne ikke oprette script i filsystem."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Fejl, kan ikke gemme TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4628,6 +5441,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Opret mappe..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Ã…ben en Fil"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Gem Som..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4640,6 +5468,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sorter"
@@ -4668,8 +5500,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "Vis filer"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4698,6 +5531,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4731,11 +5569,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4789,10 +5622,6 @@ msgid "Discard"
msgstr "Kassér"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4811,45 +5640,70 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Søg i Hjælp"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Søg Classes"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linje:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Cut"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopier"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4938,8 +5792,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrer filer..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4957,129 +5812,41 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Opret Abonnement"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Spil"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5206,10 +5973,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5218,6 +5981,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5262,6 +6029,11 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Opretter Maske Forhåndsvisninger"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5391,6 +6163,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5399,6 +6175,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5427,6 +6207,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5440,10 +6224,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5503,6 +6283,50 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Konverter Til %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Opret Ny %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Forhåndsvisning:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Tester"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5571,14 +6395,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5604,26 +6420,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5639,11 +6448,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Fjern Alt"
@@ -5715,10 +6519,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5743,7 +6543,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5756,14 +6556,19 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Konstant"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Slet valgte"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ugyldigt navn."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5784,12 +6589,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Find"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5812,6 +6614,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Fjern Markering"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5828,66 +6635,112 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Tilføj Node(r) fra Tree"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Fjern Kurve Punkt"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Gem den aktuelt redigerede ressource."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Annuller"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Denne handling kan ikke udføres uden en scene."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "Argumenter:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5902,7 +6755,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5976,10 +6829,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5988,7 +6837,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5996,6 +6845,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6088,6 +6945,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6196,8 +7057,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6209,9 +7070,23 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Ændre Animation Navn:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Enhed"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Enhed"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6253,20 +7128,24 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr ""
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Venstre knap."
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr ""
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Højre knap."
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "Knap"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "Knap"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6294,10 +7173,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Enhed"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Knap"
@@ -6342,6 +7217,12 @@ msgid "Delete Item"
msgstr "Slet Valgte"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr ""
@@ -6403,7 +7284,7 @@ msgstr ""
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
-msgstr ""
+msgstr "Generelt"
#: editor/project_settings_editor.cpp editor/property_editor.cpp
msgid "Property:"
@@ -6413,6 +7294,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6422,6 +7307,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Tilføj Funktion"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6482,10 +7376,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6522,34 +7412,10 @@ msgid "Select Node"
msgstr "Vælg Node"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Konverter Til %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Vælg en Node"
@@ -6558,18 +7424,6 @@ msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "On"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr ""
@@ -6593,6 +7447,131 @@ msgstr ""
msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Omdøb"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Node Navn:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Find Node Type"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Nuværende scene er ikke gemt. Åbn alligevel?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Omdøb"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Trin:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Skift udtryk"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Konverter til små bogstaver"
+
+#: editor/rename_dialog.cpp
+msgid "To Uppercase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Nulstil Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6629,11 +7608,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Ok"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6653,6 +7627,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Ryd Script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6693,14 +7671,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Opret Mappe"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scene"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scene"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Indsæt Node"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6709,6 +7707,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6752,18 +7754,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Ryd Script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Gem Scene"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6786,10 +7785,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrer noder"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6810,17 +7805,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Skifter Skjulte Filer"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6828,7 +7816,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6844,20 +7832,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Ã…ben script"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6865,6 +7854,12 @@ 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 ""
@@ -6901,6 +7896,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Ã…bn Script Editor"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7139,10 +8139,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7155,19 +8167,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7224,16 +8248,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Ugyldigt type argument til convert(), brug TYPE_* konstanter."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Ikke nok bytes til afkodning af bytes, eller ugyldigt format."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "trin argument er nul!"
@@ -7301,6 +8315,11 @@ msgid "GridMap Delete Selection"
msgstr "GridMap Slet Markerede"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "GridMap Slet Markerede"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "GridMap Duplikér Markerede"
@@ -7381,6 +8400,11 @@ msgid "Clear Selection"
msgstr "Ryd Markerede"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "All selection"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7454,6 +8478,70 @@ msgstr "Vis filer"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7511,10 +8599,6 @@ msgid "Set Variable Type"
msgstr "Sæt Variabel Type"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funktioner:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variable:"
@@ -7624,36 +8708,14 @@ msgid "Connect Nodes"
msgstr "Forbind Nodes"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Tilstand"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Retur"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Kald"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Forbind Nodes"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Forbind Nodes"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7680,26 +8742,18 @@ msgid "Remove Function"
msgstr "Fjern Funktion"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Rediger Variabel"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Fjern Variabel"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Rediger Signal"
+msgid "Editing Variable:"
+msgstr "Redigerer Variabel:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Fjern Signal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Redigerer Variabel:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Redigerer Signal:"
@@ -7744,6 +8798,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr "Indsæt Node"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Medlemmer"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Input type ikke iterabel: "
@@ -7801,6 +8860,19 @@ msgstr ""
"Ugyldig retur værdi fra _step(), skal være heltal (seq ud), eller en streng "
"(fejl)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Fjern VisualScript Node"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7858,8 +8930,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7957,6 +9029,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "Egenskaben Path skal pege på en gyldig Node2D node for at virke."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8019,8 +9104,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8107,6 +9192,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8121,6 +9217,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animations Længde (i sekunder)."
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "FEJL: Ugyldig animationsnavn!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Afbryd '%s' fra '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Vælg en Animations afspiller fra Scene Tree for at redigere i animationer."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8197,12 +9334,163 @@ msgstr "Error loading skrifttype."
msgid "Invalid font size."
msgstr "Ugyldig skriftstørrelse."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Forrige fane"
+msgid "Invalid source for shader."
+msgstr "Ugyldig skriftstørrelse."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Deaktiveret"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Flyt Anim Spor Op"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Flyt Anim Spor Ned"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Sæt Overgange til:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim Omdøb Spor"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim Skift Spor Interpolation"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Anim Skift Sport Værdi Mode"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim Skift Spor Wrap Mode"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Rediger Node Kurve"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Rediger Valgte Kurve"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Tilføj Nøgle"
+
+#~ msgid "In"
+#~ msgstr "I"
+
+#~ msgid "Out"
+#~ msgstr "Ud"
+
+#~ msgid "In-Out"
+#~ msgstr "Ind-Ud"
+
+#~ msgid "Out-In"
+#~ msgstr "Ud-Ind"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Ændre Anim Længde"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Ændre Anim Løkke"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim Opret Indtastet Værdi Nøgle"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim tilføj Call Track"
+
+#~ msgid "Length (s):"
+#~ msgstr "Længde (r):"
-#~ msgid "Next"
-#~ msgstr "Næste"
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Cursor trin snap (i sekunder)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Aktiver/Deaktivér løkker i animation."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Tilføje nye spor."
+
+#~ msgid "Move current track up."
+#~ msgstr "Flyt aktuelle spor op."
+
+#~ msgid "Move current track down."
+#~ msgstr "Flyt aktuelle spor ned."
+
+#~ msgid "Track tools"
+#~ msgstr "Spor værktøjer"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Aktivere redigering af individuelle nøgler ved at klikke på dem."
+
+#~ msgid "Key"
+#~ msgstr "Nøgle"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Kald funktioner i hvilken Node?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Tak!"
+
+#~ msgid "I see..."
+#~ msgstr "Jeg forstår..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Kan ikke åbne '%s'."
+
+#, fuzzy
+#~ msgid "Ugh"
+#~ msgstr "Ugh"
+
+#~ msgid "Run Script"
+#~ msgstr "Kør Script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Gem den aktuelt redigerede ressource."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Stop Profilering"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Start Profilering"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Standard (Samme som Editor)"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Sæt midtpunkt på musens position"
+
+#~ msgid "Condition"
+#~ msgstr "Tilstand"
+
+#~ msgid "Return"
+#~ msgstr "Retur"
+
+#~ msgid "Call"
+#~ msgstr "Kald"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Rediger Variabel"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Rediger Signal"
#~ msgid "Can't contain '/' or ':'"
#~ msgstr "Kan ikke indeholde '/' eller ':'"
@@ -8255,10 +9543,6 @@ msgstr "Ugyldig skriftstørrelse."
#~ msgstr "Meta +"
#, fuzzy
-#~ msgid "Setting '"
-#~ msgstr "Tester"
-
-#, fuzzy
#~ msgid "Selection -> Duplicate"
#~ msgstr "Kun Valgte"
@@ -8280,23 +9564,13 @@ msgstr "Ugyldig skriftstørrelse."
#~ "Viewport angivet i egenskaben path skal indstilles som 'render target' "
#~ "for at denne sprite kan virke."
-#~ msgid "Filter:"
-#~ msgstr "Filter:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "Metode liste For '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "Argumenter:"
-
#~ msgid "Return:"
#~ msgstr "Tilbage:"
#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Error loading skrifttype."
-
-#, fuzzy
#~ msgid "Tiles"
#~ msgstr "Fil:"
diff --git a/editor/translations/de.po b/editor/translations/de.po
index c61d78e37e..641d06841b 100644
--- a/editor/translations/de.po
+++ b/editor/translations/de.po
@@ -30,12 +30,13 @@
# Arndt Heuvel <codeforpb@schatzkarten.net>, 2018.
# Gordon <gkone@gmx.net>, 2018.
# chillhelm <wilhelm@neubert.online>, 2018.
+# Mathias Schmalisch <mathias.schmalisch@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-07-05 12:38+0000\n"
-"Last-Translator: So Wieso <sowieso@dukun.de>\n"
+"PO-Revision-Date: 2018-08-14 08:38+0000\n"
+"Last-Translator: Mathias Schmalisch <mathias.schmalisch@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -43,335 +44,493 @@ 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 3.1-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Deaktiviert"
+#: 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 ""
+"Ungültiger Argument-Typ in convert()-Aufruf, TYPE_*-Konstanten benötigt."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Alle auswählen"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+"Nicht genügend Bytes zum Dekodieren des Byte-Strings oder ungültiges Format."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Ungültiger Indexeigenschaftsname ‚%s‘ in Node %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Ungültiger Indexeigenschaftsname ‚%s‘ in Node %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Ungültiger Parameter vom Typ: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Kostenlos"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "X-Koordinaten spiegeln"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Schlüsselbild einfügen"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Auswahl duplizieren"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Ausgewähltes löschen"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Schlüsselbild duplizieren"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Schlüsselbilder löschen"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Schlüsselbildzeit ändern"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Übergang bearbeiten"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Transformation bearbeiten"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Schlüsselbildwert ändern"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Aufruf ändern"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Spur hinzufügen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Eigenschaft:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Schlüsselbild duplizieren"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Typ der Transformation"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Spur nach oben verschieben"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Spur nach unten verschieben"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Spur entfernen"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Setze Übergänge auf:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Stoppe Animations-Wiedergabe. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Spur umbenennen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Spur hinzufügen"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Interpolation der Spur ändern"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animationsdauer (in Sekunden)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Wertmodus der Spur ändern"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animation zoomen."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Wiederholmodus der Spur ändern"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funktionen:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Node-Kurve bearbeiten"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Audiosenke"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Selektions-Kurve bearbeiten"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Ausschnitte"
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Schlüsselbilder löschen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Ablenkungsfreien Modus umschalten."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Auswahl duplizieren"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Transponierte duplizieren"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animations-Node"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Auswahl entfernen"
+#: 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 "Ausgewählte Spur entfernen."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Überblendungszeit (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Fortlaufend"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Einzeln"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Auslöser"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Schlüsselbild hinzufügen"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Schlüsselbilder bewegen"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Auswahl skalieren"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Vom Cursor skalieren"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Gehe zum nächsten Schritt"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Funktionen"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Gehe zum vorherigen Schritt"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linear"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstant"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Rein"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Raus"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "Ändere Animationswiederholung"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Rein-Raus"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Raus-Rein"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Schlüsselbild einfügen"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Übergänge"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Dupliziere Node(s)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Animation optimieren"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Node(s) löschen"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Animation bereinigen"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Spur entfernen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "NEUE Spur für %s erstellen und Schlüsselbild hinzufügen?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "%d NEUE Spuren erstellen und Schlüsselbilder hinzufügen?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Erstellen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Einfügen"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Animation Erstellen & Einfügen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Spur & Schlüsselbild einfügen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Schlüsselbild einfügen"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Animationslänge ändern"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Animationswiederholung ändern"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Festgelegten Werteschlüssel erstellen"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Einfügen"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "VariableGet nicht im Skript gefunden: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Schlüsselbilder bewegen"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Zwischenablage ist leer!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Schlüsselbilder skalieren"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Aufruf-Spur zu Animation hinzufügen"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animation zoomen."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Länge (s):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animationsdauer (in Sekunden)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Einrasten (Pixel):"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Schrittweite (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animationsbaum ist gültig."
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Cursor Schrittraster (in Sekunden)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Bearbeiten"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Animationsschleife aktivieren/deaktivieren."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimationTree"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Neue Spuren hinzufügen."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Parameter kopieren"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Aktuelle Spur nach oben verschieben."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Parameter einfügen"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Aktuelle Spur nach unten verschieben."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Auswahl skalieren"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Ausgewählte Spur entfernen."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Vom Cursor skalieren"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Auswahl duplizieren"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Transponierte duplizieren"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Ausgewähltes löschen"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Gehe zum nächsten Schritt"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Spur-Werkzeuge"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Gehe zum vorherigen Schritt"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Individuelle Schlüsselbildbearbeitung durch Anklicken aktivieren."
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Animation optimieren"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Animation bereinigen"
-#: editor/animation_editor.cpp
+#: 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 "Anim. Optimizer"
msgstr "Animationsoptimierer"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Max. Linearer Fehler:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. Winkel-Fehler:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Maximaler optimierbarer Winkel:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimieren"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"AnimationPlayer aus dem Szenenbaum auswählen um Animationen zu bearbeiten."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Schlüsselbild"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Übergang"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Skalierungsverhältnis:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Funktionen in welcher Node aufrufen?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Ungültige Schlüsselbilder entfernen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Ungelöste und leere Spuren entfernen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Alle Animationen bereinigen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Animationen bereinigen (Kann nicht rückgängig gemacht werden!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Bereinigen"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Skalierungsverhältnis:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopieren"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Größe des Arrays ändern"
@@ -392,7 +551,7 @@ msgstr "Gehe zu Zeile"
msgid "Line Number:"
msgstr "Zeilennummer:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Keine Übereinstimmungen"
@@ -408,7 +567,7 @@ msgstr "Groß-/Kleinschreibung berücksichtigen"
msgid "Whole Words"
msgstr "Ganze Wörter"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Ersetzen"
@@ -420,18 +579,28 @@ msgstr "Alle ersetzen"
msgid "Selection Only"
msgstr "Nur Auswahl"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Vergrößern"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Verkleinern"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Vergrößerung zurücksetzen"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Warnungen"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Vergrößerung (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Zeile:"
@@ -463,7 +632,8 @@ msgid "Add"
msgstr "Hinzufügen"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -494,7 +664,7 @@ msgid "Oneshot"
msgstr "Einmalig"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -516,11 +686,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Verbinde ‚%s‘ mit ‚%s‘"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Signal verbinden:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "'%s' von '%s' trennen"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "'%s' von '%s' trennen"
#: editor/connections_dialog.cpp
@@ -528,14 +699,48 @@ msgid "Connect..."
msgstr "Verbinden..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Trennen"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Signal verbinden:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Verbindungen bearbeiten"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Sollen wirklich mehrere Projekte ausgeführt werden?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signale"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Trennen"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Bearbeiten"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Methoden"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "%s-Typ ändern"
@@ -558,22 +763,25 @@ msgstr "Favoriten:"
msgid "Recent:"
msgstr "Kürzlich:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Suche:"
#: editor/create_dialog.cpp editor/editor_help.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 "Treffer:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Beschreibung:"
@@ -635,7 +843,9 @@ msgstr "Ersatzressource suchen:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Öffnen"
@@ -659,7 +869,7 @@ msgstr ""
"funktionieren.\n"
"Trotzdem entfernen? (Kann nicht rückgängig gemacht werden)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Kann nicht entfernt werden:"
@@ -729,9 +939,13 @@ msgstr "Wörterbuchwert ändern"
msgid "Thanks from the Godot community!"
msgstr "Die Godot-Gemeinschaft bedankt sich!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Danke!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -909,6 +1123,7 @@ msgid "Bus options"
msgstr "Audiobusoptionen"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplizieren"
@@ -977,7 +1192,8 @@ msgstr "Audiobus hinzufügen"
msgid "Create a new Bus Layout."
msgstr "Neues Audiobus-Layout erstellen."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Lade"
@@ -987,7 +1203,6 @@ msgid "Load an existing Bus Layout."
msgstr "Lade ein existierendes Bus-Layout."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Speichern unter"
@@ -1030,22 +1245,6 @@ msgstr ""
"übereinstimmen."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ungültiger Pfad."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Datei existiert nicht."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Nicht im Ressourcen-Pfad."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Autoload hinzufügen"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' existiert bereits!"
@@ -1073,6 +1272,22 @@ msgstr "Aktivieren"
msgid "Rearrange Autoloads"
msgstr "Autoloads neu anordnen"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ungültiger Pfad."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Datei existiert nicht."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Nicht im Ressourcen-Pfad."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Autoload hinzufügen"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1103,7 +1318,7 @@ msgstr "Speichere lokale Änderungen..."
msgid "Updating scene..."
msgstr "Aktualisiere Szene..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[leer]"
@@ -1165,6 +1380,12 @@ msgid "Copy Path"
msgstr "Pfad kopieren"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Zeige im Dateimanager"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Zeige im Dateimanager"
@@ -1201,7 +1422,7 @@ msgid "Open a File or Directory"
msgstr "Datei oder Verzeichnis öffnen"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Speichern"
@@ -1254,7 +1475,8 @@ msgstr "Gehe zu übergeordnetem Ordner"
msgid "Directories & Files:"
msgstr "Verzeichnisse & Dateien:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Vorschau:"
@@ -1406,20 +1628,28 @@ msgstr ""
"Es gibt zurzeit keine Beschreibung dieser Methode. [color=$color][url="
"$url]Ergänzungen durch eigene Beiträge[/url][/color] sind sehr erwünscht!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Suchtext"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Eigenschaft:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Finden"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Setzen"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Ausgabe:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1441,11 +1671,6 @@ msgstr "Fehler beim speichern der Ressource!"
msgid "Save Resource As..."
msgstr "Speichere Ressource als..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Verstehe..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Datei kann nicht zum schreiben geöffnet werden:"
@@ -1458,9 +1683,9 @@ msgstr "Angefordertes Dateiformat unbekannt:"
msgid "Error while saving."
msgstr "Fehler beim speichern."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "‚%s‘ kann nicht geöffnet werden."
+#: 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'."
@@ -1503,10 +1728,6 @@ msgstr ""
"(Instanzen oder Vererbungen) nicht erfüllt."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Laden der Ressource gescheitert."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "MeshLibrary konnte nicht zum vereinen geladen werden!"
@@ -1587,42 +1808,6 @@ msgstr ""
"Die Dokumentation zum Debugging beschreibt den nötigen Arbeitsablauf."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Alle Eigenschaften ausklappen"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Alle Eigenschaften einklappen"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Parameter kopieren"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Parameter einfügen"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Ressource einfügen"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Ressource kopieren"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Einbetten"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Unter-Ressource Einzigartig Machen"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "In Hilfe öffnen"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Es ist keine zu startende Szene definiert."
@@ -1825,11 +2010,6 @@ msgstr ""
"Um Änderungen an der Szene vorzunehmen kann eine abgeleitete Szene erstellt "
"werden."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Ähm"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1861,6 +2041,16 @@ msgid "Default"
msgstr "Standard"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Szene starten"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Andere Tabs schließen"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Szenentab wechseln"
@@ -1982,10 +2172,6 @@ msgstr "Projekt"
msgid "Project Settings"
msgstr "Projekteinstellungen"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Skript ausführen"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportieren"
@@ -1995,6 +2181,11 @@ msgid "Tools"
msgstr "Werkzeuge"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Projektverwaltung öffnen?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Verlasse zur Projektverwaltung"
@@ -2106,6 +2297,20 @@ msgstr "Editorlayout"
msgid "Toggle Fullscreen"
msgstr "Vollbildmodus umschalten"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Editoreinstellungen"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Editoreinstellungen"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Verwalte Exportvorlagen"
@@ -2121,7 +2326,8 @@ msgstr "Klassen"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Suchen"
@@ -2165,7 +2371,7 @@ msgstr "Szene pausieren"
msgid "Stop the scene."
msgstr "Szene stoppen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Stop"
@@ -2186,6 +2392,16 @@ msgid "Play Custom Scene"
msgstr "Spiele angepasste Szene"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Speichern & neu importieren"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Dreht sich, wenn das Editorfenster neu gezeichnet wird!"
@@ -2205,42 +2421,6 @@ msgstr "Update-Anzeigerad deaktivieren"
msgid "Inspector"
msgstr "Inspektor"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Erstelle eine neue Ressource im Speicher und bearbeite sie."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Lade eine bestehende Ressource von der Festplatte und bearbeite sie."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Speichere die so eben bearbeitete Ressource."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Speichern als..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Gehe zum vorherigen bearbeiteten Objekt im Verlauf."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Gehe zum nächsten bearbeiteten Objekt im Verlauf."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Verlauf der zuletzt bearbeiteten Objekte."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Objekteigenschaften."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Änderungen können verloren gehen!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2255,6 +2435,11 @@ msgid "FileSystem"
msgstr "Dateisystem"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Alle expandieren"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Ausgabe"
@@ -2331,19 +2516,24 @@ msgid "Thumbnail..."
msgstr "Vorschau..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Polygon bearbeiten"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Installierte Erweiterungen:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Update"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Version:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2351,13 +2541,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Status:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Laufzeitanalyse beenden"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Bearbeiten"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Laufzeitanalyse starten"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2403,6 +2596,106 @@ msgstr "Zeit"
msgid "Calls"
msgstr "Aufrufe"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "An"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, Wert %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[leer]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Zuweisen"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Viewport auswählen"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Neues Skript"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Neues %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Einzigartig machen"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Im Dateisystem anzeigen"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Einfügen"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Umwandeln zu %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Im Editor öffnen"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Ausgewähltes Node ist kein Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Zellgröße:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Neuer Name:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Neuer Name:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Entferne Element"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Gerät aus Liste auswählen"
@@ -2439,10 +2732,6 @@ msgstr "Skript konnte nicht ausgeführt werden:"
msgid "Did you forget the '_run' method?"
msgstr "Hast du die '_run' Methode vergessen?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Standard (wie Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selektiere Node(s) für den Import"
@@ -2468,6 +2757,7 @@ msgid "(Installed)"
msgstr "(Installiert)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Herunterladen"
@@ -2492,7 +2782,8 @@ msgid "Can't open export templates zip."
msgstr "Exportvorlagen-ZIP-Datei konnte nicht geöffnet werden."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Ungültiges version.txt-Format in Templates."
#: editor/export_template_manager.cpp
@@ -2554,6 +2845,12 @@ msgid "Download Complete."
msgstr "Download abgeschlossen."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Fehler beim Abrufen der URL: "
@@ -2632,7 +2929,8 @@ msgid "Download Templates"
msgstr "Lade Template herunter"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Mirror aus Liste auswählen: "
#: editor/file_type_cache.cpp
@@ -2648,11 +2946,13 @@ msgstr ""
"wurde!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Einträge in Vorschaugitter anzeigen"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Einträge als Liste anzeigen"
#: editor/filesystem_dock.cpp
@@ -2724,7 +3024,7 @@ msgstr "Alle expandieren"
msgid "Collapse all"
msgstr "Alle einklappen"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Umbenennen..."
@@ -2753,6 +3053,23 @@ msgid "Duplicate..."
msgstr "Duplizieren..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Neues Skript"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Speichere Ressource als..."
+
+#: 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 "Umbenennen"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Vorheriges Verzeichnis"
@@ -2765,14 +3082,29 @@ msgid "Re-Scan Filesystem"
msgstr "Dateisystem erneut einlesen"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Favoriten-Verzeichnisstatus umschalten"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Speichere die so eben bearbeitete Unterkachel."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instantiiere gewählte Szene(n) als Unterobjekt des ausgewählten Nodes."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Klassen suchen"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2780,14 +3112,113 @@ msgstr ""
"Lese Dateien,\n"
"Bitte warten..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Verschieben"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Umbenennen"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+"Es existiert bereits ein Ordner an diesem Pfad mit dem angegebenen Namen."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Erstelle Skript"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Finde Kachel"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Finden"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Ganze Wörter"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Groß-/Kleinschreibung berücksichtigen"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filter:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Finde..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Ersetzen..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Ersetzen"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Alle ersetzen"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Speichere..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Suchtext"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "FEHLER: Animationsname existiert bereits!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ungültiger Name."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Gruppen"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Zu Gruppe hinzufügen"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Nodes filtern"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Gruppen bearbeiten"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2797,6 +3228,11 @@ msgstr "Zu Gruppe hinzufügen"
msgid "Remove from Group"
msgstr "Aus Gruppe entfernen"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Bildergruppen"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Als einzelne Szene importieren"
@@ -2838,7 +3274,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Import als mehrere Szenen und Materialien"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Szene importieren"
@@ -2898,18 +3334,131 @@ msgstr "Voreinstellungen..."
msgid "Reimport"
msgstr "Neuimport"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Laden der Ressource gescheitert."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Alle Eigenschaften ausklappen"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Alle Eigenschaften einklappen"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Speichern als..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Parameter kopieren"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Parameter einfügen"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Zwischenablage für Ressourcen ist leer!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Ressource kopieren"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Einbetten"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Unter-Ressource Einzigartig Machen"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "In Hilfe öffnen"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Erstelle eine neue Ressource im Speicher und bearbeite sie."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Lade eine bestehende Ressource von der Festplatte und bearbeite sie."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Gehe zum vorherigen bearbeiteten Objekt im Verlauf."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Gehe zum nächsten bearbeiteten Objekt im Verlauf."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Verlauf der zuletzt bearbeiteten Objekte."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Objekteigenschaften."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Nodes filtern"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Änderungen können verloren gehen!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "MultiNode setzen"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Gruppen"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Node auswählen um Signale und Gruppen zu bearbeiten."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Polygon bearbeiten"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Erzeuge C#-Lösung"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Plugin Liste:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Sprache"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Skript gültig"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2955,6 +3504,150 @@ msgstr ""
msgid "Delete points"
msgstr "Punkte entfernen"
+#: 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 "Animation hinzufügen"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Lade"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Punkte entfernen"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMT: Punkt entfernen."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Punkt verschieben"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animations-Node"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Aktion ‚%s‘ existiert bereits!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "Analysiere %d Dreiecke:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Einrasten"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Filter bearbeiten"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Node hinzufügen"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Filter bearbeiten"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "bearbeitbare Unterobjekte"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Automatisches Abspielen umschalten"
@@ -2981,11 +3674,13 @@ msgid "Remove Animation"
msgstr "Animation entfernen"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "FEHLER: ungültiger Animationsname!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "FEHLER: Animationsname existiert bereits!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2994,11 +3689,6 @@ msgid "Rename Animation"
msgstr "Animation umbenennen"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Animation hinzufügen"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Überblende nächste Bearbeitung"
@@ -3015,11 +3705,13 @@ msgid "Duplicate Animation"
msgstr "Animation duplizieren"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "Fehler: Keine Animation zum kopieren!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "FEHLER: Keine Animations-Ressource im Zwischenspeicher!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3031,7 +3723,8 @@ msgid "Paste Animation"
msgstr "Animation einfügen"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "FEHLER: Keine Animation zum bearbeiten!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3063,20 +3756,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Animationsablauf für dieses Node global skalieren."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Neue Animation im Player erstellen."
+msgid "Animation Tools"
+msgstr "Animationswerkzeuge"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Animation von der Festplatte laden."
+msgid "New"
+msgstr "Neu"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Eine Animation von der Festplatte laden."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Bearbeite Verbindungen..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Aktuelle Animation speichern"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Im Editor öffnen"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3087,18 +3787,6 @@ msgid "Autoplay on Load"
msgstr "Beim Laden automatisch abspielen"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Ziel-Übergangszeiten bearbeiten"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Animationswerkzeuge"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Animation kopieren"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Zwiebelhaut"
@@ -3147,6 +3835,11 @@ msgid "Include Gizmos (3D)"
msgstr "Griffe (3D) einbeziehen"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Animation einfügen"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Neue Animation erstellen"
@@ -3156,6 +3849,7 @@ msgstr "Animationsname:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3173,161 +3867,214 @@ msgstr "Nächste (Automatische Warteschlange):"
msgid "Cross-Animation Blend Times"
msgstr "Übergangszeiten kreuzender Animationen"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Ende"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Nicht im Ressourcen-Pfad."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "%s erstellen"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Nodes verbinden"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Ausgewählte Spur entfernen."
+
+#: 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 "Übergang"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimationTree"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Neuer Name:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Filter bearbeiten"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Skalierung:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Einblenden (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Ausblenden (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Blenden"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mischen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Automatisch neu starten:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Neu starten (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Zufällig neu starten (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Start!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Menge:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Blende:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Blende 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Blende 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Überblendungszeit (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Laufend:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Eingang hinzufügen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Lösche Auto-Fortschritt"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Setze Auto-Fortschritt"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Eingang löschen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Animationsbaum ist gültig."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Animationsbaum ist ungültig."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animations-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Einfach-Aufruf-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Misch-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Blende2-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Blende3-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Blende4-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Zeitskalier-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Zeitsuch-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Übergangs-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Animationen importieren..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Nodefilter bearbeiten"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filter..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimationTree"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Kostenlos"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Inhalt:"
@@ -3381,8 +4128,14 @@ msgid "Asset Download Error:"
msgstr "Nutzerinhalte-Download-Fehler:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Hole:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Wird heruntergeladen"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Wird heruntergeladen"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3409,20 +4162,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Dieser Nutzerinhalt wird bereits herunter geladen!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "Anfang"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "zurück"
+#, fuzzy
+msgid "Previous"
+msgstr "Vorheriger Tab"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "vor"
+msgid "Next"
+msgstr "Nächste"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "Ende"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3497,7 +4252,7 @@ msgid "Bake Lightmaps"
msgstr "Lightmaps vorrendern"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Vorschau"
@@ -3506,12 +4261,10 @@ msgid "Configure Snap"
msgstr "Einrasten konfigurieren"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Gitterversatz:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Gitterabstand:"
@@ -3524,14 +4277,6 @@ msgid "Rotation Step:"
msgstr "Rotationsabstand:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Mittelpunkt bewegen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Aktion verschieben"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Vertikale Hilfslinie verschieben"
@@ -3560,11 +4305,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Neue horizontale und vertikale Hilfslinien erstellen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "IK-Kette bearbeiten"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Mittelpunkt bewegen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "CanvasItem bearbeiten"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Aktion verschieben"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "CanvasItem bearbeiten"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "CanvasItem bearbeiten"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3584,6 +4346,21 @@ msgid "Paste Pose"
msgstr "Pose einfügen"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Verkleinern"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Vergrößerung zurücksetzen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Vergrößern"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Auswahlmodus"
@@ -3632,7 +4409,8 @@ msgid "Pan Mode"
msgstr "Schwenkmodus"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Einrasten umschalten"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3640,7 +4418,8 @@ msgid "Use Snap"
msgstr "Einrasten aktivieren"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Einrasteinstellungen"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3681,6 +4460,11 @@ msgid "Snap to node sides"
msgstr "An Node-Seiten einrasten"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Am Node-Anker einrasten"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "An anderen Nodes einrasten"
@@ -3708,14 +4492,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Macht Unterobjekte dieses Objekts wieder auswählbar."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Knochen erstellen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Knochen entfernen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Knochen anzeigen"
@@ -3728,6 +4504,15 @@ msgid "Clear IK Chain"
msgstr "IK-Kette zurücksetzen"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Knochen entfernen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Ansicht"
@@ -3770,14 +4555,11 @@ msgid "Layout"
msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Schlüsselbilder einfügen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Schlüsselbild einfügen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Schlüsselbild einfügen (in existierende Spuren)"
@@ -3790,14 +4572,6 @@ msgid "Clear Pose"
msgstr "Pose zurücksetzen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Pivotpunkt von Mauszeigerposition ziehen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Pivotpunkt auf Mausposition setzen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Gitterstufe verdoppeln"
@@ -3813,10 +4587,6 @@ msgstr "%s hinzufügen"
msgid "Adding %s..."
msgstr "%s hinzufügen…"
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "In­s­tan­zi­ie­ren mehrerer Nodes nicht möglich ohne Wurzel-Node."
@@ -3851,27 +4621,20 @@ msgstr "Polygon3D erstellen"
msgid "Set Handle"
msgstr "Wähle Griff"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Element %d entfernen?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Element hinzufügen"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Ausgewähltes Element entfernen"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partikel"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Aus Szene importieren"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Erzeuge Emissionspunkte aus Mesh"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Aus Szene aktualisieren"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Erzeuge Emissionspunkte aus Node"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3941,15 +4704,6 @@ msgstr "Umsch halten um Tangenten einzeln zu bearbeiten"
msgid "Bake GI Probe"
msgstr "GI Sonde vorrendern"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Farbverlaufspunkt hinzufügen/entfernen"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Farbverlauf anpassen"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Element %d"
@@ -4036,6 +4790,7 @@ msgid "No mesh to debug."
msgstr "Kein Mesh zu debuggen."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Modell besitzt kein UV in dieser Schicht"
@@ -4049,7 +4804,7 @@ msgstr "Mesh hat keine Oberfläche von der Umrisse erzeugt werden könnten!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr "Der Mesh-Grundtyp ist nicht ist nicht PRIMITIVE_TRIANGLES!"
+msgstr "Der Mesh-Grundtyp ist nicht PRIMITIVE_TRIANGLES!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
@@ -4103,6 +4858,27 @@ msgstr "Erzeuge Umriss-Mesh"
msgid "Outline Size:"
msgstr "Umrissgröße:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Element %d entfernen?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Element hinzufügen"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Ausgewähltes Element entfernen"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Aus Szene importieren"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Aus Szene aktualisieren"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4204,70 +4980,6 @@ msgstr "Zufällige Skalieren:"
msgid "Populate"
msgstr "Füllen"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Vorrendern!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Das Navigations-Mesh backen."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Navigations-Mesh löschen."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Konfiguration wird erstellt..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Gittergröße wird berechnet..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Höhenmodell erstellen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Begehbare Dreiecke markieren..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Kompaktes Höhenmodell wir konstruiert..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Begehbare Gebiete werden erodiert..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Einteilen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Konturen erzeugen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Polymesh erzeugen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "In natives Navigation-Mesh konvertieren..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Navigation-Mesh-Generatoreinstellungen:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Parse Geometrie…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Abgeschlossen!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Erzeuge Navigationspolygon"
@@ -4330,18 +5042,6 @@ msgid "Emission Colors"
msgstr "Emissionsfarben"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Knoten enthält keine Geometrie."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Knoten enthält keine Geometrie (Flächen)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Ein Verarbeitungsmaterial des Typs ‚ParticlesMaterial‘ wird benötigt."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Flächen enthalten keinen Bereich!"
@@ -4350,16 +5050,12 @@ msgid "No faces!"
msgstr "Keine Flächen!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Erzeuge AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Erzeuge Emissionspunkte aus Mesh"
+msgid "Node does not contain geometry."
+msgstr "Knoten enthält keine Geometrie."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Erzeuge Emissionspunkte aus Node"
+msgid "Node does not contain geometry (faces)."
+msgstr "Knoten enthält keine Geometrie (Flächen)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4386,6 +5082,19 @@ msgid "Emission Source: "
msgstr "Emissionsquelle: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Ein Verarbeitungsmaterial des Typs ‚ParticlesMaterial‘ wird benötigt."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Erzeuge AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "In Großbuchstaben konvertieren"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Erzeuge Sichtbarkeits-AABB"
@@ -4462,6 +5171,22 @@ msgstr "Punk löschen"
msgid "Close Curve"
msgstr "Kurve schließen"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Optionen"
+
+#: 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 "Kurvenpunkt #"
@@ -4494,19 +5219,95 @@ msgstr "Ausgangskontrollpunkt löschen"
msgid "Remove In-Control Point"
msgstr "Eingangskontrollpunkt löschen"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Punkt verschieben"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Knochen anzeigen"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Erzeuge UV-Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Polygon erstellen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Aktion ‚%s‘ existiert bereits!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Punkt hinzufügen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ungültiger Pfad!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Punkt entfernen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformiere UV-Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon2D-UV-Editor"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Polygon bearbeiten"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Pfad aufteilen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Knochen erstellen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Polygon erstellen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Punkt verschieben"
@@ -4535,12 +5336,25 @@ msgid "Scale Polygon"
msgstr "Polygon skalieren"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Bearbeiten"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Zuerst Einstellungspunkt auswählen!"
+
+#: 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 "Polygon->UV"
@@ -4555,9 +5369,9 @@ msgid "Clear UV"
msgstr "Leere UV-Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Einrasten"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "GridMap-Einstellungen"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4567,6 +5381,36 @@ msgstr "Einrasten aktivieren"
msgid "Grid"
msgstr "Raster"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Einrasten konfigurieren"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Gitterversatz:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Gitterversatz:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Gitterabstand:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Gitterabstand:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Polygon skalieren"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "FEHLER: Ressource konnte nicht geladen werden!"
@@ -4589,6 +5433,10 @@ msgid "Resource clipboard is empty!"
msgstr "Zwischenablage für Ressourcen ist leer!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Ressource einfügen"
+
+#: 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"
@@ -4610,16 +5458,18 @@ msgid "Load Resource"
msgstr "Ressource laden"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Einfügen"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "Ressourcen-Vorlader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Animationsbaum ist ungültig."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Letzte Dateien leeren"
@@ -4629,6 +5479,21 @@ msgid "Close and save changes?"
msgstr "Schließen und Änderungen speichern?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Fehler beim Dateiverschieben:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Konnte Bild nicht laden"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Fehler beim speichern des TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Fehler beim Speichern des Motivs"
@@ -4645,6 +5510,21 @@ msgid "Error importing"
msgstr "Fehler beim Importieren"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Neuer Ordner..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Datei öffnen"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Speichern als..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Motiv importieren"
@@ -4657,6 +5537,10 @@ msgid " Class Reference"
msgstr " Klassenreferenz"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sortiere"
@@ -4685,8 +5569,9 @@ msgid "File"
msgstr "Datei"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Neu"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Dateien anzeigen"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4713,6 +5598,11 @@ msgid "History Next"
msgstr "Vorwärts im Verlauf"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Motiv"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Motiv neu laden"
@@ -4746,11 +5636,6 @@ msgstr "Seitenleiste umschalten"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Finde..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Finde Nächstes"
@@ -4804,10 +5689,6 @@ msgid "Discard"
msgstr "Verwerfen"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Erstelle Skript"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4828,6 +5709,16 @@ msgid "Debugger"
msgstr "Debugger"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Hilfe durchsuchen"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Klassen suchen"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4835,40 +5726,56 @@ msgstr ""
"Szene geladen ist"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Zeile:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Nur Ressourcen aus dem Dateisystem können hier fallen gelassen werden."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Symbol vervollständigen"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Farbe auswählen"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Groß-/Kleinschreibung ändern"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Großbuchstaben"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Kleinbuchstaben"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Kapitalisiere"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Ausschneiden"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopieren"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4956,8 +5863,9 @@ msgid "Find Previous"
msgstr "Finde Vorheriges"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Ersetzen..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Dateien filtern..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4975,129 +5883,42 @@ msgstr "Kontexthilfe"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Ändere skalare Konstante"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Ändere Vektorkonstante"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Ändere RGB-Konstante"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Ändere skalaren Operator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Ändere Vektoroperator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Ändere Vektor-Skalar-Operator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Ändere RGB-Operator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "schalte exklusive Rotation um"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Ändere skalare Funktion"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Ändere Vektorfunktion"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Ändere Skalar-Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Ändere Vektor-Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Ändere RGB-Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Ändere Standardwert"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Ändere XForm-Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Ändere Textur-Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Ändere Cubemap-Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Ändere Kommentar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Hinzufügen/Entfernen zum Farbgradienten"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Hinzfügen/Entfernen zum Curve-Map"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Verändere Curve-Map"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Ändere Eingabename"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Verbinde Graph-Nodes"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Trenne Graph-Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Entferne Shader-Graph-Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Skelett..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Verschiebe Shader-Graph-Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Dupliziere Graph-Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Entferne Shade-Graph-Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Navigations-Mesh erzeugen"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Fehler: Zyklische Verbindung"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Skelett..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Fehler: Fehlende Eingangsverbindung"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Erzeuge C#-Lösung"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Shader-Graph-Node hinzufügen"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Starten"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5224,10 +6045,6 @@ msgid "Align with view"
msgstr "Auf Sicht ausrichten"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Verstehe"
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Kein Node unter dem Unterobjekt instantiiert werden könnte vorhanden."
@@ -5236,6 +6053,11 @@ msgid "This operation requires a single selected node."
msgstr "Diese Aktion benötigt ein einzelnes ausgewähltes Node."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Sicht-Informationen"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Normale Ansicht"
@@ -5280,6 +6102,11 @@ msgid "Doppler Enable"
msgstr "Dopplereffekt aktivieren"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Mesh-Vorschauen erzeugen"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Freisicht Links"
@@ -5410,6 +6237,11 @@ msgid "Tool Scale"
msgstr "Werkzeug Skalieren"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Am Gitter einrasten"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Freie Kamera umschalten"
@@ -5418,6 +6250,10 @@ msgid "Transform"
msgstr "Transformation"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Transformationsdialog..."
@@ -5446,6 +6282,11 @@ msgid "4 Viewports"
msgstr "Vier Ansichten"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Griffe anzeigen"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Zeige Ursprung"
@@ -5459,10 +6300,6 @@ msgid "Settings"
msgstr "Einstellungen"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Skelett-Greifer-Sichtbarkeit"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Einrasteinstellungen"
@@ -5522,6 +6359,53 @@ msgstr "Vorher"
msgid "Post"
msgstr "Nachher"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Speicherpfad ist leer!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "Sprite-Einzelbilder"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Umwandeln zu %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Erzeuge Umriss-Mesh"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Einrasten (Pixel):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Atlas-Vorschau"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Einstellungen"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "Fehler: Konnte Frame-Ressource nicht laden!"
@@ -5590,14 +6474,6 @@ msgstr "Dahinter bewegen"
msgid "SpriteFrames"
msgstr "Sprite-Einzelbilder"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "StyleBox-Vorschau:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "Style-Box"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Bereichsrechteck setzen"
@@ -5623,28 +6499,22 @@ msgid "Auto Slice"
msgstr "Autoschnitt"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Versatz:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Schritt:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Trennung:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Texturbereich"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Texturbegrenzungseditor"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Kann Motiv nicht speichern in Datei:"
@@ -5658,11 +6528,6 @@ msgid "Add All"
msgstr "Alle hinzufügen"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Entferne Element"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Alle Elemente entfernen"
@@ -5734,10 +6599,6 @@ msgstr "Enthält"
msgid "Many"
msgstr "Viele"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Optionen"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Einstellungen"
@@ -5762,7 +6623,7 @@ msgstr "Datentyp:"
msgid "Icon"
msgstr "Symbol"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Stil"
@@ -5775,14 +6636,19 @@ msgid "Color"
msgstr "Farbe"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Motiv"
+msgid "Constant"
+msgstr "Konstant"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Auswahl löschen"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ungültiger Name."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Zeichne TileMap"
@@ -5803,11 +6669,8 @@ msgid "Erase TileMap"
msgstr "Lösche TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Lösche Auswahl"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Finde Kachel"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5831,6 +6694,11 @@ msgid "Pick Tile"
msgstr "Wähle Kachel"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Auswahl entfernen"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Drehe auf 0 Grad"
@@ -5847,68 +6715,122 @@ msgid "Rotate 270 degrees"
msgstr "Drehe auf 270 Grad"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Konnte Kachel nicht finden:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Node(s) aus Szenenbaum hinzufügen"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Elementname oder ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Aktuellen Eintrag entfernen"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Von Szene erstellen?"
+msgid "Create from Scene"
+msgstr "Von Szene erstellen"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Aus Szene vereinen?"
+msgid "Merge from Scene"
+msgstr "Aus Szene zusammenführen"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Kachelsatz"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Unterkachel zur Benutzung als Icon auswählen, dieses wird auch für ungültige "
+"Autokachelzuordnungen benutzt werden."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Von Szene erstellen"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Aus Szene zusammenführen"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Fehler"
+#: 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 "Autotiles"
-msgstr "Autokacheln"
+msgid "Create from scene?"
+msgstr "Von Szene erstellen?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr "Aus Szene vereinen?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Unterkachel zur Benutzung als Icon auswählen, dieses wird auch für ungültige "
-"Autokachelzuordnungen benutzt werden."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"LMT: Bit anstellen.\n"
"RMT: Bit ausstellen."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Speichere die so eben bearbeitete Unterkachel."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Unterkachel zur Benutzung als Icon auswählen, dieses wird auch für ungültige "
+"Autokachelzuordnungen benutzt werden."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Unterkachel auswählen um ihre Priorität zu ändern."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Abbrechen"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Diese Aktion kann nicht ohne eine Szene ausgeführt werden."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Kachelsatz"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vertices"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Fragment"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Rechts"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5923,8 +6845,8 @@ msgid "Delete preset '%s'?"
msgstr "Vorlage ‚%s‘ löschen?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Export-Vorlagen für dieses Systeme fehlen / sind fehlerhaft: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "Export-Vorlagen für dieses Systeme fehlen / sind fehlerhaft:"
#: editor/project_export.cpp
msgid "Presets"
@@ -6001,10 +6923,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Export-Templates für diese Systeme fehlen:"
#: 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 With Debug"
msgstr "Exportiere mit Debuginformationen"
@@ -6013,14 +6931,24 @@ msgid "The path does not exist."
msgstr "Dieser Pfad existiert nicht."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Eine ‚project.godot‘-Datei auswählen."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "Ein Ordner ohne ‚project.godot‘-Datei muss ausgewählt werden."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Bitte einen leeren Ordner auswählen."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Eine ‚project.godot‘-Datei auswählen."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Importiertes Projekt"
@@ -6110,6 +7038,11 @@ msgid "Project Path:"
msgstr "Projektpfad:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Projektpfad:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Durchstöbern"
@@ -6230,9 +7163,10 @@ msgid "Mouse Button"
msgstr "Maustaste"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Ungültiger Aktionsname. Er kann weder leer sein noch ‚/‘, ‚:‘, ‚=‘, ‘\\‘ "
"oder ‚\"‘ enthalten."
@@ -6246,9 +7180,23 @@ msgid "Rename Input Action Event"
msgstr "Eingabeaktionsereignis umbenennen"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Animationsname ändern:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Eingabeaktionsereignis hinzufügen"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Gerät"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Gerät"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Umschalt+"
@@ -6290,20 +7238,24 @@ msgid "Wheel Down Button"
msgstr "Mausrad herunter"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Taste 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Mausrad hoch"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Taste 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Rechte Taste"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Taste 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Taste 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Taste 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Taste 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6330,10 +7282,6 @@ msgid "Add Event"
msgstr "Ereignis hinzufügen"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Gerät"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Schaltfläche"
@@ -6378,6 +7326,14 @@ msgid "Delete Item"
msgstr "Eintrag löschen"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Ungültiger Aktionsname. Er kann weder leer sein noch ‚/‘, ‚:‘, ‚=‘, ‘\\‘ "
+"oder ‚\"‘ enthalten."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Existiert bereits"
@@ -6449,6 +7405,10 @@ msgstr "Eigenschaft:"
msgid "Override For..."
msgstr "Überschreiben für..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Eingabe Zuordnung"
@@ -6458,6 +7418,14 @@ msgid "Action:"
msgstr "Aktion:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Aktion"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Gerät:"
@@ -6518,10 +7486,6 @@ msgid "AutoLoad"
msgstr "Autoload"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Viewport auswählen"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Einblenden"
@@ -6558,34 +7522,10 @@ msgid "Select Node"
msgstr "Node auswählen"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Neues Skript"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Neues %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Einzigartig machen"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Im Dateisystem anzeigen"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Umwandeln zu %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Fehler beim Laden der Datei: Keine Ressource!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Ausgewähltes Node ist kein Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Node auswählen"
@@ -6594,18 +7534,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, Wert %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "An"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[leer]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Setzen"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Eigenschaften:"
@@ -6630,6 +7558,134 @@ msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
"Umgewandeltes Bild kann mittels PVRTC-Werkzeug nicht zurück geladen werden:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Umbenennen"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Einrasteinstellungen"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Node-Name:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Node-Typ finden"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Aktuelle Szene"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Name des Root-Node:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Schritt:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Ausdruck ändern"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Post-Process Skript:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Behalten"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Kleinbuchstaben"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Großbuchstaben"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Vergrößerung zurücksetzen"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Fehler"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Node umhängen"
@@ -6666,11 +7722,6 @@ msgstr "Hauptszenen Parameter:"
msgid "Scene Run Settings"
msgstr "Szenenausführungseinstellungen"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6693,6 +7744,10 @@ msgid "Instance Scene(s)"
msgstr "Instanz-Szene(n)"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Skript leeren"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
"Diese Aktion kann nicht in der Wurzel des Szenenbaums ausgeführt werden."
@@ -6734,20 +7789,45 @@ msgid "Load As Placeholder"
msgstr "Als Platzhalter laden"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Instantiierung verwerfen"
+msgid "Make Local"
+msgstr "Lokal machen"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Verstehe!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Erzeuge Node"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Szene"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Szene"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Leere Vererbung"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Nodes trennen"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
-msgstr "Kann nicht an Nodes von fremden Szenen arbeiten!"
+msgstr "Bearbeiten von Nodes einer fremden Szene ist nicht möglich!"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes the current scene inherits from!"
-msgstr "Kann nicht an Nodes von denen die aktuelle Szene erbt arbeiten!"
+msgstr "Kann Nodes, von denen die aktuelle Szene erbt, nicht bearbeiten!"
+
+#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Skript hinzufügen"
#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
@@ -6794,18 +7874,15 @@ msgid "Change Type"
msgstr "Typ ändern"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Skript hinzufügen"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Skript leeren"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Verstehe!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Aus Szene zusammenführen"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Speichere Verzweigung als Szene"
@@ -6830,10 +7907,6 @@ msgstr ""
"kein Root-Node existiert."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Nodes filtern"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Ein neues oder existierendes Skript zum ausgewählten Node hinzufügen."
@@ -6853,25 +7926,19 @@ msgstr "Lokal"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Vererbung wirklich leeren? (Lässt sich nicht rückgängig machen!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Leeren!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Spatial-Sichtbarkeit umschalten"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "CanvasItem-Sichtbarkeit umschalten"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Sichtbarkeit umschalten"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Node-Konfigurationswarnung:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Node hat Verbindungen und Gruppen\n"
@@ -6893,22 +7960,25 @@ msgstr ""
"Node ist in Gruppe(n).\n"
"Hier klicken zur Gruppenverwaltung."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Skript öffnen"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Node ist gesperrt.\n"
"Hier klicken zum entsperren"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Unterobjekte sind nicht auswählbar.\n"
"Hier klicken um auswählbar zu machen"
@@ -6918,6 +7988,12 @@ msgid "Toggle Visibility"
msgstr "Sichtbarkeit umschalten"
#: 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 ""
"Ungültiger Name für ein Node, die folgenden Zeichen sind nicht gestattet:"
@@ -6955,6 +8031,11 @@ msgid "N/A"
msgstr "Nicht verfügbar"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Skripteditor öffnen"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Pfad ist leer"
@@ -7191,10 +8272,23 @@ msgid "Change Camera Size"
msgstr "Ändere Kameragröße"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Ändere Ausmaße des Benachrichtigers"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Ändere Partikel AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Sondenausmaße ändern"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Ändere Radius der Kugelform"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Ändere Ausmaße der Kastenform"
@@ -7207,20 +8301,38 @@ msgid "Change Capsule Shape Height"
msgstr "Ändere Höhe der Kapselform"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Ändere Länge der Strahlenform"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Ändere Radius der Kapselform"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Ändere Ausmaße des Benachrichtigers"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Ändere Höhe der Kapselform"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Ändere Partikel AABB"
+msgid "Change Ray Shape Length"
+msgstr "Ändere Länge der Strahlenform"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Sondenausmaße ändern"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Ändere Lichtradius"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Ändere Höhe der Kapselform"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Ändere Radius der Kugelform"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Ändere Lichtradius"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7275,18 +8387,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"Ungültiger Argument-Typ in convert()-Aufruf, TYPE_*-Konstanten benötigt."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"Nicht genügend Bytes zum Dekodieren des Byte-Strings oder ungültiges Format."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "Schrittargument ist null!"
@@ -7353,6 +8453,11 @@ msgid "GridMap Delete Selection"
msgstr "GridMap-Auswahl löschen"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "GridMap-Auswahl löschen"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "GridMap-Auswahl duplizieren"
@@ -7433,6 +8538,11 @@ msgid "Clear Selection"
msgstr "Auswahl leeren"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Alle auswählen"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "GridMap-Einstellungen"
@@ -7493,14 +8603,77 @@ msgid "Warnings"
msgstr "Warnungen"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Dateien anzeigen"
+msgstr "Log anschauen"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Ende des inneren Exception-Stack-Traces"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Vorrendern!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Das Navigations-Mesh backen."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Navigations-Mesh löschen."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Konfiguration wird erstellt..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Gittergröße wird berechnet..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Höhenmodell erstellen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Begehbare Dreiecke markieren..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Kompaktes Höhenmodell wir konstruiert..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Begehbare Gebiete werden erodiert..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Einteilen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Konturen erzeugen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Polymesh erzeugen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "In natives Navigation-Mesh konvertieren..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Navigation-Mesh-Generatoreinstellungen:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Parse Geometrie…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Abgeschlossen!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7560,10 +8733,6 @@ msgid "Set Variable Type"
msgstr "Variablentyp festlegen"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funktionen:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variablen:"
@@ -7676,36 +8845,14 @@ msgid "Connect Nodes"
msgstr "Nodes verbinden"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Bedingung"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sequenz"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Switch"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterator"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "While"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Rückgabe"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Aufruf"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Nodes verbinden"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Abfragen"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Nodes verbinden"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7732,26 +8879,18 @@ msgid "Remove Function"
msgstr "Funktion entfernen"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Variable bearbeiten"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Variable entfernen"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Signal bearbeiten"
+msgid "Editing Variable:"
+msgstr "bearbeite Variable:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Signal entfernen"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "bearbeite Variable:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "bearbeite Signal:"
@@ -7796,6 +8935,11 @@ msgstr "Nodes trennen"
msgid "Paste Nodes"
msgstr "Nodes einfügen"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Mitglieder"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Eingabetyp nicht wiederholbar: "
@@ -7854,6 +8998,19 @@ msgstr ""
"Ungültiger Rückgabewert von _step(), muss Integer (für Sequenzausgabe) oder "
"String (für Fehler) sein."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "VisualScript-Node entfernen"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Abfragen"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Im Browser ausführen"
@@ -7904,9 +9061,10 @@ msgstr ""
"Rest wird ignoriert."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Dieses Node besitzt keine untergeordneten Formen, es kann deshalb nicht mit "
@@ -8024,6 +9182,19 @@ msgstr ""
"Die Pfad-Eigenschaft muss auf ein gültiges Node2D-Node zeigen um zu "
"funktionieren."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8089,9 +9260,10 @@ msgid "Lighting Meshes: "
msgstr "Beleuchte Meshe: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Dieses Node besitzt keine untergeordneten Formen, es kann deshalb nicht mit "
@@ -8190,6 +9362,22 @@ msgstr ""
"Szenen) hinzu oder setze den Hintergrund-Modus des Environments nach Canvas "
"(für 2D-Szenen)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Größenänderungen von RigidBody (in Character- oder Rigid-Modus) werden "
+"überschrieben wenn die Physikengine läuft.\n"
+"Die Größe der entsprechenden Collisionshape-Unterobjekte sollte stattdessen "
+"geändert werden."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8207,6 +9395,48 @@ msgstr ""
"implementieren. Es kann ausschließlich als Unterobjekt von VehicleBody "
"verwendet werden."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animationswerkzeuge"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "FEHLER: ungültiger Animationsname!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "'%s' von '%s' trennen"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"AnimationPlayer aus dem Szenenbaum auswählen um Animationen zu bearbeiten."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Animationsbaum ist ungültig."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Rohdatenmodus"
@@ -8291,12 +9521,371 @@ msgstr "Fehler beim Laden der Schriftart."
msgid "Invalid font size."
msgstr "Ungültige Schriftgröße."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Vorheriger Tab"
+msgid "Input"
+msgstr "Eingang hinzufügen"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Nichts>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Fehlerhafte Quelle!"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Ändere skalare Konstante"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Ändere Vektorkonstante"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Ändere RGB-Konstante"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Ändere skalaren Operator"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Ändere Vektoroperator"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Ändere Vektor-Skalar-Operator"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Ändere RGB-Operator"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "schalte exklusive Rotation um"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Ändere skalare Funktion"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Ändere Vektorfunktion"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Ändere Skalar-Uniform"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Ändere Vektor-Uniform"
-#~ msgid "Next"
-#~ msgstr "Nächste"
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Ändere RGB-Uniform"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Ändere Standardwert"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Ändere XForm-Uniform"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Ändere Textur-Uniform"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Ändere Cubemap-Uniform"
+
+#~ msgid "Change Comment"
+#~ msgstr "Ändere Kommentar"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Hinzufügen/Entfernen zum Farbgradienten"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Farbverlauf anpassen"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Hinzfügen/Entfernen zum Curve-Map"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Verändere Curve-Map"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Ändere Eingabename"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Verbinde Graph-Nodes"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Trenne Graph-Nodes"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Entferne Shader-Graph-Node"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Verschiebe Shader-Graph-Node"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Dupliziere Graph-Node(s)"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Entferne Shade-Graph-Node(s)"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Fehler: Zyklische Verbindung"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Fehler: Fehlende Eingangsverbindung"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Shader-Graph-Node hinzufügen"
+
+#~ msgid "Disabled"
+#~ msgstr "Deaktiviert"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Spur nach oben verschieben"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Spur nach unten verschieben"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Setze Übergänge auf:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Spur umbenennen"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Interpolation der Spur ändern"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Wertmodus der Spur ändern"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Wiederholmodus der Spur ändern"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Node-Kurve bearbeiten"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Selektions-Kurve bearbeiten"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Schlüsselbild hinzufügen"
+
+#~ msgid "In"
+#~ msgstr "Rein"
+
+#~ msgid "Out"
+#~ msgstr "Raus"
+
+#~ msgid "In-Out"
+#~ msgstr "Rein-Raus"
+
+#~ msgid "Out-In"
+#~ msgstr "Raus-Rein"
+
+#~ msgid "Transitions"
+#~ msgstr "Übergänge"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Animationslänge ändern"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Animationswiederholung ändern"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Festgelegten Werteschlüssel erstellen"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Aufruf-Spur zu Animation hinzufügen"
+
+#~ msgid "Length (s):"
+#~ msgstr "Länge (s):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Schrittweite (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Cursor Schrittraster (in Sekunden)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Animationsschleife aktivieren/deaktivieren."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Neue Spuren hinzufügen."
+
+#~ msgid "Move current track up."
+#~ msgstr "Aktuelle Spur nach oben verschieben."
+
+#~ msgid "Move current track down."
+#~ msgstr "Aktuelle Spur nach unten verschieben."
+
+#~ msgid "Track tools"
+#~ msgstr "Spur-Werkzeuge"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Individuelle Schlüsselbildbearbeitung durch Anklicken aktivieren."
+
+#~ msgid "Key"
+#~ msgstr "Schlüsselbild"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Funktionen in welcher Node aufrufen?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Danke!"
+
+#~ msgid "I see..."
+#~ msgstr "Verstehe..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "‚%s‘ kann nicht geöffnet werden."
+
+#~ msgid "Ugh"
+#~ msgstr "Ähm"
+
+#~ msgid "Run Script"
+#~ msgstr "Skript ausführen"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Speichere die so eben bearbeitete Ressource."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Laufzeitanalyse beenden"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Laufzeitanalyse starten"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Standard (wie Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Neue Animation im Player erstellen."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Animation von der Festplatte laden."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Eine Animation von der Festplatte laden."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Aktuelle Animation speichern"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Ziel-Übergangszeiten bearbeiten"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Animation kopieren"
+
+#~ msgid "Fetching:"
+#~ msgstr "Hole:"
+
+#~ msgid "prev"
+#~ msgstr "zurück"
+
+#~ msgid "next"
+#~ msgstr "vor"
+
+#~ msgid "last"
+#~ msgstr "Ende"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "IK-Kette bearbeiten"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Pivotpunkt von Mauszeigerposition ziehen"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Pivotpunkt auf Mausposition setzen"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Farbverlaufspunkt hinzufügen/entfernen"
+
+#~ msgid "OK :("
+#~ msgstr "Verstehe"
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Skelett-Greifer-Sichtbarkeit"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "StyleBox-Vorschau:"
+
+#~ msgid "StyleBox"
+#~ msgstr "Style-Box"
+
+#~ msgid "Separation:"
+#~ msgstr "Trennung:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Texturbegrenzungseditor"
+
+#~ msgid "Erase selection"
+#~ msgstr "Lösche Auswahl"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Konnte Kachel nicht finden:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Elementname oder ID:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Autokacheln"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Export-Vorlagen für dieses Systeme fehlen / sind fehlerhaft: "
+
+#~ msgid "Button 7"
+#~ msgstr "Taste 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Taste 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Taste 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Instantiierung verwerfen"
+
+#~ msgid "Clear!"
+#~ msgstr "Leeren!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Spatial-Sichtbarkeit umschalten"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "CanvasItem-Sichtbarkeit umschalten"
+
+#~ msgid "Condition"
+#~ msgstr "Bedingung"
+
+#~ msgid "Sequence"
+#~ msgstr "Sequenz"
+
+#~ msgid "Switch"
+#~ msgstr "Switch"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterator"
+
+#~ msgid "While"
+#~ msgstr "While"
+
+#~ msgid "Return"
+#~ msgstr "Rückgabe"
+
+#~ msgid "Call"
+#~ msgstr "Aufruf"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Variable bearbeiten"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Signal bearbeiten"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr ""
@@ -8315,9 +9904,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Can't write file."
#~ msgstr "Konnte Datei nicht schreiben."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "Ein Ordner ohne ‚project.godot‘-Datei muss ausgewählt werden."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "project.godot konnte nicht im Projektpfad gefunden werden."
@@ -8443,9 +10029,6 @@ msgstr "Ungültige Schriftgröße."
#~ "Der Viewport, der in der Pfad-Eigenschaft gesetzt wurde, muss als ‚Render "
#~ "Target‘ definiert sein, damit das Sprite funktioniert."
-#~ msgid "Filter:"
-#~ msgstr "Filter:"
-
#~ msgid "' parsing of config failed."
#~ msgstr ""
#~ "‘ kann nicht aktiviert werden, Einlesen der Konfigurationsdatei "
@@ -8487,9 +10070,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "Aktuelle Szene muss gespeichert sein um sie erneut zu importieren."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Speichern & neu importieren"
-
#~ msgid "Re-Importing"
#~ msgstr "Importiere erneut"
@@ -8523,9 +10103,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "Abhängigkeiten können nicht umbenannt werden für:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "Fehler beim Dateiverschieben:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Wähle neuen Namen und Ort für:"
@@ -8550,9 +10127,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Target path must exist."
#~ msgstr "Zielpfad muss existieren."
-#~ msgid "Save path is empty!"
-#~ msgstr "Speicherpfad ist leer!"
-
#~ msgid "Import BitMasks"
#~ msgstr "BitMasks importieren"
@@ -8663,15 +10237,9 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Max Angle"
#~ msgstr "Maximaler Winkel"
-#~ msgid "Clips"
-#~ msgstr "Ausschnitte"
-
#~ msgid "Start(s)"
#~ msgstr "Start"
-#~ msgid "End(s)"
-#~ msgstr "Ende"
-
#~ msgid "Filters"
#~ msgstr "Filter"
@@ -8702,18 +10270,12 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Target Texture Folder:"
#~ msgstr "Ziel-Texturenordner:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Post-Process Skript:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Angepasster Root-Node-Typ:"
#~ msgid "Auto"
#~ msgstr "Auto"
-#~ msgid "Root Node Name:"
-#~ msgstr "Name des Root-Node:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Die folgenden Dateien fehlen:"
@@ -8773,9 +10335,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Texturen für Atlas (2D) importieren"
-#~ msgid "Cell Size:"
-#~ msgstr "Zellgröße:"
-
#~ msgid "Large Texture"
#~ msgstr "Große Textur"
@@ -8858,9 +10417,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Konvertierte Textur konnte nicht gespeichert werden:"
-#~ msgid "Invalid source!"
-#~ msgstr "Fehlerhafte Quelle!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Fehlerhafte Übersetzungsquelle!"
@@ -8900,9 +10456,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Translation"
#~ msgstr "Übersetzung"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "Analysiere %d Dreiecke:"
-
#~ msgid "Triangle #"
#~ msgstr "Dreieck #"
@@ -8927,24 +10480,12 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "Lightmap-Octree-Backing-Prozess zurücksetzen (neu starten)."
-#~ msgid "Zoom (%):"
-#~ msgstr "Vergrößerung (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Skelett..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Vergrößerung zurücksetzen"
-
#~ msgid "Zoom Set..."
#~ msgstr "Vergrößerung setzen..."
#~ msgid "Set a Value"
#~ msgstr "Einen Wert setzen"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Einrasten (Pixel):"
-
#~ msgid "Parse BBCode"
#~ msgstr "BBCode parsen"
@@ -9020,15 +10561,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Resource Tools"
#~ msgstr "Ressourcenwerkzeuge"
-#~ msgid "Make Local"
-#~ msgstr "Lokal machen"
-
-#~ msgid "Edit Groups"
-#~ msgstr "Gruppen bearbeiten"
-
-#~ msgid "Edit Connections"
-#~ msgstr "Verbindungen bearbeiten"
-
#~ msgid "GridMap Paint"
#~ msgstr "GridMap zeichnen"
@@ -9165,9 +10697,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Ambient Light Color:"
#~ msgstr "Umgebungslichtfarbe:"
-#~ msgid "Couldn't load image"
-#~ msgstr "Konnte Bild nicht laden"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Ungültiger Name für Elternklasse"
@@ -9183,9 +10712,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Name der Elternklasse ist ungültig!"
-#~ msgid "Invalid path!"
-#~ msgstr "Ungültiger Pfad!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "Die Pfad-Eigenschaft muss auf ein gültiges Particles2D-Node verweisen."
@@ -9286,9 +10812,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Delete Image Group"
#~ msgstr "Lösche Bildergruppe"
-#~ msgid "Atlas Preview"
-#~ msgstr "Atlas-Vorschau"
-
#~ msgid "Project Export Settings"
#~ msgstr "Projektexporteinstellungen"
@@ -9301,9 +10824,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Export all files in the project directory."
#~ msgstr "Exportiere alle Dateien im Projektverzeichnis."
-#~ msgid "Action"
-#~ msgstr "Aktion"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "Konvertiere Textszenen in Binärformat beim Exportieren."
@@ -9332,9 +10852,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Compress Formats:"
#~ msgstr "Komprimierungsformate:"
-#~ msgid "Image Groups"
-#~ msgstr "Bildergruppen"
-
#~ msgid "Groups:"
#~ msgstr "Gruppen:"
@@ -9374,9 +10891,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Audio-Umwandlungs-Modus: (.wav-Dateien):"
-#~ msgid "Keep"
-#~ msgstr "Behalten"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Komprimieren (RAM - IMA-ADPCM)"
@@ -9419,9 +10933,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance enthält keine BakedLight-Ressource."
-#~ msgid "Fragment"
-#~ msgstr "Fragment"
-
#~ msgid "Lighting"
#~ msgstr "Belichtung"
@@ -9457,10 +10968,6 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Insert Keys (Ins)"
#~ msgstr "Schlüsselbilder einfügen (Einfg)"
-#, fuzzy
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "Ändere Animationswiederholung"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "Aktivieren/Deaktivieren Interpolation, wenn Schleife aktiviert."
@@ -9472,9 +10979,3 @@ msgstr "Ungültige Schriftgröße."
#~ msgid "Method In Node:"
#~ msgstr "Methode in Node:"
-
-#~ msgid "Edit Connections..."
-#~ msgstr "Bearbeite Verbindungen..."
-
-#~ msgid "Plugin List:"
-#~ msgstr "Plugin Liste:"
diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po
index 7d11a9d09f..3c10dc874c 100644
--- a/editor/translations/de_CH.po
+++ b/editor/translations/de_CH.po
@@ -18,332 +18,473 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.8-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Time"
+#: core/math/expression.cpp
+msgid "Invalid input %i (not passed) in expression"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transition"
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transform"
+#: core/math/expression.cpp
+msgid "Invalid operands to operator %s, %s and %s."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Value"
+#: core/math/expression.cpp
+msgid "Invalid index of type %s for base type %s"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Call"
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+msgid "Mirror"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Bild einfügen"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Node(s) duplizieren"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Node(s) löschen"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
msgstr "Anim Bilder duplizieren"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr ""
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Bilder löschen"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Time"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transition"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transform"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Value"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Call"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Transformationstyp"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Node Kurve editieren"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Bilder löschen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Stoppe Animations-Wiedergabe. (S)"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Add Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animations-Node"
+
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Continuous"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Discrete"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Trigger"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Bild hinzufügen"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Bilder bewegen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animations-Node"
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Ungültige Bilder löschen"
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp
-msgid "Linear"
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Bild einfügen"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Node(s) duplizieren"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Node(s) löschen"
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Willst du eine neue Ebene inklusiv Bild in %s einfügen?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Erstelle %d in neuer Ebene inklusiv Bild?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Ebene und Bild einfügen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Bild einfügen"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
-msgstr "Anim verlängern"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Bilder bewegen"
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
+msgstr "Anim verlängern"
+
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Selektiere Node(s) zum Importieren aus"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animations-Node"
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Animations-Node"
+
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Node erstellen"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Aktivieren des Bildeditors mit einem click auf die jenigen."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Script hinzufügen"
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Bild"
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Im welchem Node soll die Funktion aufgerufen werden?"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Ungültige Bilder löschen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -364,7 +505,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -380,7 +521,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -392,18 +533,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -434,7 +583,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -465,7 +615,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -487,11 +637,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -499,14 +649,44 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Connections editieren"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Connections editieren"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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
#, fuzzy
msgid "Change %s Type"
@@ -532,22 +712,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -605,7 +788,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Öffnen"
@@ -624,7 +809,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -693,9 +878,13 @@ msgstr "Typ ändern"
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr ""
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Okay"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -872,6 +1061,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -943,7 +1133,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -953,7 +1144,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -990,47 +1180,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1063,7 +1253,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1126,6 +1316,12 @@ msgid "Copy Path"
msgstr ""
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Datei öffnen"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1162,7 +1358,7 @@ msgid "Open a File or Directory"
msgstr "Datei oder Verzeichnis öffnen"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Speichern"
@@ -1215,7 +1411,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1361,20 +1558,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1397,11 +1601,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1414,8 +1613,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1461,10 +1660,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1531,42 +1726,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1746,11 +1905,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1779,6 +1933,15 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Szene starten"
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1903,10 +2066,6 @@ msgstr "Projektname:"
msgid "Project Settings"
msgstr "Projekteinstellungen"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1916,6 +2075,11 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Projekt exportieren"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Zurück zur Projektliste"
@@ -2010,6 +2174,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2025,7 +2201,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2069,7 +2246,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2091,6 +2268,16 @@ msgid "Play Custom Scene"
msgstr "Spiele angepasste Szene"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Datei speichern"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr ""
@@ -2110,42 +2297,6 @@ msgstr ""
msgid "Inspector"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2160,6 +2311,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2239,19 +2394,24 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Script hinzufügen"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2259,12 +2419,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2311,6 +2472,104 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+#, fuzzy
+msgid "New Script"
+msgstr "Script hinzufügen"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "Verbindung zu Node:"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Verzeichnis öffnen"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Selected node is not a Viewport!"
+msgstr "Selektiere Node(s) zum Importieren aus"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Size: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2345,10 +2604,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selektiere Node(s) zum Importieren aus"
@@ -2374,6 +2629,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2398,7 +2654,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2459,6 +2715,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error requesting url: "
msgstr "Szene kann nicht gespeichert werden."
@@ -2545,7 +2807,7 @@ msgid "Download Templates"
msgstr "Ungültige Bilder löschen"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2557,11 +2819,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2638,7 +2900,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2669,6 +2931,22 @@ msgid "Duplicate..."
msgstr "Node(s) duplizieren"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Script hinzufügen"
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2681,26 +2959,127 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Node(s) löschen"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Node erstellen"
+
+#: 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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: editor/find_in_files.cpp
+msgid "Replace: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Replace all (no undo)"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Connections editieren"
+
+#: editor/find_in_files.cpp
+msgid "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Projektname:"
+
+#: 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
+#, fuzzy
+msgid "Filter nodes"
+msgstr "Node erstellen"
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2711,6 +3090,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2752,7 +3135,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2813,20 +3196,129 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Okay"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Node erstellen"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr ""
+
#: editor/multi_node_edit.cpp
#, fuzzy
msgid "MultiNode Set"
msgstr "MultiNode Set"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr ""
-
-#: editor/node_dock.cpp
#, fuzzy
msgid "Select a Node to edit Signals and Groups."
msgstr "Selektiere ein Node um deren Signale und Gruppen zu ändern."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Node erstellen"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Language:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Projektname:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2870,6 +3362,146 @@ msgstr ""
msgid "Delete points"
msgstr "Bild einfügen"
+#: 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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Bild einfügen"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Oberfläche %d"
+
+#: 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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animations-Node"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Triangle already exists"
+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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filters"
+msgstr "Node Filter editieren"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Node"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Node Filter editieren"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Autoplay Umschalten"
@@ -2897,11 +3529,12 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
-msgstr ""
+#, fuzzy
+msgid "Invalid animation name!"
+msgstr "Bild einfügen"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2910,11 +3543,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2931,11 +3559,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2947,8 +3575,9 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
-msgstr ""
+#, fuzzy
+msgid "No animation to edit!"
+msgstr "Animations-Node"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
@@ -2983,20 +3612,27 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Neue Animation erstellen."
+msgid "Animation Tools"
+msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Connections editieren"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Verzeichnis öffnen"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3007,18 +3643,6 @@ msgid "Autoplay on Load"
msgstr "Beim Laden automatisch abpielen"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr ""
@@ -3068,6 +3692,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Animations-Node"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3077,6 +3706,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3094,163 +3724,212 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Edit Filters"
-msgstr "Node Filter editieren"
+msgid "Create new nodes."
+msgstr "Node erstellen"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Verbindung zu Node:"
+
+#: 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 "Transition-Node"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "AnimationTree"
+msgstr "Animations-Node"
+
+#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animations-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "OneShot-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Mix-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Blend2-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Blend3-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Blend4-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "TimeScale-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TimeSeek-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Transition-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Node Filter editieren"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Animations-Node"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3306,7 +3985,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3335,19 +4018,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3415,7 +4098,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3424,12 +4107,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3442,14 +4123,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3482,11 +4155,25 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Ungültige Bilder löschen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Bild bewegen/einfügen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3506,6 +4193,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3551,7 +4250,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3559,7 +4258,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3600,6 +4299,10 @@ 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 ""
@@ -3626,24 +4329,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Spiele angepasste Szene"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3689,11 +4393,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Insert Keys"
-msgstr "Bild einfügen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr "Bild einfügen"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3709,15 +4409,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "Ungültige Bilder löschen"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3733,10 +4424,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Okay"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3770,26 +4457,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3863,15 +4542,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3955,6 +4625,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4024,6 +4695,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4125,70 +4817,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4252,18 +4880,6 @@ msgid "Emission Colors"
msgstr "Emissions-Maske setzen"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Node enthält keine Geometrie (Flächen)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Flächen enthalten keinen Bereich!"
@@ -4272,16 +4888,12 @@ msgid "No faces!"
msgstr "Keine Flächen!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr ""
+msgid "Node does not contain geometry (faces)."
+msgstr "Node enthält keine Geometrie (Flächen)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4310,6 +4922,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Verbindung zu Node:"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4386,6 +5011,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4421,19 +5062,88 @@ msgstr ""
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Ungültige Bilder löschen"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Script hinzufügen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Ungültige Bilder löschen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon 2D UV Editor"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Node erstellen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4462,11 +5172,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4482,9 +5204,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Projekteinstellungen"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4494,6 +5216,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4516,6 +5262,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4537,14 +5287,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4556,6 +5307,20 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Szene kann nicht gespeichert werden."
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Szene kann nicht gespeichert werden."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4572,6 +5337,20 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Datei öffnen"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Datei speichern"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4584,6 +5363,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4612,8 +5395,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "Datei(en) öffnen"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4640,6 +5424,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4673,11 +5462,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4731,10 +5515,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4753,45 +5533,68 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Szene kann nicht gespeichert werden."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4882,7 +5685,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4901,129 +5704,38 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Abspielen"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5153,10 +5865,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Okay :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5165,6 +5873,10 @@ msgid "This operation requires a single selected node."
msgstr "Bitte nur ein Node selektieren."
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5210,6 +5922,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5340,6 +6056,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5348,6 +6068,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5376,6 +6100,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5389,10 +6117,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5452,6 +6176,49 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Verbindung zu Node:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Node erstellen"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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
+#, fuzzy
+msgid "Settings:"
+msgstr "Projekteinstellungen"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5521,14 +6288,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5554,27 +6313,21 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr ""
+#, fuzzy
+msgid "TextureRegion"
+msgstr "2D-Textur"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -5589,11 +6342,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "Ungültige Bilder löschen"
@@ -5667,10 +6415,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5695,7 +6439,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5708,7 +6452,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5716,6 +6460,10 @@ msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5736,11 +6484,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5764,6 +6508,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Script hinzufügen"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5780,66 +6529,111 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Node von Szene"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Ungültige Bilder löschen"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "Datei(en) öffnen"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Node(s) löschen"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Abbrechen"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Ohne eine Szene kann das nicht funktionieren."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "Datei(en) öffnen"
+
+#: 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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5854,7 +6648,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5931,10 +6725,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5943,16 +6733,24 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+
+#: editor/project_manager.cpp
#, fuzzy
-msgid "Please choose a 'project.godot' file."
+msgid "Please choose an empty folder."
msgstr "Bitte ausserhalb des Projekt Verzeichnis exportieren!"
#: editor/project_manager.cpp
#, fuzzy
-msgid "Please choose an empty folder."
+msgid "Please choose a 'project.godot' or '.zip' file."
msgstr "Bitte ausserhalb des Projekt Verzeichnis exportieren!"
#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Importierte Projekte"
@@ -6048,6 +6846,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6159,8 +6961,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6172,9 +6974,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Typ ändern"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6216,19 +7031,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6256,10 +7071,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6305,6 +7116,12 @@ msgid "Delete Item"
msgstr "Node(s) löschen"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr ""
@@ -6378,6 +7195,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6387,6 +7208,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Script hinzufügen"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6448,10 +7278,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6489,79 +7315,160 @@ msgid "Select Node"
msgstr "Node(s) löschen"
#: editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: editor/property_editor.cpp
#, fuzzy
-msgid "New Script"
-msgstr "Script hinzufügen"
+msgid "Pick a Node"
+msgstr "TimeScale-Node"
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Show in File System"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Convert To %s"
-msgstr "Verbindung zu Node:"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
+msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+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 "Advanced options"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
#, fuzzy
-msgid "Selected node is not a Viewport!"
-msgstr "Selektiere Node(s) zum Importieren aus"
+msgid "Node name"
+msgstr "Node"
-#: editor/property_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
#, fuzzy
-msgid "Pick a Node"
-msgstr "TimeScale-Node"
+msgid "Node type"
+msgstr "Node"
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp
+msgid "Root node name"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Step"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Padding"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Typ ändern"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Verbindung zu Node:"
+
+#: editor/rename_dialog.cpp
+msgid "To Uppercase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6600,11 +7507,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Okay"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6625,6 +7527,11 @@ msgstr "Instanziere Szene(n)"
#: editor/scene_tree_dock.cpp
#, fuzzy
+msgid "Clear Script"
+msgstr "Script hinzufügen"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "This operation can't be done on the tree root."
msgstr "Das funktioniert nicht beim obersten Node. (tree root)"
@@ -6665,14 +7572,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Node erstellen"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Szene starten"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Szene starten"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Node erstellen"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6681,6 +7608,11 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Attach Script"
+msgstr "Script hinzufügen"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Node(s) entfernen"
@@ -6723,20 +7655,14 @@ msgid "Change Type"
msgstr "Typ ändern"
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Attach Script"
-msgstr "Script hinzufügen"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "Script hinzufügen"
+msgid "Make Scene Root"
+msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6760,11 +7686,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "Node erstellen"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6785,16 +7706,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6803,7 +7716,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6819,21 +7732,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "Script hinzufügen"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6841,6 +7754,12 @@ 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 ""
@@ -6879,6 +7798,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7121,10 +8044,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7137,19 +8072,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7206,16 +8153,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7280,6 +8217,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Projekteinstellungen"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7364,6 +8306,11 @@ msgstr "Script hinzufügen"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "Script hinzufügen"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "Projekteinstellungen"
@@ -7433,6 +8380,70 @@ msgstr "Datei(en) öffnen"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7486,10 +8497,6 @@ msgid "Set Variable Type"
msgstr "Ungültige Bilder löschen"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7609,36 +8616,14 @@ msgid "Connect Nodes"
msgstr "Verbindung zu Node:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Verbindung zu Node:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Verbindung zu Node:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7668,18 +8653,12 @@ msgstr ""
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Edit Variable"
-msgstr "Ungültige Bilder löschen"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Remove Variable"
msgstr "Ungültige Bilder löschen"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "Script hinzufügen"
+msgid "Editing Variable:"
+msgstr ""
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
@@ -7687,10 +8666,6 @@ msgid "Remove Signal"
msgstr "Ungültige Bilder löschen"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7738,6 +8713,11 @@ msgstr "Node erstellen"
msgid "Paste Nodes"
msgstr "Node erstellen"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Node Filter editieren"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7792,6 +8772,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Ungültige Bilder löschen"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7844,8 +8837,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7939,6 +8932,19 @@ msgstr ""
"Die Pfad-Variable muss auf einen gültigen Node2D Node zeigen um zu "
"funktionieren."
+#: 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/visibility_notifier_2d.cpp
#, fuzzy
msgid ""
@@ -8002,8 +9008,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8077,6 +9083,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8089,6 +9106,43 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animations-Node"
+
+#: 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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
#, fuzzy
msgid "Raw Mode"
@@ -8160,6 +9214,59 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Node Kurve editieren"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Bild hinzufügen"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Aktivieren des Bildeditors mit einem click auf die jenigen."
+
+#~ msgid "Key"
+#~ msgstr "Bild"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Im welchem Node soll die Funktion aufgerufen werden?"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Neue Animation erstellen."
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Ungültige Bilder löschen"
+
+#~ msgid "OK :("
+#~ msgstr "Okay :("
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "Ungültige Bilder löschen"
+
#, fuzzy
#~ msgid "Can't contain '/' or ':'"
#~ msgstr "Verbindung zu Node:"
@@ -8194,9 +9301,6 @@ msgstr ""
#~ msgid "Import Textures for 2D"
#~ msgstr "Importiere Texturen für 2D"
-#~ msgid "2D Texture"
-#~ msgstr "2D-Textur"
-
#, fuzzy
#~ msgid ""
#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files "
@@ -8223,9 +9327,6 @@ msgstr ""
#~ msgid "Project Path (Must Exist):"
#~ msgstr "Projektpfad (muss existieren):"
-#~ msgid "Edit Connections"
-#~ msgstr "Connections editieren"
-
#, fuzzy
#~ msgid "Error creating the signature object."
#~ msgstr "Fehler beim Schreiben des Projekts PCK!"
diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot
index d0f1d04a10..4437b58965 100644
--- a/editor/translations/editor.pot
+++ b/editor/translations/editor.pot
@@ -12,332 +12,458 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Time"
+#: core/math/expression.cpp
+msgid "Invalid input %i (not passed) in expression"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transition"
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transform"
+#: core/math/expression.cpp
+msgid "Invalid operands to operator %s, %s and %s."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Value"
+#: core/math/expression.cpp
+msgid "Invalid index of type %s for base type %s"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Call"
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Duplicate Selected Key(s)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Time"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transition"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transform"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Value"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Call"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Add Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Continuous"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Discrete"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Trigger"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Remove this track."
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp
-msgid "Linear"
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Delete Key(s)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: 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 "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_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp
+msgid "Delete Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -358,7 +484,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -374,7 +500,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -386,18 +512,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -427,7 +561,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -458,7 +593,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -480,11 +615,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -492,14 +627,42 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+msgid "Connect Signal: "
+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 \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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 ""
@@ -522,22 +685,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -595,7 +761,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -614,7 +782,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -682,8 +850,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -857,6 +1029,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -925,7 +1098,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -935,7 +1109,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -972,47 +1145,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1045,7 +1218,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1107,6 +1280,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1143,7 +1321,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1196,7 +1374,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1341,20 +1520,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1376,11 +1562,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1393,8 +1574,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1436,10 +1617,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1506,42 +1683,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1715,11 +1856,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1748,6 +1884,14 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1869,10 +2013,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1882,6 +2022,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1973,6 +2117,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -1988,7 +2144,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2032,7 +2189,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2053,59 +2210,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2122,6 +2252,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2198,19 +2332,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2218,12 +2356,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2270,6 +2409,100 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2304,10 +2537,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2333,6 +2562,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2357,7 +2587,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2417,6 +2647,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2495,7 +2731,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2507,11 +2743,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2582,7 +2818,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2611,6 +2847,21 @@ msgid "Duplicate..."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2623,7 +2874,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2631,18 +2886,110 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2653,6 +3000,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2694,7 +3045,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2754,16 +3105,122 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: 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
+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
@@ -2807,6 +3264,140 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+msgid "Create points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2833,11 +3424,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2846,11 +3437,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2867,11 +3453,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2883,7 +3469,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2915,39 +3501,32 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
+msgid "Edit Transitions..."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2999,6 +3578,10 @@ 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 ""
@@ -3008,6 +3591,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3025,161 +3609,208 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"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_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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3233,7 +3864,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3341,7 +3976,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3350,12 +3985,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3368,14 +4001,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3404,11 +4029,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3428,6 +4065,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3471,7 +4120,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3479,7 +4128,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3520,6 +4169,10 @@ 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 ""
@@ -3546,23 +4199,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3608,11 +4261,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3628,14 +4277,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3651,10 +4292,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3687,26 +4324,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3777,15 +4406,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3869,6 +4489,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3936,6 +4557,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4036,70 +4678,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4160,59 +4738,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4292,6 +4866,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4324,19 +4914,84 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Remove Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4365,11 +5020,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4385,8 +5052,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4397,6 +5063,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4419,6 +5109,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4440,14 +5134,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4459,6 +5154,18 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4475,6 +5182,18 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+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 "Import Theme"
msgstr ""
@@ -4487,6 +5206,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4515,7 +5238,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4543,6 +5266,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4576,11 +5304,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4634,10 +5357,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4656,45 +5375,67 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4782,7 +5523,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4801,128 +5542,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5050,10 +5699,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5062,6 +5707,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5106,6 +5755,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5233,6 +5886,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5241,6 +5898,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5269,6 +5930,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5282,10 +5947,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5345,6 +6006,46 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5413,14 +6114,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5446,26 +6139,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5481,11 +6167,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5557,10 +6238,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5585,7 +6262,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5598,7 +6275,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5606,6 +6283,10 @@ msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5626,11 +6307,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5654,6 +6331,10 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Move Selection"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5670,63 +6351,105 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+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 " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5742,7 +6465,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5816,10 +6539,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5828,7 +6547,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5836,6 +6555,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5922,6 +6649,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6030,8 +6761,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6043,9 +6774,21 @@ 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6087,19 +6830,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6127,10 +6870,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6175,6 +6914,12 @@ 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 "Already existing"
msgstr ""
@@ -6246,6 +6991,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6255,6 +7004,14 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6315,10 +7072,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6355,75 +7108,155 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+msgid "Batch Rename"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6462,11 +7295,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6486,6 +7314,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6526,11 +7358,27 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+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 "Makes Sense!"
+msgid "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6542,6 +7390,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6584,18 +7436,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6618,10 +7466,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6641,16 +7485,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6659,7 +7495,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6675,20 +7511,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6696,6 +7532,12 @@ 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 ""
@@ -6732,6 +7574,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -6968,10 +7814,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -6984,19 +7842,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7052,16 +7922,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7126,6 +7986,10 @@ 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 Duplicate Selection"
msgstr ""
@@ -7206,6 +8070,10 @@ 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 ""
@@ -7273,6 +8141,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7324,10 +8256,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7436,35 +8364,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7492,15 +8396,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7508,10 +8408,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7555,6 +8451,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7609,6 +8509,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7655,8 +8567,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7737,6 +8649,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7797,8 +8722,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7871,6 +8796,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7883,6 +8819,42 @@ msgid ""
"it as a child of a VehicleBody."
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_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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -7950,3 +8922,27 @@ msgstr ""
#: scene/resources/dynamic_font.cpp
msgid "Invalid font size."
msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
diff --git a/editor/translations/el.po b/editor/translations/el.po
index 4a9560e602..6dc1f9459d 100644
--- a/editor/translations/el.po
+++ b/editor/translations/el.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-07-21 22:38+0000\n"
+"PO-Revision-Date: 2018-08-04 20:39+0000\n"
"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/"
"el/>\n"
@@ -14,336 +14,491 @@ msgstr ""
"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.1-dev\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Επιλογή όλων"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Δεν υπάÏχουν αÏκετά byte για την αποκωδικοποίηση, ή άκυÏη μοÏφή."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "ΆκυÏο όνομα ιδιότητας δείκτη '%s' στον κόμβο %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "ΆκυÏο όνομα ιδιότητας δείκτη '%s' στον κόμβο %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": ΆκυÏη παÏάμετÏος Ï„Ïπου: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "ΔωÏεάν"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "ΣυμμετÏία στον άξονα Χ"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Εισαγωγή κλειδιοÏ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Διπλασιασμός επιλογής"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "ΔιαγÏαφή επιλεγμένου"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Διπλασιασμός κλειδιών"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim ΔιαγÏαφή κλειδιών"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Αλλαγή χÏόνου στιγμιοτÏπου"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Αλλαγή μετάβασης"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Αλλαγή Î¼ÎµÏ„Î±ÏƒÏ‡Î·Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï (transform)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Αλλαγή τιμής στιγμιοτÏπου"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Αλλαγή κλήσης"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim ΠÏοσθήκη κομματιοÏ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Ιδιότητα:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Διπλασιασμός κλειδιών"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Είδος μετασχηματισμοÏ"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Μετακίνηση ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï animation πάνω"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Μετακίνηση ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï animation κάτω"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Anim ΑφαίÏεση κομματιοÏ"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "ΟÏισμός μεταβάσεων σε:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Πάυση αναπαÏγωγής κίνησης. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim Μετονομασία κομματιοÏ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim ΠÏοσθήκη κομματιοÏ"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim Αλλαγή παÏεμβολής κομματιοÏ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Μήκος animation (σε δευτεÏόλεπτα)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Anim ΛειτουÏγία αλλαγής τιμής κομματιοÏ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Μεγέθυνση animation."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Αλλαγή λειτουÏγίας αναδίπλωσης ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï ÎºÎ¯Î½Î·ÏƒÎ·Ï‚"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "ΣυναÏτήσεις:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "ΕπεξεÏγασία ΚαμπÏλης κόμβου"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "ΑκÏοατής ήχου"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "ΕπεξεÏγασία επιλεγμένης καμπÏλης"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Αποσπάσματα"
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim ΔιαγÏαφή κλειδιών"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Εναλλαγή λειτουÏγίας χωÏίς πεÏισπασμοÏÏ‚."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Διπλασιασμός επιλογής"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Διπλασιασμός ανεστÏαμένων"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Κόμβος κίνησης"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-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_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "ΧÏόνος ÏƒÏ…Î½Î´Î¹Î±ÏƒÎ¼Î¿Ï (s):"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Συνεχόμενη"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "ΞεχωÏιστή"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Άμεση"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim ΠÏοσθήκη κλειδιοÏ"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Μετακίνηση κελιδιών"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Μεγέθυνση επιλογής"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Μεγέθυνση από τον δείκτη"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Πήγαινε στο επόμενο βήμα"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Δυνατότητες"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Πήγαινε στο Ï€ÏοηγοÏμενο βήμα"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "ΓÏαμμική"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "ΣταθεÏή"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Είσοδος"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Έξοδος"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Είσοδος-Έξοδος"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Έξοδος-Είσοδος"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Εισαγωγή κλειδιοÏ"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Μεταβάσεις"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Διπλασιασμός κόμβων"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Βελτιστοποίηση animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "ΔιαγÏαφή Κόμβων"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "ΚαθαÏισμός animation"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Anim ΑφαίÏεση κομματιοÏ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "ΔημιουÏγία νέου ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï Î³Î¹Î± %s και εισαγωγή κλειδιοÏ;"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "ΔημιουÏγία %d νέων κομματιών και εισαγωγή κλειδιών;"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "ΔημιουÏγία"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Εισαγωγή"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim ΔημιουÏγία & Εισαγωγή"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Εισαγωγή ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï & κλειδιοÏ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim εισαγωγή κλειδιοÏ"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Αλλαγή μήκους animation"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Αλλαγή επανάληψης animation"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim ΔημιουÏγία ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï„Î¹Î¼Î®Ï‚ οÏισμένου Ï„Ïπου"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Εισαγωγή"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "Το VariableGet δεν βÏέθηκε στη δεσμή ενεÏγειών: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Μετακίνηση κελιδιών"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Το Ï€ÏόχειÏο είναι άδειο!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Μεγέθυνση κλειδιών"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim ΠÏοσθήκη ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï ÎºÎ»Î®ÏƒÎ·Ï‚"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Μεγέθυνση animation."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Μήκος (s):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Μήκος animation (σε δευτεÏόλεπτα)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "ΚοÏμπωμα (Εικονοστοιχεία):"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Βήμα (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Το δέντÏο κίνησης είναι έγκυÏο."
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Βήμα κουμπώματος δÏομέα (σε δευτεÏόλεπτα)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "ΕπεξεÏγασία"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "ΕνεÏγοποίηση/ΑπενεÏγοποίηση επανάληψης στο animation."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "ΔέντÏο κίνησης"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "ΠÏοσθήκη νέων κομματιών."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "ΑντιγÏαφή παÏαμέτÏων"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Μετακίνηση Ï„Ïέχοντος ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï Ï€Î¬Î½Ï‰."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Επικόλληση παÏαμέτÏων"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Μετακίνηση Ï„Ïέχοντος ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï ÎºÎ¬Ï„Ï‰."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Μεγέθυνση επιλογής"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "ΑφαίÏεση επιλεγμένου κομματιοÏ."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Μεγέθυνση από τον δείκτη"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.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_editor.cpp
-msgid "Track tools"
-msgstr "ΕÏγαλεία κομματιοÏ"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Πήγαινε στο επόμενο βήμα"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "ΕνεÏγοποίηση επεξεÏγασίας μεμονωμένων κλειδιών με το κλικ."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Πήγαινε στο Ï€ÏοηγοÏμενο βήμα"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Βελτιστοποίηση animation"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "ΚαθαÏισμός animation"
+
+#: 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 "Anim. Optimizer"
msgstr "Anim. Μηχανή βελτιστοποίησης"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Μέγιστο γÏαμμικό σφάλμα:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Μέγιστο γωνιώδες σφάλμα:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Μέγιστη βελτιστοποίησιμη γωνία:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Βελτιστοποίησε"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Επιλέξτε ένα AnimationPlayer από την ιεÏαÏχία της σκηνής για να "
-"επεξεÏγαστείτε animations."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Κλειδί"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Μετάβαση"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Λόγος μεγέθυνσης:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Σε ποιο κόμβο να κληθοÏν οι συναÏτήσεις;"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "ΑφαίÏεση άκυÏων κλειδιών"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "ΑφαίÏεση ανεπίλυτων και άδειων κομματιών"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "ΕκκαθάÏιση όλων των animation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "ΕκκαθάÏιση όλων των animation (ΧΩΡΙΣ ΑÎΑΙΡΕΣΗ!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "ΑντιγÏαφή"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Αλλαγή μεγέθους πίνακα"
@@ -364,7 +519,7 @@ msgstr "Πήγαινε στη γÏαμμή"
msgid "Line Number:"
msgstr "ΑÏ. γÏαμμής:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Δεν υπάÏχουν αντιστοιχίες"
@@ -380,7 +535,7 @@ msgstr "Αντιστοίχηση πεζών-κεφαλαίων"
msgid "Whole Words"
msgstr "ΟλόκληÏες λέξεις"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Αντικατάσταση"
@@ -392,18 +547,28 @@ msgstr "Αντικατάσταση όλων"
msgid "Selection Only"
msgstr "Μόνο στην επιλογή"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Μεγέθυνση"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "ΣμÏκÏινση"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "ΕπαναφοÏά μεγέθυνσης"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "ΠÏοειδοποιήσεις"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Μεγέθυνση (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "ΓÏαμμή:"
@@ -435,7 +600,8 @@ msgid "Add"
msgstr "ΠÏοσθήκη"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -466,7 +632,7 @@ msgid "Oneshot"
msgstr "Μία κλήση"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -488,11 +654,12 @@ msgid "Connect '%s' to '%s'"
msgstr "ΣÏνδεση του '%s' στο '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "ΣÏνδεση στο σήμα:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "ΑποσÏνδεση του '%s' απο το '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "ΑποσÏνδεση του '%s' απο το '%s'"
#: editor/connections_dialog.cpp
@@ -500,14 +667,48 @@ msgid "Connect..."
msgstr "ΣÏνδεση..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "ΑποσÏνδεση"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "ΣÏνδεση στο σήμα:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "ΕπεξεÏγασία συνδέσεων"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Είστε σίγουÏοι πως θέλετε να Ï„Ïέξετε πεÏισσότεÏα από ένα έÏγα;"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Σήματα"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "ΑποσÏνδεση"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "ΕπεξεÏγασία"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "ΣυναÏτήσεις"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Αλλαγή Ï„Ïπου %s"
@@ -530,22 +731,25 @@ msgstr "Αγαπημένα:"
msgid "Recent:"
msgstr "ΠÏόσφατα:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Αναζήτηση:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "ΠεÏιγÏαφή:"
@@ -607,7 +811,9 @@ msgstr "Αναζήτηση αντικαταστάτη πόÏου:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Άνοιγμα"
@@ -628,7 +834,7 @@ msgstr ""
"Τα αÏχεία που αφαιÏοÏνται απαιτοÏνται από άλλους πόÏους για να δουλέψουν.\n"
"Îα αφαιÏεθοÏν; (ΑδÏνατη η αναίÏεση)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "ΑδÏνατη η αφαίÏεση:"
@@ -696,9 +902,13 @@ msgstr "Αλλαγή τιμής λεξικοÏ"
msgid "Thanks from the Godot community!"
msgstr "ΕυχαÏιστίες από την κοινότητα της Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "ΕυχαÏιστώ!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Εντάξει"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -876,6 +1086,7 @@ msgid "Bus options"
msgstr "Επιλογές διαÏλου"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Διπλασιασμός"
@@ -944,7 +1155,8 @@ msgstr "ΠÏοσθήκη διαÏλου"
msgid "Create a new Bus Layout."
msgstr "ΔημιουÏγία νέας διάταξης διαÏλων ήχου."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "ΦόÏτωσε"
@@ -954,7 +1166,6 @@ msgid "Load an existing Bus Layout."
msgstr "ΦόÏτωση υπαÏκτής διάταξης διαÏλων ήχου."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Αποθήκευση ώς"
@@ -993,22 +1204,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "ΆκυÏο όνομα. Δεν Ï€Ïέπει να συγχέεται με υπαÏκτό καθολικό όνομα."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "ΆκυÏη διαδÏομή."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Το αÏχείο δεν υπάÏχει."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Δεν υπάÏχει στην διαδÏομή πόÏων."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "ΠÏοσθήκη AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "AutoLoad '%s' υπάÏχει ήδη!"
@@ -1036,6 +1231,22 @@ msgstr "ΕνεÏγοποίηση"
msgid "Rearrange Autoloads"
msgstr "Αναδιάταξη των AutoLoad"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "ΆκυÏη διαδÏομή."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Το αÏχείο δεν υπάÏχει."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Δεν υπάÏχει στην διαδÏομή πόÏων."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "ΠÏοσθήκη AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1066,7 +1277,7 @@ msgstr "Αποθήκευση τοπικών αλλαγών..."
msgid "Updating scene..."
msgstr "ΕνημέÏωση σκηνής..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[άδειο]"
@@ -1128,6 +1339,12 @@ msgid "Copy Path"
msgstr "ΑντιγÏαφή διαδÏομής"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Εμφάνιση στη διαχείÏιση αÏχείων"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Εμφάνιση στη διαχείÏιση αÏχείων"
@@ -1164,7 +1381,7 @@ msgid "Open a File or Directory"
msgstr "Άνοιγμα αÏχείου ή φακέλου"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Αποθήκευση"
@@ -1217,7 +1434,8 @@ msgstr "Πήγαινε στον γονικό φάκελο"
msgid "Directories & Files:"
msgstr "Φάκελοι & ΑÏχεία:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "ΠÏοεπισκόπηση:"
@@ -1369,20 +1587,28 @@ msgstr ""
"Δεν υπάÏχει ακόμη πεÏιγÏαφή για αυτήν την μέθοδο. ΠαÏακαλοÏμε βοηθήστε μας "
"[color=$color][url=$url]γÏάφοντας μία[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Αναζήτηση κειμένου"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Ιδιότητα:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "ΕÏÏεση"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "ÎŒÏισε"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Έξοδος:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1404,11 +1630,6 @@ msgstr "Σφάλμα κατά την αποθήκευση πόÏου!"
msgid "Save Resource As..."
msgstr "Αποθήκευση πόÏου ως..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Εντάξει..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "ΑδÏνατο το άνοιγμα αÏχείου για εγγÏαφή:"
@@ -1421,9 +1642,9 @@ msgstr "Ζητήθηκε άγνωστη μοÏφή αÏχείου:"
msgid "Error while saving."
msgstr "Σφάλμα κατά την αποθήκευση."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "ΑδÏνατο το άνοιγμα του '%s'."
+#: 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'."
@@ -1466,10 +1687,6 @@ msgstr ""
"κληÏονομιά) να μην μποÏοÏσαν να ικανοποιηθοÏν."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Απέτυχε η φόÏτωση πόÏου."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "ΑδÏνατο το φόÏτωμα της βιβλιοθήκης πλεγμάτων για συγχώνευση!"
@@ -1552,42 +1769,6 @@ msgstr ""
"καταλάβετε καλÏτεÏα την διαδικασία."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Ανάπτυξη όλων των ιδιοτήτων"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "ΣÏμπτηξη όλων των ιδιοτήτων"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "ΑντιγÏαφή παÏαμέτÏων"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Επικόλληση παÏαμέτÏων"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Επικόλληση πόÏου"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "ΑντιγÏαφή πόÏου"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Κάνε ενσωματωμένο"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Κάνε τους υπό-πόÏους μοναδικοÏÏ‚"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Άνοιγμα στη βοήθεια"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Δεν υπάÏχει καθοÏισμένη σκηνή για εκτελέση."
@@ -1791,11 +1972,6 @@ msgstr ""
"Για να κάνετε αλλαγές σε αυτή, Ï€Ïέπει να δημιουÏγηθεί μία νέα κληÏονομημένη "
"σκηνή."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "α..."
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1827,6 +2003,16 @@ msgid "Default"
msgstr "ΠÏοεπιλογή"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "ΑναπαÏαγωγή σκηνής"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Κλείσιμο άλλον καÏτελών"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Εναλλαγή καÏτέλας σκηνής"
@@ -1948,10 +2134,6 @@ msgstr "ΈÏγο"
msgid "Project Settings"
msgstr "Ρυθμίσεις έÏγου"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Εκτέλεση δεσμής ενεÏγειών"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Εξαγωγή"
@@ -1961,6 +2143,11 @@ msgid "Tools"
msgstr "ΕÏγαλεία"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Άνοιγμα του διαχειÏιστή έÏγων;"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Έξοδος στη λίστα έÏγων"
@@ -2072,6 +2259,20 @@ msgstr "Διάταξη επεξεÏγαστή"
msgid "Toggle Fullscreen"
msgstr "Εναλλαγή πλήÏους οθόνης"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Ρυθμίσεις επεξεÏγαστή"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Ρυθμίσεις επεξεÏγαστή"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "ΔιαχείÏιση Ï€ÏοτÏπων εξαγωγής"
@@ -2087,7 +2288,8 @@ msgstr "Κλάσεις"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Αναζήτηση"
@@ -2131,7 +2333,7 @@ msgstr "ΠαÏση της σκηνής"
msgid "Stop the scene."
msgstr "Διέκοψε τη σκηνή."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Διακοπή"
@@ -2152,6 +2354,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Αποθήκευση & Επανεισαγωγή"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "ΠεÏιστÏέφεται όταν το παÏάθυÏο του επεξεÏγαστή επαναχÏωματίζεται!"
@@ -2171,42 +2383,6 @@ msgstr "ΑπενεÏγοποίηση δείκτη ενημέÏωσης"
msgid "Inspector"
msgstr "ΕπιθεωÏητής"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "ΔημιοÏÏγησε έναν νέο πόÏο στη μνήμη και επεξεÏγάσου τον."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "ΦόÏτωσε υπάÏχων πόÏο στη μνήμη και επεξεÏγάσου τον."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Αποθήκευσε το Ï„Ïέχων επεξεÏγαζόμενο πόÏο."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Αποθήκευση ως..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Πήγαινε στο Ï€Ïοηγουμένως επεξεÏγασμένο αντικείμενο στο ιστοÏικό."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Πήγαινε στο επόμενο επεξεÏγασμένο αντικείμενο στο ιστοÏικό."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "ΙστοÏικό Ï€Ïοσφάτως επεξεÏγασμένων αντικειμένων."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Ιδιότητες αντικειμένου."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Οι αλλαγές μποÏεί να χαθοÏν!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2221,6 +2397,11 @@ msgid "FileSystem"
msgstr "ΣÏστημα αÏχείων"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Ανάπτυξη όλων"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Έξοδος"
@@ -2297,19 +2478,24 @@ msgid "Thumbnail..."
msgstr "ΜικÏογÏαφία..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "ΕπεγεÏγασία πολυγώνου"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Εγκατεστημένα Ï€Ïόσθετα:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "ΕνημέÏωση"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Έκδοση:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "ΣυγγÏαφέας:"
@@ -2317,13 +2503,16 @@ msgstr "ΣυγγÏαφέας:"
msgid "Status:"
msgstr "Κατάσταση:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Διακοπή Ï€Ïοφίλ"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "ΕπεξεÏγασία"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "ΈναÏξη Ï€Ïοφίλ"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Εκκινιση!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2369,6 +2558,106 @@ msgstr "ΧÏόνος"
msgid "Calls"
msgstr "Κλήσεις"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Îαι"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Δυαδικό ψηφίο %d, τιμή %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Άδειο]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Ανάθεση"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Επιλέξτε μία οπτική γωνία"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Îεα δεσμή ενεÏγειών"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Îέο %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Κάνε μοναδικό"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Εμφάνιση στο σÏστημα αÏχείων"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Επικόληση"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "ΜετατÏοπή σε %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Άνοιγμα στον επεξεÏγαστή"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Ο επιλεγμένος κόμβος δεν είναι Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Μέγεθος κελιοÏ:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Îέο όνομα:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Îέο όνομα:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "ΑφαίÏεση στοιχείου"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Επιλέξτε συσκευή από την λίστα"
@@ -2405,10 +2694,6 @@ msgstr "ΑδÏνατη η εκτέλεση της δεσμής ενεÏγειώÎ
msgid "Did you forget the '_run' method?"
msgstr "Μήπως ξεχάσατε τη μέθοδο '_run';"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "ΠÏοεπιλογή (Το ίδιο με τον επεξεÏγαστή)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Επιλέξτε κόμβους για εισαγωγή"
@@ -2434,6 +2719,7 @@ msgid "(Installed)"
msgstr "(Εγκατεστημένο)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Λήψη"
@@ -2458,7 +2744,8 @@ msgid "Can't open export templates zip."
msgstr "ΑδÏνατο το άνοιγμα του zip των Ï€ÏοτÏπων εξαγωγής."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "ΆκυÏη μοÏφή version.txt μέσα στα Ï€Ïότυπα."
#: editor/export_template_manager.cpp
@@ -2520,6 +2807,12 @@ msgid "Download Complete."
msgstr "Η λήψη ολοκληÏώθηκε."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Σφάλμα κατά Ï„o αίτημα για διεÏθηνση url: "
@@ -2598,7 +2891,8 @@ msgid "Download Templates"
msgstr "Λήψη Ï€ÏοτÏπων"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Επιλέξτε έναν διακοσμιτή κατοπτÏÎ¹ÏƒÎ¼Î¿Ï Î±Ï€ÏŒ την λίστα: "
#: editor/file_type_cache.cpp
@@ -2613,11 +2907,13 @@ msgstr ""
"Δεν ήταν δυνατή η πλοήγηση στο '%s', καθώς δεν βÏέθηκε στο σÏστημα αÏχείων!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Εμφάνιση αντικειμένων σε πλέγμα μικÏγÏαφιών"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Εμφάνιση αντικειμένων σε λίστα"
#: editor/filesystem_dock.cpp
@@ -2690,7 +2986,7 @@ msgstr "Ανάπτυξη όλων"
msgid "Collapse all"
msgstr "ΣÏμπτηξη όλων"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Μετονομασία..."
@@ -2719,6 +3015,23 @@ msgid "Duplicate..."
msgstr "ΑναπαÏαγωγή..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Îεα δεσμή ενεÏγειών"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "ΠÏοηγοÏμενος κατάλογος"
@@ -2731,16 +3044,31 @@ msgid "Re-Scan Filesystem"
msgstr "Εκ νέου σάÏωση το συστήματος αÏχείων"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Εναλλαγή αγαπημένου"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Επέλεξε το Ï„Ïέχων επεξεÏγαζόμενο υπο-πλακίδιο."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
"ΔημιουÏγία στιγμιοτÏπων των επιλεγμένων σκηνών ως παιδιά του επιλεγμένου "
"κόμβου."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Αναζήτηση κλάσεων"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2748,14 +3076,112 @@ msgstr ""
"ΣάÏωση αÏχείων,\n"
"ΠαÏακαλώ πεÏιμένετε..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Μετακίνηση"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Μετονομασία"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "ΥπάÏχει ήδη φάκελος στην διαδÏομή με το Ï€ÏοσδιοÏισμένο όνομα."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "ΔημιουÏγία δεσμής ενεÏγειών"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "ΕÏÏεση πλακιδίου"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "ΕÏÏεση"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "ΟλόκληÏες λέξεις"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Αντιστοίχηση πεζών-κεφαλαίων"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "ΑκÏÏωση"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Αντικατάσταση"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Αντικατάσταση όλων"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Αποθήκευση..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Αναζήτηση κειμένου"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ΣΦΑΛΜΑ: Αυτό το όνομα κίνησης υπάÏχει ήδη!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Μη έγκυÏο όνομα."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Ομάδες"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "ΠÏοσθήκη σε Ομάδα"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "ΦιλτÏάÏισμα κόμβων"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "ΕπεξεÏγασία Ομάδων"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2765,6 +3191,11 @@ msgstr "ΠÏοσθήκη σε Ομάδα"
msgid "Remove from Group"
msgstr "ΚατάÏγηση από την ομάδα"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Ομάδες"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Εισαγωγή ως μονή σκηνή"
@@ -2806,7 +3237,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Εισαγωγή ως πολλαπλές σκηνές και υλικά"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Εισαγωγή σκηνής"
@@ -2868,18 +3299,131 @@ msgstr "ΔιαμόÏφωση..."
msgid "Reimport"
msgstr "Επανεισαγωγή"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Απέτυχε η φόÏτωση πόÏου."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Εντάξει"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Ανάπτυξη όλων των ιδιοτήτων"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "ΣÏμπτηξη όλων των ιδιοτήτων"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Αποθήκευση ως..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "ΑντιγÏαφή παÏαμέτÏων"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Επικόλληση παÏαμέτÏων"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Το Ï€ÏόχειÏο πόÏων είναι άδειο!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "ΑντιγÏαφή πόÏου"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Κάνε ενσωματωμένο"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Κάνε τους υπό-πόÏους μοναδικοÏÏ‚"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "Ιδιότητες αντικειμένου."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
-msgstr "Ομάδες"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Επιλέξτε ένα κόμβο για να επεξεÏγαστείτε τα σήματα και τις ομάδες."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "ΕπεγεÏγασία πολυγώνου"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "ΔημιουÏγία λÏσης C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "ΠÏόσθετα"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Γλώσσα"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "ΈγκυÏη δεσμή ενεÏγειών"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2925,6 +3469,150 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "ΔιαγÏαφή σημείων"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Δεξί κλικ: ΔιαγÏαφή σημείου."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Κόμβος κίνησης"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Η ενέÏγεια '%s' υπάÏχει ήδη!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "Ανάλυση %d ΤÏιγώνων:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "ΠÏοσθήκη κόμβου"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "ΕπεξεÏγασία φίλτÏων"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "ΕπεξεÏγάσιμα παιδιά"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Εναλλαγή αυτόματης αναπαÏαγωγής"
@@ -2951,11 +3639,13 @@ msgid "Remove Animation"
msgstr "ΚατάÏγηση κίνησης"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ΣΦΑΛΜΑ: Μη έγκυÏο όνομα κίνησης!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ΣΦΑΛΜΑ: Αυτό το όνομα κίνησης υπάÏχει ήδη!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2964,11 +3654,6 @@ msgid "Rename Animation"
msgstr "Μετονομασία κίνησης"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "ΠÏοσθήκη κίνησης"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Το επόμενο στην μείξη κίνησης άλλαξε"
@@ -2985,11 +3670,13 @@ msgid "Duplicate Animation"
msgstr "ΑναπαÏαγωγή κίνησης"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ΣΦΑΛΜΑ: Δεν υπάÏχει κίνηση για αντÏιγÏαφή!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ΣΦΑΛΜΑ: Δεν υπάÏχει πόÏος κίνησης στο Ï€ÏόχειÏο!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3001,7 +3688,8 @@ msgid "Paste Animation"
msgstr "Επικόλληση κίνησης"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ΣΦΑΛΜΑ: Δεν υπάÏχει κίνηση για επεξεÏγασία!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3033,20 +3721,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Κλιμάκωση αναπαÏαγωγής κίνησης παγκοσμίως για τον κόμβο."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "ΔημιουÏγία νέας κίνησης στον αναπαÏαγωγέα."
+msgid "Animation Tools"
+msgstr "ΕÏγαλεία κινήσεων"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Κίνηση"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "ΦόÏτωση κίνησης από τον δίσκο."
+msgid "New"
+msgstr "Îέο"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "ΦόÏτωση μίας κίνησης από τον δίσκο."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Μεταβάσεις"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Αποθήκεση της Ï„Ïέχουσας κίνησης"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Άνοιγμα στον επεξεÏγαστή"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3057,18 +3752,6 @@ msgid "Autoplay on Load"
msgstr "Αυτόματη αναπαÏαγωγή"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "ΕπεξεÏγασία χÏόνων ανάμειξης κινήσεων"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "ΕÏγαλεία κινήσεων"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "ΑνιγÏαφή κίνησης"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "ΞεφλοÏδισμα κÏεμμυδιοÏ"
@@ -3117,6 +3800,11 @@ msgid "Include Gizmos (3D)"
msgstr "ΣυμπεÏιέλαβε τα μαÏαφέτια (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Επικόλληση κίνησης"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "ΔημιουÏγία νέας κίνησης"
@@ -3126,6 +3814,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3143,161 +3832,214 @@ msgstr "Επόμενο (Αυτόματη σειÏά):"
msgid "Cross-Animation Blend Times"
msgstr "ΧÏόνοι ανάμειξης κινήσεων"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Κίνηση"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Τέλος"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "ΔημιουÏγία νέου %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "ΣÏνδεση κόμβων"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "ΕπεξεÏγασία φίλτÏων"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Κλιμάκωση:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Εμφάνιση σε (δευτεÏόλεπτα):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "ΑπόκÏυψη σε (δευτεÏόλεπτα):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Ανάμειξη"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Μείξη"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Αυτόματη επανεκκίνηση:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Επανεκκίνηση (δευτεÏόλεπτα):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Τυχαία επανεκκίνηση (δευτεÏόλεπτα):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Εκκινιση!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Ποσότητα:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Ανάμειξη:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Ανάμειξη 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Ανάμειξη 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "ΧÏόνος ÏƒÏ…Î½Î´Î¹Î±ÏƒÎ¼Î¿Ï (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "ΤÏέχων:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "ΠÏοσθήκη εισόδου"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "ΕκκαθάÏιση αυτόματης Ï€Ïοέλασης"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "ΟÏισμός αυτόματης Ï€Ïοέλασης"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "ΔιαγÏαφή εισόδου"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Το δέντÏο κίνησης είναι έγκυÏο."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Το δέντÏο κίνησης δεν είναι έγκυÏο."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Κόμβος κίνησης"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Κόμβος OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Κόμβος μείξης"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Κόμβος Ανάμειξης 2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Κόμβος Ανάμειξης 3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Κόμβος Ανάμειξης 4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Κόμβος κλιμάκωσης χÏόνου"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Κόμβος εÏÏεσης χÏόνου"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Κόμβος μετάβασης"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Εισαγωγή κινήσεων..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "ΕπεξεÏγασία φίλτÏων κόμβων"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "ΦίλτÏα..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "ΔέντÏο κίνησης"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "ΔωÏεάν"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "ΠεÏιεχόμενα:"
@@ -3352,8 +4094,14 @@ msgid "Asset Download Error:"
msgstr "Σφάλμα λήψης:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Λήψη:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Λήψη"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Λήψη"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3380,20 +4128,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Η λήψη είναι ήδη σε εξέλιξη!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "ΠÏώτο"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "ΠÏοηγοÏμενο"
+#, fuzzy
+msgid "Previous"
+msgstr "ΠÏοηγοÏμενη καÏτέλα"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr "Επόμενο"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "ΠÏοηγοÏμενο"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3468,7 +4218,7 @@ msgid "Bake Lightmaps"
msgstr "ΠÏοεπεξεÏγασία χαÏτών φωτός"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "ΠÏοεπισκόπηση"
@@ -3477,12 +4227,10 @@ msgid "Configure Snap"
msgstr "ΠÏοσαÏμογή Ï€Ïοσκόλλησης"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Μετατόπιση πλέγατος:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Βήμα πλέγματος:"
@@ -3495,14 +4243,6 @@ msgid "Rotation Step:"
msgstr "Βήμα πεÏιστÏοφής:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Μετακίνηση πηγαίου σημείου"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "ΕνέÏγεια μετακίνησης"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Μετακίνηση κάθετου οδηγοÏ"
@@ -3531,11 +4271,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "ΔημιουÏγία νέων οÏιζοντίων και κάθετων οδηγών"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "ΕπεξεÏγασία Αλυσίδας IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Μετακίνηση πηγαίου σημείου"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "ΕπεξεÏγασία στοιχείου κανβά"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "ΕνέÏγεια μετακίνησης"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "ΕπεξεÏγασία στοιχείου κανβά"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "ΕπεξεÏγασία στοιχείου κανβά"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3555,6 +4312,21 @@ msgid "Paste Pose"
msgstr "Επικόληση στάσης"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "ΣμÏκÏινση"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "ΕπαναφοÏά μεγέθυνσης"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Μεγέθυνση"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Επιλογή λειτουÏγίας"
@@ -3602,7 +4374,8 @@ msgid "Pan Mode"
msgstr "ΛειτουÏγία Μετακίνησης κάμεÏας"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Εναλλαγή κουμπώματος"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3610,7 +4383,8 @@ msgid "Use Snap"
msgstr "ΧÏήση κουμπώματος"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Επιλογές κουμπώματος"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3651,6 +4425,11 @@ msgid "Snap to node sides"
msgstr "ΚοÏμπωμα στις πλευÏές του κόμβου"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "ΚοÏμπωμα στην άγκυÏα του κόμβου"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "ΚοÏμπωμα σε άλλους κόμβους"
@@ -3677,14 +4456,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "ΕπαναφέÏει την δυνατότητα των παιδιών του αντικειμένου να επιλεγοÏν."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "ΔημιουÏγία οστών"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "ΕκκαθάÏιση οστών"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Εμφάνιση οστών"
@@ -3697,6 +4468,15 @@ msgid "Clear IK Chain"
msgstr "ΕκκαθάÏιση αλυσίδας IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "ΕκκαθάÏιση οστών"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "ΚάμεÏα"
@@ -3739,14 +4519,11 @@ msgid "Layout"
msgstr "Διάταξη"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Εισαγωγή κλειδιών"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Εισαγωγή κλειδιοÏ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Εισαγωγή ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï (ΥπαÏκτά κομμάτια)"
@@ -3759,14 +4536,6 @@ msgid "Clear Pose"
msgstr "ΕκκαθάÏιση στάσης"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "ΣÏÏσιμο κέντÏου από την θέση του ποντικιοÏ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "ΟÏισμός κέντÏου στον κέÏσοÏα"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Πολλαπλασιαμός βήματος πλέγματος με 2"
@@ -3782,10 +4551,6 @@ msgstr "ΠÏόσθεσε %s"
msgid "Adding %s..."
msgstr "ΠÏοσθήκη %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Εντάξει"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Δεν είναι δυνατή η δημιουÏγία στιγμιότυπου χωÏίς Ïίζα."
@@ -3820,27 +4585,20 @@ msgstr "ΔημιουÏγία πολυγώνου 3D"
msgid "Set Handle"
msgstr "ΟÏισμός λαβής"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "ΑφαίÏεση του στοιχείου %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "ΠÏοσθήκη στοιχείου"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "ΑφαίÏεση του επιλεγμένου στοιοχείου"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Σωματίδια"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Εισαγωγή από την σκηνή"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "ΔημιουÏγία σημείων εκπομπής από πλέγμα"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3910,15 +4668,6 @@ msgstr "Πατήστε το Shift για να επεξεÏγαστείτε εφÎ
msgid "Bake GI Probe"
msgstr "ΠÏοετοιμασία διεÏεÏνησης GI"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "ΠÏοσθήκη αφαίÏεση σημείου διαβάθμισης χÏωμάτων"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "ΕπεξεÏγασία διαβάθμισης χÏωμάτων"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Στοιχείο %d"
@@ -4004,6 +4753,7 @@ msgid "No mesh to debug."
msgstr "Κανένα πλέγμα για αποσφαλμάτωση."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Το μοντέλο δεν έχει UV σε αυτό το στÏώμα"
@@ -4071,6 +4821,27 @@ msgstr "ΔημιουÏγία πλέγματος πεÏιγÏάμματος"
msgid "Outline Size:"
msgstr "Μέγεθος πεÏιγÏάμματος:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "ΑφαίÏεση του στοιχείου %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "Εισαγωγή από την σκηνή"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "ΑναπÏοσαÏμογή από την σκηνή"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Δεν οÏίστικε πηγαίο πλέγμα (οÏτε πολλαπλό πλέγμα στον κόμβο)."
@@ -4173,70 +4944,6 @@ msgstr "Τυχαία κλιμάκωση:"
msgid "Populate"
msgstr "ΣυμπλήÏωση"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "ΠÏοετοίμασε!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "ΠÏοετοιμασία του πλέγματος πλοήγησης."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "ΕκκαθάÏιση του πλέγματος πλοήγησης."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "ΡÏθμιση παÏαμέτÏων..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Υπολογισμός μεγέθους πλέγματος..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "ΔημιουÏγία πεδίου Ïψους..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Επισήμανση βατών Ï„Ïιγώνων..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "ΔημιουÏγία συμπυκνωμένου πεδίου Ïψους..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "ΔιάβÏωση βατής πεÏιοχής..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "ΔιαμεÏισμός..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "ΔημιουÏγία πεÏιγÏαμμάτων..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "ΔημιουÏγία πολÏ-πλέγματος..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "ΜετατÏοπή σε εγγενή πλέγμα πλοήγησης..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "ΡÏθμιση γενήτÏιας πλέγματος πλοήγησης:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Ανάλυση γεωμετÏίας..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Τέλος!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "ΔημιουÏγία πολυγώνου πλοήγησης"
@@ -4299,18 +5006,6 @@ msgid "Emission Colors"
msgstr "ΧÏώματα εκπομπής"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Ο κόμβος δεν πεÏιέχει γεωμετÏία."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Ο κόμβος δεν πεÏιέχει γεωμετÏία (Επιφάνειες)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Απαιτείται ένα υλικό επεξεÏγασίας Ï„Ïπου 'ParticlesMaterial'."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Οι επιφάνειες έχουν μηδενικό εμβαδόν!"
@@ -4319,16 +5014,12 @@ msgid "No faces!"
msgstr "Δεν υπάÏχουν επιφάνειες!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "ΔημιουÏία AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "ΔημιουÏγία σημείων εκπομπής από πλέγμα"
+msgid "Node does not contain geometry."
+msgstr "Ο κόμβος δεν πεÏιέχει γεωμετÏία."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "ΔημιουÏγία σημείων εκπομπής από κόμβο"
+msgid "Node does not contain geometry (faces)."
+msgstr "Ο κόμβος δεν πεÏιέχει γεωμετÏία (Επιφάνειες)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4355,6 +5046,19 @@ msgid "Emission Source: "
msgstr "Πηγή εκπομπής: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Απαιτείται ένα υλικό επεξεÏγασίας Ï„Ïπου 'ParticlesMaterial'."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "ΔημιουÏία AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "ΜετατÏοπή σε κεφαλαία"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "ΔημιουÏία AABB οÏατότητας"
@@ -4431,6 +5135,22 @@ msgstr "ΔιαγÏαφή σημείου"
msgid "Close Curve"
msgstr "κλείσιμο καμπÏλης"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "Σημείο καμπÏλης #"
@@ -4463,19 +5183,95 @@ msgstr "ΑφαίÏεση σημείου ελέγχου εξόδου"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Εμφάνιση οστών"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "ΔημιουÏγία χάÏτη UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Δημιουγία πολυγώνου"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Η ενέÏγεια '%s' υπάÏχει ήδη!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "ΠÏοσθήκη σημείου"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Μη έγκυÏη διαδÏομή!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "ΑφαίÏεση σημείου"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Μετασχηματισμός χάÏτη UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "ΕπεξεÏγαστής δισδιάστατου πολυγώνου"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "ΕπεγεÏγασία πολυγώνου"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "ΔιαχωÏισμός διαδÏομής"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "ΔημιουÏγία οστών"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Δημιουγία πολυγώνου"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Μετακίνηση σημείου"
@@ -4504,12 +5300,25 @@ msgid "Scale Polygon"
msgstr "Κλιμάκωση πολυγώνου"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "ΕπεξεÏγασία"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4524,9 +5333,9 @@ msgid "Clear UV"
msgstr "ΕκκαθάÏιση UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "ΚοÏμπωμα"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Ρυθμίσεις GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4536,6 +5345,36 @@ msgstr "ΕνεÏγοποίηση κουμπώματος"
msgid "Grid"
msgstr "Πλέγμα"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "ΠÏοσαÏμογή Ï€Ïοσκόλλησης"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Μετατόπιση πλέγατος:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Μετατόπιση πλέγατος:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Βήμα πλέγματος:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Βήμα πλέγματος:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Κλιμάκωση πολυγώνου"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "Σφάλμα: Δεν ήταν δυνατή η φόÏτωση πόÏου!"
@@ -4558,6 +5397,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Άνοιγμα στον επεξεÏγαστή"
@@ -4579,16 +5422,18 @@ msgid "Load Resource"
msgstr "ΦόÏτωση πόÏου"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Επικόληση"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Το δέντÏο κίνησης δεν είναι έγκυÏο."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "ΕκκαθάÏιση Ï€Ïόσφατων αÏχείων"
@@ -4598,6 +5443,21 @@ msgid "Close and save changes?"
msgstr "Κλείσιμο και αποθήκευση αλλαγών;"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Σφάλμα κατά την μετακίνηση αÏχείου:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Δεν ήταν δυνατή η φόÏτωση εικόνας"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Σφάλμα κατά την αποθήκευση TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Σφάλμα κατά την αποθήκευση θέματος"
@@ -4614,6 +5474,21 @@ msgid "Error importing"
msgstr "Σφάλμα κατά την εισαγωγή"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Îέος φάκελος..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Άνοιγμα αÏχείου"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Αποθήκευση ως..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Εισαγωγή θέματος"
@@ -4626,6 +5501,10 @@ msgid " Class Reference"
msgstr " ΑναφοÏά κλασεων"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ταξινόμηση"
@@ -4654,8 +5533,9 @@ msgid "File"
msgstr "ΑÏχείο"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Îέο"
+#, fuzzy
+msgid "New TextFile"
+msgstr "ΠÏοβολή αÏχείων"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4682,6 +5562,11 @@ msgid "History Next"
msgstr "ΙστοÏικά επόμενο"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Θέμα"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "ΕπαναφόÏτωση θέματος"
@@ -4715,11 +5600,6 @@ msgstr "Εναλλαγή πλαισίου δεσμών ενεÏγειών"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "ΕÏÏεση..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "ΕÏÏεση επόμενου"
@@ -4773,10 +5653,6 @@ msgid "Discard"
msgstr "ΑπόÏÏιψη"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "ΔημιουÏγία δεσμής ενεÏγειών"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4797,6 +5673,16 @@ msgid "Debugger"
msgstr "Αποσφαλματωτής"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Αναζήτηση βοήθειας"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Αναζήτηση κλάσεων"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4804,40 +5690,56 @@ msgstr ""
"στην οποία ανήκουν είναι φοÏτωμένη"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "ΓÏαμμή:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Μόνο οι πόÏοι από το σÏστημα αÏχείων μποÏοÏν να διαγÏαφοÏν."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "ΣυμπλήÏωση συμβόλου"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Επιλογή χÏώματος"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "ΜετατÏοπή κεφαλαίων/πεζών"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Κεφαλαία"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Πεζά"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Αποκοπή"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "ΑντιγÏαφή"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4925,8 +5827,9 @@ msgid "Find Previous"
msgstr "ΈυÏεση Ï€ÏοηγοÏμενου"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Αντικατάσταση..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "ΦιλτÏάÏισμα αÏχείων..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4944,129 +5847,42 @@ msgstr "Βοήθεια ανάλογα με τα συμφÏαζόμενα"
msgid "Shader"
msgstr "ΠÏόγÏαμμα σκίασης"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Αλλαγή μονόμετÏης σταθεÏάς"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Αλλαγή διανυσματικής σταθεÏάς"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Αλλαγή χÏωματικής σταθεÏάς"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Αλλαγή μονόμετÏου τελεστή"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Αλλαγή Î´Î¹Î±Î½Ï…ÏƒÎ¼Î±Ï„Î¹ÎºÎ¿Ï Ï„ÎµÎ»ÎµÏƒÏ„Î®"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Αλλαγή Î´Î¹Î±Î½Ï…ÏƒÎ¼Î±Ï„Î¹ÎºÎ¿Ï - μονόμετÏου τελεστή"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Αλλαγή χÏÏ‰Î¼Î±Ï„Î¹ÎºÎ¿Ï Ï„ÎµÎ»ÎµÏƒÏ„Î®"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Εναλλαγή μόνο πεÏιστÏοφή"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Αλλαγή μονόμετÏης συνάÏτησης"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Αλλαγή διανυσματικής συνάÏτησης"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Αλλαγή μονόμετÏης ομοιόμοÏφης μεταβλητής"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Αλλαγή διανυσματικής ομοιόμοÏφης μεταβλητής"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Αλλαγή χÏωματικής ομοιόμοÏφης μεταβλητής"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Αλλαγή Ï€Ïοεπιλλεγμένης τιμής"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής υφής"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής χάÏτη κÏβου"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Αλλαγή σχολίου"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "ΠÏοσθήκη/ΑφαίÏεση σε διαβάθμηση χÏώματος"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "ΠÏοσθήκη/ΑφαίÏεση σε χάÏτη καμπÏλης"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "ΤÏοποποίηση χάÏτη καμπÏλης"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Αλλαγή ονόματος εισόδου"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "ΣÏνδεση κόμβων γÏαφήματος"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "ΑποσÏνδεση κόμβων γÏαφήματος"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "ΑφαίÏεση κόμβου γÏαφήματος"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Σκελετός..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Μετακίνηση κόμβου γÏαφήματος"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Διπλασιασμός κόμβων γÏαφήματος"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "ΔιαγÏαφή κόμβων γÏαφήματος"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "ΔημιουÏγία πλέγματος πλοήγησης"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Σφάλμα: Κυκλικός σÏνδεσμος"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Σκελετός..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Σφάλμα: Οι συνδέσεις εισόδου λείπουν"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "ΔημιουÏγία λÏσης C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "ΠÏοσθήκη κόμβου γÏαφήματος"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "ΑναπαÏαγωγή"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5194,10 +6010,6 @@ msgid "Align with view"
msgstr "Στοίχηση με την Ï€Ïοβολή"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Εντάξει :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
"Δεν υπάÏχει γονέας στον οποίο μποÏεί να γίνει αÏχικοποίηση του παιδιοÏ."
@@ -5207,6 +6019,11 @@ msgid "This operation requires a single selected node."
msgstr "Αυτή η λειτουÏγία απαιτεί έναν μόνο επιλεγμένο κόμβο."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Εμφάνιση πληÏοφοÏιών"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Κανονική εμφάνιση"
@@ -5251,6 +6068,11 @@ msgid "Doppler Enable"
msgstr "Φαινόμενο ÎτόπλεÏ"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "ΔημιουÏγία Ï€Ïοεπισκοπήσεων πλεγμάτων"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "ΕλεÏθεÏο κοίταγμα αÏιστεÏά"
@@ -5381,6 +6203,11 @@ msgid "Tool Scale"
msgstr "ΕÏγαλείο κλιμάκωσης"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "κουμπώματος στο πλέγμα"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Εναλλαγή ελεÏθεÏης κάμεÏας"
@@ -5389,6 +6216,10 @@ msgid "Transform"
msgstr "Μετασχηματισμός"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Διάλογος μετασχηματισμοÏ..."
@@ -5417,6 +6248,11 @@ msgid "4 Viewports"
msgstr "4 Οπτικές γωνίες"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Εμφάνιση μαÏαφετιών"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "ΠÏοβολή ΑÏχής"
@@ -5430,10 +6266,6 @@ msgid "Settings"
msgstr "Ρυθμίσεις"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "ΟÏατότητα μαÏαφετιών σκελετοÏ"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Ρυθμίσεις κουμπώματος"
@@ -5493,6 +6325,53 @@ msgstr "ΠÏιν"
msgid "Post"
msgstr "Μετά"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "KαÏέ Sprite"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "ΜετατÏοπή σε %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "ΔημιουÏγία πλέγματος πεÏιγÏάμματος"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "ΚοÏμπωμα (Εικονοστοιχεία):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "ΠÏοεπισκόπηση"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Ρυθμίσεις"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ΣΦΑΛΜΑ: Δεν ήταν δυνατή η φόÏτωση πόÏου Ï„Ïπου καÏέ!"
@@ -5561,14 +6440,6 @@ msgstr "Μετκίνιση (Μετά)"
msgid "SpriteFrames"
msgstr "KαÏέ Sprite"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "ΠÏοεπισκόπηση StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "Κουτί Στυλ"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "ΟÏισμός οÏθογωνίου πεÏιοχής"
@@ -5594,28 +6465,22 @@ msgid "Auto Slice"
msgstr "Αυτόματο κόψιμο"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Μετατόπιση:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Βήμα:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "ΔιαχωÏισμός:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "ΠεÏιοχή υφής"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "ΕπεξεÏγαστής πεÏιοχής υφής"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Δεν ήταν δυνατή η αποθήκευση θέματος σε αÏχείο:"
@@ -5629,11 +6494,6 @@ msgid "Add All"
msgstr "ΠÏοσθήκη όλων"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "ΑφαίÏεση στοιχείου"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "ΑφαίÏεση όλων των στοιχείων"
@@ -5705,10 +6565,6 @@ msgstr "Έχει"
msgid "Many"
msgstr "Πολλές"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Επιλογές"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Έχει,Πολλές,Επιλογές"
@@ -5733,7 +6589,7 @@ msgstr "ΤÏπος δεδομένων:"
msgid "Icon"
msgstr "Εικονίδιο"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Στυλ"
@@ -5746,14 +6602,19 @@ msgid "Color"
msgstr "ΧÏώμα"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Θέμα"
+msgid "Constant"
+msgstr "ΣταθεÏή"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "ΔιαγÏαφή επιλογής"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Μη έγκυÏο όνομα."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Βάψιμο TileMap"
@@ -5774,11 +6635,8 @@ msgid "Erase TileMap"
msgstr "ΔιαγÏαφή TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "ΔιαγÏαφή επιλογής"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "ΕÏÏεση πλακιδίου"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5802,6 +6660,11 @@ msgid "Pick Tile"
msgstr "Επιλογή πλακιδίου"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "ΑφαίÏεση επιλογής"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "ΠεÏιστÏοφή 0 μοίÏες"
@@ -5818,68 +6681,123 @@ msgid "Rotate 270 degrees"
msgstr "ΠεÏιστÏοφή 270 μοίÏες"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Δεν ήταν δυνατή η εÏÏεση πλακιδίου:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "ΠÏοσθέστε κόμβο/-ους από δέντÏο"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Όνομα στοιχείου ή αναγνωÏιστικοÏ:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "ΑφαίÏεση Ï„Ïέχουσας εγγÏαφής"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "ΔημιουÏγία από σκηνή;"
+msgid "Create from Scene"
+msgstr "ΔημιουÏγία από σκηνή"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Συγχώνευση από σκηνή;"
+msgid "Merge from Scene"
+msgstr "Συγχώνευση από σκηνή"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "ΣÏνολο πλακιδίων"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Επιλέξτε υπότιτλο για εικονίδιο, o οποίος θα χÏησιμοποιείται και σε μη "
+"έγκυÏες συνδέσεις αυτόματων πλακιδίων."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "ΔημιουÏγία από σκηνή"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Συγχώνευση από σκηνή"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-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 "Autotiles"
-msgstr "Αυτόματο πλακίδια"
+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 " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Επιλέξτε υπότιτλο για εικονίδιο, o οποίος θα χÏησιμοποιείται και σε μη "
-"έγκυÏες συνδέσεις αυτόματων πλακιδίων."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"ΑÏιστεÏÏŒ κλικ: ενεÏγοποίησε το bit.\n"
"Δεξί κλικ: απενεÏγοποίησε το bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Επέλεξε το Ï„Ïέχων επεξεÏγαζόμενο υπο-πλακίδιο."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Επιλέξτε υπότιτλο για εικονίδιο, o οποίος θα χÏησιμοποιείται και σε μη "
+"έγκυÏες συνδέσεις αυτόματων πλακιδίων."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Επιλέξτε υπο-πλακίδιο για να αλλάξετε την Ï€ÏοτεÏαιότητα του."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "ΑκÏÏωση"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Αυτή η λειτουÏγία δεν μποÏεί να γίνει χωÏίς σκηνή."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "ΣÏνολο πλακιδίων"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "ΚοÏυφές"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "ΠαÏάμετÏοι:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Δεξιά"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "ΠÏόγÏαμμα σκίασης"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5894,9 +6812,9 @@ msgid "Delete preset '%s'?"
msgstr "ΔιαγÏαφή διαμόÏφωσης '%s';"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
-"Τα Ï€Ïότυπα εξαγωγής για αυτή την πλατφόÏτμα λείπουν ή είναι κατεστÏαμμένα: "
+"Τα Ï€Ïότυπα εξαγωγής για αυτή την πλατφόÏτμα λείπουν ή είναι κατεστÏαμμένα:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5973,11 +6891,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Τα Ï€Ïότυπα εξαγωγής για αυτή την πλατφόÏτμα λείπουν:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Τα Ï€Ïότυπα εξαγωγής για αυτή την πλατφόÏτμα λείπουν ή είναι κατεστÏαμμένα:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "Εξαγωγή με αποσφαλμάτωση"
@@ -5986,14 +6899,25 @@ msgid "The path does not exist."
msgstr "Η διαδÏομή δεν υπάÏχει."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "ΠαÏακαλοÏμε επιλέκτε ένα αÏχείο 'project.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+"ΠαÏακαλοÏμε επιλέξτε έναν φάκελο που δεν πεÏιέχει ένα αÏχείο 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "ΠαÏακαλοÏμε επιλέξτε έναν άδειο φάκελο."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "ΠαÏακαλοÏμε επιλέκτε ένα αÏχείο 'project.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Εισαγμένο έÏγο"
@@ -6083,6 +7007,11 @@ msgid "Project Path:"
msgstr "ΔιαδÏομή έÏγου:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "ΔιαδÏομή έÏγου:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "ΠεÏιήγηση"
@@ -6203,9 +7132,10 @@ msgid "Mouse Button"
msgstr "Κουμπί ποντικιοÏ"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"ΆκυÏο όνομα ενέÏγειας. Δεν μποÏεί να είναι άδειο ή να πεÏιέχει '/', ':', "
"'=', '\\' ή '\"'."
@@ -6219,9 +7149,23 @@ msgid "Rename Input Action Event"
msgstr "Μετονομασία συμβάντος εισόδου"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Αλλαγή ονόματος κίνησης:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "ΠÏοσθήκη συμβάντος εισόδου"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Συσκευή"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Συσκευή"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6263,20 +7207,24 @@ msgid "Wheel Down Button"
msgstr "Ροδέλα κάτω"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Κουμπί 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Ροδέλα πάνω"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Κουμπί 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Δεξί κουμπί"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Κουμπί 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Κουμπί 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Κουμπί 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Κουμπί 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6303,10 +7251,6 @@ msgid "Add Event"
msgstr "ΠÏοσθήκη συμβάντος"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Συσκευή"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Κουμπί"
@@ -6351,6 +7295,14 @@ 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 "Already existing"
msgstr "ΥπάÏχει ήδη"
@@ -6422,6 +7374,10 @@ msgstr "Ιδιότητα:"
msgid "Override For..."
msgstr "ΠαÏάκαμψη για..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "ΧάÏτης εισόδου"
@@ -6431,6 +7387,15 @@ msgid "Action:"
msgstr "ΕνέÏγεια:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "ΕνέÏγεια:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Συσκευή:"
@@ -6491,10 +7456,6 @@ msgid "AutoLoad"
msgstr "Αυτόματη φόÏτωση"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Επιλέξτε μία οπτική γωνία"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Ομαλή κίνηση Ï€Ïος τα μέσα"
@@ -6531,34 +7492,10 @@ msgid "Select Node"
msgstr "Επιλογή κόμβου"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Îεα δεσμή ενεÏγειών"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Îέο %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Κάνε μοναδικό"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Εμφάνιση στο σÏστημα αÏχείων"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "ΜετατÏοπή σε %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Σφάλμα κατά την φόÏτωση αÏχείου: Δεν είναι πόÏος!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Ο επιλεγμένος κόμβος δεν είναι Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Επιλέξτε έναν κόμβο"
@@ -6567,18 +7504,6 @@ msgid "Bit %d, val %d."
msgstr "Δυαδικό ψηφίο %d, τιμή %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Îαι"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Άδειο]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "ÎŒÏισε"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Ιδιότητες:"
@@ -6604,6 +7529,134 @@ msgstr ""
"Δεν ήταν δυνατή η επαναφόÏτωση της εικόνας που έχει μετατÏαπεί με το "
"εÏγαλείο PVRTC:"
+#: 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
+#, fuzzy
+msgid "Advanced options"
+msgstr "Επιλογές κουμπώματος"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Όνομα κόμβου:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "ΕÏÏεση είδους κόμβου"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "ΤÏέχουσα σκηνή"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "Βήμα:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Αλλαγή έκφÏασης"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Δεσμή ενεÏγειών μετ-επεξεÏγασίας:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Πεζά"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Κεφαλαία"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "ΕπαναφοÏά μεγέθυνσης"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Σφάλμα"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "ΕπαναπÏοσδιοÏισμός γονέα κόμβου"
@@ -6640,11 +7693,6 @@ msgstr "ΟÏίσματα κÏÏιας σκηνής:"
msgid "Scene Run Settings"
msgstr "Ρυθμίσης εκτέλεσης σκηνής"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Εντάξει"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Δεν υπάÏχει γονέας για να δημιουÏγηθοÏν τα στιγμιότυπα των σκηνών."
@@ -6666,6 +7714,10 @@ msgid "Instance Scene(s)"
msgstr "ΔημιουÏγία στιγμιοτÏπυ σκηνών"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "ΕκκαθάÏιση δεσμής ενεÏγειών"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Αυτή η λειτουÏγία δεν μποÏεί να γίνει στην Ïίζα το δέντÏου."
@@ -6708,12 +7760,33 @@ msgid "Load As Placeholder"
msgstr "ΦόÏτωση ως μέσο κÏάτησης θέσης"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "ΑπόÏÏιψη στιγμιοτÏπισης"
+msgid "Make Local"
+msgstr "Κάνε τοπικό"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Βγάζει νόημα!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "ΔημιουÏγία κόμβου"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Σκηνή"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Σκηνή"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "ΕκκαθάÏιση κληÏονομικότητας"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Αποκοπή κόμβων"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6726,6 +7799,10 @@ msgstr ""
"Ï„Ïέχουσα σκηνή!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "ΣÏνδεση δεσμής ενεÏγειών"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "ΑφαίÏεση κόμβων"
@@ -6770,18 +7847,15 @@ msgid "Change Type"
msgstr "Αλλαγή Ï„Ïπου"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "ΣÏνδεση δεσμής ενεÏγειών"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "ΕκκαθάÏιση δεσμής ενεÏγειών"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Βγάζει νόημα!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Συγχώνευση από σκηνή"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Αποθήκευσι ÎºÎ»Î±Î´Î¹Î¿Ï Ï‰Ï‚ σκηνή"
@@ -6806,10 +7880,6 @@ msgstr ""
"υπάÏχει πηγαίος κόμβος."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "ΦιλτÏάÏισμα κόμβων"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "ΣÏνδεση νέας ή υπαÏκτής δεσμής ενεÏγειών για τον επιλεγμένο κόμβο."
@@ -6829,25 +7899,19 @@ msgstr "Τοπικό"
msgid "Clear Inheritance? (No Undo!)"
msgstr "ΕκκαθάÏιση κληÏονομικότητας; (Δεν γίνεται ανέÏαιση!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "ΕκκαθάÏιση!"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Εναλλαγή οÏατότητας Spatial"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Εναλλαγή οÏατότητας CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Εναλλαγή οÏατότητας"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "ΠÏοειδοποίηση διαμόÏφωσης κόμβου:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Ο κόμβος έχει συνδέσεις και ομάδες\n"
@@ -6869,22 +7933,25 @@ msgstr ""
"Ο κόμβος έχει και ομάδες\n"
"Πατήστε για να δείξετε την πλατφόÏμα σημάτων."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Άνοιγμα δεσμής ενεÏγειών"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Ο κόμβος είναι κλειδομένος.\n"
"Πατήστε για ξεκλείδωμα"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Τα παιδιά δεν είναι επιλέξιμα.\n"
"Πατήστε για να τα κάνετε επιλέξιμα"
@@ -6894,6 +7961,12 @@ 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 "ΆκυÏο όνομα κόμβου, οι ακόλουθοι χαÏακτήÏες δεν επιτÏέπονται:"
@@ -6931,6 +8004,11 @@ msgid "N/A"
msgstr "Δ/Υ"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Άνοιγμα επεξεÏγαστή δεσμής ενεÏγειών"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Η διαδÏομή είναι άδεια"
@@ -7169,10 +8247,23 @@ msgid "Change Camera Size"
msgstr "Αλλαγή μεγέθους κάμεÏας"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Αλλαγή διαστάσεων ειδοποιητή"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Αλλαγή AABB σωματιδίων"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Αλλαγή διαστάσεων αισθητήÏα"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Αλλαγή ακτίνας σφαιÏÎ¹ÎºÎ¿Ï ÏƒÏ‡Î®Î¼Î±Ï„Î¿Ï‚"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Αλλαγή διαστάσεων ÎºÏ…Î²Î¹ÎºÎ¿Ï ÏƒÏ‡Î®Î¼Î±Ï„Î¿Ï‚"
@@ -7185,20 +8276,38 @@ msgid "Change Capsule Shape Height"
msgstr "Αλλαγή Ïψους κάψουλας"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Αλλαγή μήκους ακτίνας"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Αλλαγή ακτίνας κάψουλας"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Αλλαγή διαστάσεων ειδοποιητή"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Αλλαγή Ïψους κάψουλας"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Αλλαγή AABB σωματιδίων"
+msgid "Change Ray Shape Length"
+msgstr "Αλλαγή μήκους ακτίνας"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Αλλαγή διαστάσεων αισθητήÏα"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Αλλαγή διαμέτÏου φωτός"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Αλλαγή Ïψους κάψουλας"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Αλλαγή ακτίνας σφαιÏÎ¹ÎºÎ¿Ï ÏƒÏ‡Î®Î¼Î±Ï„Î¿Ï‚"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Αλλαγή διαμέτÏου φωτός"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7253,17 +8362,6 @@ msgid "GDNative"
msgstr "GDNative"
#: 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_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Δεν υπάÏχουν αÏκετά byte για την αποκωδικοποίηση, ή άκυÏη μοÏφή."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "Η παÏάμετÏος step είναι μηδέν!"
@@ -7330,6 +8428,11 @@ msgid "GridMap Delete Selection"
msgstr "GridMap ΔιαγÏαφή επιλογής"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "GridMap ΔιαγÏαφή επιλογής"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "GridMap Διπλασιασμός επιλογής"
@@ -7410,6 +8513,11 @@ 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 "Ρυθμίσεις GridMap"
@@ -7470,14 +8578,77 @@ msgid "Warnings"
msgstr "ΠÏοειδοποιήσεις"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "ΠÏοβολή αÏχείων"
+msgstr "ΠÏοβολή αÏχείου καταγÏαφής"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Τέλος ιχνηλάτησης στοίβας εσωτεÏικής εξαίÏεσης"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "ΠÏοετοίμασε!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "ΠÏοετοιμασία του πλέγματος πλοήγησης."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "ΕκκαθάÏιση του πλέγματος πλοήγησης."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "ΡÏθμιση παÏαμέτÏων..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Υπολογισμός μεγέθους πλέγματος..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "ΔημιουÏγία πεδίου Ïψους..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Επισήμανση βατών Ï„Ïιγώνων..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "ΔημιουÏγία συμπυκνωμένου πεδίου Ïψους..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "ΔιάβÏωση βατής πεÏιοχής..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "ΔιαμεÏισμός..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "ΔημιουÏγία πεÏιγÏαμμάτων..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "ΔημιουÏγία πολÏ-πλέγματος..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "ΜετατÏοπή σε εγγενή πλέγμα πλοήγησης..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "ΡÏθμιση γενήτÏιας πλέγματος πλοήγησης:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Ανάλυση γεωμετÏίας..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Τέλος!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7537,10 +8708,6 @@ msgid "Set Variable Type"
msgstr "ΟÏισμός Ï„Ïπου μεταβλητής"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "ΣυναÏτήσεις:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Μεταβλητές:"
@@ -7655,36 +8822,14 @@ msgid "Connect Nodes"
msgstr "ΣÏνδεση κόμβων"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Συνθήκη"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Ακολουθία"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Μεταγωγέας"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Επαναλήπτης"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Όσο"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "ΕπιστÏοφή"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Κλήση"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "ΣÏνδεση κόμβων"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "ΠάÏε"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "ΣÏνδεση κόμβων"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7711,26 +8856,18 @@ msgid "Remove Function"
msgstr "ΑφαίÏεση συνάÏτησης"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "ΕπεξεÏγασία μεταβλητής"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "ΑφαίÏεση μεταβλητής"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "ΕπεξεÏγασία σήματος"
+msgid "Editing Variable:"
+msgstr "ΕπεξεÏγασία μεταβλητής:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "ΑφαίÏεση σήματος"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "ΕπεξεÏγασία μεταβλητής:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "ΕπεξεÏγασία σήματος:"
@@ -7774,6 +8911,11 @@ msgstr "Αποκοπή κόμβων"
msgid "Paste Nodes"
msgstr "Επικόλληση κόμβων"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Μέλη"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Δεν μποÏεί να γίνει επανάληψη στον εισηγμένο Ï„Ïπο: "
@@ -7831,6 +8973,19 @@ msgstr ""
"ΆκυÏος Ï„Ïπος επιστÏοφής από την _step(), Ï€Ïέπει να είναι ακέÏαιος (seq out) "
"ή ακολουθία χαÏακτήÏων (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "ΑφαίÏεση κόμβου VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "ΠάÏε"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Εκτέλεση στον πεÏιηγητή"
@@ -7881,9 +9036,10 @@ msgstr ""
"αγνοηθοÏν."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Αυτός ο κόμβος δεν έχει παιδιά κόμβους σχήματος, οπότε δεν μποÏεί να "
@@ -7995,6 +9151,19 @@ msgstr ""
"Η ιδιότητα Path Ï€Ïέπει να δείχνει σε έναν έγκυÏο κόμβο Node2D για να "
"δουλέψει."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8060,9 +9229,10 @@ msgid "Lighting Meshes: "
msgstr "Φώτηση πλεγμάτων: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Αυτός ο κόμβος δεν έχει παιδιά κόμβους σχήματος, οπότε δεν μποÏεί να "
@@ -8163,6 +9333,21 @@ msgstr ""
"Αυτό το WorldEnvironment θα αγνοηθεί. ΠÏοσθέστε μια κάμεÏα (για 3d) ή οÏίστε "
"το Background Mode Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πεÏιβάλλοντος σε Canvas (για 2d)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Αλλαγές στο μέγεθος του RigidBody (στις λειτουÏγίες character ή rigid) θα "
+"αντικατασταθοÏνε από την μηχανή φυσικής κατά την εκτέλεση.\n"
+"Αλλάξτε μέγεθος στα σχήματα σÏγκÏουσης των παιδιών."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8179,6 +9364,49 @@ msgstr ""
"Το VehicleWheel δίνει ένα σÏστημα Ï„Ïοχών για το VehicleBody. ΠαÏακαλοÏμε "
"χÏησιμοποιήστε το ως παιδί του VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "ΕÏγαλεία κινήσεων"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ΣΦΑΛΜΑ: Μη έγκυÏο όνομα κίνησης!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "ΑποσÏνδεση του '%s' απο το '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Επιλέξτε ένα AnimationPlayer από την ιεÏαÏχία της σκηνής για να "
+"επεξεÏγαστείτε animations."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Το δέντÏο κίνησης δεν είναι έγκυÏο."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Ωμή λειτουÏγία"
@@ -8260,13 +9488,371 @@ msgstr "Σφάλμα κατά την φόÏτωση της γÏαμματοσεÎ
msgid "Invalid font size."
msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "ΠÏοσθήκη εισόδου"
+
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "ΠÏοηγοÏμενη καÏτέλα"
+msgid "None"
+msgstr "<Τίποτα>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Αλλαγή μονόμετÏης σταθεÏάς"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Αλλαγή διανυσματικής σταθεÏάς"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Αλλαγή χÏωματικής σταθεÏάς"
-#~ msgid "Next"
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Αλλαγή μονόμετÏου τελεστή"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Αλλαγή Î´Î¹Î±Î½Ï…ÏƒÎ¼Î±Ï„Î¹ÎºÎ¿Ï Ï„ÎµÎ»ÎµÏƒÏ„Î®"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Αλλαγή Î´Î¹Î±Î½Ï…ÏƒÎ¼Î±Ï„Î¹ÎºÎ¿Ï - μονόμετÏου τελεστή"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Αλλαγή χÏÏ‰Î¼Î±Ï„Î¹ÎºÎ¿Ï Ï„ÎµÎ»ÎµÏƒÏ„Î®"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Εναλλαγή μόνο πεÏιστÏοφή"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Αλλαγή μονόμετÏης συνάÏτησης"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Αλλαγή διανυσματικής συνάÏτησης"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Αλλαγή μονόμετÏης ομοιόμοÏφης μεταβλητής"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Αλλαγή διανυσματικής ομοιόμοÏφης μεταβλητής"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Αλλαγή χÏωματικής ομοιόμοÏφης μεταβλητής"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Αλλαγή Ï€Ïοεπιλλεγμένης τιμής"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής XForm"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής υφής"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Αλλαγή ομοιόμοÏφης μεταβλητής χάÏτη κÏβου"
+
+#~ msgid "Change Comment"
+#~ msgstr "Αλλαγή σχολίου"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "ΠÏοσθήκη/ΑφαίÏεση σε διαβάθμηση χÏώματος"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "ΕπεξεÏγασία διαβάθμισης χÏωμάτων"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "ΠÏοσθήκη/ΑφαίÏεση σε χάÏτη καμπÏλης"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "ΤÏοποποίηση χάÏτη καμπÏλης"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Αλλαγή ονόματος εισόδου"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "ΣÏνδεση κόμβων γÏαφήματος"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "ΑποσÏνδεση κόμβων γÏαφήματος"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "ΑφαίÏεση κόμβου γÏαφήματος"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Μετακίνηση κόμβου γÏαφήματος"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Διπλασιασμός κόμβων γÏαφήματος"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "ΔιαγÏαφή κόμβων γÏαφήματος"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Σφάλμα: Κυκλικός σÏνδεσμος"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Σφάλμα: Οι συνδέσεις εισόδου λείπουν"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "ΠÏοσθήκη κόμβου γÏαφήματος"
+
+#~ msgid "Disabled"
+#~ msgstr "ΑπενεÏγοποιημένο"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Μετακίνηση ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï animation πάνω"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Μετακίνηση ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï animation κάτω"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "ΟÏισμός μεταβάσεων σε:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim Μετονομασία κομματιοÏ"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim Αλλαγή παÏεμβολής κομματιοÏ"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Anim ΛειτουÏγία αλλαγής τιμής κομματιοÏ"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Αλλαγή λειτουÏγίας αναδίπλωσης ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï ÎºÎ¯Î½Î·ÏƒÎ·Ï‚"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "ΕπεξεÏγασία ΚαμπÏλης κόμβου"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "ΕπεξεÏγασία επιλεγμένης καμπÏλης"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim ΠÏοσθήκη κλειδιοÏ"
+
+#~ msgid "In"
+#~ msgstr "Είσοδος"
+
+#~ msgid "Out"
+#~ msgstr "Έξοδος"
+
+#~ msgid "In-Out"
+#~ msgstr "Είσοδος-Έξοδος"
+
+#~ msgid "Out-In"
+#~ msgstr "Έξοδος-Είσοδος"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Αλλαγή μήκους animation"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Αλλαγή επανάληψης animation"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim ΔημιουÏγία ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï„Î¹Î¼Î®Ï‚ οÏισμένου Ï„Ïπου"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim ΠÏοσθήκη ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï ÎºÎ»Î®ÏƒÎ·Ï‚"
+
+#~ msgid "Length (s):"
+#~ msgstr "Μήκος (s):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Βήμα (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Βήμα κουμπώματος δÏομέα (σε δευτεÏόλεπτα)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "ΕνεÏγοποίηση/ΑπενεÏγοποίηση επανάληψης στο animation."
+
+#~ msgid "Add new tracks."
+#~ msgstr "ΠÏοσθήκη νέων κομματιών."
+
+#~ msgid "Move current track up."
+#~ msgstr "Μετακίνηση Ï„Ïέχοντος ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï Ï€Î¬Î½Ï‰."
+
+#~ msgid "Move current track down."
+#~ msgstr "Μετακίνηση Ï„Ïέχοντος ÎºÎ¿Î¼Î¼Î±Ï„Î¹Î¿Ï ÎºÎ¬Ï„Ï‰."
+
+#~ msgid "Track tools"
+#~ msgstr "ΕÏγαλεία κομματιοÏ"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "ΕνεÏγοποίηση επεξεÏγασίας μεμονωμένων κλειδιών με το κλικ."
+
+#~ msgid "Key"
+#~ msgstr "Κλειδί"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Σε ποιο κόμβο να κληθοÏν οι συναÏτήσεις;"
+
+#~ msgid "Thanks!"
+#~ msgstr "ΕυχαÏιστώ!"
+
+#~ msgid "I see..."
+#~ msgstr "Εντάξει..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "ΑδÏνατο το άνοιγμα του '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "α..."
+
+#~ msgid "Run Script"
+#~ msgstr "Εκτέλεση δεσμής ενεÏγειών"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Αποθήκευσε το Ï„Ïέχων επεξεÏγαζόμενο πόÏο."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Διακοπή Ï€Ïοφίλ"
+
+#~ msgid "Start Profiling"
+#~ msgstr "ΈναÏξη Ï€Ïοφίλ"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "ΠÏοεπιλογή (Το ίδιο με τον επεξεÏγαστή)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "ΔημιουÏγία νέας κίνησης στον αναπαÏαγωγέα."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "ΦόÏτωση κίνησης από τον δίσκο."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "ΦόÏτωση μίας κίνησης από τον δίσκο."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Αποθήκεση της Ï„Ïέχουσας κίνησης"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "ΕπεξεÏγασία χÏόνων ανάμειξης κινήσεων"
+
+#~ msgid "Copy Animation"
+#~ msgstr "ΑνιγÏαφή κίνησης"
+
+#~ msgid "Fetching:"
+#~ msgstr "Λήψη:"
+
+#~ msgid "prev"
+#~ msgstr "ΠÏοηγοÏμενο"
+
+#~ msgid "next"
#~ msgstr "Επόμενο"
+#~ msgid "last"
+#~ msgstr "ΠÏοηγοÏμενο"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "ΕπεξεÏγασία Αλυσίδας IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "ΣÏÏσιμο κέντÏου από την θέση του ποντικιοÏ"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "ΟÏισμός κέντÏου στον κέÏσοÏα"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "ΠÏοσθήκη αφαίÏεση σημείου διαβάθμισης χÏωμάτων"
+
+#~ msgid "OK :("
+#~ msgstr "Εντάξει :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "ΟÏατότητα μαÏαφετιών σκελετοÏ"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "ΠÏοεπισκόπηση StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "Κουτί Στυλ"
+
+#~ msgid "Separation:"
+#~ msgstr "ΔιαχωÏισμός:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "ΕπεξεÏγαστής πεÏιοχής υφής"
+
+#~ msgid "Erase selection"
+#~ msgstr "ΔιαγÏαφή επιλογής"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Δεν ήταν δυνατή η εÏÏεση πλακιδίου:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Όνομα στοιχείου ή αναγνωÏιστικοÏ:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Αυτόματο πλακίδια"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Τα Ï€Ïότυπα εξαγωγής για αυτή την πλατφόÏτμα λείπουν ή είναι "
+#~ "κατεστÏαμμένα: "
+
+#~ msgid "Button 7"
+#~ msgstr "Κουμπί 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Κουμπί 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Κουμπί 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "ΑπόÏÏιψη στιγμιοτÏπισης"
+
+#~ msgid "Clear!"
+#~ msgstr "ΕκκαθάÏιση!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Εναλλαγή οÏατότητας Spatial"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Εναλλαγή οÏατότητας CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "Συνθήκη"
+
+#~ msgid "Sequence"
+#~ msgstr "Ακολουθία"
+
+#~ msgid "Switch"
+#~ msgstr "Μεταγωγέας"
+
+#~ msgid "Iterator"
+#~ msgstr "Επαναλήπτης"
+
+#~ msgid "While"
+#~ msgstr "Όσο"
+
+#~ msgid "Return"
+#~ msgstr "ΕπιστÏοφή"
+
+#~ msgid "Call"
+#~ msgstr "Κλήση"
+
+#~ msgid "Edit Variable"
+#~ msgstr "ΕπεξεÏγασία μεταβλητής"
+
+#~ msgid "Edit Signal"
+#~ msgstr "ΕπεξεÏγασία σήματος"
+
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Μη έγκυÏη ενέÏγεια (Όλα επιτÏέποντα εκτός από το '/' και το ':')."
@@ -8283,11 +9869,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Can't write file."
#~ msgstr "Δεν ήταν δυνατή η εγγÏαφή στο αÏχείο."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "ΠαÏακαλοÏμε επιλέξτε έναν φάκελο που δεν πεÏιέχει ένα αÏχείο 'project."
-#~ "godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Δεν βÏέθηκε το project.godot στη διαδÏομή του έÏγου."
@@ -8412,18 +9993,12 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ "Το Viewport που οÏίστηκε στην ιδιότητα 'path' Ï€Ïέπει να είναι σε "
#~ "λειτουÏγία 'render target' για να δουλέψει αυτό to sprite."
-#~ msgid "Filter:"
-#~ msgstr "ΦίλτÏο:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' απέτυχε η ανάλυση του αÏγείου παÏαμέτÏων."
#~ msgid "Method List For '%s':"
#~ msgstr "Λίστα συναÏτήσεων για '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "ΠαÏάμετÏοι:"
-
#~ msgid "Return:"
#~ msgstr "ΕπιστÏέφει:"
@@ -8454,9 +10029,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "Η Ï„Ïέχουσα σκηνή Ï€Ïέπει να αποθηκευτεί για να επαν-εισάγετε."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Αποθήκευση & Επανεισαγωγή"
-
#~ msgid "Re-Importing"
#~ msgstr "Επανεισαγωγή"
@@ -8490,9 +10062,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "Δεν είναι δυνατή η μετονομασία εξαÏτήσεων για:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "Σφάλμα κατά την μετακίνηση αÏχείου:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Επιλέξτε νέο όνομα και θέση για:"
@@ -8517,9 +10086,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Target path must exist."
#~ msgstr "Η διαδÏομή Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï Ï€Ïέπει να υπάÏχει."
-#~ msgid "Save path is empty!"
-#~ msgstr "Η διαδÏομή αποθήκευσης είναι άδεια!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Εισαγωγή μάσκας bit"
@@ -8630,15 +10196,9 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Max Angle"
#~ msgstr "Ανώτατη Γωνία"
-#~ msgid "Clips"
-#~ msgstr "Αποσπάσματα"
-
#~ msgid "Start(s)"
#~ msgstr "ΑÏχή"
-#~ msgid "End(s)"
-#~ msgstr "Τέλος"
-
#~ msgid "Filters"
#~ msgstr "ΦίλτÏα"
@@ -8670,18 +10230,12 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Target Texture Folder:"
#~ msgstr "Επιλεγμένος φάκλος υφών:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Δεσμή ενεÏγειών μετ-επεξεÏγασίας:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "ΠÏοσαÏμοσμένος Ï„Ïπος ÏÎ¹Î¶Î¹ÎºÎ¿Ï ÎºÏŒÎ¼Î²Î¿Ï…:"
#~ msgid "Auto"
#~ msgstr "Αυτόματο"
-#~ msgid "Root Node Name:"
-#~ msgstr "Όνομα ÏÎ¹Î¶Î¹ÎºÎ¿Ï ÎºÏŒÎ¼Î²Î¿Ï…:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Τα ακόλουθα αÏχεία λείπουν:"
@@ -8743,9 +10297,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Εισαγωγή υφών για τον άτλαντα (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Μέγεθος κελιοÏ:"
-
#~ msgid "Large Texture"
#~ msgstr "Μεγάλη υφή"
@@ -8828,9 +10379,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Δεν ήταν δυνατή η αποθήκευση υφής που έχει μετατÏαπεί:"
-#~ msgid "Invalid source!"
-#~ msgstr "Μη έγκυÏη πηγή!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Μη έγκυÏη πηγή μετάφÏασης!"
@@ -8870,9 +10418,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Translation"
#~ msgstr "ΜετάφÏαση"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "Ανάλυση %d ΤÏιγώνων:"
-
#~ msgid "Triangle #"
#~ msgstr "ΤÏίγωνο #"
@@ -8899,24 +10444,12 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ "ΕπαναφοÏά της Ï€ÏοεπεξεÏγασίας του Î¿ÎºÏ„Î±Î´Î¹ÎºÎ¿Ï Î´Î­Î½Ï„Ïου του χάÏτη φωτός "
#~ "(Εκκίνηση από την αÏχή)."
-#~ msgid "Zoom (%):"
-#~ msgstr "Μεγέθυνση (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Σκελετός..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "ΕπαναφοÏά μεγέθυνσης"
-
#~ msgid "Zoom Set..."
#~ msgstr "ΟÏισμός μεγέθυνσης..."
#~ msgid "Set a Value"
#~ msgstr "ΟÏισμός τιμής"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "ΚοÏμπωμα (Εικονοστοιχεία):"
-
#~ msgid "Parse BBCode"
#~ msgstr "Ανάλυση BBCode"
@@ -8992,15 +10525,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Resource Tools"
#~ msgstr "ΕÏγαλεία πόÏων"
-#~ msgid "Make Local"
-#~ msgstr "Κάνε τοπικό"
-
-#~ msgid "Edit Groups"
-#~ msgstr "ΕπεξεÏγασία Ομάδων"
-
-#~ msgid "Edit Connections"
-#~ msgstr "ΕπεξεÏγασία συνδέσεων"
-
#~ msgid "GridMap Paint"
#~ msgstr "GridMap ΖωγÏαφική"
@@ -9143,9 +10667,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Ambient Light Color:"
#~ msgstr "ΧÏώμα φωτός πεÏιβάλλοντος:"
-#~ msgid "Couldn't load image"
-#~ msgstr "Δεν ήταν δυνατή η φόÏτωση εικόνας"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Μη έγκυÏο όνομα γονικής κλάσης"
@@ -9161,9 +10682,6 @@ msgstr "Μη έγκυÏο μέγεθος γÏαμματοσειÏάς."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Το όνομα της γονικής κλάσης δεν είναι έγκυÏο!"
-#~ msgid "Invalid path!"
-#~ msgstr "Μη έγκυÏη διαδÏομή!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "Η ιδιότητα Path Ï€Ïέπει να δείχνει σε έναν έγκυÏο κόμβο Particles2D για να "
diff --git a/editor/translations/es.po b/editor/translations/es.po
index 8e1f0b13c9..efc8ae334d 100644
--- a/editor/translations/es.po
+++ b/editor/translations/es.po
@@ -30,11 +30,12 @@
# Vazquinhos <vazquinhos@gmail.com>, 2018.
# Yovani Damián <blackblex@gmail.com>, 2018.
# Andrus Diaz German <andrusdiazaleman@gmail.com>, 2018.
+# Franklin David Macias Avellan <franklin.macias864@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-07-20 16:43+0000\n"
+"PO-Revision-Date: 2018-08-07 18:44+0000\n"
"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
@@ -43,395 +44,564 @@ 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 3.1-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Desactivado"
+#: 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 ""
+"El argumento para convert() no es correcto, prueba utilizando constantes "
+"TYPE_*."
+
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+"O no hay suficientes bytes para decodificar bytes o el formato no es "
+"correcto."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Ãndice inválido de nombre de propiedad '%s' en el nodo %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Ãndice inválido de nombre de propiedad '%s' en el nodo %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argumento incorrecto de tipo: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Libre"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Voltear horizontalmente"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Insertar clave"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Toda la Selección"
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplicar selección"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Quitar seleccionados"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Duplicar claves de animación"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Borrar claves de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
-msgstr "Cambiar el Tiempo del Fotograma Clave de Animación"
+msgstr "Cambiar el tiempo del fotograma clave de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "Cambiar la Transición de Animación"
+msgstr "Cambiar la transición de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
-msgstr "Cambiar la Transformación de la Animación"
+msgstr "Cambiar la transformación de la animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "Cambiar valor de la Clave de Animación"
+msgstr "Cambiar valor de la clave de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
-msgstr "Cambiar Llamada de Animación"
+msgstr "Cambiar llamada de animación"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Añadir Pista de Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Propiedad:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Duplicar Claves de Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Tipo de transformación"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Subir Pista de Animación"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Bajar Pista de Animación"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Quitar Pista de Animación"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Detener la reproducción de la animación. (S)"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Establecer Transiciones en:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Añadir pista de animación"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Duración de la animación (en segundos)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Renombrar Pista de Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom de animación."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Cambiar Interpolación de Pista de Animación"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funciones:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Cambiar Modo de Valor de Pista de Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Oyente de audio"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Cambiar Modo de Ciclo de Pista de Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Clips"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Editar Curva del Nodo"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Act/desact. modo sin distracciones."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Editar Curva de Selección"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Borrar Claves de Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nodo de animación"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplicar Selección"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplicar Transpuesto"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Remover la pista seleccionada."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Quitar Selección"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tiempo de Crossfade (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Continuo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discreto"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Trigger"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Añadir Clave de Animación"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Mover Claves de Animación"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Escalar Selección"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Escalar Desde Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Ir al Siguiente Paso"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Características"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Ir al Paso Anterior"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineal"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constante"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Entrada"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Salida"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "Cambiar Interpolación de Loop de Anim"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Entrada-salida"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Salida-entrada"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Insertar clave"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transiciones"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplicar nodo(s)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimizar Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Eliminar nodo(s)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Limpiar Animación"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Quitar pista de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
-msgstr "¿Crear NUEVA pista para %s e insertar clave?"
+msgstr "¿Crear nueva pista para %s e insertar clave?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
-msgstr "¿Crear %d NUEVAS pistas e insertar claves?"
+msgstr "¿Crear %d nuevas pistas e insertar claves?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Crear"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Insertar animación"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
-msgstr "Crear e Insertar Animación"
+msgstr "Crear e insertar animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
-msgstr "Insertar Pista y Clave de Animación"
+msgstr "Insertar pista y clave de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
-msgstr "Insertar Clave de Animación"
+msgstr "Insertar clave de animación"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Cambiar Duración de Animación"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Cambiar Bucle de Animación"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Crear Clave de Valor Tipado para Animación"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Insertar Animación"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet no encontrado en el script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Mover claves de animación"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "¡El portapapeles está vacío!"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
-msgstr "Escalar Claves de Animación"
+msgstr "Escalar claves de animación"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Añadir Call Track de Animación"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom de Animación."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Duración (segs.):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Duración de la Animación (en segundos)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Fijar (Pixeles):"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Paso(s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "El árbol de animación es correcto."
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Fijado del cursor por pasos (en segundos)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Editar"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Activar/Desactivar Bucle de Animación."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Ãrbol de animación"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Añadir nuevas pistas."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copiar parámetros"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Subir la pista actual."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Pegar parámetros"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Bajar la pista actual."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Escalar selección"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Remover la pista seleccionada."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Escalar desde cursor"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplicar selección"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Herramientas de pistas"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplicar transpuesto"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Habilitar la edición de claves individuales haciendo clic en ellas."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Quitar seleccionados"
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
-msgstr "Optimizar Animación"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Ir al siguiente paso"
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
-msgstr "Error Lineal Máximo:"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Ir al paso anterior"
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
-msgstr "Error Angular Máximo:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimizar animación"
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
-msgstr "Ãngulo Optimizable Máximo:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Limpiar animación"
-#: editor/animation_editor.cpp
-msgid "Optimize"
-msgstr "Optimizar"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-"Selecciona un AnimationPlayer desde el Ãrbol de Escenas para editar "
-"animaciones."
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Clave"
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
+msgstr "Optimizar animación"
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transición"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
+msgstr "Error lineal máximo:"
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Relación de Escala:"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
+msgstr "Error angular máximo:"
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "¿Desde que Nodo quieres realizar Llamadas a Funciones?"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr "Ãngulo optimizable máximo:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
+msgstr "Optimizar"
+
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Quitar claves incorrectas"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Quitar pistas vacías y sin resolver"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Limpiar todas las animaciones"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr "Limpiar las Animación(es) (¡IRREVERSIBLE!)"
+msgstr "Limpiar las animación(es) (¡IRREVERSIBLE!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Limpiar"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Relación de escala:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copiar"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
-msgstr "Redimensionar Array"
+msgstr "Redimensionar array"
#: editor/array_property_edit.cpp
msgid "Change Array Value Type"
-msgstr "Cambiar Tipo de Valor del Array"
+msgstr "Cambiar tipo de valor del array"
#: editor/array_property_edit.cpp
msgid "Change Array Value"
-msgstr "Cambiar Valor del Array"
+msgstr "Cambiar valor del array"
#: editor/code_editor.cpp
msgid "Go to Line"
-msgstr "Ir a Línea"
+msgstr "Ir a línea"
#: editor/code_editor.cpp
msgid "Line Number:"
-msgstr "Número de Línea:"
+msgstr "Número de línea:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
-msgstr "Sin Coincidencias"
+msgstr "Sin coincidencias"
#: editor/code_editor.cpp
msgid "Replaced %d occurrence(s)."
-msgstr "%d Ocurrencia(s) Reemplazada(s)."
+msgstr "%d ocurrencia(s) reemplazada(s)."
#: editor/code_editor.cpp
msgid "Match Case"
-msgstr "Coincidir Mayús/Minúsculas"
+msgstr "Coincidir mayús/minúsculas"
#: editor/code_editor.cpp
msgid "Whole Words"
-msgstr "Palabras Completas"
+msgstr "Palabras completas"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Reemplazar"
#: editor/code_editor.cpp
msgid "Replace All"
-msgstr "Reemplazar Todo"
+msgstr "Reemplazar todo"
#: editor/code_editor.cpp
msgid "Selection Only"
-msgstr "Sólo Selección"
+msgstr "Sólo selección"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Acercar"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Alejar"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
-msgstr "Restablecer Zoom"
+msgstr "Restablecer zoom"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Advertencias"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom (%):"
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
@@ -443,7 +613,7 @@ msgstr "Columna:"
#: editor/connections_dialog.cpp
msgid "Method in target Node must be specified!"
-msgstr "¡Debes establecer un método en el Nodo seleccionado!"
+msgstr "¡Debes establecer un método en el nodo seleccionado!"
#: editor/connections_dialog.cpp
msgid ""
@@ -451,11 +621,11 @@ msgid ""
"Node."
msgstr ""
"¡Método objetivo no encontrado! Especifica un método válido o añade un "
-"script al Nodo objetivo."
+"script al nodo objetivo."
#: editor/connections_dialog.cpp
msgid "Connect To Node:"
-msgstr "Conectar a Nodo:"
+msgstr "Conectar a nodo:"
#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
@@ -464,7 +634,8 @@ msgid "Add"
msgstr "Añadir"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -472,19 +643,19 @@ msgstr "Quitar"
#: editor/connections_dialog.cpp
msgid "Add Extra Call Argument:"
-msgstr "Añadir Argumento Extra de Llamada:"
+msgstr "Añadir argumento extra de llamada:"
#: editor/connections_dialog.cpp
msgid "Extra Call Arguments:"
-msgstr "Argumentos Extras de Llamada:"
+msgstr "Argumentos extras de llamada:"
#: editor/connections_dialog.cpp
msgid "Path to Node:"
-msgstr "Ruta al Nodo:"
+msgstr "Ruta al nodo:"
#: editor/connections_dialog.cpp
msgid "Make Function"
-msgstr "Crear Función"
+msgstr "Crear función"
#: editor/connections_dialog.cpp
msgid "Deferred"
@@ -495,7 +666,7 @@ msgid "Oneshot"
msgstr "OneShot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -517,11 +688,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Conectar «%s» a «%s»"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Conectando Señal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Desconectar '%s' de '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Desconectar '%s' de '%s'"
#: editor/connections_dialog.cpp
@@ -529,17 +701,51 @@ msgid "Connect..."
msgstr "Conectar..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Desconectar"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Conectando señal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Editar conexiones"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "¿Seguro que quieres ejecutar más de un proyecto?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Señales"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Desconectar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Editar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Métodos"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
-msgstr "Cambiar el Tipo de %s"
+msgstr "Cambiar el tipo de %s"
#: editor/create_dialog.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -548,7 +754,7 @@ msgstr "Cambiar"
#: editor/create_dialog.cpp
msgid "Create New %s"
-msgstr "Crear Nuevo %s"
+msgstr "Crear nuevo %s"
#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
#: editor/filesystem_dock.cpp
@@ -559,32 +765,35 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recientes:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Buscar:"
#: editor/create_dialog.cpp editor/editor_help.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 "Coincidencias:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Descripción:"
#: editor/dependency_editor.cpp
msgid "Search Replacement For:"
-msgstr "Buscar Reemplazo Para:"
+msgstr "Buscar reemplazo para:"
#: editor/dependency_editor.cpp
msgid "Dependencies For:"
-msgstr "Dependencias Para:"
+msgstr "Dependencias para:"
#: editor/dependency_editor.cpp
msgid ""
@@ -623,26 +832,28 @@ msgstr "Dependencias:"
#: editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr "Arreglar Rota(s)"
+msgstr "Arreglar rota(s)"
#: editor/dependency_editor.cpp
msgid "Dependency Editor"
-msgstr "Editor de Dependencias"
+msgstr "Editor de dependencias"
#: editor/dependency_editor.cpp
msgid "Search Replacement Resource:"
-msgstr "Buscar Recurso de Reemplazo:"
+msgstr "Buscar recurso de reemplazo:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Abrir"
#: editor/dependency_editor.cpp
msgid "Owners Of:"
-msgstr "Dueños De:"
+msgstr "Propietarios de:"
#: editor/dependency_editor.cpp
msgid "Remove selected files from the project? (no undo)"
@@ -658,7 +869,7 @@ msgstr ""
"funcionar.\n"
"¿Quitarlos de todos modos? (irreversible)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "No se puede eliminar:"
@@ -672,7 +883,7 @@ msgstr "La escena no se pudo cargar porque faltan las siguientes dependencias:"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Open Anyway"
-msgstr "Abrir de Todos Modos"
+msgstr "Abrir de todos modos"
#: editor/dependency_editor.cpp
msgid "Which action should be taken?"
@@ -692,15 +903,15 @@ msgstr "¿Eliminar permanentemente %d elemento(s)? (¡Irreversible!)"
#: editor/dependency_editor.cpp
msgid "Owns"
-msgstr "Dueño de"
+msgstr "Propietario"
#: editor/dependency_editor.cpp
msgid "Resources Without Explicit Ownership:"
-msgstr "Recursos Sin Propietario Explícito:"
+msgstr "Recursos sin propietario explícito:"
#: editor/dependency_editor.cpp editor/editor_node.cpp
msgid "Orphan Resource Explorer"
-msgstr "Explorador de Recursos Huérfanos"
+msgstr "Explorador de recursos huérfanos"
#: editor/dependency_editor.cpp
msgid "Delete selected files?"
@@ -716,19 +927,23 @@ msgstr "Eliminar"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Key"
-msgstr "Cambiar Clave del Diccionario"
+msgstr "Cambiar clave del diccionario"
#: editor/dictionary_property_edit.cpp
msgid "Change Dictionary Value"
-msgstr "Cambiar Valor del Diccionario"
+msgstr "Cambiar valor del diccionario"
#: editor/editor_about.cpp
msgid "Thanks from the Godot community!"
msgstr "¡Muchas gracias de parte de la comunidad de Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "¡Gracias!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Aceptar"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -736,15 +951,15 @@ msgstr "Contribuidores de Godot"
#: editor/editor_about.cpp
msgid "Project Founders"
-msgstr "Fundadores del Proyecto"
+msgstr "Fundadores del proyecto"
#: editor/editor_about.cpp
msgid "Lead Developer"
-msgstr "Desarrollador Principal"
+msgstr "Desarrollador principal"
#: editor/editor_about.cpp
msgid "Project Manager "
-msgstr "Administrador de Proyectos "
+msgstr "Administrador del proyecto "
#: editor/editor_about.cpp
msgid "Developers"
@@ -756,27 +971,27 @@ msgstr "Autores"
#: editor/editor_about.cpp
msgid "Platinum Sponsors"
-msgstr "Patrocinadores de Platino"
+msgstr "Patrocinadores de platino"
#: editor/editor_about.cpp
msgid "Gold Sponsors"
-msgstr "Patrocinadores de Oro"
+msgstr "Patrocinadores de oro"
#: editor/editor_about.cpp
msgid "Mini Sponsors"
-msgstr "Mini Patrocinadores"
+msgstr "Mini patrocinadores"
#: editor/editor_about.cpp
msgid "Gold Donors"
-msgstr "Donantes de Oro"
+msgstr "Donantes de oro"
#: editor/editor_about.cpp
msgid "Silver Donors"
-msgstr "Donantes de Plata"
+msgstr "Donantes de plata"
#: editor/editor_about.cpp
msgid "Bronze Donors"
-msgstr "Donantes de Bronce"
+msgstr "Donantes de bronce"
#: editor/editor_about.cpp
msgid "Donors"
@@ -804,7 +1019,7 @@ msgstr ""
#: editor/editor_about.cpp
msgid "All Components"
-msgstr "Todos los Componentes"
+msgstr "Todos los componentes"
#: editor/editor_about.cpp
msgid "Components"
@@ -820,11 +1035,11 @@ msgstr "Error al abrir el archivo empaquetado, no tiene formato zip."
#: editor/editor_asset_installer.cpp
msgid "Uncompressing Assets"
-msgstr "Descomprimiendo Assets"
+msgstr "Descomprimiendo assets"
#: editor/editor_asset_installer.cpp editor/project_manager.cpp
msgid "Package Installed Successfully!"
-msgstr "¡Paquete Instalado Exitosamente!"
+msgstr "¡Paquete instalado exitosamente!"
#: editor/editor_asset_installer.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -838,7 +1053,7 @@ msgstr "Instalar"
#: editor/editor_asset_installer.cpp
msgid "Package Installer"
-msgstr "Instalador de Paquetes"
+msgstr "Instalador de paquetes"
#: editor/editor_audio_buses.cpp
msgid "Speakers"
@@ -846,47 +1061,47 @@ msgstr "Altavoces"
#: editor/editor_audio_buses.cpp
msgid "Add Effect"
-msgstr "Añadir Efecto"
+msgstr "Añadir efecto"
#: editor/editor_audio_buses.cpp
msgid "Rename Audio Bus"
-msgstr "Renombrar Bus de Audio"
+msgstr "Renombrar bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Change Audio Bus Volume"
-msgstr "Cambiar Volumen de Bus de Audio"
+msgstr "Cambiar volumen de bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Solo"
-msgstr "Alternar Solo de Bus de Audio"
+msgstr "Act/desact. solo de bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Mute"
-msgstr "Alternar Silencio de Bus de Audio"
+msgstr "Act/desact. silencio de bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Toggle Audio Bus Bypass Effects"
-msgstr "Alternar Puenteado de Efectos de Bus de Audio"
+msgstr "Act/desact. puenteado de efectos de bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Select Audio Bus Send"
-msgstr "Seleccionar Envío de Bus de Audio"
+msgstr "Seleccionar envío de bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus Effect"
-msgstr "Añadir Efecto de Bus de Audio"
+msgstr "Añadir efecto de bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Move Bus Effect"
-msgstr "Mover Efecto de Bus"
+msgstr "Mover efecto de bus"
#: editor/editor_audio_buses.cpp
msgid "Delete Bus Effect"
-msgstr "Eliminar Efecto de Bus"
+msgstr "Eliminar efecto de bus"
#: editor/editor_audio_buses.cpp
msgid "Audio Bus, Drag and Drop to rearrange."
-msgstr "Bus de Audio, Arrastra y Suelta para reordenar."
+msgstr "Bus de audio, arrastra y suelta para reordenar."
#: editor/editor_audio_buses.cpp
msgid "Solo"
@@ -902,20 +1117,21 @@ msgstr "Bypass"
#: editor/editor_audio_buses.cpp
msgid "Bus options"
-msgstr "Opciones del Bus"
+msgstr "Opciones del bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
#: editor/editor_audio_buses.cpp
msgid "Reset Volume"
-msgstr "Restablecer Volumen"
+msgstr "Restablecer volumen"
#: editor/editor_audio_buses.cpp
msgid "Delete Effect"
-msgstr "Borrar Efecto"
+msgstr "Eliminar efecto"
#: editor/editor_audio_buses.cpp
msgid "Audio"
@@ -923,7 +1139,7 @@ msgstr "Audio"
#: editor/editor_audio_buses.cpp
msgid "Add Audio Bus"
-msgstr "Añadir Bus de Audio"
+msgstr "Añadir bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Master bus can't be deleted!"
@@ -931,31 +1147,31 @@ msgstr "¡No se puede borrar el bus maestro!"
#: editor/editor_audio_buses.cpp
msgid "Delete Audio Bus"
-msgstr "Borrar Bus de Audio"
+msgstr "Borrar bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Duplicate Audio Bus"
-msgstr "Duplicar Bus de Audio"
+msgstr "Duplicar bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Reset Bus Volume"
-msgstr "Restablecer Volumen de Bus"
+msgstr "Restablecer volumen de bus"
#: editor/editor_audio_buses.cpp
msgid "Move Audio Bus"
-msgstr "Mover Bus de Audio"
+msgstr "Mover bus de audio"
#: editor/editor_audio_buses.cpp
msgid "Save Audio Bus Layout As..."
-msgstr "Guardar Configuración de Bus de Audio Como..."
+msgstr "Guardar configuración de bus de audio como..."
#: editor/editor_audio_buses.cpp
msgid "Location for New Layout..."
-msgstr "Ubicación para Nueva Configuración..."
+msgstr "Ubicación para nueva configuración..."
#: editor/editor_audio_buses.cpp
msgid "Open Audio Bus Layout"
-msgstr "Abrir Configuración de Bus de Audio"
+msgstr "Abrir configuración de bus de audio"
#: editor/editor_audio_buses.cpp
msgid "There is no 'res://default_bus_layout.tres' file."
@@ -967,37 +1183,37 @@ msgstr "Archivo inválido, no es una configuración de bus de audio."
#: editor/editor_audio_buses.cpp
msgid "Add Bus"
-msgstr "Añadir Bus"
+msgstr "Añadir bus"
#: editor/editor_audio_buses.cpp
msgid "Create a new Bus Layout."
-msgstr "Crear nueva configuración de Bus de Audio."
+msgstr "Crear nueva configuración de bus."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Cargar"
#: editor/editor_audio_buses.cpp
msgid "Load an existing Bus Layout."
-msgstr "Cargar una configuración de Bus de Audio existente."
+msgstr "Cargar una configuración de bus existente."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Guardar como"
#: editor/editor_audio_buses.cpp
msgid "Save this Bus Layout to a file."
-msgstr "Guardar la configuración de este Bus a un archivo."
+msgstr "Guardar la configuración de este bus a un archivo."
#: editor/editor_audio_buses.cpp editor/import_dock.cpp
msgid "Load Default"
-msgstr "Cargar Ajuste Predeterminado"
+msgstr "Cargar ajuste predeterminado"
#: editor/editor_audio_buses.cpp
msgid "Load the default Bus Layout."
-msgstr "Cargar configuración de Bus por defecto."
+msgstr "Cargar configuración de bus por defecto."
#: editor/editor_autoload_settings.cpp
msgid "Invalid name."
@@ -1026,22 +1242,6 @@ msgstr ""
"existente en el motor gráfico."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ruta Inválida."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "El archivo no existe."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "No está en la ruta de recursos."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Añadir AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "¡El fichero «%s» ya existe!"
@@ -1051,7 +1251,7 @@ msgstr "Renombrar Autoload"
#: editor/editor_autoload_settings.cpp
msgid "Toggle AutoLoad Globals"
-msgstr "Alternar Globales de Autoload"
+msgstr "Act/desact. globales de Autoload"
#: editor/editor_autoload_settings.cpp
msgid "Move Autoload"
@@ -1069,6 +1269,22 @@ msgstr "Activar"
msgid "Rearrange Autoloads"
msgstr "Reordenar Autoloads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ruta inválida."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "El archivo no existe."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "No está en la ruta de recursos."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Añadir AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1076,7 +1292,7 @@ msgstr "Ruta:"
#: editor/editor_autoload_settings.cpp
msgid "Node Name:"
-msgstr "Nombre del Nodo:"
+msgstr "Nombre del nodo:"
#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp
#: editor/project_manager.cpp editor/settings_config_dialog.cpp
@@ -1089,7 +1305,7 @@ msgstr "Singleton"
#: editor/editor_data.cpp
msgid "Updating Scene"
-msgstr "Actualizando Escena"
+msgstr "Actualizando escena"
#: editor/editor_data.cpp
msgid "Storing local changes..."
@@ -1099,7 +1315,7 @@ msgstr "Guardando cambios locales..."
msgid "Updating scene..."
msgstr "Actualizando escena..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[vacío]"
@@ -1113,12 +1329,12 @@ msgstr "Por favor, selecciona primero un directorio base"
#: editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
-msgstr "Elige un Directorio"
+msgstr "Selecciona un directorio"
#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp
msgid "Create Folder"
-msgstr "Crear Carpeta"
+msgstr "Crear carpeta"
#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp
#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp
@@ -1138,7 +1354,7 @@ msgstr "Elegir"
#: editor/editor_export.cpp
msgid "Storing File:"
-msgstr "Archivo de Almacenamiento:"
+msgstr "Archivo de almacenamiento:"
#: editor/editor_export.cpp
msgid "Packing"
@@ -1150,23 +1366,29 @@ msgstr "Archivo de plantilla no encontrado:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File Exists, Overwrite?"
-msgstr "El Archivo ya Existe, ¿Quieres Sobreescribirlo?"
+msgstr "El archivo ya existe ¿Quieres sobreescribirlo?"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Select Current Folder"
-msgstr "Seleccionar Carpeta Actual"
+msgstr "Seleccionar carpeta actual"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "Copy Path"
-msgstr "Copiar Ruta"
+msgstr "Copiar ruta"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Mostrar en el navegador de archivos"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
-msgstr "Mostrar en el Navegador de Archivos"
+msgstr "Mostrar en el navegador de archivos"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
msgid "New Folder..."
-msgstr "Nueva Carpeta..."
+msgstr "Nueva carpeta..."
#: editor/editor_file_dialog.cpp
msgid "Refresh"
@@ -1182,29 +1404,29 @@ msgstr "Todos los archivos (*)"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a File"
-msgstr "Abrir un Archivo"
+msgstr "Abrir un archivo"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open File(s)"
-msgstr "Abrir Archivo(s)"
+msgstr "Abrir archivo(s)"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a Directory"
-msgstr "Abrir un Directorio"
+msgstr "Abrir un directorio"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Open a File or Directory"
-msgstr "Abrir un Archivo o Directorio"
+msgstr "Abrir un archivo o directorio"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Guardar"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Save a File"
-msgstr "Guardar un Archivo"
+msgstr "Guardar un archivo"
#: editor/editor_file_dialog.cpp
msgid "Go Back"
@@ -1220,19 +1442,19 @@ msgstr "Subir"
#: editor/editor_file_dialog.cpp
msgid "Toggle Hidden Files"
-msgstr "Ver/ocultar Archivos Ocultos"
+msgstr "Ver/ocultar archivos ocultos"
#: editor/editor_file_dialog.cpp
msgid "Toggle Favorite"
-msgstr "Añadir/quitar Favorito"
+msgstr "Añadir/quitar favorito"
#: editor/editor_file_dialog.cpp
msgid "Toggle Mode"
-msgstr "Cambiar Modo"
+msgstr "Cambiar modo"
#: editor/editor_file_dialog.cpp
msgid "Focus Path"
-msgstr "Seleccionar Ruta"
+msgstr "Seleccionar ruta"
#: editor/editor_file_dialog.cpp
msgid "Move Favorite Up"
@@ -1248,9 +1470,10 @@ msgstr "Ir a la carpeta principal"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "Directories & Files:"
-msgstr "Directorios y Archivos:"
+msgstr "Directorios y archivos:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Vista previa:"
@@ -1265,24 +1488,24 @@ msgstr "Debe tener una extensión válida."
#: editor/editor_file_system.cpp
msgid "ScanSources"
-msgstr "Analizando Fuentes"
+msgstr "Analizando fuentes"
#: editor/editor_file_system.cpp
msgid "(Re)Importing Assets"
-msgstr "(Re)Importando Assets"
+msgstr "(Re)Importando assets"
#: editor/editor_help.cpp editor/editor_node.cpp
#: editor/plugins/script_editor_plugin.cpp
msgid "Search Help"
-msgstr "Ayuda de Búsqueda"
+msgstr "Ayuda de búsqueda"
#: editor/editor_help.cpp
msgid "Class List:"
-msgstr "Lista de Clases:"
+msgstr "Lista de clases:"
#: editor/editor_help.cpp
msgid "Search Classes"
-msgstr "Buscar Clases"
+msgstr "Buscar clases"
#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp
msgid "Top"
@@ -1302,7 +1525,7 @@ msgstr "Heredada por:"
#: editor/editor_help.cpp
msgid "Brief Description:"
-msgstr "Descripción Breve:"
+msgstr "Descripción breve:"
#: editor/editor_help.cpp
msgid "Members"
@@ -1314,7 +1537,7 @@ msgstr "Miembros:"
#: editor/editor_help.cpp
msgid "Public Methods"
-msgstr "Métodos Públicos"
+msgstr "Métodos públicos"
#: editor/editor_help.cpp
msgid "Public Methods:"
@@ -1322,11 +1545,11 @@ msgstr "Métodos públicos:"
#: editor/editor_help.cpp
msgid "GUI Theme Items"
-msgstr "Elementos del Tema de Interfaz"
+msgstr "Elementos del tema de interfaz"
#: editor/editor_help.cpp
msgid "GUI Theme Items:"
-msgstr "Elementos del Tema de Interfaz:"
+msgstr "Elementos del tema de interfaz:"
#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
msgid "Signals:"
@@ -1358,7 +1581,7 @@ msgstr "Descripción"
#: editor/editor_help.cpp
msgid "Online Tutorials:"
-msgstr "Tutoriales en Línea:"
+msgstr "Tutoriales en línea:"
#: editor/editor_help.cpp
msgid ""
@@ -1376,7 +1599,7 @@ msgstr "Propiedades"
#: editor/editor_help.cpp
msgid "Property Description:"
-msgstr "Descripción de la Propiedad:"
+msgstr "Descripción de la propiedad:"
#: editor/editor_help.cpp
msgid ""
@@ -1392,7 +1615,7 @@ msgstr "Métodos"
#: editor/editor_help.cpp
msgid "Method Description:"
-msgstr "Descripción del Método:"
+msgstr "Descripción del método:"
#: editor/editor_help.cpp
msgid ""
@@ -1402,28 +1625,36 @@ msgstr ""
"Actualmente no hay una descripción para este método. Por favor, ¡ayúdanos "
"[color=$color][url=$url]aportando una[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Texto de Búsqueda"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Propiedad:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Buscar"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Establecer"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Salida:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
-msgstr "Borrar Todo"
+msgstr "Borrar todo"
#: editor/editor_log.cpp
msgid "Clear Output"
-msgstr "Borrar Salida"
+msgstr "Borrar salida"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
@@ -1435,12 +1666,7 @@ msgstr "¡Error al guardar el recurso!"
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Save Resource As..."
-msgstr "Guardar Recurso Como..."
-
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Ya veo..."
+msgstr "Guardar recurso como..."
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
@@ -1454,9 +1680,9 @@ msgstr "Formato de archivo desconocido:"
msgid "Error while saving."
msgstr "Error al guardar."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "No se puede abrir '%s'."
+#: 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'."
@@ -1476,7 +1702,7 @@ msgstr "Error al cargar '%s'."
#: editor/editor_node.cpp
msgid "Saving Scene"
-msgstr "Guardar Escena"
+msgstr "Guardar escena"
#: editor/editor_node.cpp
msgid "Analyzing"
@@ -1484,7 +1710,7 @@ msgstr "Analizando"
#: editor/editor_node.cpp
msgid "Creating Thumbnail"
-msgstr "Creando Miniatura"
+msgstr "Creando miniatura"
#: editor/editor_node.cpp
msgid "This operation can't be done without a tree root."
@@ -1499,10 +1725,6 @@ msgstr ""
"pudieron resolver."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Error al cargar el recurso."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "¡No se puede cargar MeshLibrary para poder unir los datos!"
@@ -1584,42 +1806,6 @@ msgstr ""
"mejor el flujo de trabajo."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Expandir todas las propiedades"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Ocultar todas las propiedades"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copiar Parámetros"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Pegar Parámetros"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Pegar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copiar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Convertirlo en Integrado"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Creación de Subrecursos Únicos"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Abrir en la Ayuda"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "No hay escena definida para ejecutar."
@@ -1665,23 +1851,23 @@ msgstr "¡No se pudo comenzar el subproceso!"
#: editor/editor_node.cpp
msgid "Open Scene"
-msgstr "Abrir Escena"
+msgstr "Abrir escena"
#: editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr "Abrir Escena Base"
+msgstr "Abrir escena base"
#: editor/editor_node.cpp
msgid "Quick Open Scene..."
-msgstr "Apertura Rápida de Escena..."
+msgstr "Apertura rápida de escena..."
#: editor/editor_node.cpp
msgid "Quick Open Script..."
-msgstr "Apertura Rápida de Script..."
+msgstr "Apertura rápida de script..."
#: editor/editor_node.cpp
msgid "Save & Close"
-msgstr "Guardar y Cerrar"
+msgstr "Guardar y cerrar"
#: editor/editor_node.cpp
msgid "Save changes to '%s' before closing?"
@@ -1689,7 +1875,7 @@ msgstr "¿Guardar cambios de '%s' antes de cerrar?"
#: editor/editor_node.cpp
msgid "Save Scene As..."
-msgstr "Guardar Escena Como..."
+msgstr "Guardar escena como..."
#: editor/editor_node.cpp
msgid "No"
@@ -1710,7 +1896,7 @@ msgstr "Esta operación no puede realizarse sin una escena."
#: editor/editor_node.cpp
msgid "Export Mesh Library"
-msgstr "Exportar Librería de Mallas"
+msgstr "Exportar librería de mallas"
#: editor/editor_node.cpp
msgid "This operation can't be done without a root node."
@@ -1744,7 +1930,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Quick Run Scene..."
-msgstr "Ejecución Rápida de Escena..."
+msgstr "Ejecución rápida de escena..."
#: editor/editor_node.cpp
msgid "Quit"
@@ -1756,11 +1942,11 @@ msgstr "¿Quieres salir del editor?"
#: editor/editor_node.cpp
msgid "Open Project Manager?"
-msgstr "¿Abrir el Administrador de Proyectos?"
+msgstr "¿Abrir el administrador de proyectos?"
#: editor/editor_node.cpp
msgid "Save & Quit"
-msgstr "Guardar & Salir"
+msgstr "Guardar y salir"
#: editor/editor_node.cpp
msgid "Save changes to the following scene(s) before quitting?"
@@ -1770,7 +1956,7 @@ msgstr "¿Guardar cambios a la(s) siguiente(s) escena(s) antes de salir?"
msgid "Save changes the following scene(s) before opening Project Manager?"
msgstr ""
"¿Guardar cambios a la(s) siguiente(s) escena(s) antes de abrir el "
-"Administrador de Proyectos?"
+"administrador de proyectos?"
#: editor/editor_node.cpp
msgid ""
@@ -1782,7 +1968,7 @@ msgstr ""
#: editor/editor_node.cpp
msgid "Pick a Main Scene"
-msgstr "Elige una Escena Principal"
+msgstr "Selecciona una escena principal"
#: editor/editor_node.cpp
msgid "Unable to enable addon plugin at: '%s' parsing of config failed."
@@ -1810,7 +1996,7 @@ msgstr ""
msgid "Unable to load addon script from path: '%s' Script is not in tool mode."
msgstr ""
"No se pudo cargar el script addon desde la ruta: '%s' El script no está en "
-"Modo Herramienta."
+"modo tool."
#: editor/editor_node.cpp
msgid ""
@@ -1821,11 +2007,6 @@ msgstr ""
"modificada.\n"
"Para poder modificarla, se tiene que crear una nueva escena heredada."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Vaya"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1841,15 +2022,15 @@ msgstr "La escena «%s» tiene dependencias rotas:"
#: editor/editor_node.cpp
msgid "Clear Recent Scenes"
-msgstr "Limpiar Escenas Recientes"
+msgstr "Limpiar escenas recientes"
#: editor/editor_node.cpp
msgid "Save Layout"
-msgstr "Guardar Ajustes"
+msgstr "Guardar ajustes"
#: editor/editor_node.cpp
msgid "Delete Layout"
-msgstr "Borrar Ajustes"
+msgstr "Borrar ajustes"
#: editor/editor_node.cpp editor/import_dock.cpp
#: editor/script_create_dialog.cpp
@@ -1857,8 +2038,18 @@ msgid "Default"
msgstr "Predeterminado"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Reproducir escena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Cerrar las demás pestañas"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
-msgstr "Cambiar Pestaña de Escena"
+msgstr "Cambiar pestaña de escena"
#: editor/editor_node.cpp
msgid "%d more files or folders"
@@ -1874,7 +2065,7 @@ msgstr "%d más archivos"
#: editor/editor_node.cpp
msgid "Dock Position"
-msgstr "Posición del Dock"
+msgstr "Posición del dock"
#: editor/editor_node.cpp
msgid "Distraction Free Mode"
@@ -1882,7 +2073,7 @@ msgstr "Modo sin distracciones"
#: editor/editor_node.cpp
msgid "Toggle distraction-free mode."
-msgstr "Alternar modo sin distracciones."
+msgstr "Act/desact. modo sin distracciones."
#: editor/editor_node.cpp
msgid "Add a new scene."
@@ -1906,7 +2097,7 @@ msgstr "Pestaña anterior"
#: editor/editor_node.cpp
msgid "Filter Files..."
-msgstr "Filtrado de Archivos..."
+msgstr "Filtrado de archivos..."
#: editor/editor_node.cpp
msgid "Operations with scene files."
@@ -1914,19 +2105,19 @@ msgstr "Operaciones con archivos de escena."
#: editor/editor_node.cpp
msgid "New Scene"
-msgstr "Nueva Escena"
+msgstr "Nueva escena"
#: editor/editor_node.cpp
msgid "New Inherited Scene..."
-msgstr "Nueva Escena Heredada..."
+msgstr "Nueva escena heredada..."
#: editor/editor_node.cpp
msgid "Open Scene..."
-msgstr "Abrir Escena..."
+msgstr "Abrir escena..."
#: editor/editor_node.cpp
msgid "Save Scene"
-msgstr "Guardar Escena"
+msgstr "Guardar escena"
#: editor/editor_node.cpp
msgid "Save all Scenes"
@@ -1964,7 +2155,7 @@ msgstr "Rehacer"
#: editor/editor_node.cpp
msgid "Revert Scene"
-msgstr "Revertir Escena"
+msgstr "Revertir escena"
#: editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
@@ -1976,11 +2167,7 @@ msgstr "Proyecto"
#: editor/editor_node.cpp
msgid "Project Settings"
-msgstr "Ajustes del Proyecto"
-
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Ejecutar Script"
+msgstr "Ajustes del proyecto"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
@@ -1988,7 +2175,12 @@ msgstr "Exportar"
#: editor/editor_node.cpp
msgid "Tools"
-msgstr "Tools"
+msgstr "Herramientas"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "¿Abrir el administrador de proyectos?"
#: editor/editor_node.cpp
msgid "Quit to Project List"
@@ -2095,15 +2287,29 @@ msgstr "Ajustes del Editor"
#: editor/editor_node.cpp
msgid "Editor Layout"
-msgstr "Ajustes de Diseño del Editor"
+msgstr "Ajustes de diseño del editor"
#: editor/editor_node.cpp
msgid "Toggle Fullscreen"
-msgstr "Modo Pantalla Completa"
+msgstr "Act/desact. pantalla completa"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Ajustes del Editor"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Ajustes del Editor"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
-msgstr "Cargar Plantillas de Exportación"
+msgstr "Cargar plantillas de exportación"
#: editor/editor_node.cpp
msgid "Help"
@@ -2116,13 +2322,14 @@ msgstr "Clases"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Buscar"
#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
msgid "Online Docs"
-msgstr "Documentación en Línea"
+msgstr "Documentación en línea"
#: editor/editor_node.cpp
msgid "Q&A"
@@ -2160,7 +2367,7 @@ msgstr "Pausar la escena"
msgid "Stop the scene."
msgstr "Detener la escena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Detener"
@@ -2181,6 +2388,16 @@ msgid "Play Custom Scene"
msgstr "Reproducir escena personalizada"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Guardar y reimportar"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "¡Gira cuando la ventana del editor redibuja!"
@@ -2194,48 +2411,12 @@ msgstr "Actualizar cambios"
#: editor/editor_node.cpp
msgid "Disable Update Spinner"
-msgstr "Desactivar Indicador de Actividad"
+msgstr "Desactivar indicador de actividad"
#: editor/editor_node.cpp
msgid "Inspector"
msgstr "Inspector"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Crear un nuevo recurso en memoria y editarlo."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Cargar un recurso existente desde disco y editarlo."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Guardar el recurso editado actualmente."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Guardar Como..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Ir al objeto editado previo en el historial."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Ir al siguiente objeto editado en el historial."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historial de objetos recientemente editados."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Propiedades del objeto."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "¡Se perderán los cambios realizados!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2247,9 +2428,14 @@ msgstr "Nodos"
#: editor/editor_node.cpp
msgid "FileSystem"
-msgstr "Sistema de Archivos"
+msgstr "Sistema de archivos"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Expandir todo"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Salida"
@@ -2263,7 +2449,7 @@ msgstr "Importar plantillas desde un archivo ZIP"
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export Project"
-msgstr "Exportar Proyecto"
+msgstr "Exportar proyecto"
#: editor/editor_node.cpp
msgid "Export Library"
@@ -2283,7 +2469,7 @@ msgstr "Abrir y ejecutar un script"
#: editor/editor_node.cpp
msgid "New Inherited"
-msgstr "Nueva Escena Heredada"
+msgstr "Nueva escena heredada"
#: editor/editor_node.cpp
msgid "Load Errors"
@@ -2295,50 +2481,55 @@ msgstr "Seleccionar"
#: editor/editor_node.cpp
msgid "Open 2D Editor"
-msgstr "Abrir Editor 2D"
+msgstr "Abrir editor 2D"
#: editor/editor_node.cpp
msgid "Open 3D Editor"
-msgstr "Abrir Editor 3D"
+msgstr "Abrir editor 3D"
#: editor/editor_node.cpp
msgid "Open Script Editor"
-msgstr "Abrir Editor de Script"
+msgstr "Abrir editor de script"
#: editor/editor_node.cpp editor/project_manager.cpp
msgid "Open Asset Library"
-msgstr "Abrir Biblioteca de Assets"
+msgstr "Abrir biblioteca de assets"
#: editor/editor_node.cpp
msgid "Open the next Editor"
-msgstr "Abrir Editor siguiente"
+msgstr "Abrir editor siguiente"
#: editor/editor_node.cpp
msgid "Open the previous Editor"
-msgstr "Abrir Editor anterior"
+msgstr "Abrir editor anterior"
#: editor/editor_plugin.cpp
msgid "Creating Mesh Previews"
-msgstr "Creación de Vistas Previas de Malla"
+msgstr "Creación de vistas previas de malla"
#: editor/editor_plugin.cpp
msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Editar polígono"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Plugins instalados:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Actualizar"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versión:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2346,13 +2537,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Estado:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Parar Profiling"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Editar"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Iniciar Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "¡Iniciar!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2398,6 +2592,106 @@ msgstr "Tiempo"
msgid "Calls"
msgstr "Llamadas"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Activado"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, valor %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Vacío]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Asignar"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Selecciona un viewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Nuevo script"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Nuevo %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Hacer único"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Mostrar en el sistema de archivos"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Pegar"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Convertir a %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Abrir en el editor"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "¡El nodo seleccionado no es un Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Tamaño de celda:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Nuevo nombre:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nuevo nombre:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Remover item"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Seleccionar dispositivo de la lista"
@@ -2435,21 +2729,17 @@ msgstr "No se pudo ejecutar el script:"
msgid "Did you forget the '_run' method?"
msgstr "Te olvidaste del método '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Predeterminado (Igual que el Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
-msgstr "Selecciona Nodos a importar"
+msgstr "Selecciona nodo(s) a importar"
#: editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr "Ruta de la Escena:"
+msgstr "Ruta de la escena:"
#: editor/editor_sub_scene.cpp
msgid "Import From Node:"
-msgstr "Importar desde Nodo:"
+msgstr "Importar desde nodo:"
#: editor/export_template_manager.cpp
msgid "Re-Download"
@@ -2464,6 +2754,7 @@ msgid "(Installed)"
msgstr "(Instalado)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Descargar"
@@ -2488,7 +2779,8 @@ msgid "Can't open export templates zip."
msgstr "No se puede abir el zip de plantillas de exportación."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Formato de \"version.txt\" inválido dentro de las plantillas."
#: editor/export_template_manager.cpp
@@ -2550,6 +2842,12 @@ msgid "Download Complete."
msgstr "Descarga completada."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Error al solicitar url: "
@@ -2628,7 +2926,8 @@ msgid "Download Templates"
msgstr "Descargar plantillas"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Seleccionar mirror de la lista: "
#: editor/file_type_cache.cpp
@@ -2644,11 +2943,13 @@ msgstr ""
"archivos!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Ver elementos como una cuadrícula de miniaturas"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Ver elementos como una lista"
#: editor/filesystem_dock.cpp
@@ -2721,7 +3022,7 @@ msgstr "Expandir todo"
msgid "Collapse all"
msgstr "Colapsar todo"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Renombrar..."
@@ -2731,7 +3032,7 @@ msgstr "Mover a..."
#: editor/filesystem_dock.cpp
msgid "Open Scene(s)"
-msgstr "Abrir Escena(s)"
+msgstr "Abrir escena(s)"
#: editor/filesystem_dock.cpp
msgid "Instance"
@@ -2739,17 +3040,34 @@ msgstr "Instanciar"
#: editor/filesystem_dock.cpp
msgid "Edit Dependencies..."
-msgstr "Editar Dependencias..."
+msgstr "Editar dependencias..."
#: editor/filesystem_dock.cpp
msgid "View Owners..."
-msgstr "Ver Propietarios..."
+msgstr "Ver propietarios..."
#: editor/filesystem_dock.cpp
msgid "Duplicate..."
msgstr "Duplicar..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Nuevo script"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Guardar recurso como..."
+
+#: 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 "Renombrar"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Carpeta anterior"
@@ -2759,11 +3077,17 @@ msgstr "Carpeta siguiente"
#: editor/filesystem_dock.cpp
msgid "Re-Scan Filesystem"
-msgstr "Reanalizar Sistema de Archivos"
+msgstr "Re-escanear sistema de archivos"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Toggle folder status as Favorite."
+msgstr "Act/desact. estado de carpeta como favorito"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
-msgstr "Act/Desact. estado de carpeta como Favorito"
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Guardar el sub-tile editado actualmente."
#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
@@ -2771,6 +3095,15 @@ msgstr ""
"Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Buscar clases"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2778,14 +3111,112 @@ msgstr ""
"Escaneando archivos,\n"
"Por favor, espere..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Mover"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Renombrar"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Ya hay una carpeta en esta ruta con ese nombre."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Crear script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Encontrar tile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Buscar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Palabras completas"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Coincidir mayús/minúsculas"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtro:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Buscar..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Reemplazar..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Reemplazar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Reemplazar todo"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Guardando..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Texto de búsqueda"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERROR: ¡El nombre de animación ya existe!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nombre inválido."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupos"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Grupo(s) de Nodos"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrar nodos"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Grupo(s) de Nodos"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2795,6 +3226,11 @@ msgstr "Añadir al grupo"
msgid "Remove from Group"
msgstr "Quitar del grupo"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupos de imágenes"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importar como escena individual"
@@ -2836,25 +3272,25 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importar como escenas y materiales múltiples"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importar escena"
#: editor/import/resource_importer_scene.cpp
msgid "Importing Scene..."
-msgstr "Importando Escena..."
+msgstr "Importando escena..."
#: editor/import/resource_importer_scene.cpp
msgid "Generating Lightmaps"
-msgstr "Generando \"Lightmaps\""
+msgstr "Generando Lightmaps"
#: editor/import/resource_importer_scene.cpp
msgid "Generating for Mesh: "
-msgstr "Generando para Malla: "
+msgstr "Generando para malla: "
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
-msgstr "Ejecutando Script Personalizado..."
+msgstr "Ejecutando script personalizado..."
#: editor/import/resource_importer_scene.cpp
msgid "Couldn't load post-import script:"
@@ -2897,17 +3333,130 @@ msgstr "Ajuste..."
msgid "Reimport"
msgstr "Reimportar"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Error al cargar el recurso."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Aceptar"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Expandir todas las propiedades"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Ocultar todas las propiedades"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Guardar como..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copiar parámetros"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Pegar parámetros"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "¡El portapapeles de recursos está vacío!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copiar recurso"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Convertirlo en integrado"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Creación de subrecursos únicos"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Abrir en la ayuda"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Crear un nuevo recurso en memoria y editarlo."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Cargar un recurso existente desde disco y editarlo."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Ir al objeto editado previo en el historial."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Ir al siguiente objeto editado en el historial."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Historial de objetos recientemente editados."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Propiedades del objeto."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrar nodos"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "¡Se perderán los cambios realizados!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Establecer multinodo"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupos"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
-msgstr "Selecciona un Nodo para editar Señales y Grupos."
+msgstr "Selecciona un nodo para editar señales y grupos."
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Editar polígono"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Crear solución C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Lista de Plugins:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Lenguaje"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Script válido"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
@@ -2954,9 +3503,153 @@ msgstr ""
msgid "Delete points"
msgstr "Eliminar puntos"
+#: 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 "Añadir animación"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Cargar"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Eliminar puntos"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Clic derecho: Borrar punto."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Mover punto"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nodo de animación"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "¡La acción «%s» ya existe!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "Leyendo %d triángulos:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Ajustar a cuadrícula"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Editar filtros"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Añadir nodo"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Editar filtros"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Hijos editables"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
-msgstr "Des/activar reproducción automática"
+msgstr "Act/desact. reproducción automática"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "New Animation Name:"
@@ -2980,11 +3673,13 @@ msgid "Remove Animation"
msgstr "Quitar animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERROR: ¡El nombre de animación no es correcto!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERROR: ¡El nombre de animación ya existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2993,11 +3688,6 @@ msgid "Rename Animation"
msgstr "Renombrar animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Añadir animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Mezclar el siguiente cambio"
@@ -3014,11 +3704,13 @@ msgid "Duplicate Animation"
msgstr "Duplicar animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERROR: ¡No hay animaciones para copiar!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERROR: ¡No hay recursos de animación en el portapapeles!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3030,7 +3722,8 @@ msgid "Paste Animation"
msgstr "Pegar animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERROR: ¡No hay animación que editar!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3064,20 +3757,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Escalar globalmente la reproducción de la animación para el nodo."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Crear nueva animación en el reproductor."
+msgid "Animation Tools"
+msgstr "Herramientas de animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Cargar una animación desde disco."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Cargar una animación desde disco."
+msgid "New"
+msgstr "Nuevo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Guardar la animación actual"
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Editar Conecciones..."
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Abrir en el editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3085,19 +3785,7 @@ msgstr "Mostrar la lista de animaciones en el reproductor."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Autoplay on Load"
-msgstr "Autoreproducir al Cargar"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Editar tiempos de mezcla con otras animaciones"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Herramientas de animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copiar animación"
+msgstr "Autoreproducir al cargar"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
@@ -3105,7 +3793,7 @@ msgstr "Papel Cebolla"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Enable Onion Skinning"
-msgstr "Activar Papel Cebolla"
+msgstr "Activar papel cebolla"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Directions"
@@ -3137,7 +3825,7 @@ msgstr "3 pasos"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Differences Only"
-msgstr "Solo las Diferencias"
+msgstr "Solo las diferencias"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Force White Modulate"
@@ -3148,15 +3836,21 @@ msgid "Include Gizmos (3D)"
msgstr "Incluir Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Pegar 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 "Animation Name:"
-msgstr "Nombre de Animación:"
+msgstr "Nombre de animación:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3168,178 +3862,231 @@ msgstr "Tiempos de mezcla:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Next (Auto Queue):"
-msgstr "Siguiente (Auto enfilar):"
+msgstr "Siguiente (cola automática):"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Cross-Animation Blend Times"
msgstr "Cross-Animation Blend Times"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animación"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Finales"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "No está en la ruta de recursos."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Crear nuevo %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Conectar nodos"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Remover la pista seleccionada."
+
+#: 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 "Transición"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "Ãrbol de animación"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nuevo nombre:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Editar filtros"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Escala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fundido de entrada (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fundido de salida (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Mezcla"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
-msgstr "Autoreiniciar:"
+msgstr "Reinicio automático:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Reiniciar (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Reiniciar al azar (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "¡Iniciar!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Cantidad:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Mezcla:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Mezcla 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Mezcla 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Tiempo de Crossfade (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Actual:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Añadir Entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
-msgstr "Borrar autoavanzar"
+msgstr "Borrar avance automático"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
-msgstr "Establecer autoavanzar"
+msgstr "Establecer avance automático"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
-msgstr "Eliminar Entrada"
+msgstr "Eliminar entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "El árbol de animación es correcto."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "El árbol de animación no es correcto."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
-msgstr "Nodo de Animación"
+msgstr "Nodo de animación"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Nodo OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Nodo Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Nodo Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Nodo Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Nodo Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Nodo TimeScale"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Nodo TimeSeek"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Nodo Transition"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
-msgstr "Importar Animaciones..."
+msgstr "Importar animaciones..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
-msgstr "Editar Filtros de Nodo"
+msgstr "Editar filtros de nodo"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtros..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "Ãrbol de animación"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Libre"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Contenido:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "View Files"
-msgstr "Ver Archivos"
+msgstr "Ver archivos"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Can't resolve hostname:"
-msgstr "No se ha podido resolver el nombre de Dominio:"
+msgstr "No se ha podido resolver el nombre de dominio:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Connection error, please try again."
@@ -3382,8 +4129,14 @@ msgid "Asset Download Error:"
msgstr "Error en la descarga del asset:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Buscando:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Descargando"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Descargando"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3403,27 +4156,29 @@ msgstr "Reintentar"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download Error"
-msgstr "Error de Descarga"
+msgstr "Error de descarga"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download for this asset is already in progress!"
msgstr "¡Éste asset ya está descargándose!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "primero"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "anterior"
+#, fuzzy
+msgid "Previous"
+msgstr "Pestaña anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "siguiente"
+msgid "Next"
+msgstr "Siguiente"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "último"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3497,7 +4252,7 @@ msgid "Bake Lightmaps"
msgstr "Calculando Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Vista previa"
@@ -3506,34 +4261,24 @@ msgid "Configure Snap"
msgstr "Configurar ajuste"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
-msgstr "Desplazamiento de Cuadrícula:"
+msgstr "Desplazamiento de cuadrícula:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
-msgstr "Paso de Cuadrícula:"
+msgstr "Paso de cuadrícula:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Offset:"
-msgstr "Desplazamiento de Rotación:"
+msgstr "Desplazamiento de rotación:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Step:"
-msgstr "Cantidad de Rotaciones:"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Mover pivote"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Mover acción"
+msgstr "Cantidad de rotaciones:"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
-msgstr "Mover Guía Vertical"
+msgstr "Mover guía vertical"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Create new vertical guide"
@@ -3560,11 +4305,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Crear nuevas guías horizontales y verticales"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Editar Cadena IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Mover pivote"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Editar CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Mover acción"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Editar CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Editar CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3584,6 +4346,21 @@ msgid "Paste Pose"
msgstr "Pegar pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Alejar"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Restablecer zoom"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Acercar"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Modo de selección"
@@ -3632,7 +4409,8 @@ msgid "Pan Mode"
msgstr "Modo desplazamiento lateral"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Activar/desactivar fijado"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3640,7 +4418,8 @@ msgid "Use Snap"
msgstr "Usar fijado"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opciones de fijado"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3654,7 +4433,7 @@ msgstr "Ajustar rotación"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Configure Snap..."
-msgstr "Configurar Ajuste..."
+msgstr "Configurar ajuste..."
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
@@ -3681,6 +4460,11 @@ msgid "Snap to node sides"
msgstr "Ajustar a los lados de los nodos"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Ajustar al anclaje del nodo"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Ajustar a otros nodos"
@@ -3707,14 +4491,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Restaurar la habilidad de seleccionar los hijos de un objeto."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Crear huesos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Reestablecer huesos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Mostrar huesos"
@@ -3727,6 +4503,15 @@ msgid "Clear IK Chain"
msgstr "Reestrablecer cadena IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Reestablecer huesos"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Ver"
@@ -3734,7 +4519,7 @@ msgstr "Ver"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Show Grid"
-msgstr "Mostrar Cuadrícula"
+msgstr "Mostrar cuadrícula"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Helpers"
@@ -3750,11 +4535,11 @@ msgstr "Mostrar guías"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Origin"
-msgstr "Ver Origen"
+msgstr "Ver origen"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Viewport"
-msgstr "Ver Viewport"
+msgstr "Ver viewport"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3769,16 +4554,13 @@ msgid "Layout"
msgstr "Disposición"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Insertar claves"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Insertar Clave"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
-msgstr "Insertar Clave (Pistas Existentes)"
+msgstr "Insertar clave (pistas existentes)"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Copy Pose"
@@ -3789,14 +4571,6 @@ msgid "Clear Pose"
msgstr "Restablecer pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Arrastrar pivote desde la posición del ratón"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Establecer punto de pivotado en la posición del ratón"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multiplicar paso de cuadrícula por 2"
@@ -3812,10 +4586,6 @@ msgstr "Añadir %s"
msgid "Adding %s..."
msgstr "Añadiendo %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Aceptar"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "No se pueden instanciar varios nodos sin un nodo raíz."
@@ -3823,7 +4593,7 @@ msgstr "No se pueden instanciar varios nodos sin un nodo raíz."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Create Node"
-msgstr "Crear Nodo"
+msgstr "Crear nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -3850,35 +4620,28 @@ msgstr "Crear Poly3D"
msgid "Set Handle"
msgstr "Establecer handle"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "¿Quieres borrar el elemento %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Añadir elemento"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Borrar elemento seleccionado"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partículas"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importar desde escena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Crear puntos de emisión desde malla"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Actualizar desde escena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Crear puntos de emisión desde el nodo"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
-msgstr "Plana0"
+msgstr "Flat0"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat1"
-msgstr "Plana1"
+msgstr "Flat1"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Ease in"
@@ -3930,7 +4693,7 @@ msgstr "Quitar punto de la curva"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Toggle Curve Linear Tangent"
-msgstr "Alternar curva de tangente lineal"
+msgstr "Act/desact. curva de tangente lineal"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Hold Shift to edit tangents individually"
@@ -3940,15 +4703,6 @@ msgstr "Mantén Mayús para editar las tangentes individualmente"
msgid "Bake GI Probe"
msgstr "Precalcular GI Probe"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Añadir/quitar punto en la rampa del degradado"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modificar rampa de color"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Elemento %d"
@@ -3995,7 +4749,7 @@ msgstr "Clic derecho: Borrar punto."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh is empty!"
-msgstr "¡La Malla está vacía!"
+msgstr "¡La malla está vacía!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Trimesh Body"
@@ -4019,7 +4773,7 @@ msgstr "Crear forma convexa"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
-msgstr "Crear Malla de Navegación"
+msgstr "Crear malla de navegación"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Contained Mesh is not of type ArrayMesh."
@@ -4036,12 +4790,13 @@ msgid "No mesh to debug."
msgstr "No hay malla que depurar."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "El modelo no tiene UV en esta capa"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "MeshInstance lacks a Mesh!"
-msgstr "¡MeshInstance no tiene Malla!"
+msgstr "¡MeshInstance no tiene malla!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh has not surface to create outlines from!"
@@ -4081,7 +4836,7 @@ msgstr "Crear colisión hermanada convexa"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh..."
-msgstr "Crear Contorno de Malla..."
+msgstr "Crear contorno de malla..."
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "View UV1"
@@ -4097,12 +4852,33 @@ msgstr "Desenvuelva UV2 para Lightmap/AO"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh"
-msgstr "Crear Contorno de Malla"
+msgstr "Crear contorno de malla"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Outline Size:"
msgstr "Tamaño del contorno:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "¿Quieres borrar el elemento %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Añadir elemento"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Borrar elemento seleccionado"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importar desde escena"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Actualizar desde escena"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4153,11 +4929,11 @@ msgstr "No se pudo mapear el área."
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Select a Source Mesh:"
-msgstr "Elige un origen de Malla:"
+msgstr "Elige un origen de malla:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Select a Target Surface:"
-msgstr "Selecciona una Superficie Objetivo:"
+msgstr "Selecciona una superficie objetivo:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate Surface"
@@ -4207,70 +4983,6 @@ msgstr "Escala al azar:"
msgid "Populate"
msgstr "Rellenar"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "¡Calcular!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Pre-calcular la malla de navegación."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Vaciar malla de navegación."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Estableciendo la Configuración..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Calculando tamaño de cuadrícula..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Creando heightfield..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Marcando triángulos transitables..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Construyendo heightfield compacto..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Erosionando área transitable..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Particionando..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Creando contornos..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Crear polymesh..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Convirtiendo a malla de navegación nativa..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Configuración del Generador de Mallas de Navegación:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Analizando Geometría..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "¡Hecho!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Crear polígono de navegación"
@@ -4332,18 +5044,6 @@ msgid "Emission Colors"
msgstr "Colores de emisión"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "El nodo no posee geometría."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "El nodo no posee geometría (caras)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Se requiere un material procesador del tipo 'ParticlesMaterial'."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "¡Las caras no contienen área!"
@@ -4352,16 +5052,12 @@ msgid "No faces!"
msgstr "¡Sin caras!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Generar AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Crear puntos de emisión desde malla"
+msgid "Node does not contain geometry."
+msgstr "El nodo no posee geometría."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Crear Puntos de Emisión desde el Nodo"
+msgid "Node does not contain geometry (faces)."
+msgstr "El nodo no posee geometría (caras)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4377,7 +5073,7 @@ msgstr "Puntos de la superficie"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points+Normal (Directed)"
-msgstr "Puntos de la superficie + Normal (Dirigida)"
+msgstr "Puntos de la superficie + Normal (Dirección)"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Volume"
@@ -4388,6 +5084,19 @@ msgid "Emission Source: "
msgstr "Fuente de emisión: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Se requiere un material procesador del tipo 'ParticlesMaterial'."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Generar AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Convertir a mayúsculas"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Generar AABB de visibilidad"
@@ -4397,7 +5106,7 @@ msgstr "Borrar punto de la curva"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Out-Control from Curve"
-msgstr "Eliminar \"Out-Control\" de la Curva"
+msgstr "Eliminar \"Out-Control\" de la curva"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove In-Control from Curve"
@@ -4414,11 +5123,11 @@ msgstr "Mover Punto en Curva"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move In-Control in Curve"
-msgstr "Mover In-Control en Curva"
+msgstr "Mover In-Control en curva"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Out-Control in Curve"
-msgstr "Mover Out-Control en Curva"
+msgstr "Mover Out-Control en curva"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
@@ -4438,7 +5147,7 @@ msgstr "Clic: Añadir Punto"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Right Click: Delete Point"
-msgstr "Clic Derecho: Eliminar Punto"
+msgstr "Clic derecho: Eliminar punto"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Select Control Points (Shift+Drag)"
@@ -4464,6 +5173,22 @@ msgstr "Eliminar punto"
msgid "Close Curve"
msgstr "Cerrar curva"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opciones"
+
+#: 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 "Punto de curva #"
@@ -4490,25 +5215,101 @@ msgstr "Quitar punto de ruta"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Out-Control Point"
-msgstr "Eliminar punto \"Out-Control\""
+msgstr "Eliminar punto Out-Control"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove In-Control Point"
-msgstr "Eliminar punto \"In-Control\""
+msgstr "Eliminar punto In-Control"
+
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Mover punto"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Mostrar huesos"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Crear mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Crear polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "¡La acción «%s» ya existe!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Añadir punto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "¡Ruta incorrecta!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Quitar punto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformar Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Editor UV de polígonos en 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Editar polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Dividir ruta"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Crear huesos"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Crear polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Mover punto"
@@ -4537,12 +5338,25 @@ msgid "Scale Polygon"
msgstr "Escalar polígono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Editar"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "¡Selecciona un ítem primero!"
+
+#: 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 "Polygon->UV"
@@ -4557,9 +5371,9 @@ msgid "Clear UV"
msgstr "Limpiar UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Ajustar a cuadrícula"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Ajustes del GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4569,6 +5383,36 @@ msgstr "Habilitar fijado"
msgid "Grid"
msgstr "Cuadrícula"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configurar ajuste"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Desplazamiento de cuadrícula:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Desplazamiento de cuadrícula:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Paso de cuadrícula:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Paso de cuadrícula:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Escalar polígono"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "¡ERROR: No se pudo cargar el recurso!"
@@ -4591,9 +5435,13 @@ msgid "Resource clipboard is empty!"
msgstr "¡El portapapeles de recursos está vacío!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Pegar recurso"
+
+#: 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"
+msgstr "Abrir en el editor"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_editor.cpp
@@ -4612,15 +5460,17 @@ msgid "Load Resource"
msgstr "Cargar recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Pegar"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
-msgstr "Pre-cargador de Recursos (ResourcePreloader)"
+msgstr "Precargador de recursos"
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "El árbol de animación no es correcto."
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
@@ -4631,6 +5481,21 @@ msgid "Close and save changes?"
msgstr "¿Cerrar y guardar cambios?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Error al cargar la imagen:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "No se pudo cargar la imagen"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "¡Error al guardar el TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Error al guardar el tema"
@@ -4647,18 +5512,37 @@ msgid "Error importing"
msgstr "Error al importar"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nueva carpeta..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Abrir un archivo"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Guardar como..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importar tema"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save Theme As..."
-msgstr "Guardar Tema Como..."
+msgstr "Guardar tema como..."
#: editor/plugins/script_editor_plugin.cpp
msgid " Class Reference"
msgstr " Referencia de clase"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -4687,8 +5571,9 @@ msgid "File"
msgstr "Archivo"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nuevo"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Ver archivos"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4715,6 +5600,11 @@ msgid "History Next"
msgstr "Siguiente en el historial"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Recargar tema"
@@ -4744,12 +5634,7 @@ msgstr "Ejecutar"
#: editor/plugins/script_editor_plugin.cpp
msgid "Toggle Scripts Panel"
-msgstr "Alternar panel de scripts"
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Buscar..."
+msgstr "Act/desact. panel de scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4806,10 +5691,6 @@ msgid "Discard"
msgstr "Descartar"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Crear script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4830,6 +5711,16 @@ msgid "Debugger"
msgstr "Depurador"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Ayuda de búsqueda"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Buscar clases"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4837,40 +5728,56 @@ msgstr ""
"pertenecen está cargada"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Línea:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Sólo se pueden arrastrar/soltar recursos del sistema de archivos."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Completar símbolo"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Seleccionar color"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
-msgstr "Convertir Máy/Min"
+msgstr "Convertir Mayús/Minúsculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Mayúscula"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Minúscula"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Poner en mayúsculas"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Cortar"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copiar"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4890,7 +5797,7 @@ msgstr "Indentar a la derecha"
#: editor/plugins/script_text_editor.cpp
msgid "Toggle Comment"
-msgstr "Des/activar comentario"
+msgstr "Act/desact. comentario"
#: editor/plugins/script_text_editor.cpp
msgid "Fold/Unfold Line"
@@ -4931,19 +5838,19 @@ msgstr "Autoindentar"
#: editor/plugins/script_text_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
msgid "Toggle Breakpoint"
-msgstr "Des/activar «breakpoint»"
+msgstr "Act/desact. Breakpoint"
#: editor/plugins/script_text_editor.cpp
msgid "Remove All Breakpoints"
-msgstr "Borrar todos los «breakpoints»"
+msgstr "Borrar todos los Breakpoints"
#: editor/plugins/script_text_editor.cpp
msgid "Goto Next Breakpoint"
-msgstr "Ir a siguiente «breakpoint»"
+msgstr "Ir a siguiente Breakpoint"
#: editor/plugins/script_text_editor.cpp
msgid "Goto Previous Breakpoint"
-msgstr "Ir al «breakpoint» anterior"
+msgstr "Ir al Breakpoint anterior"
#: editor/plugins/script_text_editor.cpp
msgid "Convert To Uppercase"
@@ -4958,8 +5865,9 @@ msgid "Find Previous"
msgstr "Buscar anterior"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Reemplazar..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrado de archivos..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4977,129 +5885,42 @@ msgstr "Ayuda contextual"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Cambiar Constante Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Cambiar Constante Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Cambiar Constante RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Cambiar Operador Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Cambiar Operador Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Cambiar Operador Vec. Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Cambiar Operador RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Act/Desact. Solo Rot."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Cambiar Función Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Cambiar Función Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Cambiar Uniforme Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Cambiar Uniforme Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Cambiar Uniforme RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Cambiar Valor por Defecto"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Cambiar Uniforme XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Cambiar Uniforme Textura"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Cambiar Uniforme Cubemap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Cambiar Comentarío"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Añadir/quitar de rampa de color"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Añadir/quitar a/de mapa de curvas"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Modificar Mapa de Curvas"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Cambiar Nombre de Entrada"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Conectar Nodos Gráficos"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Desconectar Nodos Gráficos"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Eliminar el Nodo Gráfico del Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Esqueleto..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Mover el Nodo Gráfico del Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Duplicar Nodo(s) Gráfico"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Eliminar Nodo(s) Gráfico(s) del Shader"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Crear malla de navegación"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Error: Link de Conexión Cíclico"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Esqueleto..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Error: Conexiones de Entrada Faltantes"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Crear solución C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Añadir Nodo Gráfico del Shader"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Reproducir"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5127,7 +5948,7 @@ msgstr "Transformación en el eje Z."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Plane Transform."
-msgstr "Ver Transformación de Plano."
+msgstr "Ver transformación de plano."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling: "
@@ -5147,7 +5968,7 @@ msgstr "Insertar claves está desactivado (no se insertaron claves)."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Animation Key Inserted."
-msgstr "Clave de Animación Insertada."
+msgstr "Clave de animación insertada."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Objects Drawn"
@@ -5159,7 +5980,7 @@ msgstr "Cambios del material"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Shader Changes"
-msgstr "Cambios del Shader"
+msgstr "Cambios del shader"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Surface Changes"
@@ -5179,19 +6000,19 @@ msgstr "FPS"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
-msgstr "Vista Superior."
+msgstr "Vista superior."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View."
-msgstr "Vista Inferior."
+msgstr "Vista inferior."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom"
-msgstr "Fondo"
+msgstr "Abajo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left View."
-msgstr "Vista Izquierda."
+msgstr "Vista izquierda."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left"
@@ -5226,10 +6047,6 @@ msgid "Align with view"
msgstr "Alinear con vista"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Muy bien :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "No hay padre al que instanciarle un hijo."
@@ -5238,6 +6055,11 @@ msgid "This operation requires a single selected node."
msgstr "Esta operación requiere un solo nodo seleccionado."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Ver información"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Mostrar normales"
@@ -5275,43 +6097,48 @@ msgstr "Media resolución"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Audio Listener"
-msgstr "Oyente de Audio"
+msgstr "Oyente de audio"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Doppler Enable"
msgstr "Activar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Creación de vistas previas de malla"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
-msgstr "Vista Libre Izquierda"
+msgstr "Vista libre izquierda"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Right"
-msgstr "Vista Libre Derecha"
+msgstr "Vista libre derecha"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Forward"
-msgstr "Vista Libre Frontal"
+msgstr "Vista libre frontal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Backwards"
-msgstr "Vista Libre Posterior"
+msgstr "Vista libre posterior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Up"
-msgstr "Vista Libre Arriba"
+msgstr "Vista libre arriba"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Down"
-msgstr "Vista Libre Abajo"
+msgstr "Vista libre abajo"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Speed Modifier"
-msgstr "Modificador de Velocidad de Vista Libre"
+msgstr "Modificador de velocidad de vista libre"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "XForm Dialog"
-msgstr "Ventana de transformación"
+msgstr "Diálogo XForm"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Select Mode (Q)"
@@ -5341,7 +6168,7 @@ msgstr "Modo escalado (R)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
-msgstr "Local Coords (Coordenadas Locales)"
+msgstr "Coordenadas locales"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Local Space Mode (%s)"
@@ -5353,35 +6180,35 @@ msgstr "Modo de ajuste (%s)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
-msgstr "Vista Inferior"
+msgstr "Vista inferior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Top View"
-msgstr "Vista Superior"
+msgstr "Vista superior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rear View"
-msgstr "Vista Posterior"
+msgstr "Vista posterior"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Front View"
-msgstr "Vista Frontal"
+msgstr "Vista frontal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Left View"
-msgstr "Vista Izquierda"
+msgstr "Vista izquierda"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Right View"
-msgstr "Vista Derecha"
+msgstr "Vista derecha"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Switch Perspective/Orthogonal view"
-msgstr "Intercambiar vista Perspectiva/Ortogonal"
+msgstr "Intercambiar vista perspectiva/ortogonal"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Insert Animation Key"
-msgstr "Insertar Clave de Animación"
+msgstr "Insertar clave de animación"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Focus Origin"
@@ -5412,40 +6239,54 @@ msgid "Tool Scale"
msgstr "Escalar"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Ajustar a cuadrícula"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
-msgstr "Activar Vista Libre"
+msgstr "Act/desact. Vista Libre"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform"
msgstr "Transformar"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
-msgstr "Dialogo de Transformación..."
+msgstr "Dialogo de transformación..."
#: editor/plugins/spatial_editor_plugin.cpp
msgid "1 Viewport"
-msgstr "1 Viewport"
+msgstr "1 viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports"
-msgstr "2 visores"
+msgstr "2 viewports"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports (Alt)"
-msgstr "2 visores (altern.)"
+msgstr "2 viewports (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports"
-msgstr "3 visores"
+msgstr "3 viewports"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports (Alt)"
-msgstr "3 visores (altern.)"
+msgstr "3 viewports (Alt)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "4 Viewports"
-msgstr "4 visores"
+msgstr "4 viewports"
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Ver gizmos"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
@@ -5453,7 +6294,7 @@ msgstr "Ver origen"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Grid"
-msgstr "Ver Cuadrícula"
+msgstr "Ver cuadrícula"
#: editor/plugins/spatial_editor_plugin.cpp
#: modules/gridmap/grid_map_editor_plugin.cpp
@@ -5461,10 +6302,6 @@ msgid "Settings"
msgstr "Ajustes"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Visibilidad de Gizmo esqueleto"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Configuración de fijado"
@@ -5482,7 +6319,7 @@ msgstr "Ajuste de escala (%):"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
-msgstr "Ajustes del Viewport"
+msgstr "Ajustes del viewport"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Perspective FOV (deg.):"
@@ -5498,7 +6335,7 @@ msgstr "Profundidad máxima de vista:"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Change"
-msgstr "Cambio de Transformación"
+msgstr "Cambio de transformación"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Translate:"
@@ -5524,6 +6361,53 @@ msgstr "Previa"
msgid "Post"
msgstr "Posterior"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "La ruta de guardado esta vacía!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Convertir a %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Crear contorno de malla"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Fijar (Pixeles):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Vista previa del atlas"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Ajustes"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ERROR: ¡No se pudo cargar el recurso de fotogramas!"
@@ -5592,14 +6476,6 @@ msgstr "Mover (Después)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "Vista previa de StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "Caja de estilos"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Establecer rectángulo de región"
@@ -5618,35 +6494,29 @@ msgstr "Ajustar a píxeles"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Snap"
-msgstr "Ajustar a Cuadrícula"
+msgstr "Ajustar a cuadrícula"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Auto Slice"
msgstr "Autotrocear"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Desplazamiento:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Paso:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Separación:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Región de textura"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Editor de regiones de texturas"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "No se pudo guardar el tema a un archivo:"
@@ -5660,11 +6530,6 @@ msgid "Add All"
msgstr "Añadir todos"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover Item"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Quitar todos los elementos"
@@ -5726,7 +6591,7 @@ msgstr "Radio Item"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Checked Radio Item"
-msgstr "Ratio Item Activo"
+msgstr "Ratio item activo"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -5736,13 +6601,9 @@ msgstr "Tiene"
msgid "Many"
msgstr "Muchas"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opciones"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
-msgstr "Tienes, Muchas, Opciones"
+msgstr "Tienes, muchas, opciones"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
@@ -5764,7 +6625,7 @@ msgstr "Tipo de datos:"
msgid "Icon"
msgstr "Icono"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Estilo"
@@ -5777,14 +6638,19 @@ msgid "Color"
msgstr "Color"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+msgid "Constant"
+msgstr "Constante"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Borrar selección"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nombre inválido."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Dibujar TileMap"
@@ -5794,7 +6660,7 @@ msgstr "Dibujar línea"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rectangle Paint"
-msgstr "Dibujar Rectángulo"
+msgstr "Dibujar rectángulo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Bucket Fill"
@@ -5805,11 +6671,8 @@ msgid "Erase TileMap"
msgstr "Borrar TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Eliminar selección"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Encontrar tile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5826,11 +6689,16 @@ msgstr "Voltear verticalmente"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint Tile"
-msgstr "Dibujar Tile"
+msgstr "Dibujar tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
-msgstr "Elegir Tile"
+msgstr "Elegir tile"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Quitar selección"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
@@ -5849,68 +6717,122 @@ msgid "Rotate 270 degrees"
msgstr "Rotar 270 grados"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "No se pudo cargar el tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Añadir nodo(s) desde árbol"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nombre o ID de Item:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Borrar entrada actual"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "¿Crear desde escena?"
+msgid "Create from Scene"
+msgstr "Crear desde escena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "¿Mezclar desde escena?"
+msgid "Merge from Scene"
+msgstr "Unir desde escena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Seleccione sub-tile para utilizar como icono, éste se utilizará también en "
+"enlazados automáticos no válidos."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Crear desde escena"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Unir desde escena"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Error"
+#: 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 "Autotiles"
-msgstr "Autotiles"
+msgid "Create from scene?"
+msgstr "¿Crear desde escena?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr "¿Mezclar desde escena?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Seleccione sub-tile para utilizar como icono, éste se utilizará también en "
-"enlazados automáticos no válidos."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"Clic Izquierdo: habilitar bit.\n"
"Clic Derecho: deshabilitar bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Guardar el sub-tile editado actualmente."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Seleccione sub-tile para utilizar como icono, éste se utilizará también en "
+"enlazados automáticos no válidos."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Selecciona sub-tile para cambiar su prioridad."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Cancelar"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Esta operación no puede realizarse sin una escena."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Tile Set"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vértices"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Fragmento"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Derecha"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5925,13 +6847,13 @@ msgid "Delete preset '%s'?"
msgstr "¿Eliminar preajuste '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
-"Las plantillas de exportación para esta plataforma faltan/están corruptas: "
+"Las plantillas de exportación para esta plataforma faltan/están corruptas:"
#: editor/project_export.cpp
msgid "Presets"
-msgstr "Preajustes"
+msgstr "Ajustes preestablecidos"
#: editor/project_export.cpp editor/project_settings_editor.cpp
msgid "Add..."
@@ -5981,7 +6903,7 @@ msgstr "Exportaciones previas"
#: editor/project_export.cpp
msgid "Make Patch"
-msgstr "Hacer \"Patch\""
+msgstr "Crear Patch"
#: editor/project_export.cpp
msgid "Features"
@@ -6004,33 +6926,39 @@ msgid "Export templates for this platform are missing:"
msgstr "Faltan plantillas de exportación para esta plataforma:"
#: 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 With Debug"
-msgstr "Exportar con Depuración"
+msgstr "Exportar con depuración"
#: editor/project_manager.cpp
msgid "The path does not exist."
msgstr "La ruta no existe."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Por favor elija un archivo 'project.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+"Por favor, elige un directorio que no contenga un archivo 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Por favor elija una carpeta vacía."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Por favor elija un archivo 'project.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
-msgstr "Proyecto Importado"
+msgstr "Proyecto importado"
#: editor/project_manager.cpp
msgid "Invalid Project Name."
-msgstr "Nombre de Proyecto Inválido."
+msgstr "Nombre de proyecto inválido."
#: editor/project_manager.cpp
msgid "Couldn't create folder."
@@ -6074,11 +7002,11 @@ msgstr "Renombrar proyecto"
#: editor/project_manager.cpp
msgid "New Game Project"
-msgstr "Nuevo Proyecto de Juego"
+msgstr "Nuevo proyecto de juego"
#: editor/project_manager.cpp
msgid "Import Existing Project"
-msgstr "Importar Proyecto Existente"
+msgstr "Importar proyecto existente"
#: editor/project_manager.cpp
msgid "Import & Edit"
@@ -6094,7 +7022,7 @@ msgstr "Crear y editar"
#: editor/project_manager.cpp
msgid "Install Project:"
-msgstr "Instalar Proyecto:"
+msgstr "Instalar proyecto:"
#: editor/project_manager.cpp
msgid "Install & Edit"
@@ -6110,7 +7038,12 @@ msgstr "Crear carpeta"
#: editor/project_manager.cpp
msgid "Project Path:"
-msgstr "Ruta del Proyecto:"
+msgstr "Ruta del proyecto:"
+
+#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Ruta del proyecto:"
#: editor/project_manager.cpp
msgid "Browse"
@@ -6118,7 +7051,7 @@ msgstr "Examinar"
#: editor/project_manager.cpp
msgid "Unnamed Project"
-msgstr "Proyecto sin Nombre"
+msgstr "Proyecto sin nombre"
#: editor/project_manager.cpp
msgid "Can't open project"
@@ -6183,15 +7116,15 @@ msgstr "Lista de proyectos"
#: editor/project_manager.cpp
msgid "Scan"
-msgstr "Analizar"
+msgstr "Escanear"
#: editor/project_manager.cpp
msgid "Select a Folder to Scan"
-msgstr "Selecciona la carpeta a analizar"
+msgstr "Selecciona una carpeta para escanear"
#: editor/project_manager.cpp
msgid "New Project"
-msgstr "Nuevo Proyecto"
+msgstr "Nuevo proyecto"
#: editor/project_manager.cpp
msgid "Templates"
@@ -6235,9 +7168,10 @@ msgid "Mouse Button"
msgstr "Botón del ratón"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Nombre de acción inválido. No puede estar vacío ni contener '/', ':', '=', "
"'\\' o '\"'."
@@ -6248,11 +7182,25 @@ msgstr "¡La acción «%s» ya existe!"
#: editor/project_settings_editor.cpp
msgid "Rename Input Action Event"
-msgstr "Renombrar Evento de Acción de Entrada"
+msgstr "Renombrar evento de acción de entrada"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Cambiar nombre de animación:"
#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
-msgstr "Añadir Evento de Acción de Entrada"
+msgstr "Añadir evento de acción de entrada"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Dispositivo"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Dispositivo"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
@@ -6295,20 +7243,24 @@ msgid "Wheel Down Button"
msgstr "Botón rueda abajo"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Botón 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Botón rueda arriba"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Botón 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Botón derecho"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Botón 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Botón 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Botón 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Botón 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6324,21 +7276,17 @@ msgstr "Ãndice de boton del mando:"
#: editor/project_settings_editor.cpp
msgid "Erase Input Action"
-msgstr "Borrar Acción de Entrada"
+msgstr "Borrar acción de entrada"
#: editor/project_settings_editor.cpp
msgid "Erase Input Action Event"
-msgstr "Borrar Evento de Acción de Entrada"
+msgstr "Borrar evento de acción de entrada"
#: editor/project_settings_editor.cpp
msgid "Add Event"
msgstr "Añadir evento"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Dispositivo"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Botón"
@@ -6383,12 +7331,20 @@ msgid "Delete Item"
msgstr "Eliminar elemento"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Nombre de acción inválido. No puede estar vacío ni contener '/', ':', '=', "
+"'\\' o '\"'."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Ya existe"
#: editor/project_settings_editor.cpp
msgid "Add Input Action"
-msgstr "Añadir Acción de Entrada"
+msgstr "Añadir acción de entrada"
#: editor/project_settings_editor.cpp
msgid "Error saving settings."
@@ -6400,7 +7356,7 @@ msgstr "Los ajustes se han guardado correctamente."
#: editor/project_settings_editor.cpp
msgid "Override for Feature"
-msgstr "Sobrescribir la Característica"
+msgstr "Sobrescribir la característica"
#: editor/project_settings_editor.cpp
msgid "Add Translation"
@@ -6454,15 +7410,27 @@ msgstr "Propiedad:"
msgid "Override For..."
msgstr "Sustituir por..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
-msgstr "Mapa de Entradas"
+msgstr "Mapa de entradas"
#: editor/project_settings_editor.cpp
msgid "Action:"
msgstr "Acción:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Acción"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Dispositivo:"
@@ -6523,10 +7491,6 @@ msgid "AutoLoad"
msgstr "AutoLoad"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Selecciona un Viewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Transición entrada"
@@ -6560,63 +7524,27 @@ msgstr "Asignar"
#: editor/property_editor.cpp
msgid "Select Node"
-msgstr "Seleccionar Nodo"
-
-#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Nuevo script"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Nuevo %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Hacer único"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Mostrar en el sistema de archivos"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Convertir a %s"
+msgstr "Seleccionar nodo"
#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Error al cargar el archivo: ¡No es un recurso!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "¡El nodo seleccionado no es un Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
-msgstr "Selecciona un Nodo"
+msgstr "Selecciona un nodo"
#: editor/property_editor.cpp
msgid "Bit %d, val %d."
msgstr "Bit %d, valor %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Activado"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Vacío]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Establecer"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Propiedades:"
#: editor/property_selector.cpp
msgid "Select Property"
-msgstr "Seleccionar Propiedad"
+msgstr "Seleccionar propiedad"
#: editor/property_selector.cpp
msgid "Select Virtual Method"
@@ -6635,9 +7563,137 @@ msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
"No se pudo volver a cargar la imagen convertida usando la herramienta PVRTC:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Renombrar"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opciones de fijado"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nombre del nodo:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Buscar tipo de nodo"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Escena actual"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nombre del nodo:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Paso:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Cambiar expresión"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Script de posprocesado:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Conservar"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Minúscula"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Mayúscula"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Restablecer zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Error"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
-msgstr "Reemparentar Nodo"
+msgstr "Reemparentar nodo"
#: editor/reparent_dialog.cpp
msgid "Reparent Location (Select new Parent):"
@@ -6645,7 +7701,7 @@ msgstr "Reemparentar ubicación (selecciona un nuevo padre):"
#: editor/reparent_dialog.cpp
msgid "Keep Global Transform"
-msgstr "Mantener Transformación Global"
+msgstr "Mantener transformación global"
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent"
@@ -6671,11 +7727,6 @@ msgstr "Argumentos de escena principal:"
msgid "Scene Run Settings"
msgstr "Ajustes de ejecución de escena"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Aceptar"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "No hay padre donde instanciar la escena."
@@ -6697,24 +7748,28 @@ msgid "Instance Scene(s)"
msgstr "Instanciar escenas"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Quitar script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Esta operación no puede ser hecha en el árbol raíz."
#: editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
-msgstr "Mover Nodo Dentro del Padre"
+msgstr "Mover nodo dentro del padre"
#: editor/scene_tree_dock.cpp
msgid "Move Nodes In Parent"
-msgstr "Mover Nodos Dentro del Padre"
+msgstr "Mover nodos dentro del padre"
#: editor/scene_tree_dock.cpp
msgid "Duplicate Node(s)"
-msgstr "Duplicar Nodo(s)"
+msgstr "Duplicar nodo(s)"
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)?"
-msgstr "¿Eliminar Nodo(s)?"
+msgstr "¿Eliminar nodo(s)?"
#: editor/scene_tree_dock.cpp
msgid "Can not perform with the root node."
@@ -6726,23 +7781,44 @@ msgstr "Esta operación no puede realizarse en escenas instanciadas."
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
-msgstr "Guardar Nueva Escena Como..."
+msgstr "Guardar nueva escena como..."
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
-msgstr "Hijos Editables"
+msgstr "Hijos editables"
#: editor/scene_tree_dock.cpp
msgid "Load As Placeholder"
-msgstr "Cargar como Temporal"
+msgstr "Cargar como Placeholder"
+
+#: editor/scene_tree_dock.cpp
+msgid "Make Local"
+msgstr "Crear local"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Crear nodo"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Escenas"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Escenas"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Descartar Instancia"
+#, fuzzy
+msgid "User Interface"
+msgstr "Limpiar heredado"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "¡Entendido!"
+#, fuzzy
+msgid "Custom Node"
+msgstr "Cortar nodos"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6753,8 +7829,12 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "¡No se puede operar sobre los nodos heredados por la escena actual!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Añadir script"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
-msgstr "Eliminar Nodo(s)"
+msgstr "Eliminar nodo(s)"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -6778,65 +7858,58 @@ msgstr "Sub-Recursos"
#: editor/scene_tree_dock.cpp
msgid "Clear Inheritance"
-msgstr "Limpiar Heredado"
+msgstr "Limpiar heredado"
#: editor/scene_tree_dock.cpp
msgid "Delete Node(s)"
-msgstr "Eliminar Nodo(s)"
+msgstr "Eliminar nodo(s)"
#: editor/scene_tree_dock.cpp
msgid "Add Child Node"
-msgstr "Añadir Nodo Hijo"
+msgstr "Añadir nodo hijo"
#: editor/scene_tree_dock.cpp
msgid "Instance Child Scene"
-msgstr "Instanciar Escena Hija"
+msgstr "Instanciar escena hija"
#: editor/scene_tree_dock.cpp
msgid "Change Type"
-msgstr "Cambiar Tipo"
-
-#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Añadir Script"
+msgstr "Cambiar tipo"
#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Quitar script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Nueva Raíz de Escena"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
-msgstr "Unir Desde Escena"
+msgstr "Unir desde escena"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
-msgstr "Guardar Rama como Escena"
+msgstr "Guardar rama como escena"
#: editor/scene_tree_dock.cpp
msgid "Copy Node Path"
-msgstr "Copiar Ruta del Nodo"
+msgstr "Copiar ruta del nodo"
#: editor/scene_tree_dock.cpp
msgid "Delete (No Confirm)"
-msgstr "Eliminar (Sin Confirmar)"
+msgstr "Eliminar (Sin confirmar)"
#: editor/scene_tree_dock.cpp
msgid "Add/Create a New Node"
-msgstr "Añadir/Crear un Nuevo Nodo"
+msgstr "Añadir/Crear un nuevo nodo"
#: editor/scene_tree_dock.cpp
msgid ""
"Instance a scene file as a Node. Creates an inherited scene if no root node "
"exists."
msgstr ""
-"Instanciar un archivo de escena como Nodo. Crea una escena heredada si no "
+"Instanciar un archivo de escena como nodo. Crea una escena heredada si no "
"existe ningún nodo raíz."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrar nodos"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Añadir un script nuevo o existente al nodo seleccionado."
@@ -6856,25 +7929,19 @@ msgstr "Local"
msgid "Clear Inheritance? (No Undo!)"
msgstr "¿Quieres limpiar la herencia? (No se puede deshacer)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "¡Borrar!"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Act/Desact. Espacial Visible"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Act/Desact. CanvasItem Visible"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Cambiar visibilidad"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Alerta de configuración de nodos:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"El nodo tiene conexión(es) y grupo(s)\n"
@@ -6896,29 +7963,38 @@ msgstr ""
"El nodo está en el/los grupo(s).\n"
"Haz clic para mostrar el panel de grupos."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Abrir script"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"El nodo está bloqueado.\n"
"Haz clic para desbloquear"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Los hijos no son seleccionables.\n"
"Haz clic para hacerlos seleccionables"
#: editor/scene_tree_editor.cpp
msgid "Toggle Visibility"
-msgstr "Alternar visibilidad"
+msgstr "Cambiar visibilidad"
+
+#: 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:"
@@ -6927,7 +8003,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid "Rename Node"
-msgstr "Renombrar Nodo"
+msgstr "Renombrar nodo"
#: editor/scene_tree_editor.cpp
msgid "Scene Tree (Nodes):"
@@ -6935,11 +8011,11 @@ msgstr "Ãrbol de escenas (nodos):"
#: editor/scene_tree_editor.cpp
msgid "Node Configuration Warning!"
-msgstr "¡Alerta de Configuración de Nodos!"
+msgstr "¡Alerta de configuración de nodos!"
#: editor/scene_tree_editor.cpp
msgid "Select a Node"
-msgstr "Selecciona un Nodo"
+msgstr "Selecciona un nodo"
#: editor/script_create_dialog.cpp
msgid "Error loading template '%s'"
@@ -6958,6 +8034,11 @@ msgid "N/A"
msgstr "N/D"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Abrir editor de script"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "La ruta está vacia"
@@ -7091,7 +8172,7 @@ msgstr "Inspeccionar Instancia Siguiente"
#: editor/script_editor_debugger.cpp
msgid "Stack Frames"
-msgstr "Frames del Stack"
+msgstr "Frames del stack"
#: editor/script_editor_debugger.cpp
msgid "Variable"
@@ -7123,7 +8204,7 @@ msgstr "Monitores"
#: editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
-msgstr "Lista de Uso de Memoria de Video por Recurso:"
+msgstr "Lista de uso de memoria de video por recurso:"
#: editor/script_editor_debugger.cpp
msgid "Total:"
@@ -7155,15 +8236,15 @@ msgstr "Otros"
#: editor/script_editor_debugger.cpp
msgid "Clicked Control:"
-msgstr "Controles Seleccionados:"
+msgstr "Controles seleccionados:"
#: editor/script_editor_debugger.cpp
msgid "Clicked Control Type:"
-msgstr "Tipo de Controles Seleccionados:"
+msgstr "Tipo de controles seleccionados:"
#: editor/script_editor_debugger.cpp
msgid "Live Edit Root:"
-msgstr "Raíz de Edición en Vivo:"
+msgstr "Raíz de edición en vivo:"
#: editor/script_editor_debugger.cpp
msgid "Set From Tree"
@@ -7179,7 +8260,7 @@ msgstr "Asignación"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
-msgstr "Cambiar Radio de Luces"
+msgstr "Cambiar radio de luces"
#: editor/spatial_editor_gizmos.cpp
msgid "Change AudioStreamPlayer3D Emission Angle"
@@ -7187,43 +8268,74 @@ msgstr "Cambiar el ángulo de emisión de AudioStreamPlayer3D"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera FOV"
-msgstr "Cambiar FOV de Cámara"
+msgstr "Cambiar FOV de cámara"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Camera Size"
-msgstr "Cambiar Tamaño de Cámara"
+msgstr "Cambiar tamaño de cámara"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
-msgstr "Cambiar Radio de Shape Esférico"
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Cambiar alcances de notificadores"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Cambiar partículas AABB"
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Cambiar alcance de la sonda"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
+msgid "Change Sphere Shape Radius"
+msgstr "Cambiar radio de shape esférico"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
-msgstr "Cambiar Radio de Shape Caja"
+msgstr "Cambiar radio de shape caja"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Radius"
-msgstr "Cambiar Radio de Shape Cápsula"
+msgstr "Cambiar radio de shape cápsula"
#: editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Height"
-msgstr "Cambiar Altura de Shape Cápsula"
+msgstr "Cambiar altura de shape cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Cambiar longitud de forma de rayo"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Cambiar radio de shape cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Cambiar Alcances de Notificadores"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Cambiar altura de shape cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Cambiar partículas AABB"
+msgid "Change Ray Shape Length"
+msgstr "Cambiar longitud de forma de rayo"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Cambiar Alcance de la Sonda"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Cambiar radio de luces"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Cambiar altura de shape cápsula"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Cambiar radio de shape esférico"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Cambiar radio de luces"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7251,7 +8363,7 @@ msgstr "Plataforma"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Dynamic Library"
-msgstr "Librería Dinámica"
+msgstr "Librería dinámica"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Add an architecture entry"
@@ -7278,20 +8390,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"El argumento para convert() no es correcto, prueba utilizando constantes "
-"TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"O no hay suficientes bytes para decodificar bytes o el formato no es "
-"correcto."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "¡el argumento del paso es cero!"
@@ -7333,7 +8431,7 @@ msgstr "El objeto no puede proporcionar una longitud."
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
-msgstr "Siguiente Plano"
+msgstr "Siguiente plano"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Previous Plane"
@@ -7345,11 +8443,11 @@ msgstr "Plano:"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Floor"
-msgstr "Siguiente Piso"
+msgstr "Siguiente suelo"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Previous Floor"
-msgstr "Suelo Anterior"
+msgstr "Suelo anterior"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Floor:"
@@ -7360,28 +8458,33 @@ msgid "GridMap Delete Selection"
msgstr "GridMap Quitar seleccionados"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "GridMap Quitar seleccionados"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "GridMap Duplicar selección"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Grid Map"
-msgstr "Mapa de Cuadrícula"
+msgstr "Mapa de cuadrícula"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Snap View"
-msgstr "Fijar Vista"
+msgstr "Fijar vista"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Disabled"
-msgstr "Clip Deshabilitado"
+msgstr "Clip deshabilitado"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Above"
-msgstr "Clip Arriba"
+msgstr "Clip arriba"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clip Below"
-msgstr "Clip Debajo"
+msgstr "Clip debajo"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Edit X Axis"
@@ -7425,7 +8528,7 @@ msgstr "Quitar rotación del cursor"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Create Area"
-msgstr "Crear area"
+msgstr "Crear área"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Create Exterior Connector"
@@ -7433,13 +8536,18 @@ msgstr "Crear conector exterior"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Erase Area"
-msgstr "Borrar area"
+msgstr "Borrar área"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Clear Selection"
msgstr "Deseleccionar"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Toda la selección"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Ajustes del GridMap"
@@ -7493,21 +8601,84 @@ msgstr "Compilaciones"
#: modules/mono/editor/mono_bottom_panel.cpp
msgid "Build Project"
-msgstr "Compilar Proyecto"
+msgstr "Compilar proyecto"
#: modules/mono/editor/mono_bottom_panel.cpp
msgid "Warnings"
msgstr "Advertencias"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Ver Archivos"
+msgstr "Ver registro"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Fin del reporte de la pila de excepciones"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "¡Calcular!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Pre-calcular la malla de navegación."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Vaciar malla de navegación."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Estableciendo la configuración..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Calculando tamaño de cuadrícula..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Creando heightfield..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Marcando triángulos transitables..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Construyendo heightfield compacto..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Erosionando área transitable..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Particionando..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Creando contornos..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Crear polymesh..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Convirtiendo a malla de navegación nativa..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Configuración del generador de mallas de navegación:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Analizando geometría..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "¡Hecho!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7548,7 +8719,7 @@ msgstr "Desbordamiento de pila en el nivel: "
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Signal Arguments"
-msgstr "Cambiar Argumentos de la Señal"
+msgstr "Cambiar argumentos de la señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Argument Type"
@@ -7567,10 +8738,6 @@ msgid "Set Variable Type"
msgstr "Establecer tipo de la variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funciones:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variables:"
@@ -7584,35 +8751,35 @@ msgstr "Otra función/variable/señal ya utiliza este nombre:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Function"
-msgstr "Renombrar Función"
+msgstr "Renombrar función"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Variable"
-msgstr "Renombrar Variable"
+msgstr "Renombrar variable"
#: modules/visual_script/visual_script_editor.cpp
msgid "Rename Signal"
-msgstr "Renombrar Señal"
+msgstr "Renombrar señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Function"
-msgstr "Añadir Función"
+msgstr "Añadir función"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Variable"
-msgstr "Añadir Variable"
+msgstr "Añadir variable"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Signal"
-msgstr "Añadir Señal"
+msgstr "Añadir señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Expression"
-msgstr "Cambiar Expresión"
+msgstr "Cambiar expresión"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node"
-msgstr "Añadir Nodo"
+msgstr "Añadir nodo"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove VisualScript Nodes"
@@ -7620,7 +8787,7 @@ msgstr "Quitar nodos de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Duplicate VisualScript Nodes"
-msgstr "Duplicar Nodos de VisualScript"
+msgstr "Duplicar nodos de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature."
@@ -7644,19 +8811,19 @@ msgstr "Mantén pulsado Ctrl para soltar una referencia simple al nodo."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold %s to drop a Variable Setter."
-msgstr "Mantén pulsado %s para quitar un «Setter» de variable."
+msgstr "Mantén pulsado %s para quitar un Setter de variable."
#: modules/visual_script/visual_script_editor.cpp
msgid "Hold Ctrl to drop a Variable Setter."
-msgstr "Mantén pulsado Ctrl para soltar un «Setter» de variable."
+msgstr "Mantén pulsado Ctrl para soltar un Setter de variable."
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Preload Node"
-msgstr "Añadir Nodo Preload"
+msgstr "Añadir nodo Preload"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Node(s) From Tree"
-msgstr "Añadir Nodo(s) desde Ãrbol"
+msgstr "Añadir nodo(s) desde árbol"
#: modules/visual_script/visual_script_editor.cpp
msgid "Add Getter Property"
@@ -7672,47 +8839,25 @@ msgstr "Cambiar tipo base"
#: modules/visual_script/visual_script_editor.cpp
msgid "Move Node(s)"
-msgstr "Mover Nodo(s)"
+msgstr "Mover nodo(s)"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove VisualScript Node"
-msgstr "Quitar Nodo de VisualScript"
+msgstr "Quitar nodo de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Connect Nodes"
-msgstr "Conectar Nodos"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condición"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Secuencia"
+msgstr "Conectar nodos"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Switch"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterador"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Mientras (\"While\")"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Devuelve (\"Return\")"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Llamada (\"Call\")"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Conectar nodos"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Obtener (\"Get\")"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Conectar nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7720,7 +8865,7 @@ msgstr "El script ya contiene la función '%s'"
#: modules/visual_script/visual_script_editor.cpp
msgid "Change Input Value"
-msgstr "Cambiar Valor de Entrada"
+msgstr "Cambiar valor de entrada"
#: modules/visual_script/visual_script_editor.cpp
msgid "Can't copy the function node."
@@ -7736,35 +8881,27 @@ msgstr "Pegar nodos de VisualScript"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Function"
-msgstr "Quitar Función"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Editar Variable"
+msgstr "Quitar función"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
-msgstr "Quitar Variable"
+msgstr "Quitar variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Editar Señal"
+msgid "Editing Variable:"
+msgstr "Editando variable:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
-msgstr "Quitar Señal"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Editando Variable:"
+msgstr "Quitar señal"
#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
-msgstr "Editando Señal:"
+msgstr "Editando señal:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Base Type:"
-msgstr "Tipo Base:"
+msgstr "Tipo base:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Available Nodes:"
@@ -7780,7 +8917,7 @@ msgstr "Editar argumentos de la señal:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Edit Variable:"
-msgstr "Editar Variable:"
+msgstr "Editar variable:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Delete Selected"
@@ -7788,19 +8925,24 @@ msgstr "Quitar seleccionados"
#: modules/visual_script/visual_script_editor.cpp
msgid "Find Node Type"
-msgstr "Buscar Tipo de Nodo"
+msgstr "Buscar tipo de nodo"
#: modules/visual_script/visual_script_editor.cpp
msgid "Copy Nodes"
-msgstr "Copiar Nodos"
+msgstr "Copiar nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Cut Nodes"
-msgstr "Cortar Nodos"
+msgstr "Cortar nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Paste Nodes"
-msgstr "Pegar Nodos"
+msgstr "Pegar nodos"
+
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Miembros"
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
@@ -7820,11 +8962,11 @@ msgstr "Ãndice del nombre de la propiedad inválido."
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Base object is not a Node!"
-msgstr "¡El objeto base no es un Nodo!"
+msgstr "¡El objeto base no es un nodo!"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Path does not lead Node!"
-msgstr "¡La ruta no apunta a un Nodo!"
+msgstr "¡La ruta no apunta a un nodo!"
#: modules/visual_script/visual_script_func_nodes.cpp
msgid "Invalid index property name '%s' in node %s."
@@ -7860,6 +9002,19 @@ msgstr ""
"El valor devuelto por _step() no es correcto, debe ser un entero (seq out), "
"o string/cadena (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Quitar nodo de VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Get"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Ejecutar en navegador"
@@ -7910,9 +9065,10 @@ msgstr ""
"el resto van a ser ignorados."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Este nodo no tiene formas hijas, por lo que no puede interactuar con el "
@@ -8024,6 +9180,19 @@ msgstr ""
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/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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8078,7 +9247,7 @@ msgstr "Trazando mallas: "
#: scene/3d/baked_lightmap.cpp
msgid "Plotting Lights:"
-msgstr "Trazando Iluminación:"
+msgstr "Trazando iluminación:"
#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
msgid "Finishing Plot"
@@ -8086,12 +9255,13 @@ msgstr "Desentramado final"
#: scene/3d/baked_lightmap.cpp
msgid "Lighting Meshes: "
-msgstr "Iluminando Mallas: "
+msgstr "Iluminando mallas: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Este nodo no tiene formas hijas, por lo que no puede interactuar con el "
@@ -8133,7 +9303,7 @@ msgstr ""
#: scene/3d/gi_probe.cpp
msgid "Plotting Meshes"
-msgstr "Trazando Mallas"
+msgstr "Trazando mallas"
#: scene/3d/navigation_mesh.cpp
msgid "A NavigationMesh resource must be set or created for this node to work."
@@ -8190,6 +9360,21 @@ msgstr ""
"escenas 3D) o configura el Background Mode de este entorno en modo Canvas "
"(para escenas 2D)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Los cambios en el tamaño del RigidBody (en los modos \"character\" o \"rigid"
+"\") serán sobre-escritos por el motor de físicas cuando se ejecute.\n"
+"En lugar de esto, cambie el tamaño en las formas de colisión hijas."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8206,6 +9391,49 @@ msgstr ""
"VehicleWheel sirve para proporcionar un sistema de ruedas a un VehicleBody. "
"Por favor, úselo como hijo de un VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Herramientas de animación"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERROR: ¡El nombre de animación no es correcto!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Desconectar '%s' de '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Selecciona un AnimationPlayer desde el árbol de escenas para editar "
+"animaciones."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "El árbol de animación no es correcto."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Modo Raw"
@@ -8220,7 +9448,7 @@ msgstr "¡Alerta!"
#: scene/gui/dialogs.cpp
msgid "Please Confirm..."
-msgstr "Por favor, Confirma..."
+msgstr "Por favor, confirma..."
#: scene/gui/file_dialog.cpp
msgid "Select this Folder"
@@ -8286,12 +9514,376 @@ msgstr "Error al cargar la tipografía."
msgid "Invalid font size."
msgstr "Tamaño de tipografía incorrecto."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Pestaña anterior"
+msgid "Input"
+msgstr "Añadir Entrada"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Ninguno>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "¡Origen incorrecto!"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Cambiar constante escalar"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Cambiar Constante Vec."
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Cambiar Constante RGB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Cambiar operador escalar"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Cambiar operador Vec"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Cambiar operador Vec Scalar"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Cambiar operador RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Act/desact. solo Rot"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Cambiar función Scalar"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Cambiar función Vec"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Cambiar Scalar uniforme"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Cambiar Vec uniforme"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Cambiar RGB uniforme"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Cambiar valor por defecto"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Cambiar XForm uniforme"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Cambiar textura uniforme"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Cambiar Cubemap uniforme"
+
+#~ msgid "Change Comment"
+#~ msgstr "Cambiar comentario"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Añadir/quitar de rampa de color"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modificar rampa de color"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Añadir/quitar a/de mapa de curvas"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Modificar mapa de curvas"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Cambiar nombre de entrada"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Conectar nodos gráficos"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Desconectar nodos gráficos"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Eliminar el nodo gráfico del shader"
-#~ msgid "Next"
-#~ msgstr "Siguiente"
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Mover el nodo gráfico del shader"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Duplicar nodo(s) gráfico"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Eliminar nodo(s) gráfico(s) del shader"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Error: Link de conexión cíclico"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Error: Conexiones de entrada faltantes"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Añadir nodo gráfico del shader"
+
+#~ msgid "Disabled"
+#~ msgstr "Desactivado"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Subir pista de animación"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Bajar pista de animación"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Establecer transiciones en:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Renombrar pista de animación"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Cambiar interpolación de pista de animación"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Cambiar modo de valor de pista de animación"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Cambiar modo de ciclo de pista de animación"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Editar curva del nodo"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Editar curva de selección"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Añadir clave de animación"
+
+#~ msgid "In"
+#~ msgstr "Entrada"
+
+#~ msgid "Out"
+#~ msgstr "Salida"
+
+#~ msgid "In-Out"
+#~ msgstr "Entrada-Salida"
+
+#~ msgid "Out-In"
+#~ msgstr "Salida-Entrada"
+
+#~ msgid "Transitions"
+#~ msgstr "Transiciones"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Cambiar duración de animación"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Cambiar bucle de animación"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Crear clave de valor tipado para animación"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Añadir call track de animación"
+
+#~ msgid "Length (s):"
+#~ msgstr "Duración (segs.):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Paso(s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Fijado del cursor por pasos (en segundos)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Activar/Desactivar bucle de animación."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Añadir nuevas pistas."
+
+#~ msgid "Move current track up."
+#~ msgstr "Subir la pista actual."
+
+#~ msgid "Move current track down."
+#~ msgstr "Bajar la pista actual."
+
+#~ msgid "Track tools"
+#~ msgstr "Herramientas de pistas"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Habilitar la edición de claves individuales haciendo clic en ellas."
+
+#~ msgid "Key"
+#~ msgstr "Clave"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "¿Desde que nodo quieres realizar llamadas a funciones?"
+
+#~ msgid "Thanks!"
+#~ msgstr "¡Gracias!"
+
+#~ msgid "I see..."
+#~ msgstr "Ya veo..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "No se puede abrir '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Vaya"
+
+#~ msgid "Run Script"
+#~ msgstr "Ejecutar script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Guardar el recurso editado actualmente."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Parar Profiling"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Iniciar Profiling"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Predeterminado (igual que el editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Crear nueva animación en el reproductor."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Cargar una animación desde disco."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Cargar una animación desde disco."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Guardar la animación actual"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Editar tiempos de mezcla con otras animaciones"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copiar animación"
+
+#~ msgid "Fetching:"
+#~ msgstr "Buscando:"
+
+#~ msgid "prev"
+#~ msgstr "anterior"
+
+#~ msgid "next"
+#~ msgstr "siguiente"
+
+#~ msgid "last"
+#~ msgstr "último"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Editar Cadena IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Arrastrar pivote desde la posición del ratón"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Establecer punto de pivotado en la posición del ratón"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Añadir/quitar punto en la rampa del degradado"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Visibilidad de Gizmo esqueleto"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "Vista previa de StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "Caja de estilos"
+
+#~ msgid "Separation:"
+#~ msgstr "Separación:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Editor de regiones de texturas"
+
+#~ msgid "Erase selection"
+#~ msgstr "Eliminar selección"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "No se pudo cargar el tile:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nombre o ID de Item:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Autotiles"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Las plantillas de exportación para esta plataforma faltan/están "
+#~ "corruptas: "
+
+#~ msgid "Button 7"
+#~ msgstr "Botón 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Botón 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Botón 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Descartar instancia"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "¡Entendido!"
+
+#~ msgid "Clear!"
+#~ msgstr "¡Borrar!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Act/desact. Spatial visible"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Act/desact. CanvasItem visible"
+
+#~ msgid "Condition"
+#~ msgstr "Condición"
+
+#~ msgid "Sequence"
+#~ msgstr "Secuencia"
+
+#~ msgid "Switch"
+#~ msgstr "Switch"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterador"
+
+#~ msgid "While"
+#~ msgstr "While"
+
+#~ msgid "Return"
+#~ msgstr "Return"
+
+#~ msgid "Call"
+#~ msgstr "Call"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Editar variable"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Editar señal"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "La acción no es correcta (no puedes utilizar «/» o «:»)."
@@ -8309,10 +9901,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Can't write file."
#~ msgstr "No se puede escribir el archivo."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Por favor, elige un directorio que no contenga un archivo 'project.godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "No se encontró project.godot en la ruta del proyecto."
@@ -8444,9 +10032,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ "El Viewport seteado en la propiedad path debe ser seteado como 'render "
#~ "target' para que este sprite funcione."
-#~ msgid "Filter:"
-#~ msgstr "Filtro:"
-
#, fuzzy
#~ msgid "' parsing of config failed."
#~ msgstr "' análisis de config fallido."
@@ -8487,9 +10072,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "La escena actual debe ser guardada para reimportar."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Guardar y reimportar"
-
#~ msgid "Re-Importing"
#~ msgstr "Reimportando"
@@ -8525,10 +10107,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "No se pueden renombrar las dependencias para:\n"
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Error al cargar la imagen:"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Elige un nombre nuevo y ubicación para:"
@@ -8553,9 +10131,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Target path must exist."
#~ msgstr "La ruta de destino debe existir."
-#~ msgid "Save path is empty!"
-#~ msgstr "La ruta de guardado esta vacía!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Importar BitMasks"
@@ -8667,15 +10242,9 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Max Angle"
#~ msgstr "Ãngulo máximo"
-#~ msgid "Clips"
-#~ msgstr "Clips"
-
#~ msgid "Start(s)"
#~ msgstr "Inicios"
-#~ msgid "End(s)"
-#~ msgstr "Finales"
-
#~ msgid "Filters"
#~ msgstr "Filtros"
@@ -8706,19 +10275,12 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Target Texture Folder:"
#~ msgstr "Carpeta de texturas elegida:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Script de posprocesado:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Tipo de Nodo Raiz Customizado:"
#~ msgid "Auto"
#~ msgstr "Auto"
-#, fuzzy
-#~ msgid "Root Node Name:"
-#~ msgstr "Nombre del nodo:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Faltan los siguientes archivos:"
@@ -8778,9 +10340,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Importar texturas para atlas (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Tamaño de celda:"
-
#~ msgid "Large Texture"
#~ msgstr "Textura grande"
@@ -8863,9 +10422,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "No se pudo guardar la textura convertida:"
-#~ msgid "Invalid source!"
-#~ msgstr "¡Origen incorrecto!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "¡Origen de traducción incorrecto!"
@@ -8906,9 +10462,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Translation"
#~ msgstr "Traducción"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "Leyendo %d triángulos:"
-
#~ msgid "Triangle #"
#~ msgstr "Nº de triángulos"
@@ -8935,24 +10488,12 @@ msgstr "Tamaño de tipografía incorrecto."
#~ "Restablece el proceso de «bake» del «octree» del «lightmap» (empezar de "
#~ "nuevo)."
-#~ msgid "Zoom (%):"
-#~ msgstr "Zoom (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Esqueleto..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Restablecer zoom"
-
#~ msgid "Zoom Set..."
#~ msgstr "Ajustar zoom..."
#~ msgid "Set a Value"
#~ msgstr "Establecer valor"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Fijar (Pixeles):"
-
#~ msgid "Parse BBCode"
#~ msgstr "Leer BBCode"
@@ -9030,15 +10571,9 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Resource Tools"
#~ msgstr "Herramientas de recursos"
-#~ msgid "Make Local"
-#~ msgstr "Crear local"
-
#~ msgid "Edit Groups"
#~ msgstr "Editar grupos"
-#~ msgid "Edit Connections"
-#~ msgstr "Editar conexiones"
-
#, fuzzy
#~ msgid "GridMap Paint"
#~ msgstr "Coloreado de GridMap"
@@ -9206,9 +10741,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Ambient Light Color:"
#~ msgstr "Color de iluminación ambiental:"
-#~ msgid "Couldn't load image"
-#~ msgstr "No se pudo cargar la imagen"
-
#~ msgid "Invalid parent class name"
#~ msgstr "El nombre de clase padre no es correcto"
@@ -9224,9 +10756,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Parent class name is invalid!"
#~ msgstr "¡El nombre de clase padre no es correcto!"
-#~ msgid "Invalid path!"
-#~ msgstr "¡Ruta incorrecta!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "La propiedad Path debe apuntar a un nodo Particles2D valido para "
@@ -9336,9 +10865,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Delete Image Group"
#~ msgstr "Eliminar grupo de imágenes"
-#~ msgid "Atlas Preview"
-#~ msgstr "Vista previa del atlas"
-
#~ msgid "Project Export Settings"
#~ msgstr "Ajustes de exportación del proyecto"
@@ -9351,9 +10877,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Export all files in the project directory."
#~ msgstr "Exportar todos los archivos en la carpeta del proyecto."
-#~ msgid "Action"
-#~ msgstr "Acción"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "Convertir escenas de texto a binario al exportar."
@@ -9381,9 +10904,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Compress Formats:"
#~ msgstr "Formatos de compresión:"
-#~ msgid "Image Groups"
-#~ msgstr "Grupos de imágenes"
-
#~ msgid "Groups:"
#~ msgstr "Grupos:"
@@ -9423,9 +10943,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Modo de conversión de muestreo: (archivos .wav):"
-#~ msgid "Keep"
-#~ msgstr "Conservar"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Comprimir (RAM - IMA-ADPCM)"
@@ -9468,9 +10985,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance no contiene un recurso BakedLight."
-#~ msgid "Fragment"
-#~ msgstr "Fragmento"
-
#~ msgid "Lighting"
#~ msgstr "Iluminación"
@@ -9536,9 +11050,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Align with view (Ctrl+Shift+F)"
#~ msgstr "Alinear con vista (Ctrl+Shift+F)"
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "Cambiar Interpolación de Loop de Anim"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "Activar/Desactivar interpolación al loopear animación."
@@ -9555,9 +11066,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ "Sin textura en este nodo.\n"
#~ "Asigná una textura para poder editar la región."
-#~ msgid "New Scene Root"
-#~ msgstr "Nueva Raíz de Escena"
-
#~ msgid "Inherit Scene"
#~ msgstr "Heredar Escena"
@@ -9570,9 +11078,6 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Reload Tool Script (Soft)"
#~ msgstr "Volver a Cargar Script de Herramientas (Soft)"
-#~ msgid "Edit Connections..."
-#~ msgstr "Editar Conecciones..."
-
#~ msgid "Set Params"
#~ msgstr "Setear Params"
@@ -9587,9 +11092,3 @@ msgstr "Tamaño de tipografía incorrecto."
#~ msgid "Group Editor"
#~ msgstr "Editor de Grupos"
-
-#~ msgid "Node Group(s)"
-#~ msgstr "Grupo(s) de Nodos"
-
-#~ msgid "Plugin List:"
-#~ msgstr "Lista de Plugins:"
diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po
index bea184b813..457b63c44b 100644
--- a/editor/translations/es_AR.po
+++ b/editor/translations/es_AR.po
@@ -6,12 +6,13 @@
# Lisandro Lorea <lisandrolorea@gmail.com>, 2016-2018.
# Roger Blanco Ribera <roger.blancoribera@gmail.com>, 2016-2018.
# Sebastian Silva <sebastian@sugarlabs.org>, 2016.
+# Jose Luis Bossio <joseluisbossio@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-06-06 13:28+0000\n"
-"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
+"PO-Revision-Date: 2018-07-27 15:44+0000\n"
+"Last-Translator: Jose Luis Bossio <joseluisbossio@gmail.com>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/"
"godot-engine/godot/es_AR/>\n"
"Language: es_AR\n"
@@ -19,335 +20,492 @@ 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 3.0\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Desactivado"
+#: 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 "Argumento de tipo inválido para convert(), usá constantes TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Toda la Selección"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+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 ""
+
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Nombre de propiedad índice '%s' inválido en nodo %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Nombre de propiedad índice '%s' inválido en nodo %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argumento inválido de tipo: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Libre"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Espejar X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Insertar Clave"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplicar Selección"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Eliminar Seleccionados"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Duplicar Claves de Anim"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Borrar Claves de Anim"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Cambiar Tiempo de Keyframe de Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
-msgstr "Cambiar Transición de Anim"
+msgstr "Cambio de transición Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Cambiar Transform de Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Cambiar Valor de Keyframe de Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Cambiar Call de Anim"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Agregar pista de animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Propiedad:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Duplicar Claves de Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Tipo de Transformación"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Subir pista de animación"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Bajar pista de animación"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Quitar pista de animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Detener la reproducción de la animación. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Agregar pista de animación"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Establecer Transiciones a:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Duración de la animación (en segundos)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Renombrar pista de animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom de animación."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Cambiar Interpolación de Track de Anim"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funciones:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Cambiar Modo de Valor de Track de Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Oyente de Audio"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Cambiar Modo de Envoltura de Track de Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Clips"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Editar Nodo Curva"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Act./Desact. modo sin distracciones."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Editar Curva de Selección"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Borrar Claves de Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nodo de Animación"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplicar Selección"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplicar Transpuesto"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Quitar la pista seleccionada."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Quitar Selección"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tiempo de Crossfade (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Contínuo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discreto"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Trigger"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Agregar Clave de Anim"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Mover Claves de Anim"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Escalar Selección"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Escalar Desde Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Ir a Paso Próximo"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Características"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Ir a Paso Previo"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineal"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constante"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Out"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "Cambiar Interpolación de Loop de Anim"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Insertar Clave"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transiciones"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplicar Nodo(s)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimizar Animación"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Eliminar Nodo(s)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Hacer Clean-Up de Animación"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Quitar pista de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Crear NUEVO track para %s e insertar clave?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Crear %d NUEVOS tracks e insertar claves?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Crear"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Insertar Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Crear e Insertar Animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Insertar Pista y Clave de Animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Insertar Clave de Animación"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Cambiar Largo de Anim"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Cambiar Loop de Animación"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Crear Clave de Valor Tipado para Anim"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Insertar Anim"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "VariableGet no encontrado en el script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Mover Claves de Anim"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "El portapapeles está vacío!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Escalar Keys de Anim"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Agregar Call Track para Anim"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom de animación."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Duración (seg):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Duración de la animación (en segundos)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Snap (Pixeles):"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Paso (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "El árbol de animación es válido."
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Snap de cursor por pasos (en segundos)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Editar"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Activar/Desactivar ciclo en la animación."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimationTree"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Agregar nuevas pistas."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copiar Parámetros"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Subir pista actual."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Pegar Parámetros"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Bajar pista actual."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Escalar Selección"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Quitar la pista seleccionada."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Escalar Desde Cursor"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplicar Selección"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplicar Transpuesto"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Eliminar Seleccionados"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Herramientas de pistas"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Ir a Paso Próximo"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Activar la edición de claves individuales al cliquearlas."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Ir a Paso Previo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimizar Animación"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Hacer Clean-Up de Animación"
+
+#: 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 "Anim. Optimizer"
msgstr "Optimizador de animación"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Error Lineal Max.:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Error Angular Max.:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Angulo Optimizable Max.:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimizar"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Selecciona un AnimationPlayer del Ãrbol de Escenas para editar animaciones."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Clave"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transición"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Ratio de Escala:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Llamar Funciones en Cuál Nodo?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Quitar claves inválidas"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Quitar pistas vacías y sin resolver"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Hacer clean-up de todas las animaciones"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Hacer Clean-Up de Animación(es) (IMPOSIBLE DESHACER!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Clean-Up"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Ratio de Escala:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copiar"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Redimencionar Array"
@@ -368,7 +526,7 @@ msgstr "Ir a Línea"
msgid "Line Number:"
msgstr "Numero de Línea:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Sin Coincidencias"
@@ -384,7 +542,7 @@ msgstr "Coincidir Mayúsculas/Minúsculas"
msgid "Whole Words"
msgstr "Palabras Completas"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Reemplazar"
@@ -396,18 +554,28 @@ msgstr "Reemplazar Todo"
msgid "Selection Only"
msgstr "Solo Selección"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoom In"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zoom Out"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Resetear el Zoom"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Advertencias"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linea:"
@@ -439,7 +607,8 @@ msgid "Add"
msgstr "Agregar"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -470,7 +639,7 @@ msgid "Oneshot"
msgstr "Oneshot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -492,11 +661,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Conectar '%s' a '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Conectando Señal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Desconectar '%s' de '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Desconectar '%s' de '%s'"
#: editor/connections_dialog.cpp
@@ -504,14 +674,48 @@ msgid "Connect..."
msgstr "Conectar..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Desconectar"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Conectando Señal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Editar Conexiones"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "¿Estás seguro/a que quieres ejecutar más de un proyecto?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Señales"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Desconectar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Editar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Métodos"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Cambiar Tipo de %s"
@@ -534,22 +738,25 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recientes:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Buscar:"
#: editor/create_dialog.cpp editor/editor_help.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 "Coincidencias:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Descripción:"
@@ -609,7 +816,9 @@ msgstr "Buscar Reemplazo de Recurso:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Abrir"
@@ -631,7 +840,7 @@ msgstr ""
"funcionar.\n"
"Quitarlos de todos modos? (imposible deshacer)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "No se puede remover:"
@@ -700,9 +909,13 @@ msgstr "Cambiar Valor del Diccionario"
msgid "Thanks from the Godot community!"
msgstr "Gracias de parte de la comunidad Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Gracias!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -879,6 +1092,7 @@ msgid "Bus options"
msgstr "Opciones de Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
@@ -947,7 +1161,8 @@ msgstr "Agregar Bus"
msgid "Create a new Bus Layout."
msgstr "Crear un nuevo Layout Bus."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Cargar"
@@ -957,7 +1172,6 @@ msgid "Load an existing Bus Layout."
msgstr "Cargar un Bus Layout existente."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Guardar Como"
@@ -1000,22 +1214,6 @@ msgstr ""
"existente."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ruta inválida."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "El archivo existe."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "No está en la ruta de recursos."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Agregar AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autocargar '%s' ya existe!"
@@ -1043,6 +1241,22 @@ msgstr "Activar"
msgid "Rearrange Autoloads"
msgstr "Reordenar Autoloads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ruta inválida."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "El archivo existe."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "No está en la ruta de recursos."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Agregar AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1073,7 +1287,7 @@ msgstr "Guardando cambios locales..."
msgid "Updating scene..."
msgstr "Actualizando escena..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[vacío]"
@@ -1135,6 +1349,12 @@ msgid "Copy Path"
msgstr "Copiar Ruta"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Mostrar en Gestor de Archivos"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Mostrar en Gestor de Archivos"
@@ -1171,7 +1391,7 @@ msgid "Open a File or Directory"
msgstr "Abrir un Archivo o Directorio"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Guardar"
@@ -1224,7 +1444,8 @@ msgstr "Ir a carpeta padre"
msgid "Directories & Files:"
msgstr "Directorios y Archivos:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Vista Previa:"
@@ -1376,20 +1597,28 @@ msgstr ""
"Actualmente no existe descripción para este método. Por favor ayudanos "
"[color=$color][url=$url]contribuyendo una[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Texto de Búsqueda"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Propiedad:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Encontrar"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Setear"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Salida:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1411,11 +1640,6 @@ msgstr "Error al guardar el recurso!"
msgid "Save Resource As..."
msgstr "Guardar Recurso Como..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Ya Veo..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "No se puede abrir el archivo para escribir:"
@@ -1428,9 +1652,9 @@ msgstr "Formato requerido de archivo desconocido:"
msgid "Error while saving."
msgstr "Error al grabar."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "No se puede abrir '%s'."
+#: 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'."
@@ -1473,10 +1697,6 @@ msgstr ""
"dependencias (instancias o herencia)."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Fallo al cargar recurso."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "No se puede cargar MeshLibrary para hacer merge!"
@@ -1559,42 +1779,6 @@ msgstr ""
"este workflow."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Expandir todas las propiedades"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Colapsar todas las propiedades"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copiar Parámetros"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Pegar Parámetros"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Pegar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copiar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Crear Built-In"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Crear Sub-Recurso Unico"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Abrir en la Ayuda"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "No hay escena definida para ejecutar."
@@ -1794,11 +1978,6 @@ msgstr ""
"modificada.\n"
"Para realizar cambios, se debe crear una nueva escena heredada."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Ugh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1830,6 +2009,16 @@ msgid "Default"
msgstr "Por Defecto"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Reproducir Escena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Cerrar Otras Pestañas"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Cambiar Pestaña de Escena"
@@ -1951,10 +2140,6 @@ msgstr "Proyecto"
msgid "Project Settings"
msgstr "Configuración de Proyecto"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Ejecutar Script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportar"
@@ -1964,6 +2149,11 @@ msgid "Tools"
msgstr "Herramientas"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Abrir Gestor de Proyectos?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Salir a Listado de Proyecto"
@@ -2075,6 +2265,20 @@ msgstr "Layout del Editor"
msgid "Toggle Fullscreen"
msgstr "Act./Desact. Pantalla Completa"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Configuración del Editor"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Configuración del Editor"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gestionar Plantillas de Exportación"
@@ -2090,7 +2294,8 @@ msgstr "Clases"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Buscar"
@@ -2134,7 +2339,7 @@ msgstr "Pausar la Escena"
msgid "Stop the scene."
msgstr "Parar la escena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Detener"
@@ -2155,6 +2360,16 @@ msgid "Play Custom Scene"
msgstr "Reproducir Escena Personalizada"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Guardar y Reimportar"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Gira cuando la ventana del editor repinta!"
@@ -2174,42 +2389,6 @@ msgstr "Desactivar Update Spinner"
msgid "Inspector"
msgstr "Inspector"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Crear un nuevo recurso en memoria y editarlo."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Cargar un recurso existente desde disco y editarlo."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Guardar el recurso editado actualmente."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Guardar Como..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Ir al anterior objeto editado en el historial."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Ir al siguiente objeto editado en el historial."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historial de objetos recientemente editados."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Propiedades del objeto."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Podrían perderse los cambios!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2224,6 +2403,11 @@ msgid "FileSystem"
msgstr "FileSystem"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Expandir todos"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Salida"
@@ -2300,19 +2484,24 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Editar Polígono"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Plugins Instalados:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Actualizar"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Version:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2320,13 +2509,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Estado:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Parar Profiling"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Editar"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Iniciar Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Iniciar!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2372,6 +2564,106 @@ msgstr "Tiempo"
msgid "Calls"
msgstr "Llamadas"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "On"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, val %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Vacio]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Asignar"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Seleccionar un Viewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Nuevo Script"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Nuevo %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Convertir en Unico"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Mostrar en Sistema de Archivos"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Pegar"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Convertir A %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Abrir en Editor"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "El nodo seleccionado no es un Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Tamaño de Celda:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Nuevo nombre:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nuevo nombre:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Remover Item"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Seleccionar dispositivo de la lista"
@@ -2409,10 +2701,6 @@ msgstr "No se pudo ejecutar el script:"
msgid "Did you forget the '_run' method?"
msgstr "Te olvidaste del método '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Por Defecto (Igual que el Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Seleccionar Nodo(s) para Importar"
@@ -2438,6 +2726,7 @@ msgid "(Installed)"
msgstr "(Instalado)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Descargar"
@@ -2462,7 +2751,8 @@ msgid "Can't open export templates zip."
msgstr "No se puede abir el zip de plantillas de exportación."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Formato de version.txt invalido dentro de plantillas."
#: editor/export_template_manager.cpp
@@ -2524,6 +2814,12 @@ msgid "Download Complete."
msgstr "Descarga Completa."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Error al pedir el url: "
@@ -2602,7 +2898,8 @@ msgid "Download Templates"
msgstr "Descargar Plantillas"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Seleccionar mirror de la lista: "
#: editor/file_type_cache.cpp
@@ -2617,11 +2914,13 @@ msgstr ""
"No se puede navegar a '%s' ya que no se encontro en el sistema de archivos!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Ver items como una grilla de miniaturas"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Ver items como una lista"
#: editor/filesystem_dock.cpp
@@ -2694,7 +2993,7 @@ msgstr "Expandir todos"
msgid "Collapse all"
msgstr "Colapsar todos"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Renombrar..."
@@ -2723,6 +3022,23 @@ msgid "Duplicate..."
msgstr "Duplicar..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Nuevo Script"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Guardar Recurso Como..."
+
+#: 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 "Renombrar"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Directorio Previo"
@@ -2735,15 +3051,30 @@ msgid "Re-Scan Filesystem"
msgstr "Reexaminar Sistema de Archivos"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Act/Desact. estado de carpeta como Favorito"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Seleccionar sub-tile editado actualmente."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
"Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Buscar Clases"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2751,14 +3082,112 @@ msgstr ""
"Examinando Archivos,\n"
"Aguardá, por favor."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Mover"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Renombrar"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Ya hay una carpeta en esta ruta con el nombre especificado."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Crear Script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Encontrar tile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Encontrar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Palabras Completas"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Coincidir Mayúsculas/Minúsculas"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtro:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Encontrar..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Reemplazar..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Reemplazar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Reemplazar Todo"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Guardando..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Texto de Búsqueda"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERROR: El nombre de animación ya existe!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nombre inválido."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupos"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Grupo(s) de Nodos"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrar nodos"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Grupo(s) de Nodos"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2768,6 +3197,11 @@ msgstr "Agregar al Grupo"
msgid "Remove from Group"
msgstr "Quitar del Grupo"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupos de Imágenes"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importar como Escena Única"
@@ -2809,7 +3243,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importar como Escenas+Materiales Múltiples"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importar Escena"
@@ -2869,18 +3303,131 @@ msgstr "Preseteo..."
msgid "Reimport"
msgstr "Reimportar"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Fallo al cargar recurso."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Expandir todas las propiedades"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Colapsar todas las propiedades"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Guardar Como..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copiar Parámetros"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Pegar Parámetros"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Clipboard de Recursos vacío!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copiar Recurso"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Crear Built-In"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Crear Sub-Recurso Unico"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Abrir en la Ayuda"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Crear un nuevo recurso en memoria y editarlo."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Cargar un recurso existente desde disco y editarlo."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Ir al anterior objeto editado en el historial."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Ir al siguiente objeto editado en el historial."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Historial de objetos recientemente editados."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Propiedades del objeto."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrar nodos"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Podrían perderse los cambios!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Setear MultiNodo"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupos"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Seleccionar un Nodo para editar Señales y Grupos."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Editar Polígono"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Crear solución en C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Lista de Plugins:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Lenguaje"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Script válido"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2926,6 +3473,150 @@ msgstr ""
msgid "Delete points"
msgstr "Eliminar puntos"
+#: 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 "Agregar Animación"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Cargar"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Eliminar puntos"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Click Der.: Borrar Punto."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Mover Punto"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nodo de Animación"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "La acción '%s' ya existe!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "Parseando %d Triángulos:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Esnapear"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Editar Filtros"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Agregar Nodo"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Editar Filtros"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Hijos Editables"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Activar/Desact. Autoplay"
@@ -2952,11 +3643,13 @@ msgid "Remove Animation"
msgstr "Quitar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERROR: Nombre de animación inválido!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERROR: El nombre de animación ya existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2965,11 +3658,6 @@ msgid "Rename Animation"
msgstr "Renombrar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Agregar Animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Blendear Próximo Cambiado"
@@ -2986,11 +3674,13 @@ msgid "Duplicate Animation"
msgstr "Duplicar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERROR: No hay animaciones para copiar!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERROR: No hay recursos de animación en el portapapeles!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3002,7 +3692,8 @@ msgid "Paste Animation"
msgstr "Pegar Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERROR: No hay aniación que editar!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3036,20 +3727,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Escalar la reproducción de la animación globalmente para el nodo."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Crear nueva animación en el reproductor."
+msgid "Animation Tools"
+msgstr "Herramientas de Animación"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animación"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Cargar una animación desde disco."
+msgid "New"
+msgstr "Nuevo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Cargar una animación desde disco."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Editar Conecciones..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Guardar la animación actual"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Abrir en Editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3060,18 +3758,6 @@ msgid "Autoplay on Load"
msgstr "Autoreproducir al Cargar"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Editar Blend Times Objetivo"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Herramientas de Animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copiar Animación"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Onion Skinning"
@@ -3120,6 +3806,11 @@ msgid "Include Gizmos (3D)"
msgstr "Incluir Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Pegar Animación"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Crear Nueva Animación"
@@ -3129,6 +3820,7 @@ msgstr "Nombre de Animación:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3146,161 +3838,214 @@ msgstr "Siguiente (Auto Queue):"
msgid "Cross-Animation Blend Times"
msgstr "Cross-Animation Blend Times"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animación"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Fin(es)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "No está en la ruta de recursos."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Crear Nuevo %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Conectar Nodos"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Quitar la pista seleccionada."
+
+#: 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 "Transición"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimationTree"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nuevo nombre:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Editar Filtros"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Escala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade In (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fade Out (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Blend"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Auto Reiniciar:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Reiniciar (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Reiniciar al Azar (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Iniciar!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Cantidad:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Blend:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Blend 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Blend 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Tiempo de Crossfade (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Actual:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Agregar Entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Limpiar Auto Avanzar"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Setear Auto Avanzar"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Eliminar Entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "El árbol de animación es válido."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "El árbol de animación es inválido."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Nodo de Animación"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Nodo OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Nodo Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Nodo Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Nodo Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Nodo Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Nodo TimeScale"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Nodo TimeSeek"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Nodo Transición"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importar Animaciones..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Editar Filtros de Nodo"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtros..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimationTree"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Libre"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Contenido:"
@@ -3354,8 +4099,14 @@ msgid "Asset Download Error:"
msgstr "Error de Descarga del Asset:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Obteniendo:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Descargando"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Descargando"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3382,20 +4133,22 @@ msgid "Download for this asset is already in progress!"
msgstr "La descarga de este asset ya está en progreso!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "primero"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "anterior"
+#, fuzzy
+msgid "Previous"
+msgstr "Pestaña anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "siguiente"
+msgid "Next"
+msgstr "Siguiente"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "último"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3469,7 +4222,7 @@ msgid "Bake Lightmaps"
msgstr "Hacer Bake de Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Vista Previa"
@@ -3478,12 +4231,10 @@ msgid "Configure Snap"
msgstr "Configurar Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Offset de Grilla:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Step de Grilla:"
@@ -3496,14 +4247,6 @@ msgid "Rotation Step:"
msgstr "Step de Rotación:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Mover Pivote"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Mover Acción"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Mover guía vertical"
@@ -3532,11 +4275,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Crear nuevas guías horizontales y verticales"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Editar Cadena IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Mover Pivote"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Editar CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Mover Acción"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Editar CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Editar CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3556,6 +4316,21 @@ msgid "Paste Pose"
msgstr "Pegar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zoom Out"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Resetear Zoom"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoom In"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Modo Seleccionar"
@@ -3603,7 +4378,8 @@ msgid "Pan Mode"
msgstr "Modo Paneo"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Act/Desact. alineado"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3611,7 +4387,8 @@ msgid "Use Snap"
msgstr "Usar Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opciones de alineado"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3652,6 +4429,11 @@ msgid "Snap to node sides"
msgstr "Alinear a lados de nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Alinear al ancla de nodo"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Alinear a otros nodos"
@@ -3678,14 +4460,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Restaurar la habilidad de seleccionar los hijos de un objeto."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Crear Huesos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Restablecer Huesos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Mostrar Huesos"
@@ -3698,6 +4472,15 @@ msgid "Clear IK Chain"
msgstr "Reestrablecer Cadena IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Restablecer Huesos"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Ver"
@@ -3740,14 +4523,11 @@ msgid "Layout"
msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Insertar Claves"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Insertar Clave"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Insetar Clave (Tracks Existentes)"
@@ -3760,14 +4540,6 @@ msgid "Clear Pose"
msgstr "Restablecer Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Arrastrar pivote desde la posición del mouse"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Setear pivote a la posición del mouse"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multiplicar ingremento de grilla por 2"
@@ -3783,10 +4555,6 @@ msgstr "Agregar %s"
msgid "Adding %s..."
msgstr "Agregando %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "No se puede instanciar múltiples nodos sin raíz."
@@ -3821,27 +4589,20 @@ msgstr "Crear Poly3D"
msgid "Set Handle"
msgstr "Setear Handle"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Remover item %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Agregar Item"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Remover Item Seleccionado"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partículas"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importar desde Escena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Crear Puntos de Emisión desde Mesh"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Acutalizar desde Escena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Crear Puntos de Emisión Desde Nodo"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3911,15 +4672,6 @@ msgstr "Mantené Shift para editar tangentes individualmente"
msgid "Bake GI Probe"
msgstr "Hacer Bake de GI Probe"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Agregar/Quitar Punto de Rampa de Color"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modificar Rampa de Color"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Item %d"
@@ -4005,6 +4757,7 @@ msgid "No mesh to debug."
msgstr "No hay meshes para debuguear."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "El modelo no tiene UV en esta capa"
@@ -4072,6 +4825,27 @@ msgstr "Crear Outline Mesh"
msgid "Outline Size:"
msgstr "Tamaño de Outline:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Remover item %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Agregar Item"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Remover Item Seleccionado"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importar desde Escena"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Acutalizar desde Escena"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4173,70 +4947,6 @@ msgstr "Escala al Azar:"
msgid "Populate"
msgstr "Poblar"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Hacer Bake!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Hacer bake de mesh de navegación."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Restablecer mesh de navegación."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Seteando Configuración..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Calculando tamaño de grilla..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Creando campo de alturas..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Marcando triangulos caminables..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Construyendo campo de alturas compacto..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Erocionando area caminable..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Particionando..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Creando contornos..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Creando polymesh..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Convirtiendo a mesh de navegación nativa..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Setup de Generador de Meshes de Navegación:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Parseando Geometría..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Hecho!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Crear Polígono de Navegación"
@@ -4298,18 +5008,6 @@ msgid "Emission Colors"
msgstr "Colores de Emisión"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "El nodo no contiene geometría."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "El nodo no contiene geometría (caras)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Se requiere un material procesador de tipo 'ParticlesMaterial'."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Las caras no contienen area!"
@@ -4318,16 +5016,12 @@ msgid "No faces!"
msgstr "Sin caras!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Generar AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Crear Puntos de Emisión desde Mesh"
+msgid "Node does not contain geometry."
+msgstr "El nodo no contiene geometría."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Crear Puntos de Emisión Desde Nodo"
+msgid "Node does not contain geometry (faces)."
+msgstr "El nodo no contiene geometría (caras)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4354,6 +5048,19 @@ msgid "Emission Source: "
msgstr "Fuente de Emisión: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Se requiere un material procesador de tipo 'ParticlesMaterial'."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Generar AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Convertir A Mayúscula"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Generar AABB de Visibilidad"
@@ -4430,6 +5137,22 @@ msgstr "Eliminar Punto"
msgid "Close Curve"
msgstr "Cerrar Curva"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opciones"
+
+#: 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 "Punto # de Curva"
@@ -4462,19 +5185,95 @@ msgstr "Quitar Punto Out-Control"
msgid "Remove In-Control Point"
msgstr "Quitar Punto In-Control"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Mover Punto"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Mostrar Huesos"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Crear Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Crear Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "La acción '%s' ya existe!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Agregar punto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ruta inválida!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Quitar punto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformar Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Editor UV de Polígonos 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Editar Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Partir Path"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Crear Huesos"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Crear Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Mover Punto"
@@ -4503,12 +5302,25 @@ msgid "Scale Polygon"
msgstr "Escalar Polígono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Editar"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Selecciona un ítem primero!"
+
+#: 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 "Polygon->UV"
@@ -4523,9 +5335,9 @@ msgid "Clear UV"
msgstr "Limpiar UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Esnapear"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Ajustes de GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4535,6 +5347,36 @@ msgstr "Activar Snap"
msgid "Grid"
msgstr "Grilla"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configurar Snap"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Offset de Grilla:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Offset de Grilla:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Step de Grilla:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Step de Grilla:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Escalar Polígono"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ERROR: No se pudo cargar el recurso!"
@@ -4557,6 +5399,10 @@ msgid "Resource clipboard is empty!"
msgstr "Clipboard de Recursos vacío!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Pegar Recurso"
+
+#: 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"
@@ -4578,16 +5424,18 @@ msgid "Load Resource"
msgstr "Cargar Recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Pegar"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "ResourcePreloader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "El árbol de animación es inválido."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Restablecer Archivos Recientes"
@@ -4597,6 +5445,21 @@ msgid "Close and save changes?"
msgstr "¿Cerrar y guardar cambios?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Error al mover el archivo:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "No se pudo cargar la imagen"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Error guardando TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Error al guardar el tema"
@@ -4613,6 +5476,21 @@ msgid "Error importing"
msgstr "Error al importar"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nueva Carpeta..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Abrir un Archivo"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Guardar Como..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importar Tema"
@@ -4625,6 +5503,10 @@ msgid " Class Reference"
msgstr " Referencia de Clases"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -4653,8 +5535,9 @@ msgid "File"
msgstr "Archivo"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nuevo"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Ver Archivos"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4681,6 +5564,11 @@ msgid "History Next"
msgstr "Siguiente en Historial"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Recargar Tema"
@@ -4714,11 +5602,6 @@ msgstr "Act/Desact. Panel de Scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Encontrar..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Encontrar Siguiente"
@@ -4772,10 +5655,6 @@ msgid "Discard"
msgstr "Descartar"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Crear Script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4796,6 +5675,16 @@ msgid "Debugger"
msgstr "Debugger"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Buscar en la Ayuda"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Buscar Clases"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4803,40 +5692,56 @@ msgstr ""
"pertenecen está cargada"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linea:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Solo se pueden depositar recursos del sistema de archivos."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Completar Símbolo"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Elegir Color"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Convertir Mayusculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Mayúsculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Minúsculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Capitalizar"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Cortar"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copiar"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4924,8 +5829,9 @@ msgid "Find Previous"
msgstr "Encontrar Anterior"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Reemplazar..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrar Archivos..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4943,129 +5849,42 @@ msgstr "Ayuda Contextual"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Cambiar Constante Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Cambiar Constante Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Cambiar Constante RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Cambiar Operador Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Cambiar Operador Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Cambiar Operador Vec. Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Cambiar Operador RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Act/Desact. Solo Rot."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Cambiar Función Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Cambiar Función Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Cambiar Uniforme Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Cambiar Uniforme Vec."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Cambiar Uniforme RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Cambiar Valor por Defecto"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Cambiar Uniforme XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Cambiar Uniforme Textura"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Cambiar Uniforme Cubemap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Cambiar Comentarío"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Agregar/Quitar a Rampa de Color"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Agregar/quitar a Mapa de Curvas"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Modificar Mapa de Curvas"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Cambiar Nombre de Entrada"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Conectar Nodos de Gráfico"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Desconectar Nodo de Gráfico"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Quitar Nodo de Gráfico de Shaders"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Esqueleto..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Mover Nodo de Gráfico de Shaders"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Duplicar Nodo(s) de Gráfico"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Quitar Nodo(s) de Gráfico de Shaders"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Crear Mesh de Navegación"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Error: Link de Conección Cíclico"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Esqueleto..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Error: Conecciones de Entrada Faltantes"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Crear solución en C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Agregar Nodo de Gráficos de Shader"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Reproducir"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5192,10 +6011,6 @@ msgid "Align with view"
msgstr "Alinear con vista"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "No hay padre al que instanciarle un hijo."
@@ -5204,6 +6019,11 @@ msgid "This operation requires a single selected node."
msgstr "Esta operación requiere un solo nodo seleccionado."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Ver Información"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Mostrar Normal"
@@ -5248,6 +6068,11 @@ msgid "Doppler Enable"
msgstr "Activar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Creando Vistas Previas de Mesh/es"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Vista Libre A La Izquierda"
@@ -5378,6 +6203,11 @@ msgid "Tool Scale"
msgstr "Herramienta Escalar"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Alinear a la grilla"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Act./Desact. Vista Libre"
@@ -5386,6 +6216,10 @@ msgid "Transform"
msgstr "Transformar"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Dialogo de Transformación..."
@@ -5414,6 +6248,11 @@ msgid "4 Viewports"
msgstr "4 Viewports"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Ver Gizmos"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Ver Origen"
@@ -5427,10 +6266,6 @@ msgid "Settings"
msgstr "Configuración"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Visibilidad de Esqueleto de Gizmo"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Ajustes de Snap"
@@ -5490,6 +6325,53 @@ msgstr "Pre"
msgid "Post"
msgstr "Post"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "La ruta de guardado esta vacía!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Convertir A %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Crear Outline Mesh"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Snap (Pixeles):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Vista Previa de Atlas"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Configuración"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ERROR: No se pudo cargar el recurso de frames!"
@@ -5558,14 +6440,6 @@ msgstr "Mover (Despues)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "Vista Previa de StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Setear Region Rect"
@@ -5591,28 +6465,22 @@ msgid "Auto Slice"
msgstr "Auto Rebanar"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Offset:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Paso:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Separación:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Región de Textura"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Editor de Regiones de Texturas"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "No se pudo guardar el tema a un archivo:"
@@ -5626,11 +6494,6 @@ msgid "Add All"
msgstr "Agregar Todos"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover Item"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Quitar Todos los Ãtems"
@@ -5702,10 +6565,6 @@ msgstr "Tiene"
msgid "Many"
msgstr "Muchas"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opciones"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Tiene,Muchas,Opciones"
@@ -5730,7 +6589,7 @@ msgstr "Tipo de Datos:"
msgid "Icon"
msgstr "Icono"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Estilo"
@@ -5743,14 +6602,19 @@ msgid "Color"
msgstr "Color"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+msgid "Constant"
+msgstr "Constante"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Eliminar Selección"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nombre inválido."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Pintar TileMap"
@@ -5771,11 +6635,8 @@ msgid "Erase TileMap"
msgstr "Borrar TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Eliminar Selección"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Encontrar tile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5799,6 +6660,11 @@ msgid "Pick Tile"
msgstr "Elegir Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Quitar Selección"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Rotar 0 grados"
@@ -5815,68 +6681,122 @@ msgid "Rotate 270 degrees"
msgstr "Rotar 270 grados"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "No se pudo cargar el tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Agregar Nodo(s) Desde Arbol"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nombre o ID de Item:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Quitar ingreso actual"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "¿Crear desde escena?"
+msgid "Create from Scene"
+msgstr "Crear desde Escena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "¿Mergear desde escena?"
+msgid "Merge from Scene"
+msgstr "Mergear desde Escena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Selectionar sub-tile para usar como icono, esta también sera usada en "
+"bindings inválidos de autotile."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Crear desde Escena"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Mergear desde Escena"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Error"
+#: 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?"
+msgstr "¿Crear desde escena?"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr "Autotiles"
+msgid "Merge from scene?"
+msgstr "¿Mergear desde escena?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Selectionar sub-tile para usar como icono, esta también sera usada en "
-"bindings inválidos de autotile."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"Click izq: Activar bit.\n"
"Click der: Desactivar bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Seleccionar sub-tile editado actualmente."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Selectionar sub-tile para usar como icono, esta también sera usada en "
+"bindings inválidos de autotile."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Seleccionar sub-tile para cambiar su prioridad."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Cancelar"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Esta operación no puede hacerse sin una escena."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Tile Set"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vértices"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Fragmento"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Derecha"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5891,10 +6811,10 @@ msgid "Delete preset '%s'?"
msgstr "Eliminar preset '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
"Las plantillas de exportación para esta plataforma están faltando o "
-"corruptas: "
+"corruptas:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5971,12 +6891,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Faltan las plantillas de exportación para esta plataforma:"
#: 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 With Debug"
msgstr "Exportar Como Debug"
@@ -5985,14 +6899,25 @@ msgid "The path does not exist."
msgstr "La ruta no existe."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Por favor elegí un archivo 'project.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+"Por favor elegí una carpeta que no contenga un archivo 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Por favor elegí una carpeta vacía."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Por favor elegí un archivo 'project.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Proyecto Importado"
@@ -6081,6 +7006,11 @@ msgid "Project Path:"
msgstr "Ruta del Proyecto:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Ruta del Proyecto:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Examinar"
@@ -6203,9 +7133,10 @@ msgid "Mouse Button"
msgstr "Botón de Mouse"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Nombre de acción inválido. No puede estar vacío o contener '/', ':', '=', "
"'\\' o '\"'."
@@ -6219,9 +7150,23 @@ msgid "Rename Input Action Event"
msgstr "Renombrar Evento de Acción de Entrada"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Cambiar Nombre de Animación:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Agregar Evento de Acción de Entrada"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Dispositivo"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Dispositivo"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6263,20 +7208,24 @@ msgid "Wheel Down Button"
msgstr "Botón Rueda Abajo"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Botón 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Botón Rueda Arriba"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Botón 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Botón Derecho"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Botón 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Botón 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Botón 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Botón 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6303,10 +7252,6 @@ msgid "Add Event"
msgstr "Agregar Evento"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Dispositivo"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Botón"
@@ -6351,6 +7296,14 @@ msgid "Delete Item"
msgstr "Eliminar Ãtem"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Nombre de acción inválido. No puede estar vacío o contener '/', ':', '=', "
+"'\\' o '\"'."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Ya existe"
@@ -6422,6 +7375,10 @@ msgstr "Propiedad:"
msgid "Override For..."
msgstr "Sobreescribir Para..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Mapa de Entradas"
@@ -6431,6 +7388,14 @@ msgid "Action:"
msgstr "Acción:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Acción"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Dispositivo:"
@@ -6491,10 +7456,6 @@ msgid "AutoLoad"
msgstr "AutoLoad"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Seleccionar un Viewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Ease In"
@@ -6531,34 +7492,10 @@ msgid "Select Node"
msgstr "Seleccionar Nodo"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Nuevo Script"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Nuevo %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Convertir en Unico"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Mostrar en Sistema de Archivos"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Convertir A %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Error al cargar el archivo: No es un recurso!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "El nodo seleccionado no es un Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Seleccionar un Nodo"
@@ -6567,18 +7504,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, val %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "On"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Vacio]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Setear"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Propiedades:"
@@ -6603,6 +7528,134 @@ msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
"No se pudo volver a cargar la imagen convertida usando la herramienta PVRTC:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Renombrar"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opciones de alineado"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nombre de Nodo:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Encontrar Tipo de Nodo"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Escena Actual"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nombre del Nodo Raíz:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Paso:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Cambiar Expresión"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Script de Postprocesado:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Conservar"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Minúsculas"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Mayúsculas"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Resetear el Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Error"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Reemparentar Nodo"
@@ -6639,11 +7692,6 @@ msgstr "Argumentos de Escena Principal:"
msgid "Scene Run Settings"
msgstr "Ajustes de Ejecución de Escena"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "No hay padre donde instanciar la escena."
@@ -6665,6 +7713,10 @@ msgid "Instance Scene(s)"
msgstr "Instanciar Escena(s)"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Restablecer Script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Esta operación no puede ser hecha en el árbol raíz."
@@ -6705,12 +7757,33 @@ msgid "Load As Placeholder"
msgstr "Cargar Como Placeholder"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Descartar Instanciado"
+msgid "Make Local"
+msgstr "Crear Local"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Crear Nodo"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Escena"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Tiene Sentido!"
+#, fuzzy
+msgid "3D Scene"
+msgstr "Escena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Limpiar Herencia"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Cortar Nodos"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6722,6 +7795,10 @@ msgstr ""
"No se puede operar sobre los nodos de los cual hereda la escena actual!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Adjuntar Script"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Quitar Nodo(s)"
@@ -6766,18 +7843,15 @@ msgid "Change Type"
msgstr "Cambiar Tipo"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Adjuntar Script"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Restablecer Script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Nueva Raíz de Escena"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Mergear Desde Escena"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Guardar Rama como Escena"
@@ -6802,10 +7876,6 @@ msgstr ""
"existe ningún nodo raíz."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrar nodos"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Adjuntar un script nuevo o existente para el nodo seleccionado."
@@ -6825,25 +7895,19 @@ msgstr "Local"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Limpiar Herencia? (Imposible Deshacer!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Limpiar!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Act/Desact. Espacial Visible"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Act/Desact. CanvasItem Visible"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Act/Desact. Visibilidad"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Advertencia de configuración de nodo:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"El nodo tiene conexión/es y grupo/s\n"
@@ -6865,22 +7929,25 @@ msgstr ""
"El nodo está en un grupo/s.\n"
"Click para mostrar el panel de grupos."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Abrir script"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"El nodo está bloqueado.\n"
"Clic para desbloquear"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Los hijos no son seleccionables.\n"
"Clic para convertir en seleccionables"
@@ -6890,6 +7957,12 @@ msgid "Toggle Visibility"
msgstr "Act/Desact. Visibilidad"
#: 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 ""
"Nombre de nodo inválido, los siguientes caracteres no están permitidos:"
@@ -6927,6 +8000,11 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Abrir en Editor de Script"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "La ruta está vacía"
@@ -7163,10 +8241,23 @@ msgid "Change Camera Size"
msgstr "Cambiar Tamaño de Cámara"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Cambiar Alcances de Notificadores"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Cambiar Particulas AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Cambiar Extensión de Sonda"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Cambiar Radio de Shape Esférico"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Cambiar Radio de Shape Caja"
@@ -7179,20 +8270,38 @@ msgid "Change Capsule Shape Height"
msgstr "Cambiar Altura de Shape Cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Cambiar Largo de Shape Rayo"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Cambiar Radio de Shape Cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Cambiar Alcances de Notificadores"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Cambiar Altura de Shape Cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Cambiar Particulas AABB"
+msgid "Change Ray Shape Length"
+msgstr "Cambiar Largo de Shape Rayo"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Cambiar Extensión de Sonda"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Cambiar Radio de Luces"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Cambiar Altura de Shape Cápsula"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Cambiar Radio de Shape Esférico"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Cambiar Radio de Luces"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7247,17 +8356,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"No hay suficientes bytes para decodificar bytes, o el formato es inválido."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "el argumento step es cero!"
@@ -7325,6 +8423,11 @@ msgid "GridMap Delete Selection"
msgstr "Eliminar Seleccionados en GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Eliminar Seleccionados en GridMap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "Duplicar Selección en GridMap"
@@ -7405,6 +8508,11 @@ msgid "Clear Selection"
msgstr "Limpiar Selección"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Toda la Selección"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Ajustes de GridMap"
@@ -7465,14 +8573,77 @@ msgid "Warnings"
msgstr "Advertencias"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Ver Archivos"
+msgstr "Ver registro"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Fin del stack trace de excepción interna"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Hacer Bake!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Hacer bake de mesh de navegación."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Restablecer mesh de navegación."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Seteando Configuración..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Calculando tamaño de grilla..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Creando campo de alturas..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Marcando triangulos caminables..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Construyendo campo de alturas compacto..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Erocionando area caminable..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Particionando..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Creando contornos..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Creando polymesh..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Convirtiendo a mesh de navegación nativa..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Setup de Generador de Meshes de Navegación:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Parseando Geometría..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Hecho!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7531,10 +8702,6 @@ msgid "Set Variable Type"
msgstr "Editar Tipo de Variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funciones:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variables:"
@@ -7647,36 +8814,14 @@ msgid "Connect Nodes"
msgstr "Conectar Nodos"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condición"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Secuencia"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Switch"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterador"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Mientras"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Retornar"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Llamar"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Conectar Nodos"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Obtener"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Conectar Nodos"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7703,26 +8848,18 @@ msgid "Remove Function"
msgstr "Quitar Función"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Editar Variable"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Quitar Variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Editar Señal"
+msgid "Editing Variable:"
+msgstr "Editando Variable:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Quitar Señal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Editando Variable:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Editando Señal:"
@@ -7766,6 +8903,11 @@ msgstr "Cortar Nodos"
msgid "Paste Nodes"
msgstr "Pegar Nodos"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Miembros"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Tipo de input no iterable: "
@@ -7824,6 +8966,19 @@ msgstr ""
"Valor de retorno inválido de _step(), debe ser un entero (seq out), o string "
"(error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Quitar Nodo de VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Obtener"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Ejecutar en el Navegador"
@@ -7874,9 +9029,10 @@ msgstr ""
"ser ignorados."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Este nodo no tiene hijos de tipo shape, por lo tanto no puede interactuar "
@@ -7984,6 +9140,19 @@ msgstr ""
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/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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8049,9 +9218,10 @@ msgid "Lighting Meshes: "
msgstr "Iluminando Meshes: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Este nodo no tiene hijos de tipo shape, asi que no puede interactuar con el "
@@ -8148,6 +9318,21 @@ msgstr ""
"escenas 3D) o configurá el Background Mode de este entorno en modo Canvas "
"(para escenas 2D)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Los cambios de tamaño a RigidBody (en modo character o rigid) seran "
+"sobreescritos por el motor de física al ejecutar.\n"
+"Cambiá el tamaño de los collision shapes hijos."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8164,6 +9349,48 @@ msgstr ""
"VehicleWheel sirve para proveer un sistema de ruedas a VehicleBody. Por "
"favor usálo como hijo de VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Herramientas de Animación"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERROR: Nombre de animación inválido!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Desconectar '%s' de '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Selecciona un AnimationPlayer del Ãrbol de Escenas para editar animaciones."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "El árbol de animación es inválido."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Modo Raw"
@@ -8244,12 +9471,376 @@ msgstr "Error cargando tipografía."
msgid "Invalid font size."
msgstr "Tamaño de tipografía inválido."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Agregar Entrada"
+
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Pestaña anterior"
+msgid "None"
+msgstr "<Ninguno>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Fuente inválida!"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Cambiar Constante Escalar"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Cambiar Constante Vec."
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Cambiar Constante RGB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Cambiar Operador Escalar"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Cambiar Operador Vec."
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Cambiar Operador Vec. Escalar"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Cambiar Operador RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Act/Desact. Solo Rot."
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Cambiar Función Escalar"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Cambiar Función Vec."
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Cambiar Uniforme Escalar"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Cambiar Uniforme Vec."
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Cambiar Uniforme RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Cambiar Valor por Defecto"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Cambiar Uniforme XForm"
-#~ msgid "Next"
-#~ msgstr "Siguiente"
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Cambiar Uniforme Textura"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Cambiar Uniforme Cubemap"
+
+#~ msgid "Change Comment"
+#~ msgstr "Cambiar Comentarío"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Agregar/Quitar a Rampa de Color"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modificar Rampa de Color"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Agregar/quitar a Mapa de Curvas"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Modificar Mapa de Curvas"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Cambiar Nombre de Entrada"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Conectar Nodos de Gráfico"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Desconectar Nodo de Gráfico"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Quitar Nodo de Gráfico de Shaders"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Mover Nodo de Gráfico de Shaders"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Duplicar Nodo(s) de Gráfico"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Quitar Nodo(s) de Gráfico de Shaders"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Error: Link de Conección Cíclico"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Error: Conecciones de Entrada Faltantes"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Agregar Nodo de Gráficos de Shader"
+
+#~ msgid "Disabled"
+#~ msgstr "Desactivado"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Subir pista de animación"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Bajar pista de animación"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Establecer Transiciones a:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Renombrar pista de animación"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Cambiar Interpolación de Track de Anim"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Cambiar Modo de Valor de Track de Anim"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Cambiar Modo de Envoltura de Track de Anim"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Editar Nodo Curva"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Editar Curva de Selección"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Agregar Clave de Anim"
+
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "Out"
+
+#~ msgid "In-Out"
+#~ msgstr "In-Out"
+
+#~ msgid "Out-In"
+#~ msgstr "Out-In"
+
+#~ msgid "Transitions"
+#~ msgstr "Transiciones"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Cambiar Largo de Anim"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Cambiar Loop de Animación"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Crear Clave de Valor Tipado para Anim"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Agregar Call Track para Anim"
+
+#~ msgid "Length (s):"
+#~ msgstr "Duración (seg):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Paso (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Snap de cursor por pasos (en segundos)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Activar/Desactivar ciclo en la animación."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Agregar nuevas pistas."
+
+#~ msgid "Move current track up."
+#~ msgstr "Subir pista actual."
+
+#~ msgid "Move current track down."
+#~ msgstr "Bajar pista actual."
+
+#~ msgid "Track tools"
+#~ msgstr "Herramientas de pistas"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Activar la edición de claves individuales al cliquearlas."
+
+#~ msgid "Key"
+#~ msgstr "Clave"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Llamar Funciones en Cuál Nodo?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Gracias!"
+
+#~ msgid "I see..."
+#~ msgstr "Ya Veo..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "No se puede abrir '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Ugh"
+
+#~ msgid "Run Script"
+#~ msgstr "Ejecutar Script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Guardar el recurso editado actualmente."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Parar Profiling"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Iniciar Profiling"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Por Defecto (Igual que el Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Crear nueva animación en el reproductor."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Cargar una animación desde disco."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Cargar una animación desde disco."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Guardar la animación actual"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Editar Blend Times Objetivo"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copiar Animación"
+
+#~ msgid "Fetching:"
+#~ msgstr "Obteniendo:"
+
+#~ msgid "prev"
+#~ msgstr "anterior"
+
+#~ msgid "next"
+#~ msgstr "siguiente"
+
+#~ msgid "last"
+#~ msgstr "último"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Editar Cadena IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Arrastrar pivote desde la posición del mouse"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Setear pivote a la posición del mouse"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Agregar/Quitar Punto de Rampa de Color"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Visibilidad de Esqueleto de Gizmo"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "Vista Previa de StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "Separación:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Editor de Regiones de Texturas"
+
+#~ msgid "Erase selection"
+#~ msgstr "Eliminar Selección"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "No se pudo cargar el tile:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nombre o ID de Item:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Autotiles"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Las plantillas de exportación para esta plataforma están faltando o "
+#~ "corruptas: "
+
+#~ msgid "Button 7"
+#~ msgstr "Botón 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Botón 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Botón 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Descartar Instanciado"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "Tiene Sentido!"
+
+#~ msgid "Clear!"
+#~ msgstr "Limpiar!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Act/Desact. Espacial Visible"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Act/Desact. CanvasItem Visible"
+
+#~ msgid "Condition"
+#~ msgstr "Condición"
+
+#~ msgid "Sequence"
+#~ msgstr "Secuencia"
+
+#~ msgid "Switch"
+#~ msgstr "Switch"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterador"
+
+#~ msgid "While"
+#~ msgstr "Mientras"
+
+#~ msgid "Return"
+#~ msgstr "Retornar"
+
+#~ msgid "Call"
+#~ msgstr "Llamar"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Editar Variable"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Editar Señal"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Acción Invalida (cualquier cosa va menos '/' o ':')."
@@ -8267,10 +9858,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Can't write file."
#~ msgstr "No se puede escribir el archivo."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Por favor elegí una carpeta que no contenga un archivo 'project.godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "No se pudo obtener project.godot en la ruta de proyecto."
@@ -8395,9 +9982,6 @@ msgstr "Tamaño de tipografía inválido."
#~ "El Viewport seteado en la propiedad path debe ser seteado como 'render "
#~ "target' para que este sprite funcione."
-#~ msgid "Filter:"
-#~ msgstr "Filtro:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' falló el parseo de la configuración."
@@ -8437,9 +10021,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "La escena actual debe ser guardada para reimportar."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Guardar y Reimportar"
-
#~ msgid "Re-Importing"
#~ msgstr "Reimportando"
@@ -8473,9 +10054,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "No se pueden renombrar las dependencias para:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "Error al mover el archivo:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Elejí un Nuevo Nombre y Ubicación Para:"
@@ -8500,9 +10078,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Target path must exist."
#~ msgstr "La ruta de destino debe existir."
-#~ msgid "Save path is empty!"
-#~ msgstr "La ruta de guardado esta vacía!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Importar BitMasks"
@@ -8613,15 +10188,9 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Max Angle"
#~ msgstr "Angulo Máximo"
-#~ msgid "Clips"
-#~ msgstr "Clips"
-
#~ msgid "Start(s)"
#~ msgstr "Comienzo(s)"
-#~ msgid "End(s)"
-#~ msgstr "Fin(es)"
-
#~ msgid "Filters"
#~ msgstr "Filtros"
@@ -8652,18 +10221,12 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Target Texture Folder:"
#~ msgstr "Carpeta de Textura de Destino:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Script de Postprocesado:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Tipo de Nodo Raiz Customizado:"
#~ msgid "Auto"
#~ msgstr "Auto"
-#~ msgid "Root Node Name:"
-#~ msgstr "Nombre del Nodo Raíz:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Los Siguientes Archivos estan Faltando:"
@@ -8723,9 +10286,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Importar Texturas para Atlas (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Tamaño de Celda:"
-
#~ msgid "Large Texture"
#~ msgstr "Textura Grande"
@@ -8808,9 +10368,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "No se pudo guardar la textura convertida:"
-#~ msgid "Invalid source!"
-#~ msgstr "Fuente inválida!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Fuente de traducción inválida!"
@@ -8850,9 +10407,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Translation"
#~ msgstr "Traducción"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "Parseando %d Triángulos:"
-
#~ msgid "Triangle #"
#~ msgstr "Triangulo #"
@@ -8879,24 +10433,12 @@ msgstr "Tamaño de tipografía inválido."
#~ "Resetear el proceso de bake del octree de mapa de luces (empezar de "
#~ "nuevo)."
-#~ msgid "Zoom (%):"
-#~ msgstr "Zoom (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Esqueleto..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Resetear Zoom"
-
#~ msgid "Zoom Set..."
#~ msgstr "Setear Zoom..."
#~ msgid "Set a Value"
#~ msgstr "Setear un Valor"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Snap (Pixeles):"
-
#~ msgid "Parse BBCode"
#~ msgstr "Parsear BBCode"
@@ -8972,15 +10514,9 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Resource Tools"
#~ msgstr "Herramientas de Recursos"
-#~ msgid "Make Local"
-#~ msgstr "Crear Local"
-
#~ msgid "Edit Groups"
#~ msgstr "Editar Grupos"
-#~ msgid "Edit Connections"
-#~ msgstr "Editar Conexiones"
-
#~ msgid "GridMap Paint"
#~ msgstr "Pintar GridMap"
@@ -9129,9 +10665,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Ambient Light Color:"
#~ msgstr "Color de Luz Ambiental:"
-#~ msgid "Couldn't load image"
-#~ msgstr "No se pudo cargar la imagen"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Nombre de clase padre inválido"
@@ -9147,9 +10680,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Parent class name is invalid!"
#~ msgstr "El nombre de la clase padre es inválido!"
-#~ msgid "Invalid path!"
-#~ msgstr "Ruta inválida!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "La propiedad Path debe apuntar a un nodo Particles2D valido para "
@@ -9251,9 +10781,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Delete Image Group"
#~ msgstr "Eliminar Grupo de Imágenes"
-#~ msgid "Atlas Preview"
-#~ msgstr "Vista Previa de Atlas"
-
#~ msgid "Project Export Settings"
#~ msgstr "Ajustes de Exportación del Proyecto"
@@ -9266,9 +10793,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Export all files in the project directory."
#~ msgstr "Exportar todos los archivos en el directorio del proyecto."
-#~ msgid "Action"
-#~ msgstr "Acción"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "Convertir escenas de texto a binario al exportar."
@@ -9296,9 +10820,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Compress Formats:"
#~ msgstr "Formatos de Compresión:"
-#~ msgid "Image Groups"
-#~ msgstr "Grupos de Imágenes"
-
#~ msgid "Groups:"
#~ msgstr "Grupos:"
@@ -9338,9 +10859,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Modo de Conversión de Muestras: (archivos .wav):"
-#~ msgid "Keep"
-#~ msgstr "Conservar"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Comprimir (RAM - IMA-ADPCM)"
@@ -9383,9 +10901,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance no contiene un recurso BakedLight."
-#~ msgid "Fragment"
-#~ msgstr "Fragmento"
-
#~ msgid "Lighting"
#~ msgstr "Iluminación"
@@ -9458,9 +10973,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Align with view (Ctrl+Shift+F)"
#~ msgstr "Alinear con vista (Ctrl+Shift+F)"
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "Cambiar Interpolación de Loop de Anim"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "Activar/Desactivar interpolación al loopear animación."
@@ -9477,9 +10989,6 @@ msgstr "Tamaño de tipografía inválido."
#~ "Sin textura en este nodo.\n"
#~ "Asigná una textura para poder editar la región."
-#~ msgid "New Scene Root"
-#~ msgstr "Nueva Raíz de Escena"
-
#~ msgid "Inherit Scene"
#~ msgstr "Heredar Escena"
@@ -9492,9 +11001,6 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Reload Tool Script (Soft)"
#~ msgstr "Volver a Cargar Script de Herramientas (Soft)"
-#~ msgid "Edit Connections..."
-#~ msgstr "Editar Conecciones..."
-
#~ msgid "Set Params"
#~ msgstr "Setear Params"
@@ -9509,9 +11015,3 @@ msgstr "Tamaño de tipografía inválido."
#~ msgid "Group Editor"
#~ msgstr "Editor de Grupos"
-
-#~ msgid "Node Group(s)"
-#~ msgstr "Grupo(s) de Nodos"
-
-#~ msgid "Plugin List:"
-#~ msgstr "Lista de Plugins:"
diff --git a/editor/translations/extract.py b/editor/translations/extract.py
index 4b3f416343..0dee1819dd 100755
--- a/editor/translations/extract.py
+++ b/editor/translations/extract.py
@@ -54,6 +54,8 @@ msgstr ""
def process_file(f, fname):
+ global main_po, unique_str, unique_loc
+
l = f.readline()
lc = 1
while (l):
diff --git a/editor/translations/fa.po b/editor/translations/fa.po
index eb192ececb..2a5818db88 100644
--- a/editor/translations/fa.po
+++ b/editor/translations/fa.po
@@ -22,333 +22,484 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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‌ Ø§Ø³ØªÙØ§Ø¯Ù‡ "
+"کنید ."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "همه‌ی انتخاب ها"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "نام دارایی ایندکس نامعتبر 's%' در گره s%."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "نام دارایی ایندکس نامعتبر 's%' در گره s%."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": آرگومان نوع نامعتبر "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "کلید را در انیمیشن درج کن"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "انتخاب شده را به دو تا تکثیر کن"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "انتقال را در انیمیشن تغییر بده"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "انتقال را در انیمیشن تغییر بده"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "تغییر مقدار ÙØ±ÛŒÙ… کلید در انیمیشن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ را در انیمیشن تغییر بده"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Ø§ÙØ²ÙˆØ¯Ù† ترَک به انیمیشن"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "ویژگی:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "تکرار کلید‌های انیمیشن"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "انتقال ترک انیمشین به بالا"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "انتقال ترک انیمشین به پایین"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "حذ٠ترک انیمشین"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "تنظیم گذار‌ها به :"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "تغییر نام ترک انیمشین"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Ø§ÙØ²ÙˆØ¯Ù† ترَک به انیمیشن"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "تغییر سبک الحاق ترک انیمیشن"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "طول انیمیشن (به ثانیه)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "تغییر حالت مقدار ترک انیمیشن"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "بزرگنمایی در انیمیشن."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "تغییر حالت بسته شدن ترک انیمشین"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "وظایÙ:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "ویرایش منحنی گره"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "ویرایش منحنی انتخاب شده"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "کلیدها را در انیمیشن حذ٠کن"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "انتخاب شده را به دو تا تکثیر کن"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "ترانهاده را به دو تا تکثیر کن"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "گره انیمیشن"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "برداشتن انتخاب شده"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "ترک انتخاب شده را حذ٠کن."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "زمان:"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "مستمر"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "گسسته"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "تریگر"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "یک کلید در انیمیشن اضاÙÙ‡ Ú©Ù†"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "کلیدها را در انیمیشن جابجا کن"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "انتخاب شده را تغییر مقیاس بده"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "از مکان‌نما تغییر مقیاس بده"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "به گام بعدی برو"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "به گام قبلی برو"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "خطی"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "ثابت"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "داخل"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "خارج"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "داخل-خارج"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "خارج-داخل"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "انتقال‌ها"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "تکرار کلید‌های انیمیشن"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "انیمیشن را بهینه‌سازی کن"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "حذ٠گره(ها)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "انیمیشن را پاکسازی کن"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "حذ٠ترک انیمشین"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "یک ترک جدید برای s% بساز و کلید را درج کن؟"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "ساختن تعداد d% ترک جدید، ودرج کلیدها؟"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "ساختن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "در انیمیشن درج کن"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "ساختن و درج انیمیشن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "درج ترک و کلید در انیمیشن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "کلید را در انیمیشن درج کن"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "طول انیمیشن را تغییر بده"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-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_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "کلید مقدار دارای نوع را در انیمیشن ایجاد کن"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "در انیمیشن درج کن"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet در اسکریپت پیدا نشد: "
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "کلیدها را در انیمیشن جابجا کن"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Ø­Ø§ÙØ¸Ù‡ پنهان خالی است!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "کلیدها را در انیمیشن تغییر مقیاس بده"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "ترک ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ را در انیمیشن اضاÙÙ‡ Ú©Ù†"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-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_editor.cpp
-msgid "Length (s):"
-msgstr "طول(ها):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "طول انیمیشن (به ثانیه)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "گام(ها):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "گام چسبنده‌ی مکان‌نما (به ثانیه)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "گره انیمیشن"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "حلقه را در انیمیشن ÙØ¹Ø§Ù„/غیر ÙØ¹Ø§Ù„ Ú©Ù†."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "ویرایش"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "ترک‌های جدید اضاÙÙ‡ Ú©Ù†."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "گره انیمیشن"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "ترک جاری را به بالا جابجا کن."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "ترک جاری را به پایین جابجا کن."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "مسیر به سمت گره:"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "ترک انتخاب شده را حذ٠کن."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "انتخاب شده را تغییر مقیاس بده"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "ابزارهای ترک"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "از مکان‌نما تغییر مقیاس بده"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "انتخاب شده را به دو تا تکثیر کن"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "ترانهاده را به دو تا تکثیر کن"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "ویرایش کلیدهای Ø§Ù†ÙØ±Ø§Ø¯ÛŒ با کلیک بر روی آن‌ها را ÙØ¹Ø§Ù„ Ú©Ù†."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "انتخاب شده را حذ٠کن"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "به گام بعدی برو"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "به گام قبلی برو"
-#: editor/animation_editor.cpp
+#: 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 "Anim. Optimizer"
msgstr "بهینه‌ساز انیمیشن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "خطای Max. Linear:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "خطای Max. Angular:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "زاویه‌ی قابل بهینه‌سازی بیشینه:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "بهینه‌سازی کن"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"یک AnimationPlayer از درخت صحنه انتخاب کنید تا انیمیشن‌ها را ویرایش کنید."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "کلید"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "انتقال"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "نسبت تغییر مقیاس:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "توابع را در کدام گره ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ کند؟"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "کلیدهای نامعتبر را حذ٠کن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "ترک‌های حل نشده و خالی را حذ٠کن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "تمام انیمیشن‌ها را پاکسازی کن"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "انیمیشن(ها) را پاکسازی کن (نه UNDO !)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "کپی کردن"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "آرایه را تغییر اندازه بده"
@@ -369,7 +520,7 @@ msgstr "برو به خط"
msgid "Line Number:"
msgstr "شماره خط:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "تطبیقی ندارد"
@@ -385,7 +536,7 @@ msgstr "بین حرو٠کوچک و بزرگ لاتین تمایز قائل شو
msgid "Whole Words"
msgstr "عین کلمات (بدون هیچ کم و کاستی)"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "جایگزینی"
@@ -397,18 +548,27 @@ msgstr "جایگزینی همه"
msgid "Selection Only"
msgstr "تنها در قسمت انتخاب شده"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "بزرگنمایی بیشتر"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "بزرگنمایی کمتر"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "بازنشانی بزرگنمایی"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "بزرگنمایی بیشتر"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "خط:"
@@ -440,7 +600,8 @@ msgid "Add"
msgstr "Ø§ÙØ²ÙˆØ¯Ù†"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -471,7 +632,7 @@ msgid "Oneshot"
msgstr "تک نما"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -493,11 +654,12 @@ msgid "Connect '%s' to '%s'"
msgstr "'s%' را به 's%' متصل کن"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "اتصال سیگنال:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "'s%' را از 's%' جدا کن"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "'s%' را از 's%' جدا کن"
#: editor/connections_dialog.cpp
@@ -505,14 +667,47 @@ msgid "Connect..."
msgstr "در حال اتصال..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "عدم اتصال"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "اتصال سیگنال:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "خطای اتصال"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "سیگنال‌ها"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "عدم اتصال"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "ویرایش"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "روش ها"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "تغییر نوع %s"
@@ -535,22 +730,25 @@ msgstr "برگزیده‌ها:"
msgid "Recent:"
msgstr "اخیر:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "جستجو:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "توضیح:"
@@ -612,7 +810,9 @@ msgstr "منبع جایگزینی را جستجو کن:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "باز کن"
@@ -634,7 +834,7 @@ msgstr ""
"کنند.\n"
"آیا در هر صورت حذ٠شوند؟(بدون برگشت)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "امکان حذ٠وجود ندارد :"
@@ -702,9 +902,13 @@ msgstr "تغییر مقدار دیکشنری"
msgid "Thanks from the Godot community!"
msgstr "با تشکر از سوی جامعه‌ی Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "با تشکر !"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "مواÙقت"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -880,6 +1084,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -952,7 +1157,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "بارگیری"
@@ -962,7 +1168,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "ذخیره در"
@@ -999,22 +1204,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "نام نامعتبر. نباید با نام یک ثابت سراسری موجود برخوردی داشته باشد."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "مسیر نامعتبر."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "پرونده موجود نیست."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "در مسیر٠منبع نیست."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "بارگذاری خودکار (AutoLoad) را اضاÙÙ‡ Ú©Ù†"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "بارگذاری خودکار 's%' هم اکنون موجود است!"
@@ -1042,6 +1231,22 @@ msgstr ""
msgid "Rearrange Autoloads"
msgstr ""
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "مسیر نامعتبر."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "پرونده موجود نیست."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "در مسیر٠منبع نیست."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "بارگذاری خودکار (AutoLoad) را اضاÙÙ‡ Ú©Ù†"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1072,7 +1277,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
#, fuzzy
msgid "[empty]"
msgstr "(خالی)"
@@ -1136,6 +1341,12 @@ msgid "Copy Path"
msgstr ""
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "باز شدن مدیر پروژه؟"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1172,7 +1383,7 @@ msgid "Open a File or Directory"
msgstr "یک پرونده یا پوشه را باز کن"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "ذخیره کن"
@@ -1225,7 +1436,8 @@ msgstr "Ø±ÙØªÙ† به پوشه والد"
msgid "Directories & Files:"
msgstr "پوشه‌ها و پرونده‌ها:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1370,20 +1582,28 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "جستجوی متن"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "ویژگی:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "ÛŒØ§ÙØªÙ†"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "خروجی:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1406,11 +1626,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr "ذخیره منبع از ..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "من میبینم ..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1423,10 +1638,9 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Can't open '%s'."
-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
#, fuzzy
@@ -1469,10 +1683,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1539,42 +1749,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "باز کردن راهنما"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1749,11 +1923,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1782,6 +1951,16 @@ msgid "Default"
msgstr "Ù¾ÛŒØ´ÙØ±Ø¶"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "پخش صحنه"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "بستن"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1904,10 +2083,6 @@ msgstr "پروژه"
msgid "Project Settings"
msgstr "ترجیحات پروژه"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "اجرای اسکریپت"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "صدور"
@@ -1917,6 +2092,11 @@ msgid "Tools"
msgstr "ابزارها"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "باز شدن مدیر پروژه؟"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "خروج به Ùهرست پروژه ها"
@@ -2009,6 +2189,20 @@ msgstr ""
msgid "Toggle Fullscreen"
msgstr "حالت تمام ØµÙØ­Ù‡"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "ویرایشگر ترجیحات"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "ویرایشگر ترجیحات"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "مدیریت صدور قالب ها"
@@ -2024,7 +2218,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "جستجو"
@@ -2068,7 +2263,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2089,6 +2284,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "ذخیره و خروج"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr ""
@@ -2108,42 +2313,6 @@ msgstr ""
msgid "Inspector"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "ذخیره در..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2158,6 +2327,10 @@ msgid "FileSystem"
msgstr "سامانه پرونده"
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "خروجی"
@@ -2234,19 +2407,24 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "ویرایش سیگنال"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Ø§ÙØ²ÙˆÙ†Ù‡ های نصب شده:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "بروز رسانی"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "نسخه:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "خالق:"
@@ -2254,12 +2432,14 @@ msgstr "خالق:"
msgid "Status:"
msgstr "وضعیت:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr ""
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "ویرایش"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2308,6 +2488,103 @@ msgstr "زمان:"
msgid "Calls"
msgstr "ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+#, fuzzy
+msgid "New Script"
+msgstr "صحنه جدید"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "چسباندن"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "اتصال به گره:"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2342,10 +2619,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "انتخاب گره (ها) برای وارد شدن"
@@ -2371,6 +2644,7 @@ msgid "(Installed)"
msgstr "(نصب شده)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2395,8 +2669,9 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
-msgstr ""
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
+msgstr "نام دارایی ایندکس نامعتبر."
#: editor/export_template_manager.cpp
msgid "No version.txt found inside templates."
@@ -2457,6 +2732,12 @@ msgid "Download Complete."
msgstr "دانلود کامل."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "خطای آدرس درخواستی: "
@@ -2537,7 +2818,7 @@ msgid "Download Templates"
msgstr "بارگیری قالب ها"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2549,11 +2830,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2630,7 +2911,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "تغییر نام..."
@@ -2661,6 +2942,23 @@ msgid "Duplicate..."
msgstr "انتخاب شده را به دو تا تکثیر کن"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "صحنه جدید"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2673,27 +2971,135 @@ msgid "Re-Scan Filesystem"
msgstr "پویش دوباره سامانه پرونده"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "ساختن پوشه"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "جستجوی کلاسها"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "تغییر نام"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "ÛŒØ§ÙØªÙ†"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "عین کلمات (بدون هیچ کم و کاستی)"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "بین حرو٠کوچک و بزرگ لاتین تمایز قائل شو"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "لغو"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "جایگزینی"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "جایگزینی همه"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "جستجو"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "جستجوی متن"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "بارگذاری خودکار 's%' هم اکنون موجود است!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr "صاÙÛŒ کردن گره‌ها"
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
+msgstr ""
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2703,6 +3109,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2744,7 +3154,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2804,16 +3214,126 @@ msgstr ""
msgid "Reimport"
msgstr "وارد کردن دوباره"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "ذخیره در..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "منبع"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+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
+msgid "Language:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "نام پروژه:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
msgstr ""
#: editor/plugins/abstract_polygon_2d_editor.cpp
@@ -2858,6 +3378,148 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "حذ٠کن"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "گره انیمیشن"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "بارگذاری خودکار 's%' هم اکنون موجود است!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Ø§ÙØ²ÙˆØ¯Ù† گره"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "ویرایش صاÙÛŒ ها"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "ÙØ±Ø²Ù†Ø¯ قابل ویرایش"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr ""
@@ -2884,12 +3546,14 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
-msgstr ""
+#, fuzzy
+msgid "Invalid animation name!"
+msgstr "نام نامعتبر."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
-msgstr ""
+#, fuzzy
+msgid "Animation name already exists!"
+msgstr "بارگذاری خودکار 's%' هم اکنون موجود است!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
@@ -2897,11 +3561,6 @@ msgid "Rename Animation"
msgstr "تغییر نام انیمیشن"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2918,12 +3577,14 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
-msgstr ""
+#, fuzzy
+msgid "No animation to copy!"
+msgstr "بزرگنمایی در انیمیشن."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr "در مسیر٠منبع نیست."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
@@ -2934,8 +3595,9 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
-msgstr ""
+#, fuzzy
+msgid "No animation to edit!"
+msgstr "گره انیمیشن"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
@@ -2966,39 +3628,34 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "انتقال‌ها"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "گشودن در ویرایشگر"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3052,6 +3709,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "تغییر نام انیمیشن"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3061,6 +3723,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3078,162 +3741,214 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "ویرایش صاÙÛŒ ها"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "ساختن %s جدید"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "اتصال گره‌ها"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "گره انیمیشن"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "گره ترکیب"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "گره مخلوط۲"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "گره مخلوط۳"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "گره مخلوط۴"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "گره جابجای"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "ویرایش صاÙÛŒ های گره"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "گره انیمیشن"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "محتواها:"
@@ -3288,8 +4003,14 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr ""
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "در حال بارگیری"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "در حال بارگیری"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3317,19 +4038,20 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr ""
+#, fuzzy
+msgid "Previous"
+msgstr "زبانه قبلی"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+msgid "Next"
+msgstr "بعدی"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3397,7 +4119,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3406,12 +4128,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3424,14 +4144,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3462,11 +4174,24 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "برداشتن نقطه"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3486,6 +4211,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "بزرگنمایی کمتر"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "بزرگنمایی کمتر"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "بزرگنمایی بیشتر"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "انتخاب حالت"
@@ -3530,7 +4270,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr "یک Breakpoint درج کن"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3538,7 +4278,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3579,6 +4319,10 @@ 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 ""
@@ -3605,24 +4349,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "پخش Ø³ÙØ§Ø±Ø´ÛŒ صحنه"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3667,12 +4412,9 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "کلید را در انیمیشن درج کن"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3687,14 +4429,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "گذاشتن محور در مکان موشواره"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3710,10 +4444,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3747,27 +4477,19 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Ø§ÙØ²ÙˆØ¯Ù† مورد"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "حذ٠مورد انتخاب‌شده"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "وارد کردن از صحنه"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3839,15 +4561,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3931,6 +4644,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4000,6 +4714,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "وارد کردن از صحنه"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "به‌روزرسانی از صحنه"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4100,70 +4835,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4224,18 +4895,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4244,15 +4903,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4280,6 +4935,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "اتصال به گره:"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4356,6 +5024,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4392,19 +5076,90 @@ msgstr "برداشتن نقش"
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "پیش از این وجود داشته است"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Ø§ÙØ²ÙˆØ¯Ù† نقطه"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "مسیر نامعتبر."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "برداشتن نقطه"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "انتخاب شده را تغییر مقیاس بده"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4433,12 +5188,25 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "ویرایش"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4453,9 +5221,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "ترجیحات"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4465,6 +5233,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4487,6 +5279,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "گشودن در ویرایشگر"
@@ -4508,17 +5304,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "چسباندن"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
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 ""
@@ -4528,6 +5325,21 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "خطا در بارگذاری:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "نمی‌تواند یک پوشه ایجاد شود."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "خطا در بارگذاری:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4544,6 +5356,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "ساختن پوشه..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "یک پرونده را باز کن"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "ذخیره در..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4556,6 +5383,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "مرتب‌سازی:"
@@ -4585,8 +5416,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "نمایش پرونده ها"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4615,6 +5447,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4649,11 +5486,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4709,10 +5541,6 @@ msgid "Discard"
msgstr "گسسته"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4731,45 +5559,70 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "جستجوی راهنما"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "جستجوی کلاسها"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "خط:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "بریدن"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "کپی کردن"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4860,7 +5713,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4879,129 +5732,39 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "انتخاب شده را تغییر مقیاس بده"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "پخش"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5130,10 +5893,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5142,6 +5901,11 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "بومی‌سازی"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5188,6 +5952,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5320,6 +6088,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "دید آزاد"
@@ -5328,6 +6100,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5356,6 +6132,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5369,10 +6149,6 @@ msgid "Settings"
msgstr "ترجیحات"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5432,6 +6208,51 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "اتصال به گره:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "ساختن %s جدید"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "به‌روزرسانی از صحنه"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "ترجیحات"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5501,14 +6322,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5534,26 +6347,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5569,11 +6375,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "برداشتن انتخاب شده"
@@ -5648,10 +6449,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5676,7 +6473,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5689,8 +6486,8 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "ثابت"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5698,6 +6495,11 @@ msgid "Erase Selection"
msgstr "انتخاب شده را تغییر مقیاس بده"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "نام نامعتبر."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5719,12 +6521,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "ÛŒØ§ÙØªÙ†"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5747,6 +6546,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "برداشتن انتخاب شده"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5763,66 +6567,111 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "گره(ها) را از درخت اضاÙÙ‡ Ú©Ù†"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "حذ٠نقطهٔ منحنی"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "صدور مجموعه کاشی"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "ساختن پوشه"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "صدور مجموعه کاشی"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "نشانوندها:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5839,7 +6688,7 @@ msgid "Delete preset '%s'?"
msgstr "آیا پرونده‌های انتخاب شده حذ٠شود؟"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5915,10 +6764,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "صدور با اشکال زدا"
@@ -5928,7 +6773,7 @@ msgid "The path does not exist."
msgstr "پرونده موجود نیست."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5936,6 +6781,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "پروژه واردشده"
@@ -6027,6 +6880,11 @@ msgid "Project Path:"
msgstr "مسیر پروژه:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "مسیر پروژه:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6137,8 +6995,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6150,9 +7008,23 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "تغییر مقدار دیکشنری"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "دستگاه"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "دستگاه"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "+Shift"
@@ -6194,20 +7066,24 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr ""
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "دکمهٔ چپ."
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr ""
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "دکمهٔ راست."
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "دکمه"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "دکمه"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6235,10 +7111,6 @@ msgid "Add Event"
msgstr "Ø§ÙØ²ÙˆØ¯Ù† رویداد"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "دستگاه"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "دکمه"
@@ -6283,6 +7155,12 @@ 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 "Already existing"
msgstr "پیش از این وجود داشته است"
@@ -6354,6 +7232,10 @@ msgstr "ویژگی:"
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6363,6 +7245,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Ø§ÙØ²ÙˆØ¯Ù† وظیÙÙ‡"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6423,10 +7314,6 @@ msgid "AutoLoad"
msgstr "بارگیری خودکار"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6463,36 +7350,10 @@ msgid "Select Node"
msgstr "گره انتخاب"
#: editor/property_editor.cpp
-#, fuzzy
-msgid "New Script"
-msgstr "صحنه جدید"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr ""
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Convert To %s"
-msgstr "اتصال به گره:"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "کاویدن گره"
@@ -6501,18 +7362,6 @@ msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "On"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr ""
@@ -6539,6 +7388,130 @@ msgstr ""
msgid "Can't load back converted image using PVRTC tool:"
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 "Advanced options"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "نام گره:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "پیدا کردن نوع گره"
+
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "گام(ها):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "انتقال را در انیمیشن تغییر بده"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "اتصال به گره:"
+
+#: editor/rename_dialog.cpp
+msgid "To Uppercase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "بازنشانی بزرگنمایی"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "گره تغییر والد"
@@ -6575,11 +7548,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "مواÙقت"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6599,6 +7567,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Clear Script"
+msgstr "صحنه جدید"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6639,12 +7612,34 @@ msgid "Load As Placeholder"
msgstr "بارگیری به عنوان جانگهدار"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr ""
+#, fuzzy
+msgid "Make Local"
+msgstr "محلی"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr ""
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "ساختن گره"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "صحنه"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "صحنه"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "پاک کردن ارث‌بری"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "ساختن گره"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6655,6 +7650,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "پیوست کردن اسکریپت"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "حذ٠گره(ها)"
@@ -6698,19 +7697,14 @@ msgid "Change Type"
msgstr "تغییر نوع"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "پیوست کردن اسکریپت"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "صحنه جدید"
+msgid "Make Scene Root"
+msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "ادغام از صحنه"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "ذخیرهٔ شاخه به عنوان صحنه"
@@ -6733,10 +7727,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "صاÙÛŒ کردن گره‌ها"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "پیوست کردن یک اسکریپت جدید یا از پیش موجود برای گره انتخابی."
@@ -6756,17 +7746,10 @@ msgstr "محلی"
msgid "Clear Inheritance? (No Undo!)"
msgstr "وراثت حذ٠شود؟ (بدون بازگشت!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "حذÙ!"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "یک Breakpoint درج کن"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6774,7 +7757,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6790,21 +7773,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "باز کردن و اجرای یک اسکریپت"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6812,6 +7795,12 @@ 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 ""
@@ -6851,6 +7840,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "گشودن ویرایشگر اسکریپت"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "مسیر خالی است"
@@ -7096,10 +8090,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7112,19 +8118,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7185,20 +8203,6 @@ msgid "GDNative"
msgstr ""
#: 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‌ Ø§Ø³ØªÙØ§Ø¯Ù‡ "
-"کنید ."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"تعداد بایت های مورد نظر برای رمزگشایی بایت ها کاÙÛŒ نیست ،‌ Ùˆ یا ÙØ±Ù…ت نامعتبر "
-"است ."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "آرگومان step ØµÙØ± است!"
@@ -7271,6 +8275,11 @@ msgstr "انتخاب شده را حذ٠کن"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "انتخاب شده را حذ٠کن"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "انتخاب شده را به دو تا تکثیر کن"
@@ -7354,6 +8363,11 @@ msgstr "انتخاب شده را تغییر مقیاس بده"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "همه‌ی انتخاب ها"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "ترجیحات"
@@ -7426,6 +8440,70 @@ msgstr "نمایش پرونده ها"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7489,10 +8567,6 @@ msgid "Set Variable Type"
msgstr "متغیر را ویرایش کن:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "وظایÙ:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "متغیرها:"
@@ -7604,38 +8678,14 @@ msgid "Connect Nodes"
msgstr "اتصال گره‌ها"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "شرط"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "دنباله"
-
-#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Switch"
-msgstr "سوییچ"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "تکرارکننده"
+msgid "Connect Node Data"
+msgstr "اتصال گره‌ها"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "While"
-msgstr "تا زمانی که"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "بازگشت"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Ú¯Ø±ÙØªÙ†"
+msgid "Connect Node Sequence"
+msgstr "اتصال گره‌ها"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7663,26 +8713,18 @@ msgid "Remove Function"
msgstr "برداشتن نقش"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "ویرایش متغیر"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "حذ٠متغیر"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "ویرایش سیگنال"
+msgid "Editing Variable:"
+msgstr "متغیر در حال ویرایش:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "حذ٠سیگنال"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "متغیر در حال ویرایش:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "ویرایش سیگنال:"
@@ -7728,6 +8770,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr "مسیر به سمت گره:"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "عضوها"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "نوع ورودی قابل تکرار نیست: "
@@ -7787,6 +8834,19 @@ msgstr ""
"مقدار بازگشتی نامعتبر از ()step_ ، باید integer (seq out) ، یا string "
"(error) باشد."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "حذ٠گره اسکریپت٠دیداری"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Ú¯Ø±ÙØªÙ†"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7844,8 +8904,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7946,6 +9006,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "دارایی Path باید به یک گره Node2D معتبر اشاره کند تا کار کند."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8008,8 +9081,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8097,6 +9170,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8111,6 +9195,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "طول انیمیشن (به ثانیه)."
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "اندازهٔ قلم نامعتبر."
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "'s%' را از 's%' جدا کن"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"یک AnimationPlayer از درخت صحنه انتخاب کنید تا انیمیشن‌ها را ویرایش کنید."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8187,12 +9312,162 @@ msgstr "خطای بارگذاری قلم."
msgid "Invalid font size."
msgstr "اندازهٔ قلم نامعتبر."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "زبانه قبلی"
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "ØºÛŒØ±ÙØ¹Ø§Ù„ شده"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "انتقال ترک انیمشین به بالا"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "انتقال ترک انیمشین به پایین"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "تنظیم گذار‌ها به :"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "تغییر نام ترک انیمشین"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "تغییر سبک الحاق ترک انیمیشن"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "تغییر حالت مقدار ترک انیمیشن"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "تغییر حالت بسته شدن ترک انیمشین"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "ویرایش منحنی گره"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "ویرایش منحنی انتخاب شده"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "یک کلید در انیمیشن اضاÙÙ‡ Ú©Ù†"
+
+#~ msgid "In"
+#~ msgstr "داخل"
+
+#~ msgid "Out"
+#~ msgstr "خارج"
+
+#~ msgid "In-Out"
+#~ msgstr "داخل-خارج"
+
+#~ msgid "Out-In"
+#~ msgstr "خارج-داخل"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "طول انیمیشن را تغییر بده"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "حلقه انیمیشن را تغییر بده"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "کلید مقدار دارای نوع را در انیمیشن ایجاد کن"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "ترک ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ را در انیمیشن اضاÙÙ‡ Ú©Ù†"
+
+#~ msgid "Length (s):"
+#~ msgstr "طول(ها):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "گام چسبنده‌ی مکان‌نما (به ثانیه)."
-#~ msgid "Next"
-#~ msgstr "بعدی"
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "حلقه را در انیمیشن ÙØ¹Ø§Ù„/غیر ÙØ¹Ø§Ù„ Ú©Ù†."
+
+#~ msgid "Add new tracks."
+#~ msgstr "ترک‌های جدید اضاÙÙ‡ Ú©Ù†."
+
+#~ msgid "Move current track up."
+#~ msgstr "ترک جاری را به بالا جابجا کن."
+
+#~ msgid "Move current track down."
+#~ msgstr "ترک جاری را به پایین جابجا کن."
+
+#~ msgid "Track tools"
+#~ msgstr "ابزارهای ترک"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "ویرایش کلیدهای Ø§Ù†ÙØ±Ø§Ø¯ÛŒ با کلیک بر روی آن‌ها را ÙØ¹Ø§Ù„ Ú©Ù†."
+
+#~ msgid "Key"
+#~ msgstr "کلید"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "توابع را در کدام گره ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ کند؟"
+
+#~ msgid "Thanks!"
+#~ msgstr "با تشکر !"
+
+#~ msgid "I see..."
+#~ msgstr "من میبینم ..."
+
+#, fuzzy
+#~ msgid "Can't open '%s'."
+#~ msgstr "در حال اتصال..."
+
+#~ msgid "Run Script"
+#~ msgstr "اجرای اسکریپت"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "گذاشتن محور در مکان موشواره"
+
+#~ msgid "Clear!"
+#~ msgstr "حذÙ!"
+
+#~ msgid "Condition"
+#~ msgstr "شرط"
+
+#~ msgid "Sequence"
+#~ msgstr "دنباله"
+
+#, fuzzy
+#~ msgid "Switch"
+#~ msgstr "سوییچ"
+
+#~ msgid "Iterator"
+#~ msgstr "تکرارکننده"
+
+#, fuzzy
+#~ msgid "While"
+#~ msgstr "تا زمانی که"
+
+#~ msgid "Return"
+#~ msgstr "بازگشت"
+
+#~ msgid "Call"
+#~ msgstr "ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ"
+
+#~ msgid "Edit Variable"
+#~ msgstr "ویرایش متغیر"
#~ msgid "Can't contain '/' or ':'"
#~ msgstr "نمی‌تواند شامل '/' یا ':' باشد"
@@ -8260,15 +9535,9 @@ msgstr "اندازهٔ قلم نامعتبر."
#~ "Viewport تنظیم شده در داریی path باید به صورت render target برای این "
#~ "اسپرایت تنظیم شود تا کار کند."
-#~ msgid "Filter:"
-#~ msgstr "صاÙÛŒ:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "لیست متد برای 's%' :"
-#~ msgid "Arguments:"
-#~ msgstr "نشانوندها:"
-
#~ msgid "Return:"
#~ msgstr "بازگشت:"
@@ -8281,10 +9550,6 @@ msgstr "اندازهٔ قلم نامعتبر."
#~ msgid "Re-Importing"
#~ msgstr "در حال وارد کردن دوباره..."
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "خطا در بارگذاری:"
-
#~ msgid "The quick brown fox jumps over the lazy dog."
#~ msgstr ""
#~ "کلاغ ÙØ±Ø² Ùˆ چابک، ظهر هر روز با صدای ضخیم Ùˆ عذاب‌آورش بـه جستجوی یک مثقال "
@@ -8298,10 +9563,6 @@ msgstr "اندازهٔ قلم نامعتبر."
#~ msgstr "+Ctrl"
#, fuzzy
-#~ msgid "Invalid unique name."
-#~ msgstr "نام نامعتبر."
-
-#, fuzzy
#~ msgid "Invalid product GUID."
#~ msgstr "اندازه‌ی قلم نامعتبر."
diff --git a/editor/translations/fi.po b/editor/translations/fi.po
index 11f9bb51c7..c6efa1f56a 100644
--- a/editor/translations/fi.po
+++ b/editor/translations/fi.po
@@ -12,7 +12,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-07-19 10:36+0000\n"
+"PO-Revision-Date: 2018-08-21 21:36+0000\n"
"Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/"
"godot/fi/>\n"
@@ -20,334 +20,491 @@ msgstr ""
"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.1-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Poistettu käytöstä"
+#: 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 ""
+"Virheellinen tyyppiargumentti convert() metodille, käytä TYPE_* vakioita."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Koko valinta"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+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"
+msgstr ""
+
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Virheellinen osoitinominaisuuden nimi '%s' solmussa %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Virheellinen osoitinominaisuuden nimi '%s' solmussa %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Virheellinen argumentti tyyppiä: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Vapauta"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Peilaa X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Lisää keyframe"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Kahdenna valinta"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Poista valitut"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Animaatio: Monista avaimet"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Animaatio: poista avaimet"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Animaatio: muuta avainruudun aikaa"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animaatio: muuta siirtymää"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animaatio: muuta muunnosta"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Animaatio: muuta avainruudun arvoa"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animaatio: muuta kutsua"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animaatio: Lisää raita"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Ominaisuus:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Animaatio: Monista avaimet"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Muunnoksen tyyppi"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Siirrä animaatioraita ylös"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Siirrä animaatioraita alas"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Poista animaatioraita"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Lopeta animaation toisto. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animaatio: Lisää raita"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Aseta siirtymät:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animaation pituus (sekunteina)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Animaatioraita: nimeä uudelleen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animaation lähennystaso."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Animaatioraita: muuta interpolaatiota"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funktiot:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Animaatioraita: muuta arvon tilaa"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Äänikuuntelija"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Animaatioraita: muuta kierron tilaa"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Klippejä"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Muokkaa solmun käyrää"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Käytä häiriötöntä tilaa."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Muokkaa valinnan käyrää"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Animaatio: poista avaimet"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animaatiosolmu"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Kahdenna valinta"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Kahdenna käänteisesti"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Poista valittu raita."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Poista valinta"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Ristihäivytyksen aika (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Jatkuva"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Erillinen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Liipaisin"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Animaatio: lisää avain"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Animaatio: siirrä avaimia"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Skaalaa valintaa"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skaalaa kursorista"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Mene seuraavaan vaiheeseen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Ominaisuudet"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Mene edelliseen vaiheeseen"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineaarinen"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Muuttumaton"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Sisään"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Ulos"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Sisältä ulos"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Ulkoa sisään"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Lisää keyframe"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Siirtymät"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Kahdenna solmu(t)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimoi animaatio"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Poista solmu(t)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Siivoa animaatio"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Poista animaatioraita"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Luo kohteelle %s UUSI raita ja lisää avain?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Luo %d uutta raitaa ja lisää avaimet?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Luo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Animaatio: lisää"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Animaatio: luo ja lisää"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Animaatio: Lisää raita ja avain"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Animaatio: Lisää avain"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Muuta animaation pituutta"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Vaihda animaation kierto"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Animaatio: Luo tyypitetty arvoavain"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Animaatio: lisää"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "VariableGet ei löytynyt skriptistä: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Animaatio: siirrä avaimia"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Leikepöytä on tyhjä!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Animaatio: Skaalaa avaimia"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Animaatio: Lisää kutsuraita"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animaation lähennystaso."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Pituus (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animaation pituus (sekunteina)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Askellus (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Kohdistimen askelrajoitin (sekunneissa)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animaatiopuu on kelvollinen."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Ota käyttöön tai poista käytöstä animaation toisto."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Muokkaa"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Lisää uusia raitoja."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Animaatiopuu"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Siirrä nykyinen raita ylös."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopioi parametrit"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Siirrä nykyinen raita alas."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Liitä parametrit"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Poista valittu raita."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Skaalaa valintaa"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skaalaa kursorista"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Kahdenna valinta"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Kahdenna käänteisesti"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Poista valitut"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Raidan työkalut"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Mene seuraavaan vaiheeseen"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Mahdollistaa avainten muokkaamisen napsauttamalla niitä."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Mene edelliseen vaiheeseen"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimoi animaatio"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Siivoa animaatio"
+
+#: 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 "Anim. Optimizer"
msgstr "Animaation optimoija"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Max. lineaarinen virhe:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. kulmavirhe:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max. optimoitava kulma:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimoi"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Valitse AnimationPlayer skenen puusta muokataksesi animaatioita."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Avain"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Siirtymä"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Skaalaussuhde:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Mistä solmusta kutsutaan funktiota?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Poista virheelliset avaimet"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Poista ratkaisemattomat ja tyhjät raidat"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Siivoa kaikki animaatiot"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Siivoa animaatio(t) (EI VOI KUMOTA!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Siivoa"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Skaalaussuhde:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopioi"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Muuta taulukon kokoa"
@@ -368,7 +525,7 @@ msgstr "Mene riville"
msgid "Line Number:"
msgstr "Rivinumero:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Ei osumia"
@@ -384,7 +541,7 @@ msgstr "Huomioi kirjainkoko"
msgid "Whole Words"
msgstr "Kokonaisia sanoja"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Korvaa"
@@ -396,18 +553,28 @@ msgstr "Korvaa kaikki"
msgid "Selection Only"
msgstr "Pelkkä valinta"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Lähennä"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Loitonna"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Palauta oletuslähennystaso"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Varoitukset"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Lähennä (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Rivi:"
@@ -439,7 +606,8 @@ msgid "Add"
msgstr "Lisää"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -470,7 +638,7 @@ msgid "Oneshot"
msgstr "Ainutkertainen"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -492,11 +660,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Yhdistä solmu '%s' solmuun '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Yhdistävä signaali:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Katkaise yhteys solmusta '%s' solmuun '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Katkaise yhteys solmusta '%s' solmuun '%s'"
#: editor/connections_dialog.cpp
@@ -504,14 +673,48 @@ msgid "Connect..."
msgstr "Yhdistä..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Katkaise yhteys"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Yhdistävä signaali:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Muokkaa yhteyksiä"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Haluatko varmasti suorittaa usemman projektin?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signaalit"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Katkaise yhteys"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Muokkaa"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metodit"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Muuta %s:n tyyppi"
@@ -534,22 +737,25 @@ msgstr "Suosikit:"
msgid "Recent:"
msgstr "Viimeaikaiset:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Hae:"
#: editor/create_dialog.cpp editor/editor_help.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 "Osumat:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Kuvaus:"
@@ -611,7 +817,9 @@ msgstr "Etsi korvaava resurssi:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Avaa"
@@ -633,7 +841,7 @@ msgstr ""
"toimivuuteen.\n"
"Poistetaanko silti? (ei mahdollisuutta kumota)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Ei voida poistaa:"
@@ -701,9 +909,13 @@ msgstr "Vaihda hakurakenteen arvoa"
msgid "Thanks from the Godot community!"
msgstr "Kiitos Godot-yhteisöltä!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Kiitos!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -880,6 +1092,7 @@ msgid "Bus options"
msgstr "Väylän asetukset"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Monista"
@@ -948,7 +1161,8 @@ msgstr "Lisää väylä"
msgid "Create a new Bus Layout."
msgstr "Luo uusi ääniväylän asettelu."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Lataa"
@@ -958,7 +1172,6 @@ msgid "Load an existing Bus Layout."
msgstr "Lataa olemassaoleva väylän asettelu."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Tallenna nimellä"
@@ -1001,22 +1214,6 @@ msgstr ""
"vakion nimen kanssa."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Virheellinen polku."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Tiedostoa ei ole olemassa."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Ei löytynyt resurssipolusta."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Lisää automaattisesti ladattava"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Automaattisesti ladattava '%s' on jo olemassa!"
@@ -1044,6 +1241,22 @@ msgstr "Ota käyttöön"
msgid "Rearrange Autoloads"
msgstr "Järjestele uudelleen automaattiset lataukset"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Virheellinen polku."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Tiedostoa ei ole olemassa."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Ei löytynyt resurssipolusta."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Lisää automaattisesti ladattava"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1074,7 +1287,7 @@ msgstr "Varastoidaan paikalliset muutokset..."
msgid "Updating scene..."
msgstr "Päivitetään skeneä..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[tyhjä]"
@@ -1136,6 +1349,12 @@ msgid "Copy Path"
msgstr "Kopioi polku"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Näytä tiedostonhallinnassa"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Näytä tiedostonhallinnassa"
@@ -1172,7 +1391,7 @@ msgid "Open a File or Directory"
msgstr "Avaa tiedosto tai hakemisto"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Tallenna"
@@ -1225,7 +1444,8 @@ msgstr "Siirry yläkansioon"
msgid "Directories & Files:"
msgstr "Hakemistot ja tiedostot:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Esikatselu:"
@@ -1377,20 +1597,28 @@ msgstr ""
"Tälle metodille ei vielä löydy kuvausta. Voit auttaa meitä [color=$color]"
"[url=$url]kirjoittamalla sellaisen[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Hae tekstiä"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Ominaisuus:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Etsi"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Aseta"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Tuloste:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1412,11 +1640,6 @@ msgstr "Virhe tallennettaessa resurssia!"
msgid "Save Resource As..."
msgstr "Tallenna resurssi nimellä..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Ymmärrän..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Ei voida avata tiedostoa kirjoitettavaksi:"
@@ -1429,9 +1652,9 @@ msgstr "Pyydetty tiedostomuoto tuntematon:"
msgid "Error while saving."
msgstr "Virhe tallennettaessa."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Ei voida avata tiedostoa '%s'."
+#: 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'."
@@ -1474,10 +1697,6 @@ msgstr ""
"perintää) ei voida toteuttaa."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Resurssin lataaminen epäonnistui."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Ei voitu ladata MeshLibrary resurssia yhdistämistä varten!"
@@ -1558,42 +1777,6 @@ msgstr ""
"Ole hyvä ja lue ohjeet testaamisesta ymmärtääksesi paremmin tämän työnkulun."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Laajenna kaikki ominaisuudet"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Tiivistä kaikki ominaisuudet"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Kopioi parametrit"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Liitä parametrit"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Liitä resurssi"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kopioi resurssi"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Tee sisäänrakennettu"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Tee aliresursseista yksilöllisiä"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Avaa ohjeessa"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Suoritettavaa skeneä ei ole määritetty."
@@ -1781,11 +1964,6 @@ msgstr ""
"Skene '%s' tuotiin automaattisesti, joten sitä ei voida muokata.\n"
"Muokataksesi sitä voit luoda uuden perityn skenen."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Äh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1816,6 +1994,16 @@ msgid "Default"
msgstr "Oletus"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Pelaa skeneä"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Sulje muut välilehdet"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Vaihda skenen välilehteä"
@@ -1937,10 +2125,6 @@ msgstr "Projekti"
msgid "Project Settings"
msgstr "Projektin asetukset"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Suorita skripti"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Vie"
@@ -1950,6 +2134,11 @@ msgid "Tools"
msgstr "Työkalut"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Avataanko projektinhallinta?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Lopeta ja palaa projektiluetteloon"
@@ -2059,6 +2248,20 @@ msgstr "Editorin ulkoasu"
msgid "Toggle Fullscreen"
msgstr "Siirry koko näytön tilaan"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Editorin asetukset"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Editorin asetukset"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Hallinnoi vientimalleja"
@@ -2074,7 +2277,8 @@ msgstr "Luokat"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Hae"
@@ -2118,7 +2322,7 @@ msgstr "Keskeytä skene"
msgid "Stop the scene."
msgstr "Lopeta skenen suorittaminen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Pysäytä"
@@ -2139,6 +2343,16 @@ msgid "Play Custom Scene"
msgstr "Valitse ja käynnistä skene"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Tallenna & tuo uudelleen"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Pyörii kun editorin ikkuna päivittyy!"
@@ -2158,42 +2372,6 @@ msgstr "Poista päivitysanimaatio"
msgid "Inspector"
msgstr "Tarkastelu"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Luo uusi resurssi muistiin ja muokkaa sitä."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Lataa olemassaoleva resurssi levyltä ja muokkaa sitä."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Tallenna tällä hetkellä muokattu resurssi."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Tallenna nimellä..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Edellinen editoitu objekti."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Seuraava editoitu objekti."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Viimeisimmin muokatut objektit."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Objektin ominaisuudet."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Muutokset saatetaan menettää!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2208,6 +2386,11 @@ msgid "FileSystem"
msgstr "Tiedostojärjestelmä"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Laajenna kaikki"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Tuloste"
@@ -2284,19 +2467,24 @@ msgid "Thumbnail..."
msgstr "Pienoiskuva..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Muokkaa polygonia"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Asennetut lisäosat:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Päivitä"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versio:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Tekijä:"
@@ -2304,13 +2492,16 @@ msgstr "Tekijä:"
msgid "Status:"
msgstr "Tila:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Lopeta profilointi"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Muokkaa"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Aloita profilointi"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Aloita!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2356,6 +2547,106 @@ msgstr "Aika"
msgid "Calls"
msgstr "Kutsuja"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Päällä"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bitti %d, arvo %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Tyhjä]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Aseta"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Valitse näyttöruutu"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Uusi skripti"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Uusi %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Tee yksilölliseksi"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Näytä tiedostojärjestelmässä"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Liitä"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Muunna muotoon %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Avaa editorissa"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Valittu solmu ei ole Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Solun koko:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Uusi nimi:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Uusi nimi:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Poista"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Valitse laite listasta"
@@ -2392,10 +2683,6 @@ msgstr "Skriptiä ei voitu suorittaa:"
msgid "Did you forget the '_run' method?"
msgstr "Unohditko '_run' metodin?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Oletus (sama kuin editori)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Valitse tuotavat solmut"
@@ -2421,6 +2708,7 @@ msgid "(Installed)"
msgstr "(Asennettu)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Lataa"
@@ -2445,7 +2733,8 @@ msgid "Can't open export templates zip."
msgstr "Vientimallien zip-tiedostoa ei voitu avata."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Vientimalli sisältää virheellisen version.txt tiedoston."
#: editor/export_template_manager.cpp
@@ -2507,6 +2796,12 @@ msgid "Download Complete."
msgstr "Lataus valmis."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Virhe pyydettäessä osoitetta: "
@@ -2585,7 +2880,8 @@ msgid "Download Templates"
msgstr "Lataa mallit"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Valitse peilipalvelin listasta: "
#: editor/file_type_cache.cpp
@@ -2601,11 +2897,13 @@ msgstr ""
"tiedostojärjestelmästäsi!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Ruudukkonäkymä esikatselukuvilla"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Listanäkymä"
#: editor/filesystem_dock.cpp
@@ -2677,7 +2975,7 @@ msgstr "Laajenna kaikki"
msgid "Collapse all"
msgstr "Pienennä kaikki"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Nimeä uudelleen..."
@@ -2706,6 +3004,23 @@ msgid "Duplicate..."
msgstr "Kahdenna..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Uusi skripti"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Tallenna resurssi nimellä..."
+
+#: 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 "Nimeä uudelleen"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Edellinen hakemisto"
@@ -2718,14 +3033,29 @@ msgid "Re-Scan Filesystem"
msgstr "Skannaa tiedostojärjestelmä uudelleen"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Merkitse kansio suosikkeihin"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Valitse muokattavana oleva aliruutu."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Luo valituista skeneistä ilmentymä valitun solmun alle."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Etsi luokkia"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2733,14 +3063,112 @@ msgstr ""
"Selataan tiedostoja,\n"
"Hetkinen…"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Siirrä"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Nimeä uudelleen"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Polusta löytyy jo kansio annetulla nimellä."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Luo skripti"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Etsi ruutu"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Etsi"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Kokonaisia sanoja"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Huomioi kirjainkoko"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Suodatin:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Etsi..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Korvaa..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Peru"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Korvaa"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Korvaa kaikki"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Tallennetaan..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Hae tekstiä"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "VIRHE: Samanniminen animaatio on jo olemassa!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Virheellinen nimi."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Ryhmät"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Lisää ryhmään"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Suodata solmuja"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Muokkaa ryhmiä"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2750,6 +3178,11 @@ msgstr "Lisää ryhmään"
msgid "Remove from Group"
msgstr "Poista ryhmästä"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Ryhmät"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Tuo yhtenä skenenä"
@@ -2791,7 +3224,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Tuo useina skeneinä ja materiaaleina"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Tuo skene"
@@ -2852,18 +3285,131 @@ msgstr "Esiasetus..."
msgid "Reimport"
msgstr "Tuo uudelleen"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Resurssin lataaminen epäonnistui."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Laajenna kaikki ominaisuudet"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Tiivistä kaikki ominaisuudet"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Tallenna nimellä..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Kopioi parametrit"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Liitä parametrit"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Resurssien leikepöytä on tyhjä!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kopioi resurssi"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Tee sisäänrakennettu"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Tee aliresursseista yksilöllisiä"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Avaa ohjeessa"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Luo uusi resurssi muistiin ja muokkaa sitä."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Lataa olemassaoleva resurssi levyltä ja muokkaa sitä."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Edellinen editoitu objekti."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Seuraava editoitu objekti."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Viimeisimmin muokatut objektit."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Objektin ominaisuudet."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Suodata solmuja"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Muutokset saatetaan menettää!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Aseta usealle solmulle"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Ryhmät"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Valitse solmu, jonka signaaleja ja ryhmiä haluat muokata."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Muokkaa polygonia"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Luo C# ratkaisu"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Lisäosat"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Kieli"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Skripti kelpaa"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2909,6 +3455,149 @@ msgstr ""
msgid "Delete points"
msgstr "Poista pisteitä"
+#: 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 "Lisää animaatio"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Lataa"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Poista pisteitä"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "OHP: Pyyhi piste."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Siirrä pistettä"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animaatiosolmu"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Tapahtuma '%s' on jo olemassa!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Tartu"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Muokkaa suodattimia"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Lisää solmu"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Muokkaa suodattimia"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Muokattavat alisolmut"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Toista automaattisesti"
@@ -2935,11 +3624,13 @@ msgid "Remove Animation"
msgstr "Poista animaatio"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "VIRHE: Virheellinen animaation nimi!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "VIRHE: Samanniminen animaatio on jo olemassa!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2948,11 +3639,6 @@ msgid "Rename Animation"
msgstr "Nimeä animaatio uudelleen"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Lisää animaatio"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Sulauta seuraavaan vaihdettu"
@@ -2969,11 +3655,13 @@ msgid "Duplicate Animation"
msgstr "Monista animaatio"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "VIRHE: Ei kopioitavaa animaatiota!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "VIRHE: Ei animaation resurssia leikepöydällä!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2985,7 +3673,8 @@ msgid "Paste Animation"
msgstr "Liitä animaatio"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "VIRHE: Ei muokattavaa animaatiota!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3017,20 +3706,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Skaalaa animaation toistoa globaalisti solmulle."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Luo uusi animaatio soittimessa."
+msgid "Animation Tools"
+msgstr "Animaatiotyökalut"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animaatio"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Lataa animaatio levyltä."
+msgid "New"
+msgstr "Uusi"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Lataa animaatio levyltä."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Siirtymät"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Tallenna nykyinen animaatio"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Avaa editorissa"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3041,18 +3737,6 @@ msgid "Autoplay on Load"
msgstr "Toista automaattisesti ladattaessa"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Muokkaa kohteen sulautusaikoja"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Animaatiotyökalut"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Kopioi animaatio"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Onion skinning"
@@ -3101,6 +3785,11 @@ msgid "Include Gizmos (3D)"
msgstr "Näytä 3D-muokkaimet"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Liitä animaatio"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Luo uusi animaatio"
@@ -3110,6 +3799,7 @@ msgstr "Animaation nimi:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3127,161 +3817,214 @@ msgstr "Seuraava (automaattinen jono):"
msgid "Cross-Animation Blend Times"
msgstr "Lomittautuvien animaatioiden sulautusajat"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animaatio"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Loppu(u)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Ei löytynyt resurssipolusta."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Luo uusi %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Kytke solmut"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Poista valittu raita."
+
+#: 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 "Siirtymä"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "Animaatiopuu"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Uusi nimi:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Muokkaa suodattimia"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Skaalaus:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Häivytys sisään (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Häivytys ulos (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Sulauta"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Sekoita"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Automaattinen uudelleenkäynnistys:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Käynnistä uudelleen (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Satunnainen uudelleenaloitus (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Aloita!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Määrä:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Sulautus:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Sulautus 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Sulautus 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Ristihäivytyksen aika (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Nykyinen:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Lisää syöte"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Poista automaattinen eteneminen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Aseta automaattinen eteneminen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Poista syöte"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Animaatiopuu on kelvollinen."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Animaatiopuu ei ole kelvollinen."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animaatiosolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Vaiheistussolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Sekoitussolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "2-sulautussolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "3-sulautussolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "4-sulautussolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Ajanskaalaussolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Ajanhakusolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Siirtymäsolmu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Tuo animaatiot..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Muokkaa solmun suodattimia"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Suodattimet..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "Animaatiopuu"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Vapauta"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Sisällöt:"
@@ -3336,8 +4079,14 @@ msgid "Asset Download Error:"
msgstr "Assettien latausvirhe:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Noudetaan:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Ladataan"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Ladataan"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3364,20 +4113,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Tämän assetin lataus on jo käynnissä!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "ensimmäinen"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "edellinen"
+#, fuzzy
+msgid "Previous"
+msgstr "Edellinen välilehti"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "seuraava"
+msgid "Next"
+msgstr "Seuraava"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "viimeinen"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3451,7 +4202,7 @@ msgid "Bake Lightmaps"
msgstr "Kehitä Lightmapit"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Esikatselu"
@@ -3460,12 +4211,10 @@ msgid "Configure Snap"
msgstr "Määrittele tarttuminen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Ruudukon siirtymä:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Ruudukon välistys:"
@@ -3478,14 +4227,6 @@ msgid "Rotation Step:"
msgstr "Kierron välistys:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Siirrä keskikohtaa"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Siirrä"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Siirrä pystysuuntaista apuviivaa"
@@ -3514,11 +4255,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Luo uudet vaaka- ja pystysuorat apuviivat"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Muokkaa IK ketjua"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Siirrä keskikohtaa"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Muokkaa CanvasItemiä"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Siirrä"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Muokkaa CanvasItemiä"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Muokkaa CanvasItemiä"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3538,6 +4296,21 @@ msgid "Paste Pose"
msgstr "Liitä asento"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Loitonna"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Palauta lähennys"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Lähennä"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Valitse tila"
@@ -3585,7 +4358,8 @@ msgid "Pan Mode"
msgstr "Panorointitila"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Asettaa tarttumisen"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3593,7 +4367,8 @@ msgid "Use Snap"
msgstr "Käytä tarttumista"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Tarttumisen asetukset"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3634,6 +4409,11 @@ msgid "Snap to node sides"
msgstr "Tartu solmun reunoihin"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Tartu solmun ankkuriin"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Tartu muihin solmuihin"
@@ -3660,14 +4440,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Palauttaa objektin aliobjektien mahdollisuuden tulla valituksi."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Tee luut"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Tyhjennä luut"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Näytä luut"
@@ -3680,6 +4452,15 @@ msgid "Clear IK Chain"
msgstr "Tyhjennä IK ketju"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Tyhjennä luut"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Näytä"
@@ -3722,14 +4503,11 @@ msgid "Layout"
msgstr "Asettelu"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Lisää avainruutuja"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Lisää keyframe"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Lisää avainruutu (olemassa olevat raidat)"
@@ -3742,14 +4520,6 @@ msgid "Clear Pose"
msgstr "Tyhjennä asento"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Vedä keskipistettä hiiren sijainnista"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Aseta piste hiiren kohdalle"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Kerro ruudukon välistys kahdella"
@@ -3765,10 +4535,6 @@ msgstr "Lisää %s"
msgid "Adding %s..."
msgstr "Lisätään %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Ei voida luoda ilmentymiä useasta solmusta ilman juurta."
@@ -3803,27 +4569,20 @@ msgstr "Luo Poly3D"
msgid "Set Handle"
msgstr "Aseta kahva"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Poistetaanko kohde %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Lisää kohde"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Poista valitut kohteet"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partikkelit"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Tuo skenestä"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Luo säteilypisteet meshistä"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Päivitä skenestä"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Luo säteilypisteet solmusta"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3893,15 +4652,6 @@ msgstr "Pidä shift pohjassa muokataksesi tangentteja yksitellen"
msgid "Bake GI Probe"
msgstr "Kehitä GI Probe"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Lisää/poista väriliukuman piste"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Muokkaa väriliukumaa"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Kohde %d"
@@ -3987,6 +4737,7 @@ msgid "No mesh to debug."
msgstr "Ei meshiä debugattavaksi."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Mallilla ei ole UV-kanavaa tällä kerroksella"
@@ -4054,6 +4805,27 @@ msgstr "Luo reunoista Mesh"
msgid "Outline Size:"
msgstr "Ääriviivojen koko:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Poistetaanko kohde %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Lisää kohde"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Poista valitut kohteet"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Tuo skenestä"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Päivitä skenestä"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4156,70 +4928,6 @@ msgstr "Satunnainen skaalaus:"
msgid "Populate"
msgstr "Täytä"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Kehitä!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Kehitä navigointiverkko."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Tyhjennä navigointiverkko."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Luodaan konfiguraatiota..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Lasketaan ruudukon kokoa..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Luodaan korkeuskenttää..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Merkitään kuljettavat kolmiot..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Rakennetaan tiivistä korkeuskenttää..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Syövytetään kuljettavaa aluetta..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Ositetaan..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Luodaan korkeuskäyriä..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Luodaan polymesh..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Muunnetaan alkuperäiseksi navigointiverkoksi..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Navigointiverkon generaattorin asetukset:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Jäsentää geometriaa…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Valmis!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Luo navigointipolygoni"
@@ -4281,18 +4989,6 @@ msgid "Emission Colors"
msgstr "Emission väri"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Solmu ei sisällä geometriaa."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Solmulta puuttuu geometria (tahkot)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Tarvitaan 'ParticlesMaterial' tyyppinen prosessorimateriaali."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Pinnat eivät sisällä aluetta!"
@@ -4301,16 +4997,12 @@ msgid "No faces!"
msgstr "Ei pintoja!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Luo AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Luo säteilypisteet meshistä"
+msgid "Node does not contain geometry."
+msgstr "Solmu ei sisällä geometriaa."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Luo säteilypisteet solmusta"
+msgid "Node does not contain geometry (faces)."
+msgstr "Solmulta puuttuu geometria (tahkot)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4337,6 +5029,19 @@ msgid "Emission Source: "
msgstr "Emission lähde: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Tarvitaan 'ParticlesMaterial' tyyppinen prosessorimateriaali."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Luo AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Muunna isoiksi kirjaimiksi"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Kartoita näkyvä alue"
@@ -4413,6 +5118,22 @@ msgstr "Poista piste"
msgid "Close Curve"
msgstr "Sulje käyrä"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Asetuksia"
+
+#: 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 "Käyrän piste #"
@@ -4445,19 +5166,95 @@ msgstr "Poista lähtöohjaimen piste"
msgid "Remove In-Control Point"
msgstr "Poista tulo-ohjaimen piste"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Siirrä pistettä"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Näytä luut"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Luo UV kartta"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Luo polygoni"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Tapahtuma '%s' on jo olemassa!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Lisää pistä"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Virheellinen polku!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Poista piste"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Muunna UV kartta"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon 2D UV-editori"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Muokkaa polygonia"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Puolita polku"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Tee luut"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Luo polygoni"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Siirrä pistettä"
@@ -4486,12 +5283,25 @@ msgid "Scale Polygon"
msgstr "Skaalaa polygonia"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Muokkaa"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Valitse asetus ensin!"
+
+#: 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 "Polygon->UV"
@@ -4506,9 +5316,9 @@ msgid "Clear UV"
msgstr "Tyhjennä UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Tartu"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Ruudukon asetukset"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4518,6 +5328,36 @@ msgstr "Käytä tarttumista"
msgid "Grid"
msgstr "Ruudukko"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Määrittele tarttuminen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Ruudukon siirtymä:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Ruudukon siirtymä:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Ruudukon välistys:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Ruudukon välistys:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Skaalaa polygonia"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "VIRHE: Resurssia ei voitu ladata!"
@@ -4540,6 +5380,10 @@ msgid "Resource clipboard is empty!"
msgstr "Resurssien leikepöytä on tyhjä!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Liitä resurssi"
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Avaa editorissa"
@@ -4561,16 +5405,18 @@ msgid "Load Resource"
msgstr "Lataa resurssi"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Liitä"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "Resurssien esilataaja"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Animaatiopuu ei ole kelvollinen."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Tyhjennä viimeisimpien tiedostojen luettelo"
@@ -4580,6 +5426,21 @@ msgid "Close and save changes?"
msgstr "Sulje ja tallenna muutokset?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Virhe ladattaessa kuvaa:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Virhe - Ei voitu luoda skriptiä tiedostojärjestelmään."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Virhe tallennettaessa ruutuvalikoimaa!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Virhe tallennettaessa teemaa"
@@ -4596,6 +5457,21 @@ msgid "Error importing"
msgstr "Virhe tuonnissa"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Uusi kansio..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Avaa tiedosto"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Tallenna nimellä..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Tuo teema"
@@ -4608,6 +5484,10 @@ msgid " Class Reference"
msgstr " Luokan referenssi"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Lajittele"
@@ -4636,8 +5516,9 @@ msgid "File"
msgstr "Tiedosto"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Uusi"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Näytä tiedostot"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4664,6 +5545,11 @@ msgid "History Next"
msgstr "Seuraava historiassa"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Teema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Lataa teema uudelleen"
@@ -4697,11 +5583,6 @@ msgstr "Näytä/piilota skriptipaneeli"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Etsi..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Etsi seuraava"
@@ -4755,10 +5636,6 @@ msgid "Discard"
msgstr "Hylkää"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Luo skripti"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4779,6 +5656,16 @@ msgid "Debugger"
msgstr "Debuggeri"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Etsi ohjeesta"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Etsi luokkia"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4786,40 +5673,56 @@ msgstr ""
"kuuluvat, on ladattu"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Rivi:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Vain tiedostojärjestelmän resursseja voi raahata ja pudottaa."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Täydennä symbooli"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Poimi väri"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Muunna aakkoslaji"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Isot kirjaimet"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Pienet kirjaimet"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Isot alkukirjaimet"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Leikkaa"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopioi"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4907,8 +5810,9 @@ msgid "Find Previous"
msgstr "Etsi edellinen"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Korvaa..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Suodata tiedostot..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4926,129 +5830,42 @@ msgstr "Asiayhteydellinen ohje"
msgid "Shader"
msgstr "Sävytin"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Muuta skalaarivakiota"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Muuta vektorivakiota"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Muuta RGB-värivakiota"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Muuta skalaarioperaattoria"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Muuta vektorioperaattoria"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Muuta vektori- ja skalaarioperaattoria"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Muuta RGB-värioperaattoria"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Vain kierto"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Muuta skalaarifunktiota"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Muuta vektorifunktiota"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Muuta skalaariuniformia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Muuta vektoriuniformia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Muuta RGB-uniformia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Muuta oletusarvoa"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Muuta XForm-uniformia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Muuta tekstuuriuniformia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Muuta Cubemap-uniformia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Vaihda kommenttia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Lisää tai poista väriluiskalta"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Lisää tai poista käyräkartalta"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Muokkaa käyräkarttaa"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Vaihda syötteen nimi"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Yhdistä graafin solmut"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Erota graafin solmut"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Poista sävytingraafin solmu"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Luuranko..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Siirrä sävytingraafin solmua"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Kahdenna graafin solmut(t)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Poista sävytingraafin solmuja"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Luo navigointiverkko"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Virhe: syklinen kytkentä"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Luuranko..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Virhe: syöteliitännät puuttuvat"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Luo C# ratkaisu"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Lisää sävytingraafin solmu"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Pelaa"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5175,10 +5992,6 @@ msgid "Align with view"
msgstr "Kohdista näkymään"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Asia kunnossa :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Isäntää, jonka alle ilmentymä luodaan, ei ole valittu."
@@ -5187,6 +6000,11 @@ msgid "This operation requires a single selected node."
msgstr "Tämä toiminto vaatii yhden valitun solmun."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Näytä tiedot"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Näytä normaali"
@@ -5231,6 +6049,11 @@ msgid "Doppler Enable"
msgstr "Doppler käytössä"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Luodaan meshien esikatseluita"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Liiku vasemmalle"
@@ -5361,6 +6184,11 @@ msgid "Tool Scale"
msgstr "Skaalaustyökalu"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Tartu ruudukkoon"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Kytke liikkuminen päälle/pois"
@@ -5369,6 +6197,10 @@ msgid "Transform"
msgstr "Muunna"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Muunnosikkuna..."
@@ -5397,6 +6229,11 @@ msgid "4 Viewports"
msgstr "4 Näyttöruutua"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Näytä muokkaimet"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Näytä origo"
@@ -5410,10 +6247,6 @@ msgid "Settings"
msgstr "Asetukset"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Luurankomuokkaimen näkyvyys"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Tarttumisen asetukset"
@@ -5473,6 +6306,52 @@ msgstr "Esi"
msgid "Post"
msgstr "Jälki"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Tallennuspolku on tyhjä!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Muunna muotoon %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Luo reunoista Mesh"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Esikatselu"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Asetukset"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "VIRHE: Ei voitu ladata framen resurssia!"
@@ -5541,14 +6420,6 @@ msgstr "Siirrä (jälkeen)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "StyleBoxin esikatselu:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Aseta alueen suorakulmio"
@@ -5574,28 +6445,22 @@ msgid "Auto Slice"
msgstr "Jaa automaattisesti"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Siirtymä:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Välistys:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Erotus:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Tekstuurialue"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Tekstuurialueen editori"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Teemaa ei voi tallentaa tiedostoon:"
@@ -5609,11 +6474,6 @@ msgid "Add All"
msgstr "Lisää kaikki"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Poista"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Poista kaikki"
@@ -5685,10 +6545,6 @@ msgstr "On"
msgid "Many"
msgstr "Useita"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Asetuksia"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "On,Useita,Asetuksia"
@@ -5713,7 +6569,7 @@ msgstr "Tietotyyppi:"
msgid "Icon"
msgstr "Kuvake"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Tyyli"
@@ -5726,14 +6582,19 @@ msgid "Color"
msgstr "Väri"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Teema"
+msgid "Constant"
+msgstr "Muuttumaton"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Tyhjennä valittu alue"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Virheellinen nimi."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Täytä ruudukko"
@@ -5754,11 +6615,8 @@ msgid "Erase TileMap"
msgstr "Tyhjennä ruudukko"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Tyhjennä valinta"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Etsi ruutu"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5782,6 +6640,11 @@ msgid "Pick Tile"
msgstr "Poimi ruutu"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Poista valinta"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Käännä 0 astetta"
@@ -5798,68 +6661,123 @@ msgid "Rotate 270 degrees"
msgstr "Käännä 270 astetta"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Ruutua ei löytynyt:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Lisää solmut puusta"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nimi tai ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Poista nykyinen kohde"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Luo skenestä?"
+msgid "Create from Scene"
+msgstr "Luo skenestä"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Yhdistä skenestä?"
+msgid "Merge from Scene"
+msgstr "Yhdistä skenestä"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Ruutuvalikoima"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Valitse aliruutu, jota käytetään ikonina ja myös virheellisten "
+"automaattiruudutusten ilmaisemiseen."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Luo skenestä"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Yhdistä skenestä"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Virhe"
+#: 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 "Autotiles"
-msgstr "Automaattiruudutus"
+msgid "Create from scene?"
+msgstr "Luo skenestä?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr "Yhdistä skenestä?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Valitse aliruutu, jota käytetään ikonina ja myös virheellisten "
-"automaattiruudutusten ilmaisemiseen."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"Hiiren vasen: aseta bitti päälle.\n"
"Hiiren oikea: aseta bitti pois päältä."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Valitse muokattavana oleva aliruutu."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Valitse aliruutu, jota käytetään ikonina ja myös virheellisten "
+"automaattiruudutusten ilmaisemiseen."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Valitse aliruutu muuttaaksesi sen tärkeyttä."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Peru"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Tätä toimintoa ei voi tehdä ilman skeneä."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Ruutuvalikoima"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Kärkipisteet"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "Argumentit:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "OIkea"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Sävytin"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5874,8 +6792,8 @@ msgid "Delete preset '%s'?"
msgstr "Poista esiasetus '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Vientimallit tälle alustalle puuttuvat tai ovat viallisia: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "Vientimallit tälle alustalle puuttuvat tai ovat viallisia:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5952,10 +6870,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Tälle alustalle ei löytynyt vientipohjia:"
#: 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 With Debug"
msgstr "Vie debugaten"
@@ -5964,14 +6878,24 @@ msgid "The path does not exist."
msgstr "Polkua ei ole olemassa."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Ole hyvä ja valitse 'project.godot' tiedosto."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "Ole hyvä ja valitse hakemisto jossa ei ole 'project.godot' tiedostoa."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Ole hyvä ja valitse tyhjä kansio."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Ole hyvä ja valitse 'project.godot' tiedosto."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Tuotu projekti"
@@ -6060,6 +6984,11 @@ msgid "Project Path:"
msgstr "Projektin polku:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Projektin polku:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Selaa"
@@ -6177,9 +7106,10 @@ msgid "Mouse Button"
msgstr "Hiiren painike"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Virheellinen toiminnon nimi. Se ei voi olla tyhjä eikä voi sisältää merkkejä "
"'/', ':', '=', '\\' tai '\"'."
@@ -6193,9 +7123,23 @@ msgid "Rename Input Action Event"
msgstr "Nimeä syötetoiminto uudelleen"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Vaihda animaation nimi:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Lisää syötetoiminnon tapahtuma"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Laite"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Laite"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6237,20 +7181,24 @@ msgid "Wheel Down Button"
msgstr "Rulla alas painike"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Painike 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Rulla ylös painike"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Painike 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Oikea painike"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Painike 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Painike 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Painike 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Painike 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6277,12 +7225,8 @@ msgid "Add Event"
msgstr "Lisää tapahtuma"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Laite"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
-msgstr "Painike"
+msgstr "Button"
#: editor/project_settings_editor.cpp
msgid "Left Button."
@@ -6325,6 +7269,14 @@ msgid "Delete Item"
msgstr "Poista kohde"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Virheellinen toiminnon nimi. Se ei voi olla tyhjä eikä voi sisältää merkkejä "
+"'/', ':', '=', '\\' tai '\"'."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "On jo olemassa"
@@ -6396,6 +7348,10 @@ msgstr "Ominaisuus:"
msgid "Override For..."
msgstr "Ohita alustalle..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Syötekartta"
@@ -6405,6 +7361,15 @@ msgid "Action:"
msgstr "Toiminto:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Toiminto:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Laite:"
@@ -6465,10 +7430,6 @@ msgid "AutoLoad"
msgstr "Automaattilataus"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Valitse näyttöruutu"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Kiihdytä alussa"
@@ -6505,34 +7466,10 @@ msgid "Select Node"
msgstr "Valitse solmu"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Uusi skripti"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Uusi %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Tee yksilölliseksi"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Näytä tiedostojärjestelmässä"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Muunna muotoon %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Virhe ladattaessa tiedostoa: Ei ole resurssi!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Valittu solmu ei ole Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Poimi solmu"
@@ -6541,18 +7478,6 @@ msgid "Bit %d, val %d."
msgstr "Bitti %d, arvo %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Päällä"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Tyhjä]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Aseta"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Ominaisuudet:"
@@ -6576,6 +7501,133 @@ msgstr "PVRTC-työkalun suoritus ei onnistunut:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "Muunnettua kuva ei voitu ladata takaisin PVRTC-työkalulla:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Nimeä uudelleen"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Tarttumisen asetukset"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Solmun nimi:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Etsi solmun tyyppi"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Nykyinen skene"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nimeä uudelleen"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Välistys:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Vaihda lauseketta"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Pienet kirjaimet"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Isot kirjaimet"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Palauta oletuslähennystaso"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Virhe"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Vaihda solmun isäntää"
@@ -6612,11 +7664,6 @@ msgstr "Pääskenen argumentit:"
msgid "Scene Run Settings"
msgstr "Skenen suorittamisasetukset"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Solmua, jonka alle skenen ilmentymä luodaan, ei ole valittu."
@@ -6638,6 +7685,10 @@ msgid "Instance Scene(s)"
msgstr "Luo ilmentymä skenestä tai skeneistä"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Tyhjennä skripti"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Tätä toimenpidettä ei voi tehdä puun juurelle."
@@ -6678,12 +7729,34 @@ msgid "Load As Placeholder"
msgstr "Lataa paikanpitäjäksi"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Hylkää ilmentymä"
+#, fuzzy
+msgid "Make Local"
+msgstr "Paikallinen"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Käy järkeen!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Luo solmu"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Skene"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Skene"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Poista perintä"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Leikkaa solmut"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6694,6 +7767,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Ei voida käyttää solmuja, joista nykyinen skene periytyy!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Liitä skripti"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Poista solmu(t)"
@@ -6738,18 +7815,15 @@ msgid "Change Type"
msgstr "Muuta tyyppiä"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Liitä skripti"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Tyhjennä skripti"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Käy järkeen!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Yhdistä skenestä"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Tallenna haara skenenä"
@@ -6774,10 +7848,6 @@ msgstr ""
"juurisolmua ei ole olemassa."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Suodata solmuja"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Liitä uusi tai olemassa oleva skripti valitulle solmulle."
@@ -6797,25 +7867,19 @@ msgstr "Paikallinen"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Poistetaanko perintä? (Ei voi perua!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Tyhjennä!"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Aseta Spatial näkyvyys päälle/pois"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Aseta CanvasItem näkyvyys päälle/pois"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Aseta näkyvyys"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Solmun konfiguroinnin varoitus:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Solmulla on liitäntöjä ja ryhmiä\n"
@@ -6837,22 +7901,25 @@ msgstr ""
"Solmu kuuluu ryhmään.\n"
"Napsauta näyttääksesi ryhmätelakan."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Avaa skripti"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Solmu on lukittu.\n"
"Napsauta lukituksen avaamiseksi"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Alisolmut eivät ole valittavissa.\n"
"Napsauta niiden tekemiseksi valittavaksi"
@@ -6862,6 +7929,12 @@ msgid "Toggle Visibility"
msgstr "Aseta näkyvyys"
#: 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 "Virheellinen solmun nimi, seuraavat merkit eivät ole sallittuja:"
@@ -6898,6 +7971,11 @@ msgid "N/A"
msgstr "Ei mitään"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Avaa skriptieditori"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Polku on tyhjä"
@@ -7134,10 +8212,23 @@ msgid "Change Camera Size"
msgstr "Muuta kameran kokoa"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Muuta ilmoittajan kattavuutta"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Muuta partikkelien AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Muuta Proben ulottuvuuksia"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Muuta pallomuodon sädettä"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Muuta laatikkomuodon ulottuvuuksia"
@@ -7150,20 +8241,38 @@ msgid "Change Capsule Shape Height"
msgstr "Muuta kapselimuodon korkeutta"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Vaihda säteen muodon pituutta"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Muuta kapselimuodon sädettä"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Muuta ilmoittajan kattavuutta"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Muuta kapselimuodon korkeutta"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Muuta partikkelien AABB"
+msgid "Change Ray Shape Length"
+msgstr "Vaihda säteen muodon pituutta"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Muuta Proben ulottuvuuksia"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Muuta valon sädettä"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Muuta kapselimuodon korkeutta"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Muuta pallomuodon sädettä"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Muuta valon sädettä"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7218,17 +8327,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"Virheellinen tyyppiargumentti convert() metodille, käytä TYPE_* vakioita."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Ei tarpeeksi tavuja tavujen purkamiseksi tai virheellinen formaatti."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "askeleen argumentti on nolla!"
@@ -7297,6 +8395,11 @@ msgid "GridMap Delete Selection"
msgstr "Poista valinta"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Poista valinta"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "Kahdenna valinta"
@@ -7377,6 +8480,11 @@ msgid "Clear Selection"
msgstr "Tyhjennä valinta"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Koko valinta"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Ruudukon asetukset"
@@ -7437,14 +8545,77 @@ msgid "Warnings"
msgstr "Varoitukset"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Näytä tiedostot"
+msgstr "Näytä loki"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Sisemmän poikkeuksen kutsupinon loppu"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Kehitä!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Kehitä navigointiverkko."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Tyhjennä navigointiverkko."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Luodaan konfiguraatiota..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Lasketaan ruudukon kokoa..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Luodaan korkeuskenttää..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Merkitään kuljettavat kolmiot..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Rakennetaan tiivistä korkeuskenttää..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Syövytetään kuljettavaa aluetta..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Ositetaan..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Luodaan korkeuskäyriä..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Luodaan polymesh..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Muunnetaan alkuperäiseksi navigointiverkoksi..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Navigointiverkon generaattorin asetukset:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Jäsentää geometriaa…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Valmis!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7502,10 +8673,6 @@ msgid "Set Variable Type"
msgstr "Aseta muuttujan tyyppi"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funktiot:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Muuttujat:"
@@ -7619,36 +8786,14 @@ msgid "Connect Nodes"
msgstr "Kytke solmut"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Ehtolause"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sarja"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Valinta (Switch)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iteraattori"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Kun (While)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Palauta"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Kutsu"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Kytke solmut"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Get"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Kytke solmut"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7675,26 +8820,18 @@ msgid "Remove Function"
msgstr "Poista funktio"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Muokkaa muuttujaa"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Poista muuttuja"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Muokkaa signaalia"
+msgid "Editing Variable:"
+msgstr "Muokataan muuttujaa:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Poista signaali"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Muokataan muuttujaa:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Muokataan signaalia:"
@@ -7738,6 +8875,11 @@ msgstr "Leikkaa solmut"
msgid "Paste Nodes"
msgstr "Liitä solmut"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Jäsenet"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Syötetyyppi ei ole iteroitavissa: "
@@ -7795,6 +8937,19 @@ msgstr ""
"Virheellinen paluuarvo _step() metodilta, täytyy olla kokonaisluku (seq out) "
"tai merkkijono (virhe)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Poista VisualScript solmu"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Get"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Suorita selaimessa"
@@ -7844,9 +8999,10 @@ msgstr ""
"joukko). Ensimmäisenä luotu toimii ja loput jätetään huomioimatta."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Tämän solmun alaisuudessa ei ole muotoja, joten se ei voi olla "
@@ -7957,6 +9113,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Polkuominaisuuden täytyy osoittaa kelvolliseen Node2D solmuun toimiakseen."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8022,9 +9191,10 @@ msgid "Lighting Meshes: "
msgstr "Valaistaan meshejä: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Tällä solmulla ei ole alimuotoja, joten se ei voi olla vuorovaikutuksessa "
@@ -8123,6 +9293,21 @@ msgstr ""
"skeneille) tai aseta tälle ympäristölle Background Mode asetukseksi Canvas "
"(2D-skeneille)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Fysiikkamoottori ylikirjoittaa RigidBody kokomuutokset (hahmo- tai "
+"jäykkätilassa) ajon aikana.\n"
+"Muuta sen sijaan solmun alla olevia törmäysmuotoja."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8139,6 +9324,47 @@ msgstr ""
"VehicleWheel solmu tarjoaa rengasjärjestelmän VehicleBody solmulle. Ole hyvä "
"ja käytä sitä VehicleBody solmun alla."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animaatiotyökalut"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "VIRHE: Virheellinen animaation nimi!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Katkaise yhteys solmusta '%s' solmuun '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Valitse AnimationPlayer skenen puusta muokataksesi animaatioita."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Animaatiopuu ei ole kelvollinen."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Raakatila"
@@ -8219,12 +9445,365 @@ msgstr "Virhe fontin latauksessa."
msgid "Invalid font size."
msgstr "Virheellinen fonttikoko."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Lisää syöte"
+
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Edellinen välilehti"
+msgid "None"
+msgstr "<Ei mitään>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Virheellinen lähde!"
+
+#: servers/visual/shader_language.cpp
+msgid "Assignment to function."
+msgstr ""
+
+#: servers/visual/shader_language.cpp
+msgid "Assignment to uniform."
+msgstr ""
-#~ msgid "Next"
-#~ msgstr "Seuraava"
+#: servers/visual/shader_language.cpp
+msgid "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Muuta skalaarivakiota"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Muuta vektorivakiota"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Muuta RGB-värivakiota"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Muuta skalaarioperaattoria"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Muuta vektorioperaattoria"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Muuta vektori- ja skalaarioperaattoria"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Muuta RGB-värioperaattoria"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Vain kierto"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Muuta skalaarifunktiota"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Muuta vektorifunktiota"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Muuta skalaariuniformia"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Muuta vektoriuniformia"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Muuta RGB-uniformia"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Muuta oletusarvoa"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Muuta XForm-uniformia"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Muuta tekstuuriuniformia"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Muuta Cubemap-uniformia"
+
+#~ msgid "Change Comment"
+#~ msgstr "Vaihda kommenttia"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Lisää tai poista väriluiskalta"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Muokkaa väriliukumaa"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Lisää tai poista käyräkartalta"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Muokkaa käyräkarttaa"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Vaihda syötteen nimi"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Yhdistä graafin solmut"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Erota graafin solmut"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Poista sävytingraafin solmu"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Siirrä sävytingraafin solmua"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Kahdenna graafin solmut(t)"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Poista sävytingraafin solmuja"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Virhe: syklinen kytkentä"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Virhe: syöteliitännät puuttuvat"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Lisää sävytingraafin solmu"
+
+#~ msgid "Disabled"
+#~ msgstr "Poistettu käytöstä"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Siirrä animaatioraita ylös"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Siirrä animaatioraita alas"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Aseta siirtymät:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Animaatioraita: nimeä uudelleen"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Animaatioraita: muuta interpolaatiota"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Animaatioraita: muuta arvon tilaa"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Animaatioraita: muuta kierron tilaa"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Muokkaa solmun käyrää"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Muokkaa valinnan käyrää"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Animaatio: lisää avain"
+
+#~ msgid "In"
+#~ msgstr "Sisään"
+
+#~ msgid "Out"
+#~ msgstr "Ulos"
+
+#~ msgid "In-Out"
+#~ msgstr "Sisältä ulos"
+
+#~ msgid "Out-In"
+#~ msgstr "Ulkoa sisään"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Muuta animaation pituutta"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Vaihda animaation kierto"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Animaatio: Luo tyypitetty arvoavain"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Animaatio: Lisää kutsuraita"
+
+#~ msgid "Length (s):"
+#~ msgstr "Pituus (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Kohdistimen askelrajoitin (sekunneissa)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Ota käyttöön tai poista käytöstä animaation toisto."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Lisää uusia raitoja."
+
+#~ msgid "Move current track up."
+#~ msgstr "Siirrä nykyinen raita ylös."
+
+#~ msgid "Move current track down."
+#~ msgstr "Siirrä nykyinen raita alas."
+
+#~ msgid "Track tools"
+#~ msgstr "Raidan työkalut"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Mahdollistaa avainten muokkaamisen napsauttamalla niitä."
+
+#~ msgid "Key"
+#~ msgstr "Avain"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Mistä solmusta kutsutaan funktiota?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Kiitos!"
+
+#~ msgid "I see..."
+#~ msgstr "Ymmärrän..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Ei voida avata tiedostoa '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Äh"
+
+#~ msgid "Run Script"
+#~ msgstr "Suorita skripti"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Tallenna tällä hetkellä muokattu resurssi."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Lopeta profilointi"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Aloita profilointi"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Oletus (sama kuin editori)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Luo uusi animaatio soittimessa."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Lataa animaatio levyltä."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Lataa animaatio levyltä."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Tallenna nykyinen animaatio"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Muokkaa kohteen sulautusaikoja"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Kopioi animaatio"
+
+#~ msgid "Fetching:"
+#~ msgstr "Noudetaan:"
+
+#~ msgid "prev"
+#~ msgstr "edellinen"
+
+#~ msgid "next"
+#~ msgstr "seuraava"
+
+#~ msgid "last"
+#~ msgstr "viimeinen"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Muokkaa IK ketjua"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Vedä keskipistettä hiiren sijainnista"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Aseta piste hiiren kohdalle"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Lisää/poista väriliukuman piste"
+
+#~ msgid "OK :("
+#~ msgstr "Asia kunnossa :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Luurankomuokkaimen näkyvyys"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "StyleBoxin esikatselu:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "Erotus:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Tekstuurialueen editori"
+
+#~ msgid "Erase selection"
+#~ msgstr "Tyhjennä valinta"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Ruutua ei löytynyt:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nimi tai ID:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Automaattiruudutus"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Vientimallit tälle alustalle puuttuvat tai ovat viallisia: "
+
+#~ msgid "Button 7"
+#~ msgstr "Painike 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Painike 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Painike 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Hylkää ilmentymä"
+
+#~ msgid "Clear!"
+#~ msgstr "Tyhjennä!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Aseta Spatial näkyvyys päälle/pois"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Aseta CanvasItem näkyvyys päälle/pois"
+
+#~ msgid "Condition"
+#~ msgstr "Ehtolause"
+
+#~ msgid "Sequence"
+#~ msgstr "Sarja"
+
+#~ msgid "Switch"
+#~ msgstr "Valinta (Switch)"
+
+#~ msgid "Iterator"
+#~ msgstr "Iteraattori"
+
+#~ msgid "While"
+#~ msgstr "Kun (While)"
+
+#~ msgid "Return"
+#~ msgstr "Palauta"
+
+#~ msgid "Call"
+#~ msgstr "Kutsu"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Muokkaa muuttujaa"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Muokkaa signaalia"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Virheellinen tapahtuma (muut käy, paitsi '/' tai ':')."
@@ -8244,10 +9823,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Can't write file."
#~ msgstr "Ei voitu kirjoittaa tiedostoa:\n"
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Ole hyvä ja valitse hakemisto jossa ei ole 'project.godot' tiedostoa."
-
#, fuzzy
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Ei voitu luoda godot.cfg -tiedostoa projektin polkuun."
@@ -8344,12 +9919,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Selection -> Clear"
#~ msgstr "Pelkkä valinta"
-#~ msgid "Filter:"
-#~ msgstr "Suodatin:"
-
-#~ msgid "Arguments:"
-#~ msgstr "Argumentit:"
-
#~ msgid "Return:"
#~ msgstr "Palaa:"
@@ -8372,9 +9941,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "Nykyinen Scene täytyy tallentaa, jotta se voidaan tuoda uudelleen."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Tallenna & tuo uudelleen"
-
#~ msgid "Re-Importing"
#~ msgstr "Tuodaan uudelleen"
@@ -8396,10 +9962,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Can't move directories to within themselves."
#~ msgstr "Hakemisto(j)a ei voida siirtää itseensä."
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Virhe ladattaessa kuvaa:"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Valitse uusi nimi ja sijainti:"
@@ -8418,9 +9980,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Target path must exist."
#~ msgstr "Kohdepolku täytyy olla olemassa."
-#~ msgid "Save path is empty!"
-#~ msgstr "Tallennuspolku on tyhjä!"
-
#~ msgid "Target Path:"
#~ msgstr "Kohdepolku:"
@@ -8475,17 +10034,10 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Max Angle"
#~ msgstr "Enimmäiskulma"
-#~ msgid "Clips"
-#~ msgstr "Klippejä"
-
#, fuzzy
#~ msgid "Start(s)"
#~ msgstr "Alkaa"
-#, fuzzy
-#~ msgid "End(s)"
-#~ msgstr "Loppu(u)"
-
#~ msgid "Filters"
#~ msgstr "Suodattimet"
@@ -8554,9 +10106,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Tuo tekstuuri Atlakselle (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Solun koko:"
-
#~ msgid "Large Texture"
#~ msgstr "Suurikokoinen tekstuuri"
@@ -8623,9 +10172,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Couldn't save atlas image:"
#~ msgstr "Atlas-kuvaa ei voitu tallentaa:"
-#~ msgid "Invalid source!"
-#~ msgstr "Virheellinen lähde!"
-
#~ msgid "Column"
#~ msgstr "Kolumni"
@@ -8658,15 +10204,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Import Languages:"
#~ msgstr "Tuo kielet:"
-#~ msgid "Zoom (%):"
-#~ msgstr "Lähennä (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Luuranko..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Palauta lähennys"
-
#~ msgid "Zoom Set..."
#~ msgstr "Aseta Zoomaus..."
@@ -8733,12 +10270,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Project Path (Must Exist):"
#~ msgstr "Projektin polku (täytyy olla olemassa):"
-#~ msgid "Edit Groups"
-#~ msgstr "Muokkaa ryhmiä"
-
-#~ msgid "Edit Connections"
-#~ msgstr "Muokkaa yhteyksiä"
-
#, fuzzy
#~ msgid "Tiles"
#~ msgstr " Tiedostot"
@@ -8796,9 +10327,6 @@ msgstr "Virheellinen fonttikoko."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Kantaluokan nimi on virheellinen!"
-#~ msgid "Invalid path!"
-#~ msgstr "Virheellinen polku!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "Polun ominaisuuden täytyy osoittaa kelvolliseen Particles2D Nodeen "
diff --git a/editor/translations/fr.po b/editor/translations/fr.po
index 5c28d84a90..2f98c3cf99 100644
--- a/editor/translations/fr.po
+++ b/editor/translations/fr.po
@@ -42,12 +42,14 @@
# Xananax <xananax@yelostudio.com>, 2017-2018.
# Perrier Mathis <mathis.perrier73@gmail.com>, 2018.
# Ewan Lehnebach <ewan.lehnebach@gmail.com>, 2018.
+# Hugo Locurcio <hugo.locurcio@hugo.pro>, 2018.
+# Grigore Antoniuc <grisa181@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-07-21 12:37+0000\n"
-"Last-Translator: Perrier Mathis <mathis.perrier73@gmail.com>\n"
+"PO-Revision-Date: 2018-08-05 00:41+0000\n"
+"Last-Translator: Grigore Antoniuc <grisa181@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -55,336 +57,492 @@ 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 3.1-dev\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Désactivé"
+#: 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 ""
+"Argument de type incorrect dans convert(), utilisez les constantes TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Toute la sélection"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Pas assez d'octets pour les octets de décodage, ou format non valide."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Nom de propriété invalide '%s' dans le nœud %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Nom de propriété invalide '%s' dans le nœud %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argument invalide de type: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Libérer"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Miroir X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Insérer une clé"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Dupliquer la sélection"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Supprimer la selection"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Animation Dupliquer les clés"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Supprimer Clés"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Animation Changer l'heure de l'image clé"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animation Changer la transition"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animation Changer la transformation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Animation Changer la valeur de l'image clé"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animation Changer l'appel"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animation Ajouter une piste"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Propriété :"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Animation Dupliquer les clés"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Type de transformation"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Monter la piste d'animation"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Descendre la piste d'animation"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Supprimer la piste d'animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Arrêter la lecture de l'animation. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animation Ajouter une piste"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Définir les transitions à :"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Longueur de l'animation (en secondes)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Renommer la piste d'animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom de l'animation."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Modifier l'interpolation de la piste d'animation"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Fonctions :"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Modifier le mode de valeur de la piste d'animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Écouteur audio"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Piste d'Animation Changer Mode de Conclusion"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Séquences"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Modifier la courbe du nœud"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Basculer en mode sans distraction."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Modifier la courbe de sélection"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Supprimer Clés"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nœud d'animation"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Dupliquer la sélection"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Dupliquer Transposé"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Supprimer la piste sélectionnée."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Supprimer la sélection"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Durée du fondu (s) :"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Continu"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discret"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Déclencheur"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Ajouter Clé"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Déplacer Clés"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Mettre à l'échelle la sélection"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Mettre à l’Échelle Avec Curseur"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Aller à l'étape suivante"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Fonctionnalités"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Aller à l'étape précédente"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linéaire"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constante"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Out"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "Changer l'interpolation de la boucle d'animation"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "In-out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Out-in"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Insérer une clé"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transitions"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Dupliquer le(s) nœud(s)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimiser l'animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Supprimer nœud(s)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Nettoyer l'animation"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Supprimer la piste d'animation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Créer une NOUVELLE piste pour %s et insérer une clé ?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Créer %d NOUVELLES pistes et insérer des clés ?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Créer"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Insérer une animation"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Animation Créer et insérer"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Animation Insérer une piste et une clé"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Animation Inserer une clé"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Changer durée d'animation"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Modifier le bouclage de l'animation"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Animation Créer une clé pour une valeur typée"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Insérer une animation"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "VariableGet introuvable dans le script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Déplacer Clés"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Le presse-papiers est vide !"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Mettre à l’Échelle les Clés"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim Ajouter Piste d'Appel"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom de l'animation."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Longueur (s) :"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Longueur de l'animation (en secondes)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Aligner (pixels) :"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Pas (s) :"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "L'arbre d'animations est valide."
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Pas du curseur (en secondes)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Édition"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Activer/Désactiver le bouclage de l'animation."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimationTree"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Ajouter de nouvelles pistes."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copier paramètres"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Déplacer la piste actuelle vers le haut."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Coller les paramètres"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Déplacer la piste actuelle vers le bas."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Mettre à l'échelle la sélection"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Supprimer la piste sélectionnée."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Mettre à l’Échelle Avec Curseur"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Dupliquer la sélection"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Outils de piste"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Dupliquer Transposé"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Activer la modification de chaque clé en cliquant dessus."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Supprimer la selection"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Aller à l'étape suivante"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Aller à l'étape précédente"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimiser l'animation"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Nettoyer l'animation"
+
+#: 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 "Anim. Optimizer"
msgstr "Optimiseur d'animation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Erreur linéaire max. :"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Erreur angulaire max. :"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Angle optimisable max. :"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimiser"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Sélectionnez un AnimationPlayer de l'arbre de scène pour modifier les "
-"animations."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Clé"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transition"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Ratio d'échelle :"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Appeler des fonctions dans quel nœud ?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Supprimer les clés invalides"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Supprimer les pistes vides et non résulues"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Nettoyer toutes les animations"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Nettoyer les animations (PAS DE RETOUR EN ARRIÈRE !)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Nettoyer"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Ratio d'échelle :"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copier"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Redimensionner le tableau"
@@ -405,7 +563,7 @@ msgstr "Aller à la ligne"
msgid "Line Number:"
msgstr "Numéro de ligne :"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Pas de correspondances"
@@ -421,7 +579,7 @@ msgstr "Sensible à la casse"
msgid "Whole Words"
msgstr "Mots entiers"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Remplacer"
@@ -433,18 +591,28 @@ msgstr "Remplacer tout"
msgid "Selection Only"
msgstr "Sélection uniquement"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoomer"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Dézoomer"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Réinitialiser le zoom"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Avertissements"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom (%) :"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Ligne :"
@@ -476,7 +644,8 @@ msgid "Add"
msgstr "Ajouter"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -507,7 +676,7 @@ msgid "Oneshot"
msgstr "One-shot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -529,11 +698,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Connecter « %s » à « %s »"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Connecter un signal :"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Déconnecter « %s » de « %s »"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Déconnecter « %s » de « %s »"
#: editor/connections_dialog.cpp
@@ -541,14 +711,48 @@ msgid "Connect..."
msgstr "Connecter…"
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Déconnecter"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Connecter un signal :"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Modifier les connexions"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Voulez-vous vraiment lancer plus d'un projet à la fois ?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signaux"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Déconnecter"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Édition"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Méthodes :"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Changer le type de %s"
@@ -571,22 +775,25 @@ msgstr "Favoris :"
msgid "Recent:"
msgstr "Récents :"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Rechercher :"
#: editor/create_dialog.cpp editor/editor_help.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 "Correspondances :"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Description :"
@@ -648,7 +855,9 @@ msgstr "Recherche ressource de remplacement :"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Ouvrir"
@@ -671,7 +880,7 @@ msgstr ""
"pour leur fonctionnement.\n"
"Les supprimer tout de même ? (annulation impossible)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Impossible à enlever :"
@@ -739,9 +948,13 @@ msgstr "Modifier valeur du dictionnaire"
msgid "Thanks from the Godot community!"
msgstr "La communauté Godot vous dit merci !"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Merci !"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -918,6 +1131,7 @@ msgid "Bus options"
msgstr "Options de tranport"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliquer"
@@ -986,7 +1200,8 @@ msgstr "Ajouter un bus"
msgid "Create a new Bus Layout."
msgstr "Créer une nouvel agencement de tranport."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Charger"
@@ -996,7 +1211,6 @@ msgid "Load an existing Bus Layout."
msgstr "Charger un agencement de tranport existant."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Enregistrer sous"
@@ -1039,22 +1253,6 @@ msgstr ""
"constante globale."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Chemin invalide."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Le fichier n'existe pas."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Pas dans le chemin de la ressource."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Ajouter l'AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "L'autoload « %s » existe déjà !"
@@ -1082,6 +1280,22 @@ msgstr "Activer"
msgid "Rearrange Autoloads"
msgstr "Ré-organiser les AutoLoads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Chemin invalide."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Le fichier n'existe pas."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Pas dans le chemin de la ressource."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Ajouter l'AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1112,7 +1326,7 @@ msgstr "Stockage des modifications locales…"
msgid "Updating scene..."
msgstr "Mise à jour de la scène…"
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[vide]"
@@ -1174,6 +1388,12 @@ msgid "Copy Path"
msgstr "Copier le chemin"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Montrer dans le gestionnaire de fichiers"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Montrer dans le gestionnaire de fichiers"
@@ -1210,7 +1430,7 @@ msgid "Open a File or Directory"
msgstr "Ouvrir un fichier ou un répertoire"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Enregistrer"
@@ -1263,7 +1483,8 @@ msgstr "Aller au dossier parent"
msgid "Directories & Files:"
msgstr "Répertoires et fichiers :"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Aperçu :"
@@ -1415,20 +1636,28 @@ msgstr ""
"Il n'y a pas de description disponible pour cette méthode. Aidez-nous en "
"[color=$color][url=$url]en créant[/url][/color] une !"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Chercher du texte"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Propriété :"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Trouver"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Définir"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Sortie :"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1450,11 +1679,6 @@ msgstr "Erreur d'enregistrement de la ressource !"
msgid "Save Resource As..."
msgstr "Enregistrer la ressource sous…"
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Je vois…"
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Impossible d'ouvrir le fichier pour écriture :"
@@ -1467,9 +1691,9 @@ msgstr "Format de fichier demandé inconnu :"
msgid "Error while saving."
msgstr "Erreur lors de l'enregistrement."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Impossible d'ouvrir '%s'."
+#: 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'."
@@ -1512,10 +1736,6 @@ msgstr ""
"n'ont sans doute pas pu être satisfaites."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Impossible de charger la ressource."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Impossible de charger la MeshLibrary pour fusion !"
@@ -1598,42 +1818,6 @@ msgstr ""
"mieux comprendre ce mécanisme."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Développer toutes les propriétés"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Réduire toutes les propriétés"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copier paramètres"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Coller les paramètres"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Coller la ressource"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copier la ressource"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Rendre intégré"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Rendre les sous-ressources uniques"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Ouvrir dans l'aide"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Il n'y a pas de scène définie pour être lancée."
@@ -1729,7 +1913,7 @@ msgstr "Exporter une bibliothèque de maillages"
#: editor/editor_node.cpp
msgid "This operation can't be done without a root node."
-msgstr "Cette opération ne peut être réalisée sans nœud racine."
+msgstr "Cette opération ne peut être réalisée sans un nœud racine."
#: editor/editor_node.cpp
msgid "Export Tile Set"
@@ -1839,11 +2023,6 @@ msgstr ""
"modifiée.\n"
"Pour y apporter des modification, une scène fille peut être créée."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Oups"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1875,6 +2054,16 @@ msgid "Default"
msgstr "Par défaut"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Lancer la scène"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Fermer les autres onglets"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Basculer entre onglets de scène"
@@ -1996,10 +2185,6 @@ msgstr "Projet"
msgid "Project Settings"
msgstr "Paramètres du projet"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Lancer le script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exporter"
@@ -2009,6 +2194,11 @@ msgid "Tools"
msgstr "Outils"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Ouvrir gestionnaire de projets ?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Quitter vers la liste des projets"
@@ -2121,6 +2311,20 @@ msgstr "Disposition de l'éditeur"
msgid "Toggle Fullscreen"
msgstr "Activer/Désactiver le plein écran"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Paramètres de l'éditeur"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Paramètres de l'éditeur"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gérer les modèles d'exportation"
@@ -2136,7 +2340,8 @@ msgstr "Classes"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Rechercher"
@@ -2180,7 +2385,7 @@ msgstr "Mettre en pause la scène"
msgid "Stop the scene."
msgstr "Arrêter la scène."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Arrêter"
@@ -2201,6 +2406,16 @@ msgid "Play Custom Scene"
msgstr "Jouer une scène personnalisée"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Enregistrer et ré-importer"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Tourne lorsque la fenêtre de l'éditeur est repainte !"
@@ -2220,42 +2435,6 @@ msgstr "Désactiver l'indicateur d'activité"
msgid "Inspector"
msgstr "Inspecteur"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Créer une nouvelle ressource dans la mémoire et la modifier."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Charger une ressource existante depuis la disque et la modifier."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Enregistrer la ressource actuellement modifiée."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Enregistrer sous…"
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Aller à l'objet modifié précédent dans l'historique."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Aller à l'objet modifié suivant dans l'historique."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historique des objets récemment édités."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Propriétés de l'objet."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Les modifications risquent d'être perdues !"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2270,6 +2449,11 @@ msgid "FileSystem"
msgstr "Système de fichiers"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Développer tout"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Sortie"
@@ -2346,19 +2530,24 @@ msgid "Thumbnail..."
msgstr "Aperçu…"
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Modifier le polygone"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Extensions installées :"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Mettre à jour"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Version :"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Auteur :"
@@ -2366,13 +2555,16 @@ msgstr "Auteur :"
msgid "Status:"
msgstr "État :"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Arrêter le profilage"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Édition"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Démarrer le profilage"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Démarrer !"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2418,6 +2610,106 @@ msgstr "Temps"
msgid "Calls"
msgstr "Appels"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Activé"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, valeur %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Vide]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Assigner"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Choisissez un Viewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Nouveau script"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Nouveau %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Rendre unique"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Montrer dans le système de fichiers"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Coller"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Convertir en %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Ouvrir dans l'éditeur"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Le nœud sélectionné n'est pas un Viewport !"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Taille des cellules :"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Nouveau nom :"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nouveau nom :"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Supprimer l'item"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Sélectionner appareil depuis la liste"
@@ -2454,10 +2746,6 @@ msgstr "Impossible d'exécuter le script :"
msgid "Did you forget the '_run' method?"
msgstr "Avez-vous oublié la méthode « _run » ?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Par défaut (le même que l'éditeur)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Sélectionner les nœuds à importer"
@@ -2483,6 +2771,7 @@ msgid "(Installed)"
msgstr "(Installé)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Télécharger"
@@ -2507,7 +2796,8 @@ msgid "Can't open export templates zip."
msgstr "Impossible d'ouvrir le ZIP de modèles d'exportation."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Format de version.txt invalide dans les modèles."
#: editor/export_template_manager.cpp
@@ -2569,6 +2859,12 @@ msgid "Download Complete."
msgstr "Téléchargement terminé."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Erreur lors de la requête de l’URL : "
@@ -2647,7 +2943,8 @@ msgid "Download Templates"
msgstr "Télécharger les modèles"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Sélectionner un miroir depuis la liste : "
#: editor/file_type_cache.cpp
@@ -2663,11 +2960,13 @@ msgstr ""
"fichiers !"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Afficher les éléments sous forme de grille de vignettes"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Afficher les éléments sous forme de liste"
#: editor/filesystem_dock.cpp
@@ -2740,7 +3039,7 @@ msgstr "Développer tout"
msgid "Collapse all"
msgstr "Réduire tout"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Renommer..."
@@ -2769,6 +3068,23 @@ msgid "Duplicate..."
msgstr "Dupliquer…"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Nouveau script"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Enregistrer la ressource sous…"
+
+#: 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 "Renommer"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Répertoire précédent"
@@ -2781,16 +3097,31 @@ msgid "Re-Scan Filesystem"
msgstr "Analyser à nouveau le système de fichiers"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Basculer l'état favori du dossier"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Sélectionner la sous-tuile en cours d'édition."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
"Instancie la(les) scène(s) sélectionnée(s) en tant qu'enfant(s) du nœud "
"sélectionné."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Chercher dans les classes"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2798,14 +3129,112 @@ msgstr ""
"Analyse des fichiers en cours,\n"
"Veuillez patienter..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Déplacer"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Renommer"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Un dossier avec le nom spécifié existe déjà dans ce chemin."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Créer un script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Trouver une tuile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Trouver"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Mots entiers"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Sensible à la casse"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtre:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Trouver…"
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Remplacer…"
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Annuler"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Remplacer"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Remplacer tout"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Enregistrement…"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Chercher du texte"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERREUR : Le nom de l'animation existe déjà !"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nom invalide."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Groupes"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Groupes de nœuds"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrer les noeuds"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Groupes de nœuds"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2815,6 +3244,11 @@ msgstr "Ajouter au groupe"
msgid "Remove from Group"
msgstr "Supprimer du groupe"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Groupes d'images"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importer comme scène unique"
@@ -2856,7 +3290,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importer comme scènes+matériaux multiples"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importer une scène"
@@ -2917,18 +3351,131 @@ msgstr "Pré-réglage…"
msgid "Reimport"
msgstr "Ré-importer"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Impossible de charger la ressource."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "OK"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Développer toutes les propriétés"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Réduire toutes les propriétés"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Enregistrer sous…"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copier paramètres"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Coller les paramètres"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Le presse-papiers des ressources est vide !"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copier la ressource"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Rendre intégré"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Rendre les sous-ressources uniques"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Ouvrir dans l'aide"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Créer une nouvelle ressource dans la mémoire et la modifier."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Charger une ressource existante depuis la disque et la modifier."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Aller à l'objet modifié précédent dans l'historique."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Aller à l'objet modifié suivant dans l'historique."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Historique des objets récemment édités."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Propriétés de l'objet."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrer les noeuds"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Les modifications risquent d'être perdues !"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Ensemble multi-nœud"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Groupes"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Sélectionnez un nœud pour editer des signaux et des groupes."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Modifier le polygone"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Créer la solution C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Liste d'extensions :"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Langage"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Script valide"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2974,6 +3521,150 @@ msgstr ""
msgid "Delete points"
msgstr "Supprimer les points"
+#: 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 "Ajouter une animation"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Charger"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Supprimer les points"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Bouton droit : effacer un point."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Déplacer le point"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nœud d'animation"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "L'action « %s » existe déjà !"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "Analyse de %d triangles :"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Aligner"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Editer les filtres"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Ajouter un nœud"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Editer les filtres"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Enfants modifiables"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Activer/désactiver la lecture automatique"
@@ -3000,11 +3691,13 @@ msgid "Remove Animation"
msgstr "Supprimer l'animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERREUR : Nom de l'animation invalide !"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERREUR : Le nom de l'animation existe déjà !"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3013,11 +3706,6 @@ msgid "Rename Animation"
msgstr "Renommer l'animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Ajouter une animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Mélange suivant modifié"
@@ -3034,11 +3722,13 @@ msgid "Duplicate Animation"
msgstr "Dupliquer l'animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERREUR : Aucune animation à copier !"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERREUR : Pas de ressource de type animation dans le presse-papiers !"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3050,7 +3740,8 @@ msgid "Paste Animation"
msgstr "Coller l'animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERREUR : Pas d'animation à modifier !"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3083,20 +3774,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Redimensionner la lecture de l'animation pour tout le nœud."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Créer une nouvelle animation dans le lecteur."
+msgid "Animation Tools"
+msgstr "Outils d'animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Charger une animation depuis le disque."
+msgid "New"
+msgstr "Nouveau"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Charger une animation depuis le disque."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Modifier les connexions..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Enregistrer l'animation actuelle"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Ouvrir dans l'éditeur"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3107,18 +3805,6 @@ msgid "Autoplay on Load"
msgstr "Lecture automatique au chargement"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Modifier les temps de mélange de la cible"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Outils d'animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copier l'animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Effet pelure d'oignon"
@@ -3167,6 +3853,11 @@ msgid "Include Gizmos (3D)"
msgstr "Inclure les Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Coller l'animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Créer une nouvelle animation"
@@ -3176,6 +3867,7 @@ msgstr "Nom de l'animation :"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3193,161 +3885,214 @@ msgstr "Suivant (file d'attente automatique) :"
msgid "Cross-Animation Blend Times"
msgstr "Temps de mélange des entre animations"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Fin(s)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Pas dans le chemin de la ressource."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Créer un nouveau %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Connecter nœud"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Supprimer la piste sélectionnée."
+
+#: 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 "Transition"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimationTree"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nouveau nom :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Editer les filtres"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Échelle :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fondu entrant (s) :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fondu sortant (s) :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Mélanger"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mixer"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Redémarrage automatique :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Redémarrer (s) :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Redémarrage aléatoire (s) :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Démarrer !"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Quantité :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Mélange :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Mélange 0 :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Mélange 1 :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Durée du fondu (s) :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Actuel :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Ajouter une entrée"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Réinitialiser la progression automatique"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Définir la progression automatique"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Supprimer l'entrée"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "L'arbre d'animations est valide."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "L'arbre d'animations est invalide."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Nœud d'animation"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Nœud one-shot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Mélanger le nœud"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Nœud Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Nœud Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Nœud Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Nœud TimeScale"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Nœud TimeSeek"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Nœud Transition"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importer des animations…"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Modifier les filtres de nœud"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtres…"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimationTree"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Libérer"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Contenu:"
@@ -3401,8 +4146,14 @@ msgid "Asset Download Error:"
msgstr "Erreur dans le téléchargement d'une ressource:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Récupération:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Téléchargement en cours"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Téléchargement en cours"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3429,20 +4180,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Le téléchargement de cette ressource est déjà en cours!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "premier"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "préc"
+#, fuzzy
+msgid "Previous"
+msgstr "Onglet precedent"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "suiv"
+msgid "Next"
+msgstr "Suivant"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "dern"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3517,7 +4270,7 @@ msgid "Bake Lightmaps"
msgstr "Précalculer les lightmaps :"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Aperçu"
@@ -3526,12 +4279,10 @@ msgid "Configure Snap"
msgstr "Configurer la grille"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Décalage de la grille :"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Pas de la grille :"
@@ -3544,14 +4295,6 @@ msgid "Rotation Step:"
msgstr "Pas de la rotation :"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Déplacer le pivot"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Déplacer l'action"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Déplacer le guide vertical"
@@ -3580,11 +4323,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Créer de nouveaux guides horizontaux et verticaux"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Modifier la chaîne IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Déplacer le pivot"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Modifier le CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Déplacer l'action"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Modifier le CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Modifier le CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3604,6 +4364,21 @@ msgid "Paste Pose"
msgstr "Coller la pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Dézoomer"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Réinitialiser le zoom"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoomer"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Sélectionner le mode"
@@ -3651,7 +4426,8 @@ msgid "Pan Mode"
msgstr "Mode navigation"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Activer/Désactiver le magnétisme de grille"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3659,7 +4435,8 @@ msgid "Use Snap"
msgstr "Aligner sur la grille"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Options du magnétisme"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3700,6 +4477,11 @@ msgid "Snap to node sides"
msgstr "Accrocher aux flancs du nœud"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Accrocher à l'ancre du nœud"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Accrocher aux autres nœuds"
@@ -3726,14 +4508,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Rendre la sélection des enfants de l'objet de nouveau possible."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Créer les os"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Effacer les os"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Afficher les os"
@@ -3746,6 +4520,15 @@ msgid "Clear IK Chain"
msgstr "Effacer la chaîne IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Effacer les os"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Affichage"
@@ -3773,7 +4556,7 @@ msgstr "Afficher l'origine"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Viewport"
-msgstr "Afficher la Viewport"
+msgstr "Afficher le Viewport"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3788,14 +4571,11 @@ msgid "Layout"
msgstr "Disposition sur l'écran"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Insérer des clefs"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Insérer une clé"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Insérer une clé (pistes existantes)"
@@ -3808,14 +4588,6 @@ msgid "Clear Pose"
msgstr "Vider la pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Déplacer le point de pivot à la position de la souris"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Placer le pivot sur la position de la souris"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multiplier le pas de la grille par 2"
@@ -3831,10 +4603,6 @@ msgstr "Ajouter %s"
msgid "Adding %s..."
msgstr "Ajout de %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "OK"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Impossible d'instancier plusieurs nœuds sans nœud racine."
@@ -3869,27 +4637,20 @@ msgstr "Créer un Poly3D"
msgid "Set Handle"
msgstr "Définir la poignée"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Supprimer l'objet %d ?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Ajouter un item"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Supprimer l'élément sélectionné"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Particules"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importer depuis la scène"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Créer Points d'Émission depuis Maillage"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Mettre à jour depuis la scène"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Créer des points d'émission depuis le nœud"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3959,15 +4720,6 @@ msgstr "Maintenez l'appui sur Maj pour éditer les tangentes individuellement"
msgid "Bake GI Probe"
msgstr "Créer sonde IG (Illumination Globale)"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Ajouter/supprimer un point de rampe de couleur"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modifier une rampe de couleurs"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Objet %d"
@@ -4052,6 +4804,7 @@ msgid "No mesh to debug."
msgstr "Aucun maillage à déboguer."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Le modèle n'a pas d'UV dans cette couche"
@@ -4066,7 +4819,7 @@ msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr "Le type de maillage primitif n'est pas PRIMITIVE_TRIANGLES !"
+msgstr "Le type de maillage primitif n'est pas PRIMITIVE_TRIANGLES !"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
@@ -4120,6 +4873,27 @@ msgstr "Créer un maillage de contour"
msgid "Outline Size:"
msgstr "Taille du contour :"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Supprimer l'objet %d ?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Ajouter un item"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Supprimer l'élément sélectionné"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importer depuis la scène"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Mettre à jour depuis la scène"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4225,70 +4999,6 @@ msgstr "Échelle aléatoire :"
msgid "Populate"
msgstr "Peupler"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Calculer !"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Précalculer le maillage de navigation."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Effacer le maillage de navigation."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Initialisation de la configuration..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Calcul de la taille de la grille..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Création du champ de hauteur…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Marquage des triangles parcourables..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Construction d'un champ de hauteur compact..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Réduction de la zone parcourable..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Partitionnement..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Création des contours..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Création d'un maillage de contour…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Conversion en maillage de navigation natif…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Paramétrage du générateur de navigation dans la grille :"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Analyse de la géométrie..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "C'est fait !"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Créer Polygone de Navigation"
@@ -4350,18 +5060,6 @@ msgid "Emission Colors"
msgstr "Couleurs d'Émission"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Nœud ne contient pas de géométrie."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Nœud ne contient pas de géométrie (faces)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Un matériel processeur de type 'ParticlesMaterial' est requis."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Des faces ne contiennent pas de zone !"
@@ -4370,16 +5068,12 @@ msgid "No faces!"
msgstr "Pas de faces!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Générer AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Créer Points d'Émission depuis Maillage"
+msgid "Node does not contain geometry."
+msgstr "Le nœud ne contient pas de géométrie."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Créer Points d'Émission Depuis Noeud"
+msgid "Node does not contain geometry (faces)."
+msgstr "Le nœud ne contient pas de géométrie (faces)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4406,6 +5100,19 @@ msgid "Emission Source: "
msgstr "Source d'Émission: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Un matériel processeur de type 'ParticlesMaterial' est requis."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Générer AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Convertir en majuscule"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Générer AABB de Visibilité"
@@ -4482,6 +5189,22 @@ msgstr "Supprimer le point"
msgid "Close Curve"
msgstr "Fermer la courbe"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Options"
+
+#: 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 "Point de courbe #"
@@ -4492,7 +5215,7 @@ msgstr "Définir la position du point de la courbe"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve In Position"
-msgstr "Définir courbe en position"
+msgstr "Définir position d'entrée de la courbe"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Out Position"
@@ -4504,7 +5227,7 @@ msgstr "Diviser le chemin"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Path Point"
-msgstr "Supprimer le chemin du point"
+msgstr "Supprimer le point du chemin"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Out-Control Point"
@@ -4514,19 +5237,95 @@ msgstr "Supprimer point Out-Control"
msgid "Remove In-Control Point"
msgstr "Supprimer point In-Control"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Déplacer le point"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Afficher les os"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Créer une carte UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Créer un polygone"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "L'action « %s » existe déjà !"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Ajouter un point"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Chemin invalide !"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Supprimer point"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformer la carte UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Éditeur UV de polygones 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Modifier le polygone"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Diviser le chemin"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Créer les os"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Créer un polygone"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Déplacer le point"
@@ -4555,12 +5354,25 @@ msgid "Scale Polygon"
msgstr "Mettre à l'échelle le polygone"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Édition"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Sélectionnez d'abord un élément à configurer !"
+
+#: 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 "Polygon->UV"
@@ -4575,9 +5387,9 @@ msgid "Clear UV"
msgstr "Effacer l'UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Aligner"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Paramètres GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4587,6 +5399,36 @@ msgstr "Activer l'alignement"
msgid "Grid"
msgstr "Grille"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configurer la grille"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Décalage de la grille :"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Décalage de la grille :"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Pas de la grille :"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Pas de la grille :"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Mettre à l'échelle le polygone"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ERREUR : Impossible de charger la ressource !"
@@ -4609,6 +5451,10 @@ msgid "Resource clipboard is empty!"
msgstr "Le presse-papiers des ressources est vide !"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Coller la ressource"
+
+#: 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"
@@ -4630,16 +5476,18 @@ msgid "Load Resource"
msgstr "Charger une ressource"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Coller"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "ResourcePreloader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "L'arbre d'animations est invalide."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Effacer les fichiers récents"
@@ -4649,6 +5497,21 @@ msgid "Close and save changes?"
msgstr "Quitter et sauvegarder les modifications ?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Erreur lors du déplacement de fichier :\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Impossible de charger l'image"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Erreur d'enregistrement du TileSet !"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Erreur d'enregistrement du thème"
@@ -4665,6 +5528,21 @@ msgid "Error importing"
msgstr "Erreur d'importation"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nouveau dossier..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Ouvrir un fichier"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Enregistrer sous…"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importer un thème"
@@ -4677,6 +5555,10 @@ msgid " Class Reference"
msgstr " Référence de classe"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Trier"
@@ -4705,8 +5587,9 @@ msgid "File"
msgstr "Fichier"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nouveau"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Voir Fichiers"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4733,6 +5616,11 @@ msgid "History Next"
msgstr "Suivant dans l'historique"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Thème"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Recharger le thème"
@@ -4766,11 +5654,6 @@ msgstr "Afficher/Cacher le panneau des scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Trouver…"
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Trouver le suivant"
@@ -4824,10 +5707,6 @@ msgid "Discard"
msgstr "Abandonner"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Créer un script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4848,6 +5727,16 @@ msgid "Debugger"
msgstr "Débogueur"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Chercher dans l'aide"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Chercher dans les classes"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4855,40 +5744,56 @@ msgstr ""
"qui ils appartiennent est ouverte"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Ligne :"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Seules les ressources du système de fichiers peuvent être abaissées."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Compléter le symbole"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Prélever une couleur"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Modifier la casse"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Majuscule"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Minuscule"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Capitaliser"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Couper"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copier"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4976,8 +5881,9 @@ msgid "Find Previous"
msgstr "Trouver le précédent"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Remplacer…"
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrer Fichiers..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4995,129 +5901,42 @@ msgstr "Aide contextuelle"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Modifier une constante scalaire"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Modifier une constance vectorielle"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Modifier une constante RVB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Modifier un opérateur scalaire"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Modifier un opérateur vectoriel"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Modifier un opérateur vectoriel scalaire"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Modifier un opérateur RVB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Basculer en mode rotation seule"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Modifier une fonction scalaire"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Modifier une fonction vecteur"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Modifier échelle"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Modifier vecteur"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Modifier RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Changer la valeur par défaut"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Modifier XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Modifier texture"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Modifier Cubemap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Modifier un commentaire"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Ajouter/supprimer de la rampe de couleurs"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Ajouter/supprimer de la carte de courbes"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Modifier la carte de courbes"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Changer le nom de l'entrée"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Connecter les nœuds de graphe"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Déconnecter les nœuds de graphe"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Supprimer le nœud de graphe Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Squelette…"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Déplacer le nœud de graphe Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Dupliquer le(s) nœud(s) de graphe"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Effacer le(s) nœud(s) de graphe Shader"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Créer un maillage de navigation"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Erreur: lien de connexion cyclique"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Squelette…"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Erreur : connexions d'entrée manquantes"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Créer la solution C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Ajouter un nœud de graphe Shader"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Jouer"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5244,10 +6063,6 @@ msgid "Align with view"
msgstr "Aligner avec la vue"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Pas de parent dans lequel instancier l'enfant."
@@ -5258,6 +6073,11 @@ msgstr ""
"sélectionné."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Voir information"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Affichage normal"
@@ -5302,6 +6122,11 @@ msgid "Doppler Enable"
msgstr "Activer Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Création des prévisualisations des maillages"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Vue libre gauche"
@@ -5432,6 +6257,11 @@ msgid "Tool Scale"
msgstr "Outil échelle"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Accrocher à la grille"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Basculer en vue libre"
@@ -5440,6 +6270,10 @@ msgid "Transform"
msgstr "Transformation"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Dialogue de transformation…"
@@ -5468,6 +6302,11 @@ msgid "4 Viewports"
msgstr "4 vues"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Voir les gadgets"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Afficher l'origine"
@@ -5481,10 +6320,6 @@ msgid "Settings"
msgstr "Paramètres"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Visibilité squelette Gizmo"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Paramètres d'alignement"
@@ -5544,6 +6379,53 @@ msgstr "Pré"
msgid "Post"
msgstr "Post"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Le chemin de sauvegarde est vide !"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Convertir en %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Créer un maillage de contour"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Aligner (pixels) :"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Aperçu de l'atlas"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Paramètres"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ERREUR : Impossible de charger la resource de type trame !"
@@ -5612,14 +6494,6 @@ msgstr "Déplacer (Après)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "Aperçu de la StyleBox :"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Définir région rectangulaire"
@@ -5645,28 +6519,22 @@ msgid "Auto Slice"
msgstr "Coupe automatique"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Décalage :"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Pas (s) :"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Séparation :"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Région de texture"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Éditeur de région de texture"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Impossible d'enregistrer le thème dans le fichier :"
@@ -5680,11 +6548,6 @@ msgid "Add All"
msgstr "Tout ajouter"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Supprimer l'item"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Supprimer tous"
@@ -5756,10 +6619,6 @@ msgstr "Possède"
msgid "Many"
msgstr "Plusieurs"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Options"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Possède,Plusieurs,Options"
@@ -5784,7 +6643,7 @@ msgstr "Type de données :"
msgid "Icon"
msgstr "Icône"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Style"
@@ -5797,14 +6656,19 @@ msgid "Color"
msgstr "Couleur"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Thème"
+msgid "Constant"
+msgstr "Constante"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Supprimer la sélection"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nom invalide."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Peindre sur la TileMap"
@@ -5825,11 +6689,8 @@ msgid "Erase TileMap"
msgstr "Supprimer la TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Supprimer la sélection"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Trouver une tuile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5853,6 +6714,11 @@ msgid "Pick Tile"
msgstr "Sélectionner une case"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Supprimer la sélection"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Tourner de 0 degrés"
@@ -5869,68 +6735,122 @@ msgid "Rotate 270 degrees"
msgstr "Tourner de 270 degrés"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Impossible de trouver la tuile :"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Ajouter un nœud à partir de l'arbre"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nom d'item ou ID :"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Supprimer l’entrée"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Créer depuis la scène ?"
+msgid "Create from Scene"
+msgstr "Créer depuis la scène"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Fusionner depuis la scène ?"
+msgid "Merge from Scene"
+msgstr "Fusionner depuis la scène"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Jeu de tuiles"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Sélectionner une sous-tuile à utiliser comme icône, celle-ci sera aussi "
+"utilisée pour les liaisons de tuiles automatiques invalides."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Créer depuis la scène"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Fusionner depuis la scène"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Erreur"
+#: 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?"
+msgstr "Créer depuis la scène ?"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr "Autotiles"
+msgid "Merge from scene?"
+msgstr "Fusionner depuis la scène ?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Sélectionner une sous-tuile à utiliser comme icône, celle-ci sera aussi "
-"utilisée pour les liaisons de tuiles automatiques invalides."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"Clic-gauche : Activer\n"
"Clic-droit : Désactiver"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Sélectionner la sous-tuile en cours d'édition."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Sélectionner une sous-tuile à utiliser comme icône, celle-ci sera aussi "
+"utilisée pour les liaisons de tuiles automatiques invalides."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Sélectionner une sous-tuile pour changer sa priorité."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Annuler"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Cette opération ne peut être réalisée sans une scène."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Jeu de tuiles"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vertex"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Fragment"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Droite"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5945,8 +6865,8 @@ msgid "Delete preset '%s'?"
msgstr "Supprimer pré-réglage '%s' ?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Modèles d'exportation manquants ou corrompus pour cette plateforme : "
+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 "Presets"
@@ -6023,10 +6943,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Modèles d'exportation manquants pour cette plateforme :"
#: 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 With Debug"
msgstr "Exporter avec debug"
@@ -6035,14 +6951,25 @@ msgid "The path does not exist."
msgstr "Le chemin vers ce fichier n'existe pas."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Veuillez choisir un fichier 'project.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+"Veuillez choisir un dossier qui ne contient pas de fichier 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Veuillez choisir un dossier vide."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Veuillez choisir un fichier 'project.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Projet importé"
@@ -6132,6 +7059,11 @@ msgid "Project Path:"
msgstr "Chemin du projet :"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Chemin du projet :"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Parcourir"
@@ -6253,9 +7185,10 @@ msgid "Mouse Button"
msgstr "Bouton de souris"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Nom d'action invalide. Il ne peux être vide ou contenir '/', ':', '=', '\\' "
"ou '\"'."
@@ -6269,9 +7202,23 @@ msgid "Rename Input Action Event"
msgstr "Renommer l'événement d'action d'entrée"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Modifier le nom de l'animation :"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Ajouter un événement d'action d'entrée"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Périphérique"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Périphérique"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Maj+"
@@ -6313,20 +7260,24 @@ msgid "Wheel Down Button"
msgstr "Molette vers le bas"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Bouton 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Molette vers le haut"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Bouton 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Bouton droite"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Bouton 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Bouton 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Bouton 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Bouton 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6353,10 +7304,6 @@ msgid "Add Event"
msgstr "Ajouter évènement"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Périphérique"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Bouton"
@@ -6401,6 +7348,14 @@ msgid "Delete Item"
msgstr "Supprimer élément"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Nom d'action invalide. Il ne peux être vide ou contenir '/', ':', '=', '\\' "
+"ou '\"'."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Existe déjà"
@@ -6472,6 +7427,10 @@ msgstr "Propriété :"
msgid "Override For..."
msgstr "Écraser pour…"
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Contrôles"
@@ -6481,6 +7440,14 @@ msgid "Action:"
msgstr "Action :"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Action"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Périphérique :"
@@ -6541,10 +7508,6 @@ msgid "AutoLoad"
msgstr "AutoLoad"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Choisissez un viewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Ease in"
@@ -6581,34 +7544,10 @@ msgid "Select Node"
msgstr "Sélectionner un nœud"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Nouveau script"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Nouveau %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Rendre unique"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Montrer dans le système de fichiers"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Convertir en %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Erreur de chargement du fichier : ce n'est pas une ressource !"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Le noeud sélectionné n'est pas un viewport !"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Choisissez un nœud"
@@ -6617,18 +7556,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, valeur %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Activé"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Vide]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Définir"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Propriétés :"
@@ -6653,6 +7580,134 @@ msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
"L'image convertie n'a pas pu être rechargée en utilisant l'outil PVRTC :"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Renommer"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Options du magnétisme"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nom de nœud :"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Trouver le type du nœud"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Scène actuelle"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nom de nœud racine :"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Pas (s) :"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Changer l'expression"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Script de post-traitement :"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Conserver"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Minuscule"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Majuscule"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Réinitialiser le zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Erreur"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Re-parenter le nœud"
@@ -6689,11 +7744,6 @@ msgstr "Arguments de la scène principale :"
msgid "Scene Run Settings"
msgstr "Paramètres d'exécution de la scène"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Aucun parent dans lequel instancier les scènes."
@@ -6715,6 +7765,10 @@ msgid "Instance Scene(s)"
msgstr "Instancier scène(s)"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Supprimer le script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Cette opération ne peut être réalisée sur la racine de l'arborescence."
@@ -6755,12 +7809,33 @@ msgid "Load As Placeholder"
msgstr "Charger en tant que fictif"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Abandonner l'instanciation"
+msgid "Make Local"
+msgstr "Rendre local"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Créer un nœud"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scène"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "C'est sensé !"
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scène"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Effacer l'héritage"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Couper les nœuds"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6771,6 +7846,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Impossible d'opérer sur des nœuds dont la scène actuelle hérite !"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Attacher un script"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Supprimer le(s) nœud(s)"
@@ -6815,18 +7894,15 @@ msgid "Change Type"
msgstr "Changer le type"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Attacher un script"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Supprimer le script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Nouvelle racine de la scène"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Fusionner depuis la scène"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Sauvegarder la branche comme scène"
@@ -6851,10 +7927,6 @@ msgstr ""
"nœud racine n'existe."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrer les noeuds"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
"Attacher un nouveau script ou un script existant pour le nœud sélectionné ."
@@ -6875,25 +7947,19 @@ msgstr "Local"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Effacer l'héritage ? (Pas de retour en arrière !)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Effacer !"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Afficher/cacher le Spatial"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Afficher/cacher le CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Basculer la visibilité"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Avertissement de configuration de noeud :"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Le noeud possède une (des) connection(s) et un (des) groupe(s)\n"
@@ -6915,22 +7981,25 @@ msgstr ""
"Le noeud fait partie d'un (de) groupe(s).\n"
"Cliquez pour montrer l'arrimage de goupes."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Ouvrir script"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Noeud verouillé.\n"
"Cliquez pour dévérouiller"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Enfants non séléctionnable.\n"
"Cliquez pour les rendre sélectionnable"
@@ -6940,6 +8009,12 @@ msgid "Toggle Visibility"
msgstr "Basculer la visibilité"
#: 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 "Nom de nœud invalide, les caractères suivants ne sont pas autorisés :"
@@ -6976,6 +8051,11 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Ouvrir l'éditeur de script"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Le chemin est vide"
@@ -7213,10 +8293,23 @@ msgid "Change Camera Size"
msgstr "Changer la taille d'une caméra"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Changer les extents d'un notificateur"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Changer particules AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Changer les ampleurs de la sonde"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Changer le rayon d'une forme en sphère"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Changer les extents d'une forme en boîte"
@@ -7229,20 +8322,38 @@ msgid "Change Capsule Shape Height"
msgstr "Changer la hauteur de la forme capsule"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Changer la longueur d'une forme en rayon"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Changer le rayon d'une forme en capsule"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Changer les extents d'un notificateur"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Changer la hauteur de la forme capsule"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Changer particules AABB"
+msgid "Change Ray Shape Length"
+msgstr "Changer la longueur d'une forme en rayon"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Changer les ampleurs de la sonde"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Changer le rayon d'une lumière"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Changer la hauteur de la forme capsule"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Changer le rayon d'une forme en sphère"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Changer le rayon d'une lumière"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7297,17 +8408,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"Argument de type incorrect dans convert(), utilisez les constantes TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Pas assez d'octets pour les octets de décodage, ou format non valide."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "L'argument du pas est zéro !"
@@ -7376,6 +8476,11 @@ msgid "GridMap Delete Selection"
msgstr "Sélection de la supression de GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Sélection de la supression de GridMap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "Sélection de la duplication de GridMap"
@@ -7456,6 +8561,11 @@ msgid "Clear Selection"
msgstr "Supprimer la sélection"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Toute la sélection"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Paramètres GridMap"
@@ -7516,14 +8626,77 @@ msgid "Warnings"
msgstr "Avertissements"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Voir Fichiers"
+msgstr "Voir les fichiers log"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Fin de la trace d'appel (stack trace) intrinsèque"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Calculer !"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Précalculer le maillage de navigation."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Effacer le maillage de navigation."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Initialisation de la configuration..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Calcul de la taille de la grille..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Création du champ de hauteur…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Marquage des triangles parcourables..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Construction d'un champ de hauteur compact..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Réduction de la zone parcourable..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Partitionnement..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Création des contours..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Création d'un maillage de contour…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Conversion en maillage de navigation natif…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Paramétrage du générateur de navigation dans la grille :"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Analyse de la géométrie..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "C'est fait !"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7583,10 +8756,6 @@ msgid "Set Variable Type"
msgstr "Définir type de variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Fonctions :"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variables :"
@@ -7699,36 +8868,14 @@ msgid "Connect Nodes"
msgstr "Connecter nœud"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condition"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Séquence"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Switch"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Itérateur"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Tant que"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Retour"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Appel"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Connecter nœud"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Récupérer"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Connecter nœud"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7755,26 +8902,18 @@ msgid "Remove Function"
msgstr "Supprimer la fonction"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Editerr la variable :"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Supprimer la variable"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Editer signal :"
+msgid "Editing Variable:"
+msgstr "Modification de la variable :"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Supprimer le signal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Modification de la variable :"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Modification du signal :"
@@ -7818,6 +8957,11 @@ msgstr "Couper les nœuds"
msgid "Paste Nodes"
msgstr "Coller les nœuds"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Membres"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Type d'entrée non itérable: "
@@ -7876,6 +9020,19 @@ msgstr ""
"La valeur retournée par _step() est invalide, elle doit être un entier (seq "
"out), ou une chaîne (erreur)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Supprimer nœud VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Récupérer"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Exécuter dans le navigateur"
@@ -7925,9 +9082,10 @@ msgstr ""
"scènes instanciées). Le premier créé fonctionnera, les autres seront ignorés."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Ce nœud n'a aucune forme enfant, et ne peut donc interagir avec l'espace.\n"
@@ -8041,6 +9199,19 @@ msgstr ""
"La propriété Path doit pointer vers un nœud de type Node2D valide pour "
"fonctionner."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8106,9 +9277,10 @@ msgid "Lighting Meshes: "
msgstr "Tracer les maillages : "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Ce nœud n'a aucune forme enfant, il ne peut donc interagir avec l'espace.\n"
@@ -8205,6 +9377,21 @@ msgstr ""
"définissez le mode Background Mode de cet environnement sur Canvas (pour les "
"scènes 2D)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Les changements de taille pour RigidBody (dans les modes caractère ou "
+"rigide) seront remplacés par le moteur physique lors de l'exécution. "
+"Modifiez la taille dans les formes de collision enfants à la place."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8221,6 +9408,49 @@ msgstr ""
"VehicleWheel permet de fournir un système de roue à un VehicleBody. Merci de "
"l'utiliser comme enfant d'un VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Outils d'animation"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERREUR : Nom de l'animation invalide !"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Déconnecter « %s » de « %s »"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Sélectionnez un AnimationPlayer de l'arbre de scène pour modifier les "
+"animations."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "L'arbre d'animations est invalide."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Mode brut"
@@ -8302,12 +9532,375 @@ msgstr "Erreur lors du chargement de la police."
msgid "Invalid font size."
msgstr "Taille de police invalide."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Ajouter une entrée"
+
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Onglet precedent"
+msgid "None"
+msgstr "<Aucun>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Source invalide !"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Modifier une constante scalaire"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Modifier une constance vectorielle"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Modifier une constante RVB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Modifier un opérateur scalaire"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Modifier un opérateur vectoriel"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Modifier un opérateur vectoriel scalaire"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Modifier un opérateur RVB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Basculer en mode rotation seule"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Modifier une fonction scalaire"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Modifier une fonction vecteur"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Modifier échelle"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Modifier vecteur"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Modifier RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Changer la valeur par défaut"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Modifier XForm"
-#~ msgid "Next"
-#~ msgstr "Suivant"
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Modifier texture"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Modifier Cubemap"
+
+#~ msgid "Change Comment"
+#~ msgstr "Modifier un commentaire"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Ajouter/supprimer de la rampe de couleurs"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modifier une rampe de couleurs"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Ajouter/supprimer de la carte de courbes"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Modifier la carte de courbes"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Changer le nom de l'entrée"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Connecter les nœuds de graphe"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Déconnecter les nœuds de graphe"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Supprimer le nœud de graphe Shader"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Déplacer le nœud de graphe Shader"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Dupliquer le(s) nœud(s) de graphe"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Effacer le(s) nœud(s) de graphe Shader"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Erreur: lien de connexion cyclique"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Erreur : connexions d'entrée manquantes"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Ajouter un nœud de graphe Shader"
+
+#~ msgid "Disabled"
+#~ msgstr "Désactivé"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Monter la piste d'animation"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Descendre la piste d'animation"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Définir les transitions à :"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Renommer la piste d'animation"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Modifier l'interpolation de la piste d'animation"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Modifier le mode de valeur de la piste d'animation"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Piste d'Animation Changer Mode de Conclusion"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Modifier la courbe du nœud"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Modifier la courbe de sélection"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Ajouter Clé"
+
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "Out"
+
+#~ msgid "In-Out"
+#~ msgstr "In-out"
+
+#~ msgid "Out-In"
+#~ msgstr "Out-in"
+
+#~ msgid "Transitions"
+#~ msgstr "Transitions"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Changer durée d'animation"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Modifier le bouclage de l'animation"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Animation Créer une clé pour une valeur typée"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim Ajouter Piste d'Appel"
+
+#~ msgid "Length (s):"
+#~ msgstr "Longueur (s) :"
+
+#~ msgid "Step (s):"
+#~ msgstr "Pas (s) :"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Pas du curseur (en secondes)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Activer/Désactiver le bouclage de l'animation."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Ajouter de nouvelles pistes."
+
+#~ msgid "Move current track up."
+#~ msgstr "Déplacer la piste actuelle vers le haut."
+
+#~ msgid "Move current track down."
+#~ msgstr "Déplacer la piste actuelle vers le bas."
+
+#~ msgid "Track tools"
+#~ msgstr "Outils de piste"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Activer la modification de chaque clé en cliquant dessus."
+
+#~ msgid "Key"
+#~ msgstr "Clé"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Appeler des fonctions dans quel nœud ?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Merci !"
+
+#~ msgid "I see..."
+#~ msgstr "Je vois…"
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Impossible d'ouvrir '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Oups"
+
+#~ msgid "Run Script"
+#~ msgstr "Lancer le script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Enregistrer la ressource actuellement modifiée."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Arrêter le profilage"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Démarrer le profilage"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Par défaut (le même que l'éditeur)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Créer une nouvelle animation dans le lecteur."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Charger une animation depuis le disque."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Charger une animation depuis le disque."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Enregistrer l'animation actuelle"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Modifier les temps de mélange de la cible"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copier l'animation"
+
+#~ msgid "Fetching:"
+#~ msgstr "Récupération:"
+
+#~ msgid "prev"
+#~ msgstr "préc"
+
+#~ msgid "next"
+#~ msgstr "suiv"
+
+#~ msgid "last"
+#~ msgstr "dern"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Modifier la chaîne IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Déplacer le point de pivot à la position de la souris"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Placer le pivot sur la position de la souris"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Ajouter/supprimer un point de rampe de couleur"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Visibilité squelette Gizmo"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "Aperçu de la StyleBox :"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "Séparation :"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Éditeur de région de texture"
+
+#~ msgid "Erase selection"
+#~ msgstr "Supprimer la sélection"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Impossible de trouver la tuile :"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nom d'item ou ID :"
+
+#~ msgid "Autotiles"
+#~ msgstr "Autotiles"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Modèles d'exportation manquants ou corrompus pour cette plateforme : "
+
+#~ msgid "Button 7"
+#~ msgstr "Bouton 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Bouton 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Bouton 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Abandonner l'instanciation"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "C'est sensé !"
+
+#~ msgid "Clear!"
+#~ msgstr "Effacer !"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Afficher/cacher le Spatial"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Afficher/cacher le CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "Condition"
+
+#~ msgid "Sequence"
+#~ msgstr "Séquence"
+
+#~ msgid "Switch"
+#~ msgstr "Switch"
+
+#~ msgid "Iterator"
+#~ msgstr "Itérateur"
+
+#~ msgid "While"
+#~ msgstr "Tant que"
+
+#~ msgid "Return"
+#~ msgstr "Retour"
+
+#~ msgid "Call"
+#~ msgstr "Appel"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Editerr la variable :"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Editer signal :"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Action invalide (tout passe, sauf « / » ou « : »)."
@@ -8325,11 +9918,6 @@ msgstr "Taille de police invalide."
#~ msgid "Can't write file."
#~ msgstr "Impossible d'écrire le fichier."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Veuillez choisir un dossier qui ne contient pas de fichier 'project."
-#~ "godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr ""
#~ "Impossible de trouver le fichier project.godot dans le chemin du projet."
@@ -8458,9 +10046,6 @@ msgstr "Taille de police invalide."
#~ "Le Viewport défini dans la propriété Path doit utiliser le mode « render "
#~ "target » pour que cette sprite fonctionne."
-#~ msgid "Filter:"
-#~ msgstr "Filtre:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "L'analyse de la configuration a échoué."
@@ -8501,9 +10086,6 @@ msgstr "Taille de police invalide."
#~ msgstr ""
#~ "La scène actuelle doit être enregistrée afin de pouvoir ré-importer."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Enregistrer et ré-importer"
-
#~ msgid "Re-Importing"
#~ msgstr "Ré-importation"
@@ -8536,9 +10118,6 @@ msgstr "Taille de police invalide."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "Impossible de renommer dependances pour :\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "Erreur lors du déplacement de fichier :\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Entrez un nouveau nom et chemin pour :"
@@ -8564,9 +10143,6 @@ msgstr "Taille de police invalide."
#~ msgid "Target path must exist."
#~ msgstr "Le chemin de destination doit exister."
-#~ msgid "Save path is empty!"
-#~ msgstr "Le chemin de sauvegarde est vide !"
-
#~ msgid "Import BitMasks"
#~ msgstr "Importer des BitMasks"
@@ -8677,15 +10253,9 @@ msgstr "Taille de police invalide."
#~ msgid "Max Angle"
#~ msgstr "Angle maximal"
-#~ msgid "Clips"
-#~ msgstr "Séquences"
-
#~ msgid "Start(s)"
#~ msgstr "Départ(s)"
-#~ msgid "End(s)"
-#~ msgstr "Fin(s)"
-
#~ msgid "Filters"
#~ msgstr "Filtres"
@@ -8716,18 +10286,12 @@ msgstr "Taille de police invalide."
#~ msgid "Target Texture Folder:"
#~ msgstr "Dossier de destination des textures :"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Script de post-traitement :"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Type de nœud racine personnalisé :"
#~ msgid "Auto"
#~ msgstr "Auto."
-#~ msgid "Root Node Name:"
-#~ msgstr "Nom de nœud racine :"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Les fichiers suivants sont manquants :"
@@ -8787,9 +10351,6 @@ msgstr "Taille de police invalide."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Importer des textures pour un atlas (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Taille des cellules :"
-
#~ msgid "Large Texture"
#~ msgstr "Grande texture"
@@ -8872,9 +10433,6 @@ msgstr "Taille de police invalide."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Impossible d'enregistrer la texture convertie :"
-#~ msgid "Invalid source!"
-#~ msgstr "Source invalide !"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Source de traduction invalide !"
@@ -8914,9 +10472,6 @@ msgstr "Taille de police invalide."
#~ msgid "Translation"
#~ msgstr "Traduction"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "Analyse de %d triangles :"
-
#~ msgid "Triangle #"
#~ msgstr "Triangle #"
@@ -8942,24 +10497,12 @@ msgstr "Taille de police invalide."
#~ msgstr ""
#~ "Remettre le processus de calcul de l'éclairage à zéro (recommencer)."
-#~ msgid "Zoom (%):"
-#~ msgstr "Zoom (%) :"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Squelette…"
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Réinitialiser le zoom"
-
#~ msgid "Zoom Set..."
#~ msgstr "Définir le zoom…"
#~ msgid "Set a Value"
#~ msgstr "Définir une valeur"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Aligner (pixels) :"
-
#~ msgid "Parse BBCode"
#~ msgstr "Analyser le BBCode"
@@ -9035,15 +10578,9 @@ msgstr "Taille de police invalide."
#~ msgid "Resource Tools"
#~ msgstr "Outils des ressources"
-#~ msgid "Make Local"
-#~ msgstr "Rendre local"
-
#~ msgid "Edit Groups"
#~ msgstr "Modifier les groupes"
-#~ msgid "Edit Connections"
-#~ msgstr "Modifier les connexions"
-
#~ msgid "GridMap Paint"
#~ msgstr "Peinture de GridMap"
@@ -9195,9 +10732,6 @@ msgstr "Taille de police invalide."
#~ msgid "Ambient Light Color:"
#~ msgstr "Couleur de l'éclairage ambient :"
-#~ msgid "Couldn't load image"
-#~ msgstr "Impossible de charger l'image"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Nom de classe parent invalide"
@@ -9213,9 +10747,6 @@ msgstr "Taille de police invalide."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Le nom de classe parent est invalide !"
-#~ msgid "Invalid path!"
-#~ msgstr "Chemin invalide !"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "La propriété Path doit pointer à un nœud de type Particles2D valide pour "
@@ -9308,9 +10839,6 @@ msgstr "Taille de police invalide."
#~ msgid "Delete Image Group"
#~ msgstr "Supprimer le groupe d'images"
-#~ msgid "Atlas Preview"
-#~ msgstr "Aperçu de l'atlas"
-
#~ msgid "Project Export Settings"
#~ msgstr "Paramètres d'exportation du projet"
@@ -9323,9 +10851,6 @@ msgstr "Taille de police invalide."
#~ msgid "Export all files in the project directory."
#~ msgstr "Exporter tous les fichiers dans le répertoire du projet."
-#~ msgid "Action"
-#~ msgstr "Action"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr ""
#~ "Convertir les scènes en format texte au format binaire à l'exportation."
@@ -9354,9 +10879,6 @@ msgstr "Taille de police invalide."
#~ msgid "Compress Formats:"
#~ msgstr "Compresser les formats :"
-#~ msgid "Image Groups"
-#~ msgstr "Groupes d'images"
-
#~ msgid "Groups:"
#~ msgstr "Groupes :"
@@ -9396,9 +10918,6 @@ msgstr "Taille de police invalide."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Mode de conversion des échantillons (fichiers .wav) :"
-#~ msgid "Keep"
-#~ msgstr "Conserver"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Compresser (RAM - IMA-ADPCM)"
@@ -9441,9 +10960,6 @@ msgstr "Taille de police invalide."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "La BakedLightInstance ne contient pas de ressource BakedLight."
-#~ msgid "Fragment"
-#~ msgstr "Fragment"
-
#~ msgid "Lighting"
#~ msgstr "Éclairage"
@@ -9506,27 +11022,18 @@ msgstr "Taille de police invalide."
#~ msgid "Align with view (Ctrl+Shift+F)"
#~ msgstr "Aligner avec la vue (Ctrl+Maj+F)"
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "Changer l'interpolation de la boucle d'animation"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "Activer/Désactiver l'interpolation lors de la boucle d'animation."
#~ msgid "Load Layout"
#~ msgstr "Charger la disposition"
-#~ msgid "New Scene Root"
-#~ msgstr "Nouvelle racine de la scène"
-
#~ msgid "Inherit Scene"
#~ msgstr "Hériter la scène"
#~ msgid "Method In Node:"
#~ msgstr "Méthode dans le nœud :"
-#~ msgid "Edit Connections..."
-#~ msgstr "Modifier les connexions..."
-
#~ msgid "Set Params"
#~ msgstr "Définir paramètres"
@@ -9542,12 +11049,6 @@ msgstr "Taille de police invalide."
#~ msgid "Group Editor"
#~ msgstr "Éditeur de groupes"
-#~ msgid "Node Group(s)"
-#~ msgstr "Groupes de nœuds"
-
-#~ msgid "Plugin List:"
-#~ msgstr "Liste d'extensions :"
-
#~ msgid "Overwrite Existing Scene"
#~ msgstr "Écraser la scène existante"
diff --git a/editor/translations/he.po b/editor/translations/he.po
index 6dfd0ab3a5..43bfd2a473 100644
--- a/editor/translations/he.po
+++ b/editor/translations/he.po
@@ -22,332 +22,480 @@ msgstr ""
"n % 10 == 0) ? 2 : 3));\n"
"X-Generator: Weblate 3.0-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "כל הבחירה"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+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
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": ×רגומנט שגוי מסוג: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "למחוק ×ת ×”×§×‘×¦×™× ×”× ×‘×—×¨×™×?"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "שינוי זמן פריי×-מפתח ×נימציה"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "שינוי ×ž×™×§×•× ×נימציה"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "שינוי ×ž×™×§×•× ×נימציה"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "שינוי ערך פריי×-מפתח ×נימציה"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "התמרה"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "הגדרת ×ž×¢×‘×¨×•× ×™× ×ל:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "שקופיות ההנפשה"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "הוספת רצועות חדשות."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "משך ההנפשה (בשניות)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "תקריב הנפשה."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "מ×זין לשמע"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "הסרת הבחירה"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "הסרת נקודה בנתיב"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "זמן:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "מתמשך"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "מעבר לצעד הב×"
-
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "מעבר לצעד הקוד×"
-
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "קבוע"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "כניסה"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "יצי××”"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "כניסה-יצי××”"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "יצי××”-כניסה"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "מעברוני×"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "שכפול"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "מטוב ההנפשה"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "מחיקת שורה"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "ניקוי ההנפשה"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "ליצור %d רצועות חדשות ולהכניס מפתחות?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "יצירה"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "תקריב הנפשה."
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "משך ההנפשה (בשניות)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "×œ× × ×ž×¦× VariableGet בסקריפט: "
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "צעד/×™×:"
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "לוח גזירי המש××‘×™× ×¨×™×§!"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "הוספת רצועות חדשות."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "צעד/×™×:"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "שקופיות ההנפשה"
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/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
+#, fuzzy
+msgid "Animation properties."
+msgstr "שקופיות ההנפשה"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "העתקת משתני×"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "הדבקת משתני×"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.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 "Goto Next Step"
+msgstr "מעבר לצעד הב×"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "מטוב"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "מפתח"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "מעברון"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "יחס מתיחה:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr ""
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "הסרת מפתחות שגויי×"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "הסרת רצועות בלתי פתורות וריקות"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "ניקוי כל ההנפשות"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "העתקה"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "שינוי גודל המערך"
@@ -368,7 +516,7 @@ msgstr "מעבר לשורה"
msgid "Line Number:"
msgstr "מספר השורה:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "×ין תוצ×ות"
@@ -384,7 +532,7 @@ msgstr "הת×מת רישיות"
msgid "Whole Words"
msgstr "×ž×™×œ×™× ×©×œ×ž×•×ª"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "להחליף"
@@ -396,18 +544,28 @@ msgstr "להחליף הכול"
msgid "Selection Only"
msgstr "בחירה בלבד"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "להתקרב"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "להתרחק"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "×יפוס התקריב"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "×זהרות"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "להתקרב"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "שורה:"
@@ -437,7 +595,8 @@ msgid "Add"
msgstr "הוספה"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -468,7 +627,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -490,11 +649,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -502,14 +661,47 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "ניתוק"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "שגי×ת חיבור"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "שגי×ת חיבור"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "×ותות"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "ניתוק"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "עריכה"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "שיטות"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr ""
@@ -532,22 +724,25 @@ msgstr "מועדפי×:"
msgid "Recent:"
msgstr "×חרוני×:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "חיפוש:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "תי×ור:"
@@ -605,7 +800,9 @@ msgstr "חיפוש מש×ב חלופי:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "פתיחה"
@@ -624,7 +821,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "×œ× × ×™×ª×Ÿ להסיר:"
@@ -692,9 +889,13 @@ msgstr "החלפת ערך מילון"
msgid "Thanks from the Godot community!"
msgstr "תודה רבה מקהילת Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "תודה!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -867,6 +1068,7 @@ msgid "Bus options"
msgstr "×פשרויות ×פיק"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "שכפול"
@@ -935,7 +1137,8 @@ msgstr "הוספת ×פיק"
msgid "Create a new Bus Layout."
msgstr "יצירת פריסת ××¤×™×§×™× ×—×“×©×”."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "טעינה"
@@ -945,7 +1148,6 @@ msgid "Load an existing Bus Layout."
msgstr "טעינת פריסת ×פיקי שמע."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "שמירה בש×"
@@ -982,22 +1184,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "×©× ×©×’×•×™. ×œ× ×™×›×•×œ לחפוף ×œ×©× ×§×‘×•×¢ גלובלי ×§×™×™×."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "נתיב שגוי."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "הקובץ ×œ× ×§×™×™×."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "×œ× ×‘× ×ª×™×‘ המש×ב."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "הוספת טעינה ×וטומטית"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "הטעינה ×”×וטומטית ‚%s’ כבר קיימת!"
@@ -1025,6 +1211,22 @@ msgstr "הפעלה"
msgid "Rearrange Autoloads"
msgstr "סידור טעינות ×וטומטית מחדש"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "נתיב שגוי."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "הקובץ ×œ× ×§×™×™×."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "×œ× ×‘× ×ª×™×‘ המש×ב."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "הוספת טעינה ×וטומטית"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1055,7 +1257,7 @@ msgstr "×”×©×™× ×•×™×™× ×”×ž×§×•×ž×™×™× ×ž×וחסני×…"
msgid "Updating scene..."
msgstr "הסצנה מתעדכנת…"
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[ריק]"
@@ -1117,6 +1319,12 @@ msgid "Copy Path"
msgstr "העתקת נתיב"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "הצגה במנהל הקבצי×"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "הצגה במנהל הקבצי×"
@@ -1153,7 +1361,7 @@ msgid "Open a File or Directory"
msgstr "פתיחת קובץ ×ו תיקייה"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "שמירה"
@@ -1206,7 +1414,8 @@ msgstr "מעבר לתיקייה שמעל"
msgid "Directories & Files:"
msgstr "תיקיות וקבצי×:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "תצוגה מקדימה:"
@@ -1351,20 +1560,28 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "חיפוש טקסט"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "מ×פייני×"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "×יתור"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "פלט:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1386,11 +1603,6 @@ msgstr "שגי××” בשמירת המש×ב!"
msgid "Save Resource As..."
msgstr "שמירת המש×ב בתור…"
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "×× ×™ רו×ה…"
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "×œ× × ×™×ª×Ÿ לפתוח קובץ לכתיבה:"
@@ -1403,9 +1615,9 @@ msgstr "תבנית הקובץ המבוקשת ×œ× ×™×“×•×¢×”:"
msgid "Error while saving."
msgstr "שגי××” בעת השמירה."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "×œ× × ×™×ª×Ÿ לפתוח ×ת ‚%s’."
+#: 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'."
@@ -1448,10 +1660,6 @@ msgstr ""
"מסופקות."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "טעינת המש×ב נכשלה."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1520,42 +1728,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "הרחבת כל המ×פייני×"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "×¦×ž×¦×•× ×›×œ המ×פייני×"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "העתקת משתני×"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "הדבקת משתני×"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "הדבקת מש×ב"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "העתקת מש×ב"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "פתיחה בעזרה"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "×ין סצנה מוגדרת להרצה."
@@ -1731,11 +1903,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1764,6 +1931,16 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "נגינת הסצנה"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "לסגור לשוניות ×חרות"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1885,10 +2062,6 @@ msgstr "מיז×"
msgid "Project Settings"
msgstr "הגדרות מיז×"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "הרצת סקריפט"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "ייצו×"
@@ -1898,6 +2071,11 @@ msgid "Tools"
msgstr "כלי×"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "לפתוח ×ת מנהל המיזמי×?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "יצי××” לרשימת המיזמי×"
@@ -1991,6 +2169,20 @@ msgstr "פריסת עורך"
msgid "Toggle Fullscreen"
msgstr "כניסה ×ל/יצי××” ממסך מל×"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "הגדרות עורך"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "הגדרות עורך"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "ניהול תבניות ייצו×"
@@ -2006,7 +2198,8 @@ msgstr "מחלקות"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "חיפוש"
@@ -2050,7 +2243,7 @@ msgstr "השהיית סצנה"
msgid "Stop the scene."
msgstr "עצירת הסצנה."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "עצירה"
@@ -2071,6 +2264,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "לשמור ולצ×ת"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "מסתובב ×›×שר חלון העורך מצויר מחדש!"
@@ -2090,42 +2293,6 @@ msgstr "השבתת שבשבת עדכון"
msgid "Inspector"
msgstr "חוקר"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "יצירת מש×ב חדש בזיכרון ועריכתו."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "טעינת מש×ב ×§×™×™× ×ž×”×›×•× ×Ÿ ועריכתו."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "שמירת המש×ב שנערך כרגע."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "שמירה בש×…"
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "מעבר לפריט ×”×חרון שנערך מההיסטוריה."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "מעבר לפריט ×”×‘× ×©× ×¢×¨×š מההיסטוריה."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "היסטוריה של ×”×¤×¨×™×˜×™× ×©× ×¢×¨×›×• ל×חרונה."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "מ×פייני פריט."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "×”×©×™× ×•×™×™× ×¢×©×•×™×™× ×œ×œ×›×ª ל×יבוד!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2140,6 +2307,11 @@ msgid "FileSystem"
msgstr "מערכת קבצי×"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "להרחיב הכול"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "פלט"
@@ -2216,19 +2388,24 @@ msgid "Thumbnail..."
msgstr "תמונה ממוזערת…"
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "עריכת מצולע"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "×ª×•×¡×¤×™× ×ž×•×ª×§× ×™×:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "עדכון"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "גרסה:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "יוצר:"
@@ -2236,12 +2413,14 @@ msgstr "יוצר:"
msgid "Status:"
msgstr "מצב:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr ""
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "עריכה"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2288,6 +2467,101 @@ msgstr "זמן"
msgid "Calls"
msgstr "קרי×ות"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "הדבקה"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "× × ×œ×‘×—×•×¨ התקן מהרשימה"
@@ -2322,10 +2596,6 @@ msgstr "×œ× × ×™×ª×Ÿ להריץ ×ת הסקריפט:"
msgid "Did you forget the '_run' method?"
msgstr "שכחת ×ת השיטה ‚‎_run’?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "בררת מחדל (כמו העורך)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "× × ×œ×‘×—×•×¨ ×ž×¤×¨×§×™× ×œ×™×™×¦×•×"
@@ -2351,6 +2621,7 @@ msgid "(Installed)"
msgstr "(מותקן)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "הורדה"
@@ -2375,7 +2646,8 @@ msgid "Can't open export templates zip."
msgstr "×œ× × ×™×ª×Ÿ ×œ×™×™×¦× zip של תבניות."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "תבנית ה־version.txt שגויה בתוך התבניות."
#: editor/export_template_manager.cpp
@@ -2435,6 +2707,12 @@ msgid "Download Complete."
msgstr "ההורדה הושלמה."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "שגי××” בבקשת כתובת: "
@@ -2513,7 +2791,8 @@ msgid "Download Templates"
msgstr "הורדת תבניות"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "בחירת ×תר מר××” מהרשימה: "
#: editor/file_type_cache.cpp
@@ -2526,11 +2805,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "×œ× × ×™×ª×Ÿ לנווט ×ל ‚%s’ כיוון ×©×œ× × ×ž×¦× ×‘×ž×¢×¨×›×ª הקבצי×!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "צפייה ×‘×¤×¨×™×˜×™× ×›×¨×©×ª של תמונות ממוזערות"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "הצגת ×¤×¨×™×˜×™× ×›×¨×©×™×ž×”"
#: editor/filesystem_dock.cpp
@@ -2601,7 +2882,7 @@ msgstr "להרחיב הכול"
msgid "Collapse all"
msgstr "×œ×¦×ž×¦× ×”×›×•×œ"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "שינוי ש×…"
@@ -2630,6 +2911,23 @@ msgid "Duplicate..."
msgstr "שכפול…"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "פתיחת סקריפט מהירה…"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "התיקייה הקודמת"
@@ -2642,14 +2940,28 @@ msgid "Re-Scan Filesystem"
msgstr "סריקת מערכת ×”×§×‘×¦×™× ×ž×—×“×©"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "החלפת מצב התיקייה כמועדפת"
#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "חיפוש במחלקות"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2657,14 +2969,110 @@ msgstr ""
"×”×§×‘×¦×™× × ×¡×¨×§×™×,\n"
"× × ×œ×”×ž×ª×™×Ÿâ€¦"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "העברה"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "שינוי ש×"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "כבר ×§×™×™×ž×™× ×§×•×‘×¥ ×ו תיקייה ×‘×©× ×”×–×”."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "יצירת סקריפט"
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "×יתור"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "×ž×™×œ×™× ×©×œ×ž×•×ª"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "הת×מת רישיות"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "להחליף"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "להחליף הכול"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "שמירה…"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "חיפוש טקסט"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "הפעולה ‚%s’ כבר קיימת!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "×©× ×©×’×•×™."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "קבוצות"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "הוספה לקבוצה"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "הוספה לקבוצה"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2674,6 +3082,11 @@ msgstr "הוספה לקבוצה"
msgid "Remove from Group"
msgstr "הסרה מקבוצה"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "קבוצות"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "×™×™×‘×•× ×›×¡×¦× ×” בודדת"
@@ -2715,7 +3128,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "×™×™×‘×•× ×›×ž×¡×¤×¨ סצנות+חומרי×"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "×™×™×‘×•× ×¡×¦× ×”"
@@ -2775,18 +3188,128 @@ msgstr "ערכה מוגדרת…"
msgid "Reimport"
msgstr "×™×™×‘×•× ×ž×—×“×©"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "טעינת המש×ב נכשלה."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "הרחבת כל המ×פייני×"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "×¦×ž×¦×•× ×›×œ המ×פייני×"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "שמירה בש×…"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "העתקת משתני×"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "הדבקת משתני×"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "לוח גזירי המש××‘×™× ×¨×™×§!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "העתקת מש×ב"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "מ×פייני פריט."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
-msgstr "קבוצות"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "יש לבחור מפרק כדי לערוך ×ותות וקבוצות."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "עריכת מצולע"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "יצירת פתרון C#‎"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2828,6 +3351,146 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "מחיקת נקודות"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "מחיקת נקודות"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "×©× ×”× ×¤×©×” חדשה:"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "הפעולה ‚%s’ כבר קיימת!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2854,12 +3517,14 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
-msgstr ""
+#, fuzzy
+msgid "Invalid animation name!"
+msgstr "×©× ×©×’×•×™."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
-msgstr ""
+#, fuzzy
+msgid "Animation name already exists!"
+msgstr "הפעולה ‚%s’ כבר קיימת!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
@@ -2867,11 +3532,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2888,12 +3548,14 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
-msgstr ""
+#, fuzzy
+msgid "No animation to copy!"
+msgstr "תקריב הנפשה."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr "×œ× ×‘× ×ª×™×‘ המש×ב."
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
@@ -2904,8 +3566,9 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
-msgstr ""
+#, fuzzy
+msgid "No animation to edit!"
+msgstr "×©× ×”× ×¤×©×” חדשה:"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
@@ -2936,39 +3599,34 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
+msgid "New"
+msgstr "חדש"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "מעברוני×"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "חוקר"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3020,6 +3678,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "×©× ×”× ×¤×©×” חדשה:"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3029,6 +3692,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3046,161 +3710,213 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "יצירת %s חדש"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "התחברות למפרק:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3254,8 +3970,14 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr ""
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "מתבצעת הורדה"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "מתבצעת הורדה"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3282,19 +4004,20 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr ""
+#, fuzzy
+msgid "Previous"
+msgstr "הלשונית הקודמת"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+msgid "Next"
+msgstr "הב×"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3362,7 +4085,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3371,12 +4094,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3389,14 +4110,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3425,11 +4138,25 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "העברה למעלה"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move anchor"
+msgstr "העברה למטה"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3449,6 +4176,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "להתרחק"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "להתרחק"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "להתקרב"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3492,16 +4234,18 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
-msgstr ""
+#, fuzzy
+msgid "Toggle snapping."
+msgstr "החלפת מצב נקודת עצירה"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
-msgstr ""
+#, fuzzy
+msgid "Snapping Options"
+msgstr "הגדרות הצמדה"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to grid"
@@ -3541,6 +4285,10 @@ 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 ""
@@ -3567,24 +4315,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "נגינת סצנה בהת×מה ×ישית"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3629,11 +4378,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3649,14 +4394,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3672,10 +4409,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3708,26 +4441,19 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "קודקודי×"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3798,15 +4524,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3890,6 +4607,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3957,6 +4675,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4057,70 +4796,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4181,18 +4856,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4201,15 +4864,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4237,6 +4896,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "המרה ל×ותיות גדולות"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4313,6 +4985,22 @@ msgstr "מחיקת נקודה"
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4345,19 +5033,92 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "יצירת מצולע"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "הפעולה ‚%s’ כבר קיימת!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "נתיב שגוי."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "הסרת תבנית"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "עריכת מצולע"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "פיצול נתיב"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "יצירת מצולע"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "הזזת נקודה"
@@ -4386,12 +5147,25 @@ msgid "Scale Polygon"
msgstr "שינוי קנה מידה של מצולע"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "עריכה"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4406,9 +5180,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "הצמדה"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "הגדרות"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4418,6 +5192,32 @@ msgstr "הפעלת הצמדה"
msgid "Grid"
msgstr "רשת"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "שינוי קנה מידה של מצולע"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "שגי××”: ×œ× × ×™×ª×Ÿ לטעון מש×ב!"
@@ -4440,6 +5240,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4461,16 +5265,17 @@ msgid "Load Resource"
msgstr "טעינת מש×ב"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "הדבקה"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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 "מחיקת ×§×‘×¦×™× ×חרוני×"
@@ -4480,6 +5285,21 @@ msgid "Close and save changes?"
msgstr "לסגור ולשמור ×ת השינויי×?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "שגי××” ×‘×™×™×‘×•× ×¢×¨×›×ª הנוש×"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "×œ× × ×™×ª×Ÿ ליצור תיקייה."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "שגי××” בשמירה"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "שגי××” בשמירת ערכת העיצוב"
@@ -4496,6 +5316,21 @@ msgid "Error importing"
msgstr "שגי××” בייבו×"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "תיקייה חדשה…"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "פתיחת קובץ"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "שמירה בש×…"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "×™×™×‘×•× ×¢×¨×›×ª עיצוב"
@@ -4508,6 +5343,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "מיון"
@@ -4536,8 +5375,8 @@ msgid "File"
msgstr "קובץ"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "חדש"
+msgid "New TextFile"
+msgstr ""
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4564,6 +5403,11 @@ msgid "History Next"
msgstr "×”×‘× ×‘×”×™×¡×˜×•×¨×™×”"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "רענון ערכת העיצוב"
@@ -4597,11 +5441,6 @@ msgstr "החלפת תצוגת חלונית סקריפטי×"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "×יתור…"
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "×יתור הב×"
@@ -4655,10 +5494,6 @@ msgid "Discard"
msgstr "התעלמות"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "יצירת סקריפט"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4679,45 +5514,70 @@ msgid "Debugger"
msgstr "ניפוי שגי×ות"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "חיפוש בעזרה"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "חיפוש במחלקות"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr "ניתן לערוך ×¡×§×¨×™×¤×˜×™× ×ž×•×‘× ×™× ×¨×§ ×›×שר הסצנה ××œ×™×”× ×”× ×©×™×™×›×™× × ×˜×¢× ×”"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "שורה:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "החלפת מצב רשיות"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "×ותיות גדולות"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "×ותיות קטנות"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "גזירה"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "העתקה"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4805,8 +5665,9 @@ msgid "Find Previous"
msgstr "×יתור הקוד×"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "החלפה…"
+#, fuzzy
+msgid "Find in files..."
+msgstr "×יתור…"
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4824,129 +5685,41 @@ msgstr "עזרה תלוית הקשר"
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "שינוי ערך בררת המחדל"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "שינוי הערה"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "שינוי ×©× ×§×œ×˜"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "יחידני"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "יחידני"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "שגי××”: ×—×¡×¨×™× ×—×™×‘×•×¨×™ קלט"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "יצירת פתרון C#‎"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "× ×’×™× ×”"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5073,10 +5846,6 @@ msgid "Align with view"
msgstr "יישור ×¢× ×”×ª×¦×•×’×”"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "בסדר :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5085,6 +5854,11 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "הצגת מידע"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "הצגה נורמלית"
@@ -5129,6 +5903,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5259,6 +6037,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "החלפת מצב מבט חופשי"
@@ -5267,6 +6049,10 @@ msgid "Transform"
msgstr "התמרה"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5295,6 +6081,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5308,10 +6098,6 @@ msgid "Settings"
msgstr "הגדרות"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "הגדרות הצמדה"
@@ -5371,6 +6157,50 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "המרה ל×ותיות גדולות"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "יצירת %s חדש"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "תצוגה מקדימה:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "הגדרות"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5439,14 +6269,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5472,26 +6294,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5507,11 +6322,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5583,10 +6393,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5611,7 +6417,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5624,14 +6430,19 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "קבוע"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "×©× ×©×’×•×™."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5652,12 +6463,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "×יתור הב×"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5680,6 +6488,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "הסרת הבחירה"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5696,63 +6509,108 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+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 " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "×œ× × ×™×ª×Ÿ לבצע פעולה זו ×œ×œ× ×¡×¦× ×”."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "קודקודי×"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "ימין"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5768,7 +6626,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5842,10 +6700,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5854,7 +6708,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5862,6 +6716,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5949,6 +6811,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6059,8 +6925,8 @@ msgstr "כפתור עכבר"
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6072,9 +6938,23 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "החלפת ערך מילון"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "התקן"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "התקן"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6116,20 +6996,24 @@ msgid "Wheel Down Button"
msgstr "כפתור גלגלת למטה"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "כפתור 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "כפתור גלגלת למעלה"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "כפתור 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "כפתור ימני"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "כפתור 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "כפתור 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "כפתור 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "כפתור 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6156,10 +7040,6 @@ msgid "Add Event"
msgstr "הוספת ×ירוע"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "התקן"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "כפתור"
@@ -6204,6 +7084,12 @@ 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 "Already existing"
msgstr ""
@@ -6275,6 +7161,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6284,6 +7174,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "כל הבחירה"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6344,10 +7243,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6384,75 +7279,164 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "שינוי ש×"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "×©× ×”×ž×¤×¨×§:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "×יתור סוג מפרק"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "הסצנה הנוכחית ×œ× × ×©×ž×¨×”. לפתוח בכל ×–×ת?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "שינוי ש×"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "צעד/×™×:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "×ותיות קטנות"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "×ותיות גדולות"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "×יפוס התקריב"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6491,11 +7475,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6515,6 +7494,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6555,14 +7538,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "יצירת תיקייה"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "סצנה"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "סצנה"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "גזירת מפרקי×"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6571,6 +7574,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6613,18 +7620,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "שמירת סצנה"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6647,10 +7651,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6670,17 +7670,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "החלפת מצב תצוגה ×œ×§×‘×¦×™× ×ž×•×¡×ª×¨×™×"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6688,7 +7681,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6704,20 +7697,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "הרצת סקריפט"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6725,6 +7719,12 @@ 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 ""
@@ -6761,6 +7761,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "פתיחת עורך סקריפטי×"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -6997,10 +8002,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7013,19 +8030,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7081,16 +8110,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7155,6 +8174,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7235,6 +8259,11 @@ 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 ""
@@ -7302,6 +8331,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7353,10 +8446,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7465,36 +8554,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "התחברות למפרק:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "התחברות למפרק:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7521,15 +8588,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7537,10 +8600,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7584,6 +8643,11 @@ msgstr "גזירת מפרקי×"
msgid "Paste Nodes"
msgstr "הדבקת מפרקי×"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "חברי×"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "סוג הקלט ×œ× ×–×ž×™×Ÿ למחזוריות: "
@@ -7638,6 +8702,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "חיפוש בעזרה"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "הפעלה בדפדפן"
@@ -7684,8 +8761,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7767,6 +8844,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7827,8 +8917,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7901,6 +8991,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7913,6 +9014,44 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "משך ההנפשה (בשניות)."
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "מצב גולמי"
@@ -7981,12 +9120,90 @@ msgstr "שגי××” בטעינת הגופן."
msgid "Invalid font size."
msgstr "גודל הגופן שגוי."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "הלשונית הקודמת"
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Default Value"
+#~ msgstr "שינוי ערך בררת המחדל"
+
+#~ msgid "Change Comment"
+#~ msgstr "שינוי הערה"
+
+#~ msgid "Change Input Name"
+#~ msgstr "שינוי ×©× ×§×œ×˜"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "שגי××”: ×—×¡×¨×™× ×—×™×‘×•×¨×™ קלט"
+
+#~ msgid "Disabled"
+#~ msgstr "מושבת"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "הגדרת ×ž×¢×‘×¨×•× ×™× ×ל:"
+
+#~ msgid "In"
+#~ msgstr "כניסה"
+
+#~ msgid "Out"
+#~ msgstr "יצי××”"
+
+#~ msgid "In-Out"
+#~ msgstr "כניסה-יצי××”"
+
+#~ msgid "Out-In"
+#~ msgstr "יצי××”-כניסה"
+
+#~ msgid "Key"
+#~ msgstr "מפתח"
+
+#~ msgid "Thanks!"
+#~ msgstr "תודה!"
+
+#~ msgid "I see..."
+#~ msgstr "×× ×™ רו×ה…"
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "×œ× × ×™×ª×Ÿ לפתוח ×ת ‚%s’."
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "שמירת המש×ב שנערך כרגע."
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "בררת מחדל (כמו העורך)"
+
+#~ msgid "OK :("
+#~ msgstr "בסדר :("
+
+#~ msgid "Button 7"
+#~ msgstr "כפתור 7"
+
+#~ msgid "Button 8"
+#~ msgstr "כפתור 8"
-#~ msgid "Next"
-#~ msgstr "הב×"
+#~ msgid "Button 9"
+#~ msgstr "כפתור 9"
#~ msgid "Can't write file."
#~ msgstr "×œ× × ×™×ª×Ÿ לכתוב קובץ."
diff --git a/editor/translations/hi.po b/editor/translations/hi.po
index 606da1d118..87c09cdd07 100644
--- a/editor/translations/hi.po
+++ b/editor/translations/hi.po
@@ -18,340 +18,470 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.18-dev\n"
-#: editor/animation_editor.cpp
+#: 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
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
#, fuzzy
-msgid "Disabled"
-msgstr "बंद कर दिया गया है"
+msgid "Duplicate Selected Key(s)"
+msgstr "डà¥à¤ªà¥à¤²à¤¿à¤•ेट चयन"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "सभी खंड"
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "चयनित फ़ाइलें हटाà¤à¤‚?"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Delete Keys"
+msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ को हटाने के लिठकà¥à¤‚जी"
+
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Time"
msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ निधि"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Transition"
msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ संकà¥à¤°à¤®à¤£ (à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Transform"
msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ परिणत"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ निधि"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ बà¥à¤²à¤¾à¤µà¤¾"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ टà¥à¤°à¥ˆà¤• जोड़ें"
-
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "अनà¥à¤µà¤¾à¤¦ में बदलाव करें:"
-
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ टà¥à¤°à¥ˆà¤• जोड़ें"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "नोड वकà¥à¤° संपादित करें"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Edit Selection Curve"
-msgstr "परिवरà¥à¤¤à¤¨ वकà¥à¤° चयन"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Delete Keys"
-msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ को हटाने के लिठकà¥à¤‚जी"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "Duplicate Selection"
-msgstr "डà¥à¤ªà¥à¤²à¤¿à¤•ेट चयन"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Continuous"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Discrete"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Trigger"
+#: editor/animation_track_editor.cpp
+msgid "Remove this track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ को हटाने के लिठकà¥à¤‚जी"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Duplicate Selection"
+msgstr "डà¥à¤ªà¥à¤²à¤¿à¤•ेट चयन"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "डà¥à¤ªà¥à¤²à¤¿à¤•ेट चयन"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -372,7 +502,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -388,7 +518,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -400,18 +530,27 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "बड़ा करो"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "छोटा करो"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "रीसेट आकार"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "बड़ा करो"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "रेखा:"
@@ -444,7 +583,8 @@ msgid "Add"
msgstr "जोड़ें"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -476,7 +616,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -501,12 +641,12 @@ msgstr "जà¥à¤¡à¤¿à¤¯à¥‡ '%s' to '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Connecting Signal:"
-msgstr "कनेकà¥à¤Ÿ करने के लिठसंकेत:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "जà¥à¤¡à¤¿à¤¯à¥‡ '%s' to '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "जà¥à¤¡à¤¿à¤¯à¥‡ '%s' to '%s'"
#: editor/connections_dialog.cpp
@@ -515,14 +655,45 @@ msgid "Connect..."
msgstr "जà¥à¤¡à¤¿à¤¯à¥‡..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "डिसà¥à¤•नेकà¥à¤Ÿ"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "कनेकà¥à¤Ÿ करने के लिठसंकेत:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "परिवरà¥à¤¤à¤¨ वकà¥à¤° चयन"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "संकेत"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+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 ""
@@ -546,10 +717,10 @@ msgstr "पसंदीदा:"
msgid "Recent:"
msgstr "हाल ही में किया:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
#, fuzzy
msgid "Search:"
msgstr "खोज कर:"
@@ -557,12 +728,15 @@ msgstr "खोज कर:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "विवरण:"
@@ -627,7 +801,9 @@ msgstr "खोज रिपà¥à¤²à¥‡à¤¸à¤®à¥‡à¤‚ट संसाधन:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "खोलो इसे"
@@ -648,7 +824,7 @@ msgstr ""
"निकाली गई फ़ाइलों को दूसरे संसाधनों दà¥à¤µà¤¾à¤°à¤¾ उनके लिठकाम करने के लिठआवशà¥à¤¯à¤• है\n"
"वैसे भी उनà¥à¤¹à¥‡à¤‚ निकालें? (कोई पूरà¥à¤µà¤µà¤¤ नहीं)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "निकाला नहीं जा सकता:\n"
@@ -718,9 +894,13 @@ msgstr "शबà¥à¤¦ बदलें मूलà¥à¤¯"
msgid "Thanks from the Godot community!"
msgstr "गोडोट समà¥à¤¦à¤¾à¤¯ से आपको धनà¥à¤¯à¤µà¤¾à¤¦!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "धनà¥à¤¯à¤µà¤¾à¤¦!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -905,6 +1085,7 @@ msgid "Bus options"
msgstr "बस विकलà¥à¤ª"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿"
@@ -973,7 +1154,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -983,7 +1165,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -1020,47 +1201,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1093,7 +1274,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1155,6 +1336,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1191,7 +1377,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1244,7 +1430,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1389,20 +1576,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1424,11 +1618,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1441,8 +1630,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1484,10 +1673,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1554,42 +1739,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1763,11 +1912,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1796,6 +1940,15 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "बंद करे"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1917,10 +2070,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1930,6 +2079,11 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "परियोजना के संसà¥à¤¥à¤¾à¤ªà¤•"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -2021,6 +2175,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2036,7 +2202,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2080,7 +2247,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2101,59 +2268,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2170,6 +2310,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2246,19 +2390,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2266,12 +2414,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2318,6 +2467,101 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2352,10 +2596,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2381,6 +2621,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2405,7 +2646,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2465,6 +2706,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2544,7 +2791,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2556,11 +2803,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2636,7 +2883,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2666,6 +2913,22 @@ msgid "Duplicate..."
msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿"
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2678,7 +2941,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2686,18 +2953,114 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "खोज कर:"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "à¤à¤• जैसा:"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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
+#, fuzzy
+msgid "Searching..."
+msgstr "खोज कर:"
+
+#: editor/find_in_files.cpp
+msgid "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2708,6 +3071,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2749,7 +3116,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2809,16 +3176,124 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "संसाधन"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+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
+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
@@ -2862,6 +3337,141 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "à¤à¤• नया बनाà¤à¤‚"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2888,11 +3498,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2901,11 +3511,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2922,11 +3527,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2938,7 +3543,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2970,39 +3575,33 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "अनà¥à¤µà¤¾à¤¦ में बदलाव करें:"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3055,6 +3654,10 @@ 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 ""
@@ -3064,6 +3667,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3081,161 +3685,212 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
msgstr ""
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Create new nodes."
+msgstr "à¤à¤• नया बनाà¤à¤‚"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "जà¥à¤¡à¤¿à¤¯à¥‡"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3289,7 +3944,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3317,19 +3976,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3397,7 +4056,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3406,12 +4065,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3424,14 +4081,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3460,11 +4109,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3484,6 +4145,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "छोटा करो"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "छोटा करो"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "बड़ा करो"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3527,7 +4203,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3535,7 +4211,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3576,6 +4252,10 @@ 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 ""
@@ -3602,23 +4282,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3664,11 +4344,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3684,14 +4360,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3707,10 +4375,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3743,26 +4407,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3833,15 +4489,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3925,6 +4572,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3992,6 +4640,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4092,70 +4761,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4216,59 +4821,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4348,6 +4949,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4380,19 +4997,87 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "गलत फॉणà¥à¤Ÿ का आकार |"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "मिटाना"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4421,11 +5106,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4441,8 +5138,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4453,6 +5149,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4475,6 +5195,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4496,17 +5220,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
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 ""
@@ -4516,6 +5241,19 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "लोड हो रहा है तà¥à¤°à¥à¤Ÿà¤¿à¤¯à¤¾à¤!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4532,6 +5270,19 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "खोलो इसे"
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save File As..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4544,6 +5295,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4572,7 +5327,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4600,6 +5355,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4633,11 +5393,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4691,10 +5446,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4713,45 +5464,68 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "रेखा:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4839,7 +5613,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4858,128 +5632,37 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5107,10 +5790,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5119,6 +5798,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5163,6 +5846,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5290,6 +5977,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5298,6 +5989,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5326,6 +6021,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5339,10 +6038,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5402,6 +6097,47 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "à¤à¤• नया बनाà¤à¤‚"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5470,14 +6206,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5503,26 +6231,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5538,11 +6259,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5614,10 +6330,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5642,7 +6354,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5655,7 +6367,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5663,6 +6375,10 @@ msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5683,11 +6399,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5711,6 +6423,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "सभी खंड"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5727,63 +6444,105 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+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 " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5799,7 +6558,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5873,10 +6632,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5885,7 +6640,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5893,6 +6648,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5982,6 +6745,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6090,8 +6857,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6103,9 +6870,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6147,19 +6927,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6187,10 +6967,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6235,6 +7011,12 @@ 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 "Already existing"
msgstr ""
@@ -6306,6 +7088,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6315,6 +7101,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "सभी खंड"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6375,10 +7170,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6415,75 +7206,156 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+msgid "Batch Rename"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "रीसेट आकार"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6522,11 +7394,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6546,6 +7413,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6586,11 +7457,28 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+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 "Makes Sense!"
+msgid "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6602,6 +7490,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6645,18 +7537,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6679,10 +7567,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6702,16 +7586,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6720,7 +7596,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6736,20 +7612,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6757,6 +7633,12 @@ 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 ""
@@ -6793,6 +7675,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7029,10 +7915,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7045,19 +7943,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7113,16 +8023,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7187,6 +8087,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7267,6 +8172,11 @@ 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 ""
@@ -7335,6 +8245,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7386,10 +8360,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7498,35 +8468,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7554,15 +8500,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7570,10 +8512,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7617,6 +8555,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7671,6 +8613,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7717,8 +8671,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7799,6 +8753,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7859,8 +8826,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7933,6 +8900,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7945,6 +8923,44 @@ msgid ""
"it as a child of a VehicleBody."
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_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "गलत फॉणà¥à¤Ÿ का आकार |"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "जà¥à¤¡à¤¿à¤¯à¥‡ '%s' to '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8013,5 +9029,40 @@ msgstr ""
msgid "Invalid font size."
msgstr "गलत फॉणà¥à¤Ÿ का आकार |"
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Disabled"
+#~ msgstr "बंद कर दिया गया है"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "नोड वकà¥à¤° संपादित करें"
+
+#~ msgid "Thanks!"
+#~ msgstr "धनà¥à¤¯à¤µà¤¾à¤¦!"
+
#~ msgid "Skip"
#~ msgstr "छोड़ें"
diff --git a/editor/translations/hu.po b/editor/translations/hu.po
index 84c64138dc..1518b02617 100644
--- a/editor/translations/hu.po
+++ b/editor/translations/hu.po
@@ -19,334 +19,484 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.0.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Tiltva"
+#: 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 ""
+"Érvénytelen típus argumentum a convert()-hez használjon TYPE_* konstansokat."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Minden kiválasztás"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+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"
+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 ""
-#: editor/animation_editor.cpp
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ""
+"Érvénytelen típus argumentum a convert()-hez használjon TYPE_* konstansokat."
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Ingyenes"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Hiba!"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Kulcs Beszúrása"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Kiválasztás megkettőzés"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Törli a kiválasztott fájlokat?"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Animáció kulcsok megkettőzése"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Animáció kulcs törlés"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Animáció kulcsképkocka idő változtatás"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animáció átmenet változtatása"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animáció transzformáció változtatás"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Animáció kulcsképkocka érték változtatás"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animáció hívás változtatás"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animáció nyomvonal hozzáadás"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Animáció kulcsok megkettőzése"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "UV Térkép Transzformálása"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Animáció nyomvonal felfelé mozgatás"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Animáció nyomvonal lefelé mozgatás"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Animáció nyomvonal eltávolítás"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Ãtmenet beállítása erre:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Animáció lejátszásának leállítása. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Animáció nyomvonal átnevezés"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animáció nyomvonal hozzáadás"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Animáció nyomvonal interpoláció változtatás"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animáció hossza (másodpercben)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Animáció nyomvonal érték mód változtatás"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animáció nagyítás."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Animáció nyomvonal takarási mód változtatás"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Node görbe szerkesztés"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Kiválasztás görbe szerkesztés"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Animáció kulcs törlés"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Zavarmentes mód váltása."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Kiválasztás megkettőzés"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Ãthelyezettek megkettÅ‘zés"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animáció Node"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Kiválasztás eltávolítás"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Kiválasztott nyomvonal eltávolítása."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Ãttűnési IdÅ‘ (mp):"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Folyamatos"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diszkrét"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Érzékelő"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Animáció kulcs hozzáadás"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Animáció kulcs mozgatás"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Kiválasztás átméretezés"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Ãtméretezés a kurzortól"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Ugrás a következő lépésre"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Jövő"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Ugrás az előző lépésre"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineáris"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Ãllandó"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Be"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Ki"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Be-Ki"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Ki-Be"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Kulcs Beszúrása"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Ãtmenetek"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Animáció kulcsok megkettőzése"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Animáció optimalizálás"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Animáció kulcs törlés"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Animáció megtisztítás"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Animáció nyomvonal eltávolítás"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Létrehoz ÚJ nyomvonalat %s -hez és beilleszti a kulcsot?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Létrehoz %d ÚJ nyomvonalat és beilleszti a kulcsokat?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Létrehozás"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Animáció beillesztés"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Animáció létrehozás és beillesztés"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Animáció nyomvonal és kulcs beillesztés"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Animáció kulcs beillesztés"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Animáció hossz változtatás"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Animáció hurok változtatás"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Animáció típusos érték kulcs létrehozás"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Animáció beillesztés"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Animáció kulcs mozgatás"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Az erőforrás vágólap üres!"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Animáció kulcsok nyújtás"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Animációhoz hívási nyomvonal hozzáadása"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animáció nagyítás."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Hossz (mp):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animáció hossza (másodpercben)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Lépés (mp):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Kurzor hozzáillesztése a lépésekhez (másodpercben)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Az animációs fa érvényes."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Az animáció ismétlésének engedélyezése/tiltása."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Szerkesztés"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Új nyomvonalak hozzáadása."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimációFa"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Jelenlegi nyomvonal felfelé mozgatása."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Paraméterek Másolása"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Jelenlegi nyomvonal lefelé mozgatása."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Paraméterek Beillesztése"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Kiválasztott nyomvonal eltávolítása."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Kiválasztás átméretezés"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Ãtméretezés a kurzortól"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Kiválasztás megkettőzés"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Ãthelyezettek megkettÅ‘zés"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Kijelölés Középre"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Ugrás a következő lépésre"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Nyomvonal eszközök"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Ugrás az előző lépésre"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Engedélyezi az egyes kulcsok szerkesztését rákattintással."
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Animáció optimalizálás"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Animáció megtisztítás"
+
+#: 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 "Anim. Optimizer"
msgstr "Animáció Optimalizáló"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Max. Lineáris Hiba:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. Szög Hiba:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max. Optimalizálható Szög:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimalizálás"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Válasszon egy AnimationPlayer-t a Jelenetfából, hogy animációkat "
-"szerkeszthessen."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Kulcs"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Ãtmenet"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Méretezési arány:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Melyik Node-ban hívjon funkciókat?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Érvénytelen kulcsok eltávolítása"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Megoldatlan és üres nyomvonalak eltávolítása"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Összes animáció tisztítása"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Animáció(k) Tisztítása (NEM VISSZAVONHATÓ!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Tisztítás"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Méretezési arány:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Másolás"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Tömb Ãtméretezése"
@@ -367,7 +517,7 @@ msgstr "Sorra Ugrás"
msgid "Line Number:"
msgstr "Sor Száma:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Nincs Találat"
@@ -383,7 +533,7 @@ msgstr "Pontos Egyezés"
msgid "Whole Words"
msgstr "Teljes Szavak"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Lecserélés"
@@ -395,18 +545,27 @@ msgstr "Mind Lecserélése"
msgid "Selection Only"
msgstr "Csak Kiválsztás"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Nagyítás"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Kicsinyítés"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Nagyítás Visszaállítása"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Nagyítás"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Sor:"
@@ -438,7 +597,8 @@ msgid "Add"
msgstr "Hozzáad"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -469,7 +629,7 @@ msgid "Oneshot"
msgstr "Egyszeri"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -491,11 +651,12 @@ msgid "Connect '%s' to '%s'"
msgstr "'%s' Csatlakoztatása '%s'-hez"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Csatlakoztató Jelzés:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "'%s' Lecsatlakoztatása '%s'-ról"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "'%s' Lecsatlakoztatása '%s'-ról"
#: editor/connections_dialog.cpp
@@ -503,14 +664,47 @@ msgid "Connect..."
msgstr "Kapcsolás..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Szétkapcsol"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Csatlakoztató Jelzés:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Kapcsolathiba"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Jelzések"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Szétkapcsol"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Szerkesztés"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metódusok"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "%s Típusának Megváltoztatása"
@@ -533,22 +727,25 @@ msgstr "Kedvencek:"
msgid "Recent:"
msgstr "Legutóbbi:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Keresés:"
#: editor/create_dialog.cpp editor/editor_help.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 "Találatok:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Leírás:"
@@ -610,7 +807,9 @@ msgstr "Csere Forrás Keresése:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Megnyit"
@@ -631,7 +830,7 @@ msgstr ""
"Az eltávolítandó fájlokat szükségelik más források a működésükhöz.\n"
"Eltávolítja őket ennek ellenére? (nem visszavonható)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Nem eltávolítható:"
@@ -699,9 +898,13 @@ msgstr "Szótár Érték Módosítása"
msgid "Thanks from the Godot community!"
msgstr "Köszönet a Godot közösségétől!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Kösz!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -878,6 +1081,7 @@ msgid "Bus options"
msgstr "Busz beállítások"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Megkettőzés"
@@ -946,7 +1150,8 @@ msgstr "Busz Hozzáadása"
msgid "Create a new Bus Layout."
msgstr "Új Buszelrendezés létrehozása."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Betöltés"
@@ -956,7 +1161,6 @@ msgid "Load an existing Bus Layout."
msgstr "Meglévő Busz Elrendezés betöltése."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Mentés Másként"
@@ -994,22 +1198,6 @@ msgstr ""
"Érvénytelen név. Nem ütközhet egy már meglévő globális konstans névvel."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Érvénytelen Elérési Út."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "A fájl nem létezik."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Nincs az erőforrás elérési útban."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "AutoLoad Hozzáadása"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Már létezik '%s' AutoLoad!"
@@ -1037,6 +1225,22 @@ msgstr "Engedélyezés"
msgid "Rearrange Autoloads"
msgstr "AutoLoad-ok Ãtrendezése"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Érvénytelen Elérési Út."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "A fájl nem létezik."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Nincs az erőforrás elérési útban."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "AutoLoad Hozzáadása"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1067,7 +1271,7 @@ msgstr "Helyi módosítások eltárolása..."
msgid "Updating scene..."
msgstr "Scene frissítése..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[üres]"
@@ -1129,6 +1333,12 @@ msgid "Copy Path"
msgstr "Útvonal másolása"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Mutat Fájlkezelőben"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Mutat Fájlkezelőben"
@@ -1165,7 +1375,7 @@ msgid "Open a File or Directory"
msgstr "Fájl vagy Könyvtár Megnyitása"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Mentés"
@@ -1218,7 +1428,8 @@ msgstr "Ugrás a szülőmappába"
msgid "Directories & Files:"
msgstr "Könyvtárak és Fájlok:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Előnézet:"
@@ -1370,20 +1581,28 @@ msgstr ""
"Ennek a metódusnak jelenleg nincs leírása. Segítsen minket azzal, hogy "
"[color=$color][url=$url]hozzájárul eggyel[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Keresés a Szövegben"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Tulajdonságok"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Keres"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Kimenet:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1405,11 +1624,6 @@ msgstr "Hiba történt az erőforrás mentésekor!"
msgid "Save Resource As..."
msgstr "Erőforrás Mentése Másként..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Értem..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Nem lehet megnyitni a fájlt írásra:"
@@ -1422,9 +1636,9 @@ msgstr "Kért fájl formátum ismeretlen:"
msgid "Error while saving."
msgstr "Hiba történt mentés közben."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "'%s' nem nyitható meg."
+#: 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'."
@@ -1467,10 +1681,6 @@ msgstr ""
"öröklések) nem voltak megfelelőek."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Nem sikerült betölteni az erőforrást."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Nem lehet betölteni a MeshLibrary-t összeolvasztásra!"
@@ -1556,42 +1766,6 @@ msgstr ""
"megértse ezt a munkafolyamatot."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Összes tulajdonság kibontása"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Összes tulajdonság összecsukása"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Paraméterek Másolása"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Paraméterek Beillesztése"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Erőforrás Beillesztése"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Erőforrás Másolása"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Integrálás"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Tegye Az Al-Erőforrásokat Egyedivé"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Megnyitás Súgóban"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Nincs meghatározva Scene a futtatáshoz."
@@ -1790,11 +1964,6 @@ msgstr ""
"A(z) '%s' Scene automatikusan be lett importálva, ezért nem módosítható.\n"
"Változtatások végzéséhez egy új öröklött Scene-t hozhat létre."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Hoppá"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1826,6 +1995,16 @@ msgid "Default"
msgstr "Alapértelmezett"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Scene futtatás"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "A Többi Lap Bezárása"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Scene fül váltás"
@@ -1947,10 +2126,6 @@ msgstr "Projekt"
msgid "Project Settings"
msgstr "Projekt Beállítások"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Szkript Futtatása"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportálás"
@@ -1960,6 +2135,11 @@ msgid "Tools"
msgstr "Eszközök"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Megnyitja a Projektkezelőt?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Kilépés a Projektlistába"
@@ -2071,6 +2251,20 @@ msgstr "Szerkesztő Elrendezés"
msgid "Toggle Fullscreen"
msgstr "Teljes Képernyő"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Szerkesztő Beállítások"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Szerkesztő Beállítások"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Export Sablonok Kezelése"
@@ -2086,7 +2280,8 @@ msgstr "Osztályok"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Keresés"
@@ -2130,7 +2325,7 @@ msgstr "Scene szüneteltetés"
msgid "Stop the scene."
msgstr "Leállítja a jelenetet."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Leállítás"
@@ -2151,6 +2346,16 @@ msgid "Play Custom Scene"
msgstr "Tetszőleges Scene futtatás"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Mentés és Kilépés"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Fordul egyet, amikor a szerkesztőablak újrarajzolódik!"
@@ -2170,42 +2375,6 @@ msgstr "Frissítési Forgó Kikapcsolása"
msgid "Inspector"
msgstr "Megfigyelő"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Új erőforrás létrehozása a memóriában, majd annak szerkesztése."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Meglévő erőforrás betöltése a lemezről, majd annak szerkesztése."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "A jelenleg szerkesztett erőforrás elmentése."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Mentés Másként..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Ugrás az előzőleg módosított objektumra a történelemben."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Ugrás a következő módosított objektumra a történelemben."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "A nemrég módosított objektumok történelme."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Objektumtulajdonságok."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Néhány változtatás elveszhet!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2220,6 +2389,11 @@ msgid "FileSystem"
msgstr "Fájlrendszer"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Összes kibontása"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Kimenet"
@@ -2296,19 +2470,24 @@ msgid "Thumbnail..."
msgstr "Indexkép..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Sokszög Szerkesztése"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Telepített Bővítmények:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Frissítés"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Verzió:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Szerző:"
@@ -2316,13 +2495,16 @@ msgstr "Szerző:"
msgid "Status:"
msgstr "Ãllapot:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Profilozás Leállítása"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Szerkesztés"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Profilozás Indítása"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2368,6 +2550,103 @@ msgstr "Idő"
msgid "Calls"
msgstr "Hívások"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Beillesztés"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Megnyitás Szerkesztőben"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Új név:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Új név:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Válasszon készüléket a listából"
@@ -2404,10 +2683,6 @@ msgstr "Nem sikerült a szkript futtatása:"
msgid "Did you forget the '_run' method?"
msgstr "Nem felejtette el a '_run' metódust?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Alapértelmezett (Ugyanaz, Mint a Szerkesztőnek)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Válassza ki az importálandó Node-okat"
@@ -2433,6 +2708,7 @@ msgid "(Installed)"
msgstr "(Telepítve)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Letöltés"
@@ -2457,7 +2733,8 @@ msgid "Can't open export templates zip."
msgstr "Nem nyitható meg az export sablon zip."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Érvénytelen version.txt formátum a sablonokban."
#: editor/export_template_manager.cpp
@@ -2519,6 +2796,12 @@ msgid "Download Complete."
msgstr "A Letöltés Befejeződött."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Hiba történt az url lekérdezésekor: "
@@ -2597,7 +2880,8 @@ msgid "Download Templates"
msgstr "Sablonok Letöltése"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Válasszon tükröt a listából: "
#: editor/file_type_cache.cpp
@@ -2611,11 +2895,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "Nem lehet '%s'-t elérni, mivel nem létezik a fájlrendszerben!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Elemek kirajzolása indexképek rácsába"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Elemek listázása"
#: editor/filesystem_dock.cpp
@@ -2688,7 +2974,7 @@ msgstr "Összes kibontása"
msgid "Collapse all"
msgstr "Összes összecsukása"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Ãtnevezés..."
@@ -2717,6 +3003,23 @@ msgid "Duplicate..."
msgstr "Megkettőzés..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Szkript gyors megnyitás..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Erőforrás Mentése Másként..."
+
+#: 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 "Ãtnevezés"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Előző Könyvtár"
@@ -2729,14 +3032,28 @@ msgid "Re-Scan Filesystem"
msgstr "Fájlrendszer Újra-vizsgálata"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Mappa Kedvencnek jelölése / Kedvenc jelölés visszavonása"
#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Kiválasztott Scene(k) példányosítása a kiválasztott Node gyermekeként."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Osztályok Keresése"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2744,14 +3061,112 @@ msgstr ""
"Fájlok Vizsgálata,\n"
"Kérem Várjon..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Ãthelyezés"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Ãtnevezés"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Egy fájl vagy mappa már létezik a megadott névvel."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Szkript Létrehozása"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d további fájl"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Keres"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Teljes Szavak"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Pontos Egyezés"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Szűrők..."
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Keresés..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Csere..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Mégse"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Lecserélés"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Mind Lecserélése"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Mentés..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Keresés a Szövegben"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "HIBA: Animáció név már létezik!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Érvénytelen név."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Csoportok"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Hozzáadás Csoporthoz"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Hozzáadás Csoporthoz"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2761,6 +3176,11 @@ msgstr "Hozzáadás Csoporthoz"
msgid "Remove from Group"
msgstr "Eltávolítás Csoportból"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Csoportok"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importálás Egyetlen Jelenetként"
@@ -2802,7 +3222,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importálás Több Jelentként és Anyagokként"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Scene importálás"
@@ -2863,18 +3283,129 @@ msgstr "Beépített Beállítások..."
msgid "Reimport"
msgstr "Újraimportálás"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Nem sikerült betölteni az erőforrást."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Rendben"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Összes tulajdonság kibontása"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Összes tulajdonság összecsukása"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Mentés Másként..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Paraméterek Másolása"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Paraméterek Beillesztése"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Az erőforrás vágólap üres!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Erőforrás Másolása"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Integrálás"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Tegye Az Al-Erőforrásokat Egyedivé"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Megnyitás Súgóban"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Új erőforrás létrehozása a memóriában, majd annak szerkesztése."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Meglévő erőforrás betöltése a lemezről, majd annak szerkesztése."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Ugrás az előzőleg módosított objektumra a történelemben."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Ugrás a következő módosított objektumra a történelemben."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "A nemrég módosított objektumok történelme."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Objektumtulajdonságok."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Objektumtulajdonságok."
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Néhány változtatás elveszhet!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "MultiNode Beállítás"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Csoportok"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Válasszon ki egy Node-ot a Jelzések és Csoportok módosításához."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Sokszög Szerkesztése"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Sokszög Létrehozása"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Bővítmények"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2920,6 +3451,147 @@ msgstr ""
msgid "Delete points"
msgstr "Pontok Törlése"
+#: 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 "Animáció Hozzáadása"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Betöltés"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Pontok Törlése"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Jobb Egérgomb: Pont Törlése."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Pont Mozgatása"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animáció Node"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "HIBA: Animáció név már létezik!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Illesztés"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Szűrők Szerkesztése"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Szűrők Szerkesztése"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Automatikus Lejátszás Váltása"
@@ -2946,11 +3618,13 @@ msgid "Remove Animation"
msgstr "Animáció Eltávolítása"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "HIBA: Érvénytelen animáció név!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "HIBA: Animáció név már létezik!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2959,11 +3633,6 @@ msgid "Rename Animation"
msgstr "Animáció Ãtnevezése"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Animáció Hozzáadása"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Következő Megváltozott Keverése"
@@ -2980,11 +3649,13 @@ msgid "Duplicate Animation"
msgstr "Animáció Megkettőzése"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "HIBA: Nincs másolható animáció!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "HIBA: Nincs animációs erőforrás a vágólapon!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2996,7 +3667,8 @@ msgid "Paste Animation"
msgstr "Animáció Beillesztése"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "HIBA: Nincs animáció szerkesztésre!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3029,20 +3701,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Animáció lejátszás skálázása globálisan a Node-nak."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Új animáció létrehozása a lejátszóban."
+msgid "Animation Tools"
+msgstr "Animációs Eszközök"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animáció"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Animáció betöltése a lemezről."
+msgid "New"
+msgstr "Új"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Animáció betöltése a lemezről."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Ãtmenetek"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Jelenlegi animáció elmentése"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Megnyitás Szerkesztőben"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3053,18 +3732,6 @@ msgid "Autoplay on Load"
msgstr "Lejátszás Betöltéskor"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Cél Keverési Idők Módosítása"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Animációs Eszközök"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Animáció Másolása"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Másolópapír Animáció (Onion Skinning)"
@@ -3113,6 +3780,11 @@ msgid "Include Gizmos (3D)"
msgstr "Kihatás Gizmókra Is (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Animáció Beillesztése"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Új Animáció Létrehozása"
@@ -3122,6 +3794,7 @@ msgstr "Animáció Neve:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3139,161 +3812,213 @@ msgstr "Következő (Auto Sor):"
msgid "Cross-Animation Blend Times"
msgstr "Animációk Közötti Keverési Idők"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animáció"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Nincs az erőforrás elérési útban."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Új %s Létrehozása"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Csatlakoztatás Node-hoz:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Kiválasztott nyomvonal eltávolítása."
+
+#: 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 "Ãtmenet"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimációFa"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Új név:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Szűrők Szerkesztése"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Skála:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Előtűnés (mp):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Elhalványulás (mp):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Keverés"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mixelés"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Automatikus Újraindítás:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Újraindítás (mp):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Véletlenszerű Újraindítás (mp):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Start!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Mennyiség:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Keverés:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Keverés 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Keverés 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Ãttűnési IdÅ‘ (mp):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Jelenlegi:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Bemenet Hozzáadása"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Automatikus Léptetés Tisztítása"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Automatikus Léptetés Beállítása"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Bemenet Törlése"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Az animációs fa érvényes."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Az animációs fa érvénytelen."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animáció Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Egyszeri Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Mixelő Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Keverés2 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Keverés3 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Keverés4 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Időskála Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "IdőKereső Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Ãtmenet Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Animációk Importálása..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Node szűrők szerkesztés"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Szűrők..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimációFa"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Ingyenes"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Tartalom:"
@@ -3349,8 +4074,14 @@ msgid "Asset Download Error:"
msgstr "Eszköz Letöltési Hiba:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Lekérés:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Letöltés"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Letöltés"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3377,20 +4108,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Ennek az eszköznek a letöltése már folyamatban van!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "első"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "előző"
+#, fuzzy
+msgid "Previous"
+msgstr "Előző fül"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "következő"
+msgid "Next"
+msgstr "Következő"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "utolsó"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3466,7 +4199,7 @@ msgid "Bake Lightmaps"
msgstr "Fény Besütése"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Előnézet"
@@ -3475,12 +4208,10 @@ msgid "Configure Snap"
msgstr "Illesztés Beállítása"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Rács Eltolás:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Rács Léptetés:"
@@ -3493,14 +4224,6 @@ msgid "Rotation Step:"
msgstr "Forgatási Léptetés:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Forgatási Pont Mozgatása"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Mozgási Művelet"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Függőleges vezetővonal mozgatása"
@@ -3529,11 +4252,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Új vízszintes és függőleges vezetővonalak létrehozása"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "IK Lánc Szerkesztése"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Forgatási Pont Mozgatása"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "CanvasItem Szerkesztése"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Mozgási Művelet"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "CanvasItem Szerkesztése"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "CanvasItem Szerkesztése"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3553,6 +4293,21 @@ msgid "Paste Pose"
msgstr "Póz Beillesztése"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Kicsinyítés"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Kicsinyítés"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Nagyítás"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Kiválasztó Mód"
@@ -3600,7 +4355,8 @@ msgid "Pan Mode"
msgstr "Pásztázás Mód"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Illesztés be- és kikapcsolása"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3608,7 +4364,8 @@ msgid "Use Snap"
msgstr "Illesztés Használata"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Illesztési beállítások"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3649,6 +4406,11 @@ msgid "Snap to node sides"
msgstr "Illesztés Node oldalakhoz"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Illesztés Node horgonyhoz"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Illesztés más Node-okhoz"
@@ -3675,14 +4437,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Újra kiválaszthatóvá teszi az objektum gyermekeit."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Csontok Létrehozása"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Csontok Törlése"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Csontok Mutatása"
@@ -3695,6 +4449,15 @@ msgid "Clear IK Chain"
msgstr "IK Lánc Törlése"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Csontok Törlése"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Nézet"
@@ -3737,14 +4500,11 @@ msgid "Layout"
msgstr "Elrendezés"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Kulcsok Beszúrása"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Kulcs Beszúrása"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Kulcs Beszúrása (Meglévő Nyomvonalakra)"
@@ -3757,14 +4517,6 @@ msgid "Clear Pose"
msgstr "Póz Törlése"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Forgatási pont húzása az egér helyétől"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Forgatási pont beállítása az egér helyére"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Rács Léptetés Mértékének Kétszerezése"
@@ -3780,10 +4532,6 @@ msgstr "%s Hozzáadása"
msgid "Adding %s..."
msgstr "%s Hozzáadása..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Rendben"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Nem lehet több Node-ot példányosítani gyökér nélkül."
@@ -3818,27 +4566,20 @@ msgstr "Poly3D Létrehozása"
msgid "Set Handle"
msgstr "Fogantyú Beállítása"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "%d elem eltávolítása?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Elem Hozzáadása"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Kijelölt Elem Eltávolítása"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Részecskék"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importálás Jelenetből"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Kibocsátási Pontok Létrehozása A Mesh Alapján"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Frissítés Jelenetből"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Kibocsátási pontok létrehozása a Node alapján"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3908,15 +4649,6 @@ msgstr "Tartsa lenyomva a Shift gombot az érintők egyenkénti szerkesztéséhe
msgid "Bake GI Probe"
msgstr "GI Szonda Besütése"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Szín Gradiens Pont Hozzáadása / Eltávolítása"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Szín Gradiens Módosítása"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "%d elem"
@@ -4002,6 +4734,7 @@ msgid "No mesh to debug."
msgstr "Nincs mesh a hibakereséshez."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "A modellnek nincs UV-je ezen a rétegen"
@@ -4070,6 +4803,27 @@ msgstr "Körvonalháló Készítése"
msgid "Outline Size:"
msgstr "Körvonal Mérete:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "%d elem eltávolítása?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Elem Hozzáadása"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Kijelölt Elem Eltávolítása"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importálás Jelenetből"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Frissítés Jelenetből"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4171,70 +4925,6 @@ msgstr "Véletlenszerű Skálázás:"
msgid "Populate"
msgstr "Kitöltés"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Besütés!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "A navigációs mesh besütése."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Navigációs háló törlése."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Konfiguráció beállítása…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Rácsméret kiszámítása…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Magasságmező létrehozása…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Járható háromszögek megjelölése…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Kompakt magasságmező kiépítése…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Járható terület lepusztítása…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Particionálás…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Kontúrok létrehozása…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Polymesh létrehozása…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Ãtkonvertálás natív navigációs hálóra…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Navigációs Háló Generátor Beállítás:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Geometria Elemzése…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Kész!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Navigációs Sokszög Létrehozása"
@@ -4295,18 +4985,6 @@ msgid "Emission Colors"
msgstr "Kibocsátási Színek"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "A Node nem tartalmaz geometriát."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "A Node nem tartalmaz geometriát (oldalakat)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Egy 'ParticlesMaterial' típusú feldolgozó anyag szükséges."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Az oldalak nem tartalmaznak területet!"
@@ -4315,16 +4993,12 @@ msgid "No faces!"
msgstr "Nincsenek oldalak!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "AABB Generálása"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Kibocsátási Pontok Létrehozása A Mesh Alapján"
+msgid "Node does not contain geometry."
+msgstr "A Node nem tartalmaz geometriát."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Kibocsátási pontok létrehozása a Node alapján"
+msgid "Node does not contain geometry (faces)."
+msgstr "A Node nem tartalmaz geometriát (oldalakat)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4351,6 +5025,19 @@ msgid "Emission Source: "
msgstr "Kibocsátási Forrás: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Egy 'ParticlesMaterial' típusú feldolgozó anyag szükséges."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "AABB Generálása"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Konvertálás Nagybetűsre"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Láthatósági AABB Generálása"
@@ -4427,6 +5114,22 @@ msgstr "Pont Törlése"
msgid "Close Curve"
msgstr "Görbe Lezárása"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "Görbe Pont #"
@@ -4459,19 +5162,95 @@ msgstr "Ki-Vezérlő Pont Eltávolítása"
msgid "Remove In-Control Point"
msgstr "Be-Vezérlő Pont Eltávolítása"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Pont Mozgatása"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Csontok Mutatása"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "UV Térkép Létrehozása"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Sokszög Létrehozása"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Már létezik '%s' AutoLoad!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Pont hozzáadása"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Érvénytelen Elérési Út."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Pont eltávolítása"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "UV Térkép Transzformálása"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "2D UV Sokszög Szerkesztő"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Sokszög Szerkesztése"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Útvonal Felosztása"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Csontok Létrehozása"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Sokszög Létrehozása"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Pont Mozgatása"
@@ -4500,12 +5279,24 @@ msgid "Scale Polygon"
msgstr "Sokszög Skálázása"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Szerkesztés"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4520,9 +5311,9 @@ msgid "Clear UV"
msgstr "UV Törlése"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Illesztés"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Szerkesztő Beállítások"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4532,6 +5323,36 @@ msgstr "Illesztés Engedélyezése"
msgid "Grid"
msgstr "Rács"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Illesztés Beállítása"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Rács Eltolás:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Rács Eltolás:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Rács Léptetés:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Rács Léptetés:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Sokszög Skálázása"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "HIBA: Nem sikerült betölteni az erőforrást!"
@@ -4554,6 +5375,10 @@ msgid "Resource clipboard is empty!"
msgstr "Az erőforrás vágólap üres!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Erőforrás Beillesztése"
+
+#: 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"
@@ -4575,16 +5400,18 @@ msgid "Load Resource"
msgstr "Erőforrás Betöltése"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Beillesztés"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "ForrásElőtöltö"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Az animációs fa érvénytelen."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Legutóbbi Fájlok Törlése"
@@ -4594,6 +5421,21 @@ msgid "Close and save changes?"
msgstr "Bezárja és menti a változásokat?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Hiba TileSet mentésekor!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Nem sikerült létrehozni a mappát."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Hiba TileSet mentésekor!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "HIba történt a téma mentésekor"
@@ -4610,6 +5452,21 @@ msgid "Error importing"
msgstr "Hiba importáláskor"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Új Mappa..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Fálj Megnyitása"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Mentés Másként..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Téma Importálása"
@@ -4622,6 +5479,10 @@ msgid " Class Reference"
msgstr " Osztály Referencia"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Rendezés"
@@ -4650,8 +5511,9 @@ msgid "File"
msgstr "Fájl"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Új"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Fájlok Megtekintése"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4678,6 +5540,11 @@ msgid "History Next"
msgstr "Következő Előzmény"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Téma Újratöltése"
@@ -4711,11 +5578,6 @@ msgstr "Szkript Panel Megjelenítése"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Keresés..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Következő Keresése"
@@ -4769,10 +5631,6 @@ msgid "Discard"
msgstr "Elvetés"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Szkript Létrehozása"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4793,6 +5651,16 @@ msgid "Debugger"
msgstr "Hibakereső"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Keresés Súgóban"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Osztályok Keresése"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4800,40 +5668,56 @@ msgstr ""
"tartoznak éppen be van töltve"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Sor:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Csak a fájlrendszerből eredő erőforrásokat lehet bedobni."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Szimbólum Befejezése"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Szín Választása"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Kis- és Nagybetűk Konvertálása"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Mind Nagybetű"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Mind Kisbetű"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Szó Eleji Nagybetű"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Kivágás"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Másolás"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4921,8 +5805,9 @@ msgid "Find Previous"
msgstr "Előző Keresése"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Csere..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Fájlok Szűrése..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4940,129 +5825,41 @@ msgstr "Kontextusérzékeny Súgó"
msgid "Shader"
msgstr "Ãrnyaló"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Skaláris állandó változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Vec állandó változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "RGB állandó változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Skaláris kezelő változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Vec kezelő változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Vektor skalár kezelő változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "RGB kezelő változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Csak vörös kapcsolása"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Skalár-függvény változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Vektor-függvény változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Egységes-skalár változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Egységes-vektor változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Egységes-RGB változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Alapérték változtatás"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Egyke"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Navigációs Háló Létrehozása"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Egyke"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Játék"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5189,10 +5986,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5201,6 +5994,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5245,6 +6042,11 @@ msgid "Doppler Enable"
msgstr "Doppler engedélyezése"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Háló Előnézetek Létrehozása"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5372,6 +6174,11 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Rácshoz illesztés"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5380,6 +6187,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5408,6 +6219,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5421,10 +6236,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5484,6 +6295,51 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "A háló üres!"
+
+#: 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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Konvertálás Nagybetűsre"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Körvonalháló Készítése"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Előnézet"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Szerkesztő Beállítások"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5552,14 +6408,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5585,26 +6433,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5620,11 +6461,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5696,10 +6532,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5724,7 +6556,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5737,14 +6569,19 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Ãllandó"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Érvénytelen név."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5765,12 +6602,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Következő Keresése"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5793,6 +6627,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Kiválasztás eltávolítás"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5809,64 +6648,109 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Jelenlegi tétel eltávolítása"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Mégse"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Ezt a műveletet nem lehet végrehajtani egy Scene nélkül."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Ãrnyaló"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5881,7 +6765,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5955,10 +6839,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5967,7 +6847,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5975,6 +6855,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6061,6 +6949,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6169,8 +7061,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6182,9 +7074,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Animáció Nevének Megváltoztatása:"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6226,19 +7131,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6266,10 +7171,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6314,6 +7215,12 @@ 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 "Already existing"
msgstr ""
@@ -6385,6 +7292,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6394,6 +7305,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Mozgási Művelet"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6454,10 +7374,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6494,75 +7410,165 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Ãtnevezés"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Illesztési beállítások"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Node neve:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Node neve:"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Még nem mentette az aktuális jelenetet. Megnyitja mindenképp?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Ãtnevezés"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "Lépés (mp):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Mind Kisbetű"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Mind Nagybetű"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Nagyítás Visszaállítása"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6601,11 +7607,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6625,6 +7626,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6665,14 +7670,35 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr ""
+#, fuzzy
+msgid "Make Local"
+msgstr "Csontok Létrehozása"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Node létrehozás"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Jelenet"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Jelenet"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Node-ok Másolása"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6681,6 +7707,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6723,18 +7753,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Scene mentés"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6757,10 +7784,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6780,17 +7803,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Rejtett Fájlok Megjelenítése"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6798,7 +7814,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6814,20 +7830,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "Szkript Futtatása"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6835,6 +7852,12 @@ 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 ""
@@ -6871,6 +7894,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Szkript Szerkesztő Megnyitása"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7107,10 +8135,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7123,19 +8163,34 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Keverési Idő Módosítása"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Keverési Idő Módosítása"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Horgonyok és Margók Módosítása"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7191,17 +8246,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"Érvénytelen típus argumentum a convert()-hez használjon TYPE_* konstansokat."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-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."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7266,6 +8310,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Minden kiválasztás"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7346,6 +8395,11 @@ msgid "Clear Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Minden kiválasztás"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7414,6 +8468,70 @@ msgstr "Fájlok Megtekintése"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Besütés!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "A navigációs mesh besütése."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Navigációs háló törlése."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Konfiguráció beállítása…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Rácsméret kiszámítása…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Magasságmező létrehozása…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Járható háromszögek megjelölése…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Kompakt magasságmező kiépítése…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Járható terület lepusztítása…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Particionálás…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Kontúrok létrehozása…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Polymesh létrehozása…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Ãtkonvertálás natív navigációs hálóra…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Navigációs Háló Generátor Beállítás:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Geometria Elemzése…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Kész!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7471,10 +8589,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7583,36 +8697,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Csatlakoztatás Node-hoz:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Csatlakoztatás Node-hoz:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7639,15 +8731,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7655,10 +8743,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7702,6 +8786,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Tagok"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7756,6 +8845,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Keresés Súgóban"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7802,8 +8904,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7884,6 +8986,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7944,8 +9059,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8018,6 +9133,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8030,6 +9156,49 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animációs Eszközök"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "HIBA: Érvénytelen animáció név!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "'%s' Lecsatlakoztatása '%s'-ról"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Válasszon egy AnimationPlayer-t a Jelenetfából, hogy animációkat "
+"szerkeszthessen."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Az animációs fa érvénytelen."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8102,12 +9271,229 @@ msgstr "Hiba a betűtípus betöltésekor."
msgid "Invalid font size."
msgstr "Érvénytelen betűtípus méret."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Előző fül"
+msgid "Input"
+msgstr "Bemenet Hozzáadása"
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Érvénytelen betűtípus méret."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Skaláris állandó változtatás"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Vec állandó változtatás"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "RGB állandó változtatás"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Skaláris kezelő változtatás"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Vec kezelő változtatás"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Vektor skalár kezelő változtatás"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "RGB kezelő változtatás"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Csak vörös kapcsolása"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Skalár-függvény változtatás"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Vektor-függvény változtatás"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Egységes-skalár változtatás"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Egységes-vektor változtatás"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Egységes-RGB változtatás"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Alapérték változtatás"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Szín Gradiens Módosítása"
+
+#~ msgid "Disabled"
+#~ msgstr "Tiltva"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Animáció nyomvonal felfelé mozgatás"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Animáció nyomvonal lefelé mozgatás"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Ãtmenet beállítása erre:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Animáció nyomvonal átnevezés"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Animáció nyomvonal interpoláció változtatás"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Animáció nyomvonal érték mód változtatás"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Animáció nyomvonal takarási mód változtatás"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Node görbe szerkesztés"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Kiválasztás görbe szerkesztés"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Animáció kulcs hozzáadás"
+
+#~ msgid "In"
+#~ msgstr "Be"
+
+#~ msgid "Out"
+#~ msgstr "Ki"
+
+#~ msgid "In-Out"
+#~ msgstr "Be-Ki"
+
+#~ msgid "Out-In"
+#~ msgstr "Ki-Be"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Animáció hossz változtatás"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Animáció hurok változtatás"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Animáció típusos érték kulcs létrehozás"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Animációhoz hívási nyomvonal hozzáadása"
+
+#~ msgid "Length (s):"
+#~ msgstr "Hossz (mp):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Kurzor hozzáillesztése a lépésekhez (másodpercben)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Az animáció ismétlésének engedélyezése/tiltása."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Új nyomvonalak hozzáadása."
+
+#~ msgid "Move current track up."
+#~ msgstr "Jelenlegi nyomvonal felfelé mozgatása."
+
+#~ msgid "Move current track down."
+#~ msgstr "Jelenlegi nyomvonal lefelé mozgatása."
+
+#~ msgid "Track tools"
+#~ msgstr "Nyomvonal eszközök"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Engedélyezi az egyes kulcsok szerkesztését rákattintással."
+
+#~ msgid "Key"
+#~ msgstr "Kulcs"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Melyik Node-ban hívjon funkciókat?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Kösz!"
+
+#~ msgid "I see..."
+#~ msgstr "Értem..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "'%s' nem nyitható meg."
+
+#~ msgid "Ugh"
+#~ msgstr "Hoppá"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "A jelenleg szerkesztett erőforrás elmentése."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Profilozás Leállítása"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Profilozás Indítása"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Alapértelmezett (Ugyanaz, Mint a Szerkesztőnek)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Új animáció létrehozása a lejátszóban."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Animáció betöltése a lemezről."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Animáció betöltése a lemezről."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Jelenlegi animáció elmentése"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Cél Keverési Idők Módosítása"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Animáció Másolása"
+
+#~ msgid "Fetching:"
+#~ msgstr "Lekérés:"
+
+#~ msgid "prev"
+#~ msgstr "előző"
+
+#~ msgid "next"
+#~ msgstr "következő"
+
+#~ msgid "last"
+#~ msgstr "utolsó"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "IK Lánc Szerkesztése"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Forgatási pont húzása az egér helyétől"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Forgatási pont beállítása az egér helyére"
-#~ msgid "Next"
-#~ msgstr "Következő"
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Szín Gradiens Pont Hozzáadása / Eltávolítása"
#~ msgid ""
#~ "Invalid version.txt format inside templates. Revision is not a valid "
diff --git a/editor/translations/id.po b/editor/translations/id.po
index a0356b8178..d8ffaf2e05 100644
--- a/editor/translations/id.po
+++ b/editor/translations/id.po
@@ -28,332 +28,483 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Dinonaktifkan"
+#: 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 ""
+"Tipe argument salah dalam menggunakan convert(), gunakan konstanta TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Semua pilihan"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Tidak cukup bytes untuk menerjemahkan, atau format tidak sah."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Nama properti index '%s' tidak sah dalam node %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Nama properti index '%s' tidak sah dalam node %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argumen tidak sah dari tipe: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Kesalahan!"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Sisipkan Key Anim"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplikat Pilihan"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Hapus yang Dipilih"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Tombol Duplikat Anim"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Hapus Kunci Anim"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Ubah Waktu Keyframe Animasi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Ubah Transisi Animasi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Ubah Transformasi Animasi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Ubah Nilai Keyframe Animasi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Ubah Panggilan Anim"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Tambah Trek Anim"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Tombol Duplikat Anim"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Pindah Trek Anim ke Atas"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Pindahkan Trek Anim ke Bawah"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Hapus Trek Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Hentikan playback animasi. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Tambah Trek Anim"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Atur transisi ke:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Panjang animasi (dalam detik)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Namai Kembali Trek Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom animasi."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Ubah Interpolasi Trek Anim"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Fungsi-fungsi:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Ganti Mode Nilai Track Anim"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Ubah Trek Anim ke Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Sunting Kurva Node"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Mode Tanpa Gangguan"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Edit Kurva Pilihan"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Hapus Kunci Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Mode Tanpa Gangguan"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplikat Pilihan"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplikat Dialihkan"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Hapus track yang dipilih."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Hapus Pilihan"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Waktu:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Lanjut"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Berlainan"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Pemicu"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Tambah Kunci Anim"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Pindahkan Kunci Anim"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Seleksi Skala"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skala dari Kursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Lanjut ke Langkah Berikutnya"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Lanjut ke Langkah Sebelumnya"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linier"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstan"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Masuk"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Keluar"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Masuk-Keluar"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Keluar-Masuk"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transisi"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Tombol Duplikat Anim"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimalkan Animasi"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Hapus Kunci Anim"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Bersihkan Animasi"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Hapus Trek Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Buat track BARU untuk %s dan masukkan tombol?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Buat track BARU %d dan masukkan tombol-tombol?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Buat"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Sisipkan Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Buat & Sisipkan Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Sisipkan Trek & Kunci"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Sisipkan Key Anim"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Ubah Panjang Animasi"
+#: 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_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Ubah Perulangan Animasi"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Buat Nilai Kunci Animasi Tertulis"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Sisipkan Anim"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet tidak ditemukan dalam script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Pindahkan Kunci Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Skala Kunci Anim"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Tambah Pemanggilan Track Anim"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom animasi."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Panjang:"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Panjang animasi (dalam detik)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Langkah:"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Langkah kursor sekejap (dalam detik)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Nama Animasi:"
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Sunting"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Aktifkan/Nonaktifkan pengulangan dalam animasi."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "PohonAnimasi"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Tambah tracks baru."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Salin Parameter"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Pindahkan track sekarang ke atas."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Tempel Parameter"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Pindahkan track sekarang ke bawah."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Seleksi Skala"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Hapus track yang dipilih."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skala dari Kursor"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Alat track"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplikat Pilihan"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Aktifkan penyuntingan tombol-tombol individual dengan mengkliknya."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplikat Dialihkan"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Hapus yang Dipilih"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Lanjut ke Langkah Berikutnya"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Lanjut ke Langkah Sebelumnya"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimalkan Animasi"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Bersihkan Animasi"
+
+#: 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 "Anim. Optimizer"
msgstr "Anim. Optimisasi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Maks. Linier Error:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Maks. Angular Error:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Maksimal Angle yang dapat Dioptimalkan:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimasi"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Pilih sebuah AnimationPlayer dari Scene Tree untuk menyunting animasi."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Tombol"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transisi"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Skala Rasio:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Memanggil Fungsi-Fungsi dalam Node yang Mana?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Hapus Tombol-tombol yang tidak sah"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Hapus tracks yang kosong dan belum diselesaikan"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Bersihkan semua animasi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Bersihkan Animasi (Tidak Dapat Dikembalikan!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Bersihkan"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Skala Rasio:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopy"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Ubah ukuran Array"
@@ -374,7 +525,7 @@ msgstr "Pergi ke Baris"
msgid "Line Number:"
msgstr "Nomor Baris:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Tidak ada yang cocok"
@@ -390,7 +541,7 @@ msgstr "Kasus Kecocokan"
msgid "Whole Words"
msgstr "Semua Kata"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Ganti"
@@ -402,18 +553,27 @@ msgstr "Ganti Semua"
msgid "Selection Only"
msgstr "Hanya yang Dipilih"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Perbesar Pandangan"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Perkecil Pandangan"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Kebalikan Semula Pandangan"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Perbesar Pandangan"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Baris:"
@@ -445,7 +605,8 @@ msgid "Add"
msgstr "Tambah"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -476,7 +637,7 @@ msgid "Oneshot"
msgstr "Satu Waktu"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -498,11 +659,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Sambungkan '%s' ke '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Menyambungkan Sinyal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Memutuskan '%s' dari '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Memutuskan '%s' dari '%s'"
#: editor/connections_dialog.cpp
@@ -510,14 +672,48 @@ msgid "Connect..."
msgstr "Menyambungkan..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Tidak tersambung"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Menyambungkan Sinyal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Gangguan Koneksi"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Apakah Anda yakin menjalankan lebih dari satu projek?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Sinyal-sinyal"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Tidak tersambung"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Sunting"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Fungsi"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Ubah Tipe %s"
@@ -540,22 +736,25 @@ msgstr "Favorit:"
msgid "Recent:"
msgstr "Saat ini:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cari:"
#: editor/create_dialog.cpp editor/editor_help.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 "Kecocokan:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Deskripsi:"
@@ -617,7 +816,9 @@ msgstr "Cari Resource Pengganti:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Buka"
@@ -640,7 +841,7 @@ msgstr ""
"bekerja.\n"
"Hapus saja? (tidak bisa dibatalkan/undo)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Tidak bisa menghapus:"
@@ -708,9 +909,13 @@ msgstr "Ubah Nilai Kamus"
msgid "Thanks from the Godot community!"
msgstr "Terimakasih dari komunitas Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Terimakasih!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Oke"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -887,6 +1092,7 @@ msgid "Bus options"
msgstr "Opsi Bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Gandakan"
@@ -956,7 +1162,8 @@ msgstr "Tambahkan Bus"
msgid "Create a new Bus Layout."
msgstr "Buat Layout Bus Baru."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Muat"
@@ -966,7 +1173,6 @@ msgid "Load an existing Bus Layout."
msgstr "Muat Layout Bus yang ada."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Simpan Sebagai"
@@ -1005,22 +1211,6 @@ msgstr ""
"Nama tidak sah. Tidak boleh serupa dengan nama konstanta global yang ada."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Path Tidak Sah."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "File tidak ada."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Tidak didalam path resource."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Tambahkan AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' telah ada!"
@@ -1048,6 +1238,22 @@ msgstr "Aktifkan"
msgid "Rearrange Autoloads"
msgstr "Mengatur kembali Autoload-autoload"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Path Tidak Sah."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "File tidak ada."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Tidak didalam path resource."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Tambahkan AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1078,7 +1284,7 @@ msgstr "Menyimpan perubahan-perubahan lokal..."
msgid "Updating scene..."
msgstr "Memperbaharui scene..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[kosong]"
@@ -1140,6 +1346,12 @@ msgid "Copy Path"
msgstr "Salin Lokasi"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Tampilkan di Manajer Berkas"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Tampilkan di Manajer Berkas"
@@ -1176,7 +1388,7 @@ msgid "Open a File or Directory"
msgstr "Buka sebuah File atau Direktori"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Simpan"
@@ -1229,7 +1441,8 @@ msgstr "Pergi ke direktori induk"
msgid "Directories & Files:"
msgstr "Direktori-direktori & File-file:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Pratinjau:"
@@ -1381,20 +1594,28 @@ msgstr ""
"Untuk saat ini tidak ada deskripsi metode ini. Tolong bantu kita dengan "
"[color=$color][url=$url]kontribusi[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Mencari Teks"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Properti Objek"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Cari"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Keluaran:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1416,11 +1637,6 @@ msgstr "Error menyimpan resource!"
msgid "Save Resource As..."
msgstr "Simpan Resource Sebagai..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Mengerti..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Tidak dapat membuka file untuk menulis:"
@@ -1433,9 +1649,9 @@ msgstr "Format file yang diminta tidak diketahui:"
msgid "Error while saving."
msgstr "Error saat menyimpan."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Tidak dapat membuka '%s'."
+#: 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'."
@@ -1478,10 +1694,6 @@ msgstr ""
"tidak terpenuhi."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Gagal memuat resource."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Tidak dapat memuat MeshLibrary untuk menggabungkan!"
@@ -1563,42 +1775,6 @@ msgstr ""
"ini."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Perluas semua properti"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Ciutkan semua properti"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Salin Parameter"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Tempel Parameter"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Tempel Resource"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Salin Resource"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Buat Menjadi Bawaan"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Membuat sub-Resource Unik"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Buka di Bantuan"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Tidak ada definisi scene untuk dijalankan."
@@ -1793,11 +1969,6 @@ msgstr ""
"Scene '%s' terimpor otomatis, jadi tidak dapat diubah.\n"
"Untuk melakukan perubahan, warisan baru scene dapat dibuat."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Duh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1828,6 +1999,16 @@ msgid "Default"
msgstr "Bawaan"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Mainkan Scene"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Tutup"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Pilih Tab Scene"
@@ -1950,10 +2131,6 @@ msgstr "Proyek"
msgid "Project Settings"
msgstr "Pengaturan Proyek"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Jalankan Script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Ekspor"
@@ -1963,6 +2140,11 @@ msgid "Tools"
msgstr "Alat"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Buka Project Manager?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Keluar ke daftar proyek"
@@ -2073,6 +2255,20 @@ msgstr "Tata Letak Editor"
msgid "Toggle Fullscreen"
msgstr "Mode Layar Penuh"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Pengaturan Editor"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Pengaturan Editor"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Mengatur Templat Ekspor"
@@ -2088,7 +2284,8 @@ msgstr "Kelas"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Cari"
@@ -2132,7 +2329,7 @@ msgstr "Hentikan Sementara Scene"
msgid "Stop the scene."
msgstr "Hentikan scene."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Hentikan"
@@ -2153,6 +2350,16 @@ msgid "Play Custom Scene"
msgstr "Mainkan Custom Scene"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Simpan & Keluar"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Putar ketika jendela editor cat ulang!"
@@ -2172,42 +2379,6 @@ msgstr "Nonaktifkan Perbaruan Spinner"
msgid "Inspector"
msgstr "Inspektur"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Buat sumber baru pada memori dan ubah."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Muat sumber tersedia dari disk dan ubah."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Simpan sumber yang sedang diatur."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Simpan Sebagai..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Ke objek sebelum diubah pada histori."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Ke object terdireksi berikutnya pada histori."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Histori dari objek terdireksi baru-baru saja."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Properti Objek."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Perubahan mungkin hilang!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2222,6 +2393,11 @@ msgid "FileSystem"
msgstr "Berkas Sistem"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Perluas semua"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Luaran"
@@ -2298,19 +2474,24 @@ msgid "Thumbnail..."
msgstr "Thumbnail..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Sunting Bidang"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Plugins Terpasang:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Perbarui"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versi:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Pembuat:"
@@ -2318,13 +2499,16 @@ msgstr "Pembuat:"
msgid "Status:"
msgstr "Status:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Hentikan Profiling"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Sunting"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Jalankan Profilling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Mulai!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2370,6 +2554,107 @@ msgstr "Waktu"
msgid "Calls"
msgstr "Panggil"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+#, fuzzy
+msgid "New Script"
+msgstr "Scene Baru"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Make Unique"
+msgstr "Membuat sub-Resource Unik"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Show in File System"
+msgstr "Tampilkan dalam Manajer Berkas"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Tempel"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "Sambungkan Ke Node:"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Buka dalam Penyunting"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Nama baru:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nama baru:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Pilih perangkat pada daftar"
@@ -2406,10 +2691,6 @@ msgstr "Tidak bisa menjalankan script:"
msgid "Did you forget the '_run' method?"
msgstr "Apakah anda lupa dengan fungsi '_run' ?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Baku (Samakan seperti Penyunting saat ini)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Pilih node untuk diimpor"
@@ -2435,6 +2716,7 @@ msgid "(Installed)"
msgstr "(terpasang)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Unduh"
@@ -2459,7 +2741,8 @@ msgid "Can't open export templates zip."
msgstr "Tidak dapat membuka ekspor template-template zip."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Format version.txt tidak valid dalam berkas templat."
#: editor/export_template_manager.cpp
@@ -2522,6 +2805,12 @@ msgid "Download Complete."
msgstr "Unduhan Selesai."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Kesalahan saat meminta url: "
@@ -2600,7 +2889,8 @@ msgid "Download Templates"
msgstr "Unduh Templat"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Pilih cermin dari daftar: "
#: editor/file_type_cache.cpp
@@ -2615,11 +2905,13 @@ msgstr ""
"'%s' tidak bisa ditelusuri karena tidak bisa ditemukan dalam berkas sistem!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Tampilkan item sebagai grid thumbnail"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Tampilkan item sebagai daftar"
#: editor/filesystem_dock.cpp
@@ -2692,7 +2984,7 @@ msgstr "Perluas semua"
msgid "Collapse all"
msgstr "Ciutkan semua"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Ubah Nama..."
@@ -2721,6 +3013,23 @@ msgid "Duplicate..."
msgstr "Gandakan..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Scene Baru"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Simpan Resource Sebagai..."
+
+#: 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 "Ubah Nama"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Direktori Sebelumnya"
@@ -2733,14 +3042,29 @@ msgid "Re-Scan Filesystem"
msgstr "Pindai Ulang Berkas Sistem"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Kondisikan status folder sebagai Favorit"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Simpan sumber yang sedang diatur."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instance scene terpilih sebagai anak node saat ini."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Cari Kelas"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2748,14 +3072,113 @@ msgstr ""
"Memindai Berkas,\n"
"Silakan Tunggu..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Pindahkan"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Ubah Nama"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Sudah ada nama berkas atau folder seperti itu."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d file lagi"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Cari"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Semua Kata"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Kasus Kecocokan"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filter:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Cari..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr ""
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Batal"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Ganti"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Ganti Semua"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Menyimpan..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Mencari Teks"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "KESALAHAN: Nama animasi sudah ada!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nama tidak sah."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grup"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Tambahkan ke Grup"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Filter nodes"
+msgstr "Filter:"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Tambahkan ke Grup"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2765,6 +3188,11 @@ msgstr "Tambahkan ke Grup"
msgid "Remove from Group"
msgstr "Hapus dari Grup"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grup"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Impor sebagai Scene Tunggal"
@@ -2806,7 +3234,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Impor Beberapa Scene+Material"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Impor Scene"
@@ -2866,18 +3294,130 @@ msgstr "Prasetel..."
msgid "Reimport"
msgstr "Impor ulang"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Gagal memuat resource."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Perluas semua properti"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Ciutkan semua properti"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Simpan Sebagai..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Salin Parameter"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Tempel Parameter"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "KESALAHAN: Tidak ada aset animasi di clipboard!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Salin Resource"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Buat Menjadi Bawaan"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Membuat sub-Resource Unik"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Buka di Bantuan"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Buat sumber baru pada memori dan ubah."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Muat sumber tersedia dari disk dan ubah."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Ke objek sebelum diubah pada histori."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Ke object terdireksi berikutnya pada histori."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Histori dari objek terdireksi baru-baru saja."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Properti Objek."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filter:"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Perubahan mungkin hilang!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Set MultiNode"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grup"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Pilih sebuah node untuk menyunting Sinyal dan Grup."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Sunting Bidang"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Buat Subskribsi"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Pengaya"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Language:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Nama Projek:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#, fuzzy
@@ -2928,6 +3468,148 @@ msgstr ""
msgid "Delete points"
msgstr "Hapus Titik"
+#: 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 "Tambah Animasi"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Muat"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Hapus Titik"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Beri Skala Seleksi"
+
+#: 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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nama Animasi Baru:"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "KESALAHAN: Nama animasi sudah ada!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filters"
+msgstr "Sunting Filter"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Tambahkan Node"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Sunting Filter"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Toggle Autoplay"
@@ -2955,11 +3637,13 @@ msgid "Remove Animation"
msgstr "Hapus Animasi"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "KESALAHAN: Nama animasi tidak valid!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "KESALAHAN: Nama animasi sudah ada!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2968,11 +3652,6 @@ msgid "Rename Animation"
msgstr "Ubah Nama Animasi"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Tambah Animasi"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2989,11 +3668,13 @@ msgid "Duplicate Animation"
msgstr "Gandakan Animasi"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "KESALAHAN: Tidak ada animasi untuk disalin!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "KESALAHAN: Tidak ada aset animasi di clipboard!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3008,7 +3689,7 @@ msgstr "Tempelkan Animasi"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr "KESALAHAN: Tidak ada animasi untuk disunting!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3043,23 +3724,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Skalakan playback animasi secara global untuk node ini."
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Create new animation in player."
-msgstr "Buat animasi baru dalam pemutar animasi."
+msgid "Animation Tools"
+msgstr "Perkakas Animasi"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Load animation from disk."
-msgstr "Memuat animasi dari diska."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animasi"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New"
+msgstr "Baru"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "Load an animation from disk."
-msgstr "Memuat animasi dari diska."
+msgid "Edit Transitions..."
+msgstr "Transisi"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Simpan animasi saat ini"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Buka dalam Penyunting"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3072,19 +3757,6 @@ msgstr "Putar Otomatis saat Dimuat"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "Edit Target Blend Times"
-msgstr "Sunting Target Waktu Blend"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Perkakas Animasi"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Salin Animasi"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning"
msgstr "Onion Skinning"
@@ -3135,6 +3807,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Tempelkan Animasi"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Buat Animasi Baru"
@@ -3144,6 +3821,7 @@ msgstr "Nama Animasi:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3161,163 +3839,214 @@ msgstr "Selanjutnya (Antrian Otomatis):"
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animasi"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
+msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
-msgstr "Nama baru:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
#, fuzzy
-msgid "Edit Filters"
-msgstr "Sunting Filter"
+msgid "No playback resource set at path: %s."
+msgstr "Tidak didalam path resource."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Buat Baru %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Sambungkan Ke Node:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Hapus track yang dipilih."
+
+#: 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 "Transisi"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "PohonAnimasi"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Mulai Ulang Otomatis:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Mulai Ulang:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Mulai!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Impor Animasi..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Edit Node Filters"
msgstr "Sunting Filter Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Penyaring..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "PohonAnimasi"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Contents:"
@@ -3376,8 +4105,14 @@ msgid "Asset Download Error:"
msgstr "Gagal Mengunduh Aset:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr ""
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Mengunduh"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Mengunduh"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3404,20 +4139,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Unduhan untuk aset ini sedang diproses!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "pertama"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "sebelumnya"
+#, fuzzy
+msgid "Previous"
+msgstr "Tab sebelumnya"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "selanjutnya"
+msgid "Next"
+msgstr "Berikutnya"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "terakhir"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3489,7 +4226,7 @@ msgid "Bake Lightmaps"
msgstr "Ganti Radius Lampu"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Pratinjau"
@@ -3498,12 +4235,10 @@ msgid "Configure Snap"
msgstr "Atur Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3516,14 +4251,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3557,12 +4284,26 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Edit IK Chain"
-msgstr "Sunting Rantai IK"
+msgid "Move pivot"
+msgstr "Hapus Sinyal"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Edit CanvasItem"
+msgid "Rotate CanvasItem"
+msgstr "Sunting CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Sunting CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Sunting CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3582,6 +4323,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Perkecil Pandangan"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Perkecil Pandangan"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Perbesar Pandangan"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3626,7 +4382,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr "Beralih Breakpoint"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3634,7 +4390,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3675,6 +4431,10 @@ 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 ""
@@ -3701,24 +4461,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Mainkan Custom Scene"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3764,12 +4525,9 @@ msgid "Layout"
msgstr "Simpan Penampilan"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "Sisipkan Key Anim"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3784,15 +4542,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "Hapus Sinyal"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3808,10 +4557,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3845,26 +4590,19 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partikel"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3941,15 +4679,6 @@ msgstr "Tahan Shift untuk menyunting tangen kurva satu-persatu"
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -4035,6 +4764,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4104,6 +4834,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4204,71 +4955,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Marking walkable triangles..."
-msgstr "Menyimpan perubahan-perubahan lokal..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4329,18 +5015,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4349,15 +5023,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4385,6 +5055,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Sambungkan Ke Node:"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4461,6 +5144,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4497,20 +5196,93 @@ msgstr "Hapus Autoload"
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Hapus Sinyal"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Buat Bidang"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Autoload '%s' telah ada!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Tambahkan Sinyal"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Path Tidak Sah."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Hapus Sinyal"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
#, fuzzy
msgid "Polygon 2D UV Editor"
msgstr "Penyunting UV Poligon 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Sunting Bidang"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Buat Bidang"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4539,12 +5311,25 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Sunting"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Pilih Berkas untuk Dipindai"
+
+#: 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 "Polygon->UV"
@@ -4559,9 +5344,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Pengaturan Editor"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4571,6 +5356,31 @@ msgstr ""
msgid "Grid"
msgstr ""
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Atur Snap"
+
+#: 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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4593,6 +5403,10 @@ msgid "Resource clipboard is empty!"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Tempel Resource"
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
#, fuzzy
msgid "Open in Editor"
@@ -4615,17 +5429,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Tempel"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
msgstr "Resource"
+#: 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 ""
@@ -4636,6 +5451,21 @@ msgid "Close and save changes?"
msgstr "Tutup scene? (Perubahan-perubahan yang belum disimpan akan hilang)"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Error menyimpan TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Tidak dapat membuat folder."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Error menyimpan TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4652,6 +5482,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Buat Direktori..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Buka sebuah File"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Simpan Sebagai..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4664,6 +5509,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "Sortir:"
@@ -4693,8 +5542,9 @@ msgid "File"
msgstr "Berkas"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Baru"
+#, fuzzy
+msgid "New TextFile"
+msgstr "File:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4723,6 +5573,12 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme"
+msgstr "Simpan Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Muat Ulang Tema"
@@ -4757,11 +5613,6 @@ msgstr "Beralih Favorit"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Cari..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Pencarian Selanjutnya"
@@ -4818,10 +5669,6 @@ msgid "Discard"
msgstr "Berlainan"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4840,45 +5687,70 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Mencari Bantuan"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Cari Kelas"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr "Skrip built-in hanya bisa disunting ketika scene induknya dimuat"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Baris:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Potong"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopy"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4969,8 +5841,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "Saring berkas..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4988,129 +5861,41 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Buat Subskribsi"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Mainkan"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5240,10 +6025,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5252,6 +6033,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5299,6 +6084,11 @@ msgid "Doppler Enable"
msgstr "Aktifkan"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Buat Pratinjau Mesh"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5432,6 +6222,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Toggle Freelook"
msgstr "Mode Layar Penuh"
@@ -5441,6 +6235,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5469,6 +6267,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5482,10 +6284,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5545,6 +6343,50 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Sambungkan Ke Node:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Buat Baru %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Pratinjau"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Mengatur..."
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5614,14 +6456,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5647,27 +6481,20 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
#, fuzzy
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr "Penyunting Daerah Tekstur"
#: editor/plugins/theme_editor_plugin.cpp
@@ -5683,11 +6510,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "Hapus Pilihan"
@@ -5763,10 +6585,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5791,7 +6609,7 @@ msgstr ""
msgid "Icon"
msgstr "Ikon"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5804,9 +6622,8 @@ msgid "Color"
msgstr "Warna"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Theme"
-msgstr "Simpan Tema"
+msgid "Constant"
+msgstr "Konstan"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5814,6 +6631,11 @@ msgid "Erase Selection"
msgstr "Beri Skala Seleksi"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nama tidak sah."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5835,12 +6657,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Pencarian Selanjutnya"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5863,6 +6682,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Hapus Pilihan"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5879,66 +6703,113 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Tambahkan Node (Node-node) dari Tree"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Hapus Sinyal"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Simpan sumber yang sedang diatur."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Batal"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Operasi ini tidak dapat diselesaikan tanpa scene."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "Argumen:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Kanan"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
#, fuzzy
@@ -5956,7 +6827,7 @@ msgid "Delete preset '%s'?"
msgstr "Hapus file yang dipilih?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -6032,10 +6903,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
#, fuzzy
msgid "Export With Debug"
msgstr "Ekspor Tile Set"
@@ -6046,7 +6913,7 @@ msgid "The path does not exist."
msgstr "File tidak ada."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -6054,6 +6921,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6145,6 +7020,11 @@ msgid "Project Path:"
msgstr "Lokasi Projek:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Lokasi Projek:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6262,8 +7142,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6275,9 +7155,23 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Ubah Nama Animasi:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Perangkat"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Perangkat"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6319,20 +7213,24 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr ""
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Tombol Kiri."
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr ""
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Tombol Kanan."
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "Tombol"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "Tombol"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6360,10 +7258,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Perangkat"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Tombol"
@@ -6412,6 +7306,12 @@ msgid "Delete Item"
msgstr "Hapus"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr ""
@@ -6484,6 +7384,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6493,6 +7397,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Tambahkan Fungsi"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6554,10 +7467,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6596,38 +7505,10 @@ msgstr "Metode Publik:"
#: editor/property_editor.cpp
#, fuzzy
-msgid "New Script"
-msgstr "Scene Baru"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Make Unique"
-msgstr "Membuat sub-Resource Unik"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Show in File System"
-msgstr "Tampilkan dalam Manajer Berkas"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Convert To %s"
-msgstr "Sambungkan Ke Node:"
-
-#: editor/property_editor.cpp
-#, fuzzy
msgid "Error loading file: Not a resource!"
msgstr "Gagal saat memuat berkas: Bukan berkas resource!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/property_editor.cpp
#, fuzzy
msgid "Pick a Node"
msgstr "Path ke Node:"
@@ -6637,18 +7518,6 @@ msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "On"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr ""
@@ -6675,6 +7544,131 @@ msgstr ""
msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Ubah Nama"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nama Node:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Cari Tipe Node"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Scene saat ini tidak disimpan. Buka saja?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nama Node:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Langkah:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Ubah Pernyataan"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Sambungkan Ke Node:"
+
+#: editor/rename_dialog.cpp
+msgid "To Uppercase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Kebalikan Semula Pandangan"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6711,11 +7705,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Oke"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6735,6 +7724,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Clear Script"
+msgstr "Scene Baru"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6775,14 +7769,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Buat Folder"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Suasana"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Suasana"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Salin Resource"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6791,6 +7805,11 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Attach Script"
+msgstr "Scene Baru"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6835,19 +7854,14 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Attach Script"
-msgstr "Scene Baru"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "Scene Baru"
+msgid "Make Scene Root"
+msgstr "Simpan Scene"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6871,11 +7885,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "Filter:"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6896,17 +7905,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Beralih File Tersembunyi"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6914,7 +7916,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6930,21 +7932,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "Buka Cepat Script..."
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6952,6 +7954,12 @@ 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 ""
@@ -6991,6 +7999,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Buka Penyunting Skrip"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7240,10 +8253,22 @@ msgid "Change Camera Size"
msgstr "Ganti Ukuran Kamera"
#: 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 "Change Probe Extents"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Ganti Radius Bentuk Bola"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr ""
@@ -7256,20 +8281,38 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Ganti Radius Bentuk Bola"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr ""
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Ganti Radius Bentuk Bola"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr ""
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Ganti Radius Lampu"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Ubah Waktu Blend"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Ganti Radius Bentuk Bola"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Ganti Radius Lampu"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7328,17 +8371,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"Tipe argument salah dalam menggunakan convert(), gunakan konstanta TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Tidak cukup bytes untuk menerjemahkan, atau format tidak sah."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "Argumen langkah adalah nol!"
@@ -7408,6 +8440,11 @@ msgstr "Hapus yang Dipilih"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Hapus yang Dipilih"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "Duplikat Pilihan"
@@ -7491,6 +8528,11 @@ msgid "Clear Selection"
msgstr "Beri Skala Seleksi"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Semua pilihan"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7564,6 +8606,71 @@ msgstr "File:"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Marking walkable triangles..."
+msgstr "Menyimpan perubahan-perubahan lokal..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7627,10 +8734,6 @@ msgid "Set Variable Type"
msgstr "Edit Variabel:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Fungsi-fungsi:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variabel-variabel:"
@@ -7749,37 +8852,13 @@ msgstr "Sambungkan Ke Node:"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Condition"
-msgstr "Transisi"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
+msgid "Connect Node Data"
+msgstr "Sambungkan Ke Node:"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Return"
-msgstr "Kembali:"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Panggil"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+msgid "Connect Node Sequence"
+msgstr "Sambungkan Ke Node:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7808,28 +8887,18 @@ msgid "Remove Function"
msgstr "Hapus Fungsi"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Variable"
-msgstr "Edit Variabel:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Hapus Variabel"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "Mengedit Sinyal:"
+msgid "Editing Variable:"
+msgstr "Mengedit Variabel:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Hapus Sinyal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Mengedit Variabel:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Mengedit Sinyal:"
@@ -7876,6 +8945,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr "Path ke Node:"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Anggota"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Tipe masukan tidak iterable: "
@@ -7933,6 +9007,19 @@ msgstr ""
"Nilai kembali dari _step() tidak sah, seharusnya integer (seq out), atau "
"string (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Hapus Variabel"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7990,8 +9077,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -8096,6 +9183,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Properti path harus menunjuk pada sebuah node Node2D yang sah untuk bekerja."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8158,8 +9258,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8251,6 +9351,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8265,6 +9376,46 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Perkakas Animasi"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "KESALAHAN: Nama animasi tidak valid!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Memutuskan '%s' dari '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Pilih sebuah AnimationPlayer dari Scene Tree untuk menyunting animasi."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8345,12 +9496,202 @@ msgstr "Error memuat font."
msgid "Invalid font size."
msgstr "Ukuran font tidak sah."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Tab sebelumnya"
+msgid "Invalid source for shader."
+msgstr "Ukuran font tidak sah."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Dinonaktifkan"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Pindah Trek Anim ke Atas"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Pindahkan Trek Anim ke Bawah"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Atur transisi ke:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Namai Kembali Trek Anim"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Ubah Interpolasi Trek Anim"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Ganti Mode Nilai Track Anim"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Ubah Trek Anim ke Wrap Mode"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Sunting Kurva Node"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Edit Kurva Pilihan"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Tambah Kunci Anim"
-#~ msgid "Next"
-#~ msgstr "Berikutnya"
+#~ msgid "In"
+#~ msgstr "Masuk"
+
+#~ msgid "Out"
+#~ msgstr "Keluar"
+
+#~ msgid "In-Out"
+#~ msgstr "Masuk-Keluar"
+
+#~ msgid "Out-In"
+#~ msgstr "Keluar-Masuk"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Ubah Panjang Animasi"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Ubah Perulangan Animasi"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Buat Nilai Kunci Animasi Tertulis"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Tambah Pemanggilan Track Anim"
+
+#~ msgid "Length (s):"
+#~ msgstr "Panjang:"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Langkah kursor sekejap (dalam detik)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Aktifkan/Nonaktifkan pengulangan dalam animasi."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Tambah tracks baru."
+
+#~ msgid "Move current track up."
+#~ msgstr "Pindahkan track sekarang ke atas."
+
+#~ msgid "Move current track down."
+#~ msgstr "Pindahkan track sekarang ke bawah."
+
+#~ msgid "Track tools"
+#~ msgstr "Alat track"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Aktifkan penyuntingan tombol-tombol individual dengan mengkliknya."
+
+#~ msgid "Key"
+#~ msgstr "Tombol"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Memanggil Fungsi-Fungsi dalam Node yang Mana?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Terimakasih!"
+
+#~ msgid "I see..."
+#~ msgstr "Mengerti..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Tidak dapat membuka '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Duh"
+
+#~ msgid "Run Script"
+#~ msgstr "Jalankan Script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Simpan sumber yang sedang diatur."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Hentikan Profiling"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Jalankan Profilling"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Baku (Samakan seperti Penyunting saat ini)"
+
+#, fuzzy
+#~ msgid "Create new animation in player."
+#~ msgstr "Buat animasi baru dalam pemutar animasi."
+
+#, fuzzy
+#~ msgid "Load animation from disk."
+#~ msgstr "Memuat animasi dari diska."
+
+#, fuzzy
+#~ msgid "Load an animation from disk."
+#~ msgstr "Memuat animasi dari diska."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Simpan animasi saat ini"
+
+#, fuzzy
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Sunting Target Waktu Blend"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Salin Animasi"
+
+#~ msgid "prev"
+#~ msgstr "sebelumnya"
+
+#~ msgid "next"
+#~ msgstr "selanjutnya"
+
+#~ msgid "last"
+#~ msgstr "terakhir"
+
+#, fuzzy
+#~ msgid "Edit IK Chain"
+#~ msgstr "Sunting Rantai IK"
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Hapus Sinyal"
+
+#, fuzzy
+#~ msgid "Condition"
+#~ msgstr "Transisi"
+
+#, fuzzy
+#~ msgid "Return"
+#~ msgstr "Kembali:"
+
+#~ msgid "Call"
+#~ msgstr "Panggil"
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "Edit Variabel:"
+
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "Mengedit Sinyal:"
#, fuzzy
#~ msgid "Can't contain '/' or ':'"
@@ -8410,10 +9751,6 @@ msgstr "Ukuran font tidak sah."
#~ msgstr "Meta+"
#, fuzzy
-#~ msgid "Setting '"
-#~ msgstr "Mengatur..."
-
-#, fuzzy
#~ msgid "Selection -> Duplicate"
#~ msgstr "Hanya yang Dipilih"
@@ -8435,15 +9772,9 @@ msgstr "Ukuran font tidak sah."
#~ "Pengaturan Vieport dalam properti path harus diatur sebagai 'render "
#~ "target' agar sprite bekerja."
-#~ msgid "Filter:"
-#~ msgstr "Filter:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "Daftar Fungsi Untuk '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "Argumen:"
-
#, fuzzy
#~ msgid "Return:"
#~ msgstr "Kembali:"
@@ -8475,10 +9806,6 @@ msgstr "Ukuran font tidak sah."
#~ msgid "Loading Export Templates"
#~ msgstr "Memuat Ekspor Template-template."
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Error menyimpan TileSet!"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Tentukan Nama dan Lokasi Baru untuk:"
@@ -8488,10 +9815,6 @@ msgstr "Ukuran font tidak sah."
#~ msgid "Re-Import..."
#~ msgstr "Impor Ulang..."
-#, fuzzy
-#~ msgid "Root Node Name:"
-#~ msgstr "Nama Node:"
-
#~ msgid "Texture Format"
#~ msgstr "Format Tekstur"
diff --git a/editor/translations/is.po b/editor/translations/is.po
index 0d6200fba1..5aedc67388 100644
--- a/editor/translations/is.po
+++ b/editor/translations/is.po
@@ -19,360 +19,479 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.0\n"
-#: editor/animation_editor.cpp
+#: 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
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
#, fuzzy
-msgid "Disabled"
-msgstr "Óvirkt"
+msgid "Duplicate Selected Key(s)"
+msgstr "Afrita val"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Allt úrvalið"
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Duplicate Keys"
+msgstr "Tvíteknir lyklar"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Delete Keys"
+msgstr "Anim DELETE-lyklar"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Time"
msgstr "Anim breyta lyklagrind tími"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Transition"
msgstr "Anim breyting umskipti"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Transform"
msgstr "Breyta umbreytingu"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "Anim breyta lyklagrind gildi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Call"
msgstr "Útkall breyting símtal"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Add Track"
-msgstr "Anim bæta við lag"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Duplicate Keys"
-msgstr "Tvíteknir lyklar"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Move Anim Track Up"
-msgstr "Færa Anim track upp"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Move Anim Track Down"
-msgstr "Færa Anim track niður"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Remove Anim Track"
-msgstr "Fjarlægja Anim track"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Set Transitions to:"
-msgstr "Stillið breyting á:"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Anim Track Rename"
-msgstr "Endurnefning Anim track"
+msgid "Add Track"
+msgstr "Anim bæta við lag"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Track Change Interpolation"
-msgstr "Breytingar á Anim track"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Track Change Value Mode"
-msgstr "Breyta gildisstilling í Anim track"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim track breyta hulum ham"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Edit Node Curve"
-msgstr "Breyta hnútnum Ferill"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Edit Selection Curve"
-msgstr "Breyta valferil"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Delete Keys"
-msgstr "Anim DELETE-lyklar"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-#, fuzzy
-msgid "Duplicate Selection"
-msgstr "Afrita val"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Duplicate Transposed"
-msgstr "Tvískipt transposed"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Remove Selection"
-msgstr "Fjarlægja val"
+msgid "Remove this track."
+msgstr "Fjarlægja Anim track"
+
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Continuous"
msgstr "Samfellt"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Discrete"
msgstr "Afmarkað"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Trigger"
msgstr "Kveikja:"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Add Key"
-msgstr "Anim bæta við lykli"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Move Keys"
-msgstr "Færa lykla af Anim"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Scale Selection"
-msgstr "Val á kvarða"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr ""
-
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Tvíteknir lyklar"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Anim DELETE-lyklar"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove Anim Track"
+msgstr "Fjarlægja Anim track"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Move Keys"
+msgstr "Færa lykla af Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Scale Selection"
+msgstr "Val á kvarða"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Duplicate Selection"
+msgstr "Afrita val"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Transposed"
+msgstr "Tvískipt transposed"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Afrita val"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+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_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -393,7 +512,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -409,7 +528,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -421,18 +540,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -462,7 +589,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -493,7 +621,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -515,11 +643,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -527,14 +655,43 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+msgid "Connect Signal: "
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Breyta valferil"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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 ""
@@ -557,22 +714,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -630,7 +790,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -649,7 +811,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -717,8 +879,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -892,6 +1058,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -960,7 +1127,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -970,7 +1138,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -1007,47 +1174,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1080,7 +1247,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1142,6 +1309,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1178,7 +1350,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1231,7 +1403,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1376,20 +1549,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1411,11 +1591,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1428,8 +1603,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1471,10 +1646,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1541,42 +1712,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1750,11 +1885,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1783,6 +1913,14 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1904,10 +2042,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1917,6 +2051,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -2008,6 +2146,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2023,7 +2173,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2067,7 +2218,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2088,59 +2239,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2157,6 +2281,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2233,19 +2361,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2253,12 +2385,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2305,6 +2438,100 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2339,10 +2566,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2368,6 +2591,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2392,7 +2616,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2452,6 +2676,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2530,7 +2760,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2542,11 +2772,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2617,7 +2847,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2647,6 +2877,21 @@ msgid "Duplicate..."
msgstr "Hreyfimynd Tvöfalda Lykla"
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2659,7 +2904,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2667,18 +2916,110 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2689,6 +3030,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2730,7 +3075,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2790,16 +3135,122 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: 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
+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
@@ -2843,6 +3294,140 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+msgid "Create points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2869,11 +3454,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2882,11 +3467,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2903,11 +3483,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2919,7 +3499,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2951,39 +3531,33 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Stillið breyting á:"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3035,6 +3609,10 @@ 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 ""
@@ -3044,6 +3622,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3061,161 +3640,210 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"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
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Fjarlægja val"
+
+#: 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 "Stillið breyting á:"
+
#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3269,7 +3897,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3297,19 +3929,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3377,7 +4009,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3386,12 +4018,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3404,14 +4034,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3440,11 +4062,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3464,6 +4098,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3507,7 +4153,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3515,7 +4161,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3556,6 +4202,10 @@ 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 ""
@@ -3582,23 +4232,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3644,11 +4294,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3664,14 +4310,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3687,10 +4325,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3723,26 +4357,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3813,15 +4439,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3905,6 +4522,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3972,6 +4590,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4072,70 +4711,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4196,59 +4771,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4328,6 +4899,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4360,19 +4947,85 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Fjarlægja val"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4401,11 +5054,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4421,8 +5086,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4433,6 +5097,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4455,6 +5143,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4476,14 +5168,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4495,6 +5188,18 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4511,6 +5216,18 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+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 "Import Theme"
msgstr ""
@@ -4523,6 +5240,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4551,7 +5272,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4579,6 +5300,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4612,11 +5338,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4670,10 +5391,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4692,45 +5409,67 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4818,7 +5557,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4837,128 +5576,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5086,10 +5733,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5098,6 +5741,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5142,6 +5789,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5269,6 +5920,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5277,6 +5932,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5305,6 +5964,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5318,10 +5981,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5381,6 +6040,46 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5449,14 +6148,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5482,26 +6173,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5517,11 +6201,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5593,10 +6272,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5621,7 +6296,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5634,7 +6309,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5642,6 +6317,10 @@ msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5662,11 +6341,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5690,6 +6365,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Fjarlægja val"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5706,63 +6386,105 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+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 " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5778,7 +6500,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5852,10 +6574,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5864,7 +6582,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5872,6 +6590,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5958,6 +6684,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6066,8 +6796,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6079,9 +6809,21 @@ 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6123,19 +6865,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6163,10 +6905,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6211,6 +6949,12 @@ 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 "Already existing"
msgstr ""
@@ -6282,6 +7026,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6291,6 +7039,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Allt úrvalið"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6351,10 +7108,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6391,75 +7144,156 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Endurnefning Anim track"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6498,11 +7332,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6522,6 +7351,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6562,11 +7395,27 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+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 "Makes Sense!"
+msgid "3D Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6578,6 +7427,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6620,18 +7473,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6654,10 +7503,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6677,16 +7522,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6695,7 +7532,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6711,20 +7548,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6732,6 +7569,12 @@ 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 ""
@@ -6768,6 +7611,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7004,10 +7851,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7020,19 +7879,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7088,16 +7959,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7162,6 +8023,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Allt úrvalið"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7242,6 +8108,11 @@ msgid "Clear Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Allt úrvalið"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7309,6 +8180,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7360,10 +8295,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7472,35 +8403,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7528,15 +8435,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7544,10 +8447,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7591,6 +8490,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7645,6 +8548,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7691,8 +8606,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7773,6 +8688,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7833,8 +8761,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7907,6 +8835,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7919,6 +8858,42 @@ msgid ""
"it as a child of a VehicleBody."
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_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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -7987,5 +8962,61 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Disabled"
+#~ msgstr "Óvirkt"
+
+#, fuzzy
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Færa Anim track upp"
+
+#, fuzzy
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Færa Anim track niður"
+
+#, fuzzy
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Breytingar á Anim track"
+
+#, fuzzy
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Breyta gildisstilling í Anim track"
+
+#, fuzzy
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim track breyta hulum ham"
+
+#, fuzzy
+#~ msgid "Edit Node Curve"
+#~ msgstr "Breyta hnútnum Ferill"
+
+#, fuzzy
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim bæta við lykli"
+
#~ msgid "Move Add Key"
#~ msgstr "Hreyfa Viðbótar Lykil"
diff --git a/editor/translations/it.po b/editor/translations/it.po
index afb8c5cfb8..4c60b4d34f 100644
--- a/editor/translations/it.po
+++ b/editor/translations/it.po
@@ -15,12 +15,17 @@
# Samuele Zolfanelli <samdazel@gmail.com>, 2018.
# Sean Bone <seanbone@zumguy.com>, 2017.
# Red Pill <redpill902@gmail.com>, 2018.
+# iRadEntertainment <devitadario@gmail.com>, 2018.
+# ondsinet _ (nik man) <nikman00@gmail.com>, 2018.
+# Ste d f <sdfilippo84@gmail.com>, 2018.
+# Salvo Permiracolo <salvoperm@gmail.com>, 2018.
+# Giovanni Tommasi <tommasig@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-06-25 18:40+0000\n"
-"Last-Translator: Red Pill <redpill902@gmail.com>\n"
+"PO-Revision-Date: 2018-08-18 17:38+0000\n"
+"Last-Translator: Giovanni Tommasi <tommasig@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -28,336 +33,493 @@ 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 3.1-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Disabilitato"
+#: 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 "Argomento tipo invalido per convert(), usare le costanti TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Seleziona Tutto"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+"Non vi sono abbastanza bytes per i bytes di decodifica, oppure formato "
+"invalido."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Nome proprietà indice invalido '%s' nel nodo %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Nome proprietà indice invalido '%s' nel nodo %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argomento invalido di tipo: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Gratuito"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Specchia X"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Inserisci Key"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplica Selezione"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Elimina selezionati"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Duplica Key Animazione"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Elimina Key"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Cambia Tempo di Keyframe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Cambia Transizione"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Cambia Transform"
-#: editor/animation_editor.cpp
-#, fuzzy
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
-msgstr "Anim Cambia Valore"
+msgstr "Anim Cambia Valore Chiave"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Cambia Chiamata"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Aggiungi Traccia"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Proprietà:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Duplica Key Animazione"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Tipo Transform"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Muovi Traccia Animazione Su"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Muovi Traccia Animazione Giù"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Rimuovi Traccia Animazione"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Imposta Transizione a:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Ferma il playback dell'animazione. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Traccia Anim Rinomina"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Aggiungi Traccia"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Traccia Anim Cambia Interpolazione"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Lunghezza animazone (in secondi)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Traccia Anim Cambia Modalità Valore"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom Animazione."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Traccia Anim Cambia Modalità avvolgimento"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funzioni:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Modifica Curva del Nodo"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Audio Listener"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Modifica Selezione Curva"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Clips"
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Elimina Key"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Abilita modalità senza distrazioni."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplica Selezione"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplica Transposto"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nodo Animazione"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Rimuovi Selezione"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Rimuovi traccia selezionata."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tempo(i) di Crossfade:"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Continuo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discreto"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Attivazione"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Aggiungi Key"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Sposta Key"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Scala Selezione"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Scala da Cursore"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Vai a Step Successivo"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Texture"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Vai a Step Precedente"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineare"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Costante"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Out"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "Cambia Interpolazione Loop Animazione"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Inserisci Key"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transizioni"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplica Nodo(i)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Ottimizza Animazione"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Elimina Nodo(i)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Pulisci Animazione"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Rimuovi Traccia Animazione"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Crea NUOVA traccia per %s e inserire key?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Creare %d NUOVE tracce e inserire key?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Crea"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Inserisci"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Crea e Inserisci"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Inserisci Traccia e Key"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Inserisci Key"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Cambia Lunghezza Animazione"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Cambia Loop Animazione"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim Crea Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Inserisci"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet non trovato nello script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Sposta Key"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Clipboard risorse vuota!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Scala Key"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim Aggiungi Chiamata Traccia"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom Animazione."
+#: 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_editor.cpp
-msgid "Length (s):"
-msgstr "Lunghezza (e):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Snap (Pixels):"
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Lunghezza animazone (in secondi)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animation tree valido."
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Step (s):"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Modifica"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Step Snap Cursore (in secondi)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimazioneAlbero"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Attiva/Disattiva loop animazione."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copia parametri"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Aggiungi nuova traccia."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Incolla Parametri"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Muovi la traccia corrente su."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Scala Selezione"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Muovi la traccia corrente giù."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Scala da Cursore"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Rimuovi traccia selezionata."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplica Selezione"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Strumenti traccia"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplica Transposto"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Attiva modifica di key individuali cliccandovi."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Elimina selezionati"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Vai a Step Successivo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Vai a Step Precedente"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Ottimizza Animazione"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Pulisci Animazione"
+
+#: 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 "Anim. Optimizer"
msgstr "Ottimizzatore Anim."
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Max. Errore Lineare:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. Errore Angolare:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max. Angolo Ottimizzabile:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Ottimizza"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Seleziona un AnimationPlayer dallo Scene Tree per modificare le animazioni."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Key"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transizione"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Ratio di scalatura:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Chiama Funzioni in Quale Nodo?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Rimuovi key invalidi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Rimuovi tracce Irrisolte e vuote"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Pulisci tutte le animazioni"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Pulisci Animazione(i) (NO UNDO!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Pulisci"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Ratio di scalatura:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copia"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Ridimensiona Array"
@@ -378,7 +540,7 @@ msgstr "Vai alla Linea"
msgid "Line Number:"
msgstr "Numero Linea:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Nessuna Corrispondenza"
@@ -394,7 +556,7 @@ msgstr "Controlla Maiuscole"
msgid "Whole Words"
msgstr "Parole Intere"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Rimpiazza"
@@ -406,18 +568,28 @@ msgstr "Rimpiazza Tutti"
msgid "Selection Only"
msgstr "Solo Selezione"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoom In"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zoom Out"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Resetta Zoom"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Avvertimento"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom(%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Riga:"
@@ -449,7 +621,8 @@ msgid "Add"
msgstr "Aggiungi"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -480,7 +653,7 @@ msgid "Oneshot"
msgstr "Oneshot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -502,11 +675,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Connetti '%s' a '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Connessione Segnali:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Disconnetti '%s' da '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Disconnetti '%s' da '%s'"
#: editor/connections_dialog.cpp
@@ -514,18 +688,51 @@ msgid "Connect..."
msgstr "Connetti..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Disconnetti"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Connessione Segnali:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Modifica Connessioni"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Sei sicuro di voler eseguire più di un progetto?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Segnali"
-#: editor/create_dialog.cpp
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Disconnetti"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Modifica"
+
+#: editor/connections_dialog.cpp
#, fuzzy
+msgid "Go To Method"
+msgstr "Metodi"
+
+#: editor/create_dialog.cpp
msgid "Change %s Type"
-msgstr "Cambia Tipo di %s"
+msgstr "Cambia Tipo %s"
#: editor/create_dialog.cpp editor/project_settings_editor.cpp
#: modules/visual_script/visual_script_editor.cpp
@@ -545,22 +752,25 @@ msgstr "Preferiti:"
msgid "Recent:"
msgstr "Recenti:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cerca:"
#: editor/create_dialog.cpp editor/editor_help.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 "Corrispondenze:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Descrizione:"
@@ -622,7 +832,9 @@ msgstr "Cerca Risorsa di Rimpiazzo:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Apri"
@@ -644,7 +856,7 @@ msgstr ""
"esse funzionino.\n"
"Rimuoverli comunque? (no undo)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Impossibile rimuovere:"
@@ -712,9 +924,13 @@ msgstr "Cambia Valore Dizionario"
msgid "Thanks from the Godot community!"
msgstr "Grazie dalla comunità di Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Grazie!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -729,9 +945,8 @@ msgid "Lead Developer"
msgstr "Lead Developer"
#: editor/editor_about.cpp
-#, fuzzy
msgid "Project Manager "
-msgstr "Gestione Progetti"
+msgstr "Gestione Progetto "
#: editor/editor_about.cpp
msgid "Developers"
@@ -892,6 +1107,7 @@ msgid "Bus options"
msgstr "Opzioni bus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "duplica"
@@ -960,7 +1176,8 @@ msgstr "Aggiungi Bus"
msgid "Create a new Bus Layout."
msgstr "Crea nuovo layout di tipo bus."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Carica"
@@ -970,7 +1187,6 @@ msgid "Load an existing Bus Layout."
msgstr "Carica un layout esistente di tipo bus."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Salva Come"
@@ -1013,22 +1229,6 @@ msgstr ""
"globale esistente."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Percorso Invalido."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "File non esistente."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Non è nel percorso risorse."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Aggiungi AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' esiste già!"
@@ -1056,6 +1256,22 @@ msgstr "Abilita"
msgid "Rearrange Autoloads"
msgstr "Riordina gli Autoload"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Percorso Invalido."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "File non esistente."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Non è nel percorso risorse."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Aggiungi AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1086,7 +1302,7 @@ msgstr "Memorizzando i cambiamenti locali..."
msgid "Updating scene..."
msgstr "Aggiornando la scena..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[vuoto]"
@@ -1132,9 +1348,8 @@ msgid "Packing"
msgstr "Impacchettando"
#: editor/editor_export.cpp platform/javascript/export/export.cpp
-#, fuzzy
msgid "Template file not found:"
-msgstr "File template non trovato:\n"
+msgstr "Template non trovato:"
#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
msgid "File Exists, Overwrite?"
@@ -1149,6 +1364,12 @@ msgid "Copy Path"
msgstr "Copia Percorso"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Mostra nel File Manager"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Mostra nel File Manager"
@@ -1185,7 +1406,7 @@ msgid "Open a File or Directory"
msgstr "Apri un File o una Directory"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Salva"
@@ -1238,7 +1459,8 @@ msgstr "Vai nella cartella padre"
msgid "Directories & Files:"
msgstr "Directory e File:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Anteprima:"
@@ -1349,14 +1571,14 @@ msgid "Online Tutorials:"
msgstr "Tutorial online:"
#: editor/editor_help.cpp
-#, fuzzy
msgid ""
"There are currently no tutorials for this class, you can [color=$color][url="
"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
"url][/color]."
msgstr ""
"Al momento una descrizione per questa classe non esiste. Aiutaci [color="
-"$color][url=$url]aggiungendone una[/url][/color]!"
+"$color][url=$url]aggiungendone una[/url][/color] oppure [color=$color][url="
+"$url2]richiedendone una[/url][/color]."
#: editor/editor_help.cpp
msgid "Properties"
@@ -1390,33 +1612,40 @@ msgstr ""
"Al momento una descrizione per questo metodo non esiste. Aiutaci [color="
"$color][url=$url]aggiungendone una[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Cerca Testo"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Proprietà:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Trova"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Set"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Output:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
msgstr "Rimuovi"
#: editor/editor_log.cpp
-#, fuzzy
msgid "Clear Output"
-msgstr "Pulisci output"
+msgstr "Svuota output"
#: editor/editor_node.cpp
msgid "Project export failed with error code %d."
-msgstr ""
+msgstr "Esportazione progetto fallita con codice di errore %d."
#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Error saving resource!"
@@ -1426,11 +1655,6 @@ msgstr "Errore salvando la Risorsa!"
msgid "Save Resource As..."
msgstr "Salva Risorsa Come..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Capisco..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Impossibile aprire il file per la scrittura:"
@@ -1443,9 +1667,9 @@ msgstr "Formato file richiesto sconosciuto:"
msgid "Error while saving."
msgstr "Errore durante il salvataggio."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Impossibile aprire '%s'."
+#: 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'."
@@ -1481,17 +1705,12 @@ msgstr ""
"Questa operazione non può essere eseguita senza una radice dell'albero."
#: editor/editor_node.cpp
-#, fuzzy
msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
-"Impossibile salvare la scena. Probabili dipendenze (instanze) non sono state "
-"soddisfatte."
-
-#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Caricamento della risorsa fallito."
+"Impossibile salvare la scena. Probabili dipendenze (instanze o eredità) non "
+"sono state soddisfatte."
#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
@@ -1577,42 +1796,6 @@ msgstr ""
"scene per comprendere al meglio questa procedura."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Espandi tutte le proprietà"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Comprimi tutte le proprietà"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copia parametri"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Incolla Parametri"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Incolla Risorsa"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copia Risorsa"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Rendi Built-In"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Rendi Sotto-risorse Uniche"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Apri in Aiuto"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Non c'è nessuna scena definita da eseguire."
@@ -1810,11 +1993,6 @@ msgstr ""
"modificata.\n"
"Per effettuare cambiamenti, puo essere creata una nuova scena ereditata."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Ugh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1846,6 +2024,16 @@ msgid "Default"
msgstr "Default"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Esegui Scena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Chiudi le altre schede"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Cambia Tab di Scena"
@@ -1967,10 +2155,6 @@ msgstr "Progetto"
msgid "Project Settings"
msgstr "Impostazioni Progetto"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Esegui Script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Esporta"
@@ -1980,6 +2164,11 @@ msgid "Tools"
msgstr "Strumenti"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Aprire Gestione Progetti?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Esci alla Lista Progetti"
@@ -2090,6 +2279,20 @@ msgstr "Layout dell'Editor"
msgid "Toggle Fullscreen"
msgstr "Abilita/Disabilita Fullscreen"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Impostazioni Editor"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Impostazioni Editor"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gestisci Template d'Esportazione"
@@ -2105,7 +2308,8 @@ msgstr "Classi"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Cerca"
@@ -2149,7 +2353,7 @@ msgstr "Pausa Scena"
msgid "Stop the scene."
msgstr "Ferma la scena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Stop"
@@ -2170,6 +2374,16 @@ msgid "Play Custom Scene"
msgstr "Esegui Scena Personalizzata"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Salva e Re-Importa"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Gira quando la finestra dell'editor viene ridisegnata!"
@@ -2189,42 +2403,6 @@ msgstr "Disabilita lo Spinner di Update"
msgid "Inspector"
msgstr "Inspector"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Crea una nuova risorsa in memoria e modificala."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Carica una risorsa esistente dal disco e modificala."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Salva la risorsa in modifica."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Salva Come..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Vai all'ultimo oggetto modificato nella cronologia."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Vai al prossimo oggetto modificato nella cronologia."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Cronologia di oggetti recentemente modificati."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Proprietà oggetto."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "I cambiamenti potrebbero essere persi!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2239,6 +2417,11 @@ msgid "FileSystem"
msgstr "FileSystem"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Espandi tutto"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Output"
@@ -2315,19 +2498,24 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Modifica Poly"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Plugins Installati:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Aggiorna"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versione:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autore:"
@@ -2335,13 +2523,16 @@ msgstr "Autore:"
msgid "Status:"
msgstr "Stato:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Interrrompi Profiling"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Modifica"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Inizia Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Inizia!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2360,9 +2551,8 @@ msgid "Frame %"
msgstr "Frame %"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Physics Frame %"
-msgstr "Frame Fisico %"
+msgstr "Frame della Fisica %"
#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
msgid "Time:"
@@ -2385,9 +2575,112 @@ msgid "Time"
msgstr "Tempo"
#: editor/editor_profiler.cpp
-#, fuzzy
msgid "Calls"
-msgstr "Chiama"
+msgstr "Chiamate"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "On"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, val %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "[Empty]"
+msgstr "Aggiungi vuoto"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Assegna"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Scegli una Vista"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Nuovo Script"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Make Unique"
+msgstr "Crea Ossa"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Mostra nel File System"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Incolla"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "Converti In..."
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Apri nell Editor"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Selected node is not a Viewport!"
+msgstr "Scegli Nodo(i) da Importare"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Dimensione Cella:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Nuovo nome:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nuovo nome:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Rimuovi Elemento"
#: editor/editor_run_native.cpp
msgid "Select device from the list"
@@ -2426,10 +2719,6 @@ msgstr "Impossibile eseguire lo script:"
msgid "Did you forget the '_run' method?"
msgstr "Hai dimenticato il metodo '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Default (Stesso che Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Scegli Nodo(i) da Importare"
@@ -2455,6 +2744,7 @@ msgid "(Installed)"
msgstr "(Installato)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Scarica"
@@ -2479,7 +2769,8 @@ msgid "Can't open export templates zip."
msgstr "Impossibile aprire zip dei template d'esportazionie."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Formato di version.txt invalido nelle templates."
#: editor/export_template_manager.cpp
@@ -2487,7 +2778,6 @@ msgid "No version.txt found inside templates."
msgstr "Non é stato trovato version.txt all'interno di templates."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Error creating path for templates:"
msgstr "Errore di creazione del percorso per i template:"
@@ -2542,6 +2832,12 @@ msgid "Download Complete."
msgstr "Download Completato."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Errore di connessione all'URL: "
@@ -2567,9 +2863,8 @@ msgid "Connecting..."
msgstr "Connettendo..."
#: editor/export_template_manager.cpp
-#, fuzzy
msgid "Can't Connect"
-msgstr "Impossibile connettere."
+msgstr "Impossibile connettersi"
#: editor/export_template_manager.cpp
msgid "Connected"
@@ -2621,7 +2916,8 @@ msgid "Download Templates"
msgstr "Scarica Templates"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Seleziona mirror dall'elenco "
#: editor/file_type_cache.cpp
@@ -2636,15 +2932,16 @@ msgstr ""
"Impossibile navigare a '%s' perché non è stato trovato nel file system!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Visualizza elementi come una griglia di miniature"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Visualizza elementi come una lista"
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Status: Import of file failed. Please fix file and reimport manually."
msgstr ""
"Stato: Importazione file fallita. Si prega di riparare il file e "
@@ -2655,14 +2952,12 @@ msgid "Cannot move/rename resources root."
msgstr "Impossibile spostare/rinominare risorse root."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Cannot move a folder into itself."
-msgstr "Impossibile spostare una cartella in se stessa."
+msgstr "Impossibile spostare una cartella all'interno di se stessa."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Error moving:"
-msgstr "Errore spostamento:\n"
+msgstr "Errore spostamento:"
#: editor/filesystem_dock.cpp
msgid "Error duplicating:"
@@ -2716,7 +3011,7 @@ msgstr "Espandi tutto"
msgid "Collapse all"
msgstr "Comprimi tutto"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Rinomina..."
@@ -2725,7 +3020,6 @@ msgid "Move To..."
msgstr "Sposta in..."
#: editor/filesystem_dock.cpp
-#, fuzzy
msgid "Open Scene(s)"
msgstr "Apri Scena/e"
@@ -2746,6 +3040,23 @@ msgid "Duplicate..."
msgstr "Duplica..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Nuovo Script"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Salva Risorsa Come..."
+
+#: 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 "Rinomina"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Directory Precedente"
@@ -2758,14 +3069,29 @@ msgid "Re-Scan Filesystem"
msgstr "Re-Scan Filesystem"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Abilita lo stato della cartella come Preferito"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Salva la risorsa in modifica."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Istanzia le scene selezionate come figlie del nodo selezionato."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Cerca Classi"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2773,14 +3099,113 @@ msgstr ""
"Scansione File,\n"
"Si prega di attendere..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Sposta"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Rinomina"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Un file o cartella con questo nome é già esistente."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Crea Script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Trova tile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Trova"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Parole Intere"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Controlla Maiuscole"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtro:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Trova..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Rimpiazza..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Annulla"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Rimpiazza"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Rimpiazza Tutti"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Salvataggio..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Cerca Testo"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERRORE: Il nome dell'animazione esiste già!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nome Invalido."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Gruppi"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Gruppo(i) Nodi"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Filter nodes"
+msgstr "Filtri"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Gruppo(i) Nodi"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2790,6 +3215,11 @@ msgstr "Aggiungi a Gruppo"
msgid "Remove from Group"
msgstr "Rimuovi da Gruppo"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Gruppi Immagini"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importa come Scena Singola"
@@ -2831,7 +3261,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importa come Scene Multiple+Materiali"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importa Scena"
@@ -2844,9 +3274,8 @@ msgid "Generating Lightmaps"
msgstr "Generando Lightmap"
#: editor/import/resource_importer_scene.cpp
-#, fuzzy
msgid "Generating for Mesh: "
-msgstr "Generando per Mesh: "
+msgstr "Generazione della Mesh: "
#: editor/import/resource_importer_scene.cpp
msgid "Running Custom Script..."
@@ -2892,18 +3321,131 @@ msgstr "Preset..."
msgid "Reimport"
msgstr "Reimporta"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Caricamento della risorsa fallito."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Espandi tutte le proprietà"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Comprimi tutte le proprietà"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Salva Come..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copia parametri"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Incolla Parametri"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Clipboard risorse vuota!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copia Risorsa"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Rendi Built-In"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Rendi Sotto-risorse Uniche"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Apri in Aiuto"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Crea una nuova risorsa in memoria e modificala."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Carica una risorsa esistente dal disco e modificala."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Vai all'ultimo oggetto modificato nella cronologia."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Vai al prossimo oggetto modificato nella cronologia."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Cronologia di oggetti recentemente modificati."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Proprietà oggetto."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtri"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "I cambiamenti potrebbero essere persi!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "MultiNode Set"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Gruppi"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Seleziona un Nodo per modificare Segnali e Gruppi."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Modifica Poly"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Crea Outline"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Lista Plugin:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Linguaggio"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Script valido"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2949,6 +3491,150 @@ msgstr ""
msgid "Delete points"
msgstr "Elimina Punti"
+#: 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 "Aggiungi Animazione"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Carica"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Elimina Punti"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Elimina Punto."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Sposta Punto"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nodo Animazione"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "L'Azione '%s' esiste già!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "Elaborazione %d Triangoli:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Snap"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Modifica Filtri"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Aggiungi Nodo"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Modifica Filtri"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Figlio Modificabile"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Abilità Autoplay"
@@ -2975,11 +3661,13 @@ msgid "Remove Animation"
msgstr "Rimuovi Animazione"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERRORE: Nome animazione invalido!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERRORE: Il nome dell'animazione esiste già!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2988,11 +3676,6 @@ msgid "Rename Animation"
msgstr "Rinomina Animazione"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Aggiungi Animazione"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Fondi il Successivo Cambiato"
@@ -3009,11 +3692,13 @@ msgid "Duplicate Animation"
msgstr "Duplica Animazione"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERRORE: Nessuna animazione da copiare!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERRORE; Nessuna risorsa animazione nella clipboard!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3025,7 +3710,8 @@ msgid "Paste Animation"
msgstr "Incolla Animazione"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERRORE: Nessuna animazione da modificare!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3058,20 +3744,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Scala playback dell'animazione globalmente per il nodo."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Crea nuova animazione nel player."
+msgid "Animation Tools"
+msgstr "Strumenti di Animazione"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Carica animazione da disco."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animazione"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New"
+msgstr "Nuovo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Carica un'animazione da disco."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Modifica Connessioni..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Salva l'animazione corrente"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Apri nell Editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3082,18 +3775,6 @@ msgid "Autoplay on Load"
msgstr "Autoplay al Caricamento"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Modifica i tempi di Blend della destinazione"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Strumenti di Animazione"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copia Animazione"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Onion Skinning"
@@ -3102,7 +3783,6 @@ msgid "Enable Onion Skinning"
msgstr "Attiva Onion Skinning"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Directions"
msgstr "Direzioni"
@@ -3123,14 +3803,12 @@ msgid "1 step"
msgstr "1 Passo"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "2 steps"
-msgstr "2 passi"
+msgstr "2 passaggi"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "3 steps"
-msgstr "3 passi"
+msgstr "3 passaggi"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Differences Only"
@@ -3145,6 +3823,11 @@ msgid "Include Gizmos (3D)"
msgstr "Includi Gizmo (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Incolla Animazione"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Crea Nuova Animazione"
@@ -3154,6 +3837,7 @@ msgstr "Nome Animazione:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3171,162 +3855,214 @@ msgstr "Successivo (Coda Automatica):"
msgid "Cross-Animation Blend Times"
msgstr "Tempi di Blend Cross-Animation"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animazione"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Fine(i)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Non è nel percorso risorse."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Crea Nuovo %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Connetti A Nodo:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Rimuovi traccia selezionata."
+
+#: 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 "Transizione"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimazioneAlbero"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nuovo nome:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Modifica Filtri"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Scala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade In (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fade Out (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Fondi"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mischia"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Restart Automatico:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Restart (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Restart Casuale(i):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Inizia!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Quantità:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Blend:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Blend 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Blend 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Tempo(i) di Crossfade:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Corrente:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Aggiungi Input"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Pulisci Auto-Avanzamento"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Imposta Auto-Avanzamento"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Elimina Input"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Animation tree valido."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Animation tree invalido."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Nodo Animazione"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Nodo OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Node Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Nodo Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Nodo Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Nodo Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Nodo TimeScale"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Nodo TimeScale"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Nodo Transizione"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importa animazioni..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Modifica Filtri Nodi"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtri..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Animazione"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Gratuito"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Contenuti:"
@@ -3380,8 +4116,14 @@ msgid "Asset Download Error:"
msgstr "Errore di Download Asset:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Recupero:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Download in corso"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Download in corso"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3408,20 +4150,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Il download per questo asset è già in corso!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "primo"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "prec"
+#, fuzzy
+msgid "Previous"
+msgstr "Scheda precedente"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "seguente"
+msgid "Next"
+msgstr "Successivo"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "ultimo"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3496,7 +4240,7 @@ msgid "Bake Lightmaps"
msgstr "Preprocessa Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Anteprima"
@@ -3505,12 +4249,10 @@ msgid "Configure Snap"
msgstr "Configura Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Offset Griglia:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Step Griglia:"
@@ -3523,14 +4265,6 @@ msgid "Rotation Step:"
msgstr "Step Rotazione:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Perno di Movimento"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Azione di spostamento"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Muovi guida verticale"
@@ -3559,11 +4293,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Crea nuove guide orizzontali e verticali"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Modifica Catena IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Perno di Movimento"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Modifica CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Azione di spostamento"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Modifica CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Modifica CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3583,6 +4334,21 @@ msgid "Paste Pose"
msgstr "Incolla Posa"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zoom Out"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Zoom Reset"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoom In"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Modalità di Selezione"
@@ -3631,7 +4397,7 @@ msgstr "Modalità di Pan"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr "Abilita snapping"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3639,7 +4405,8 @@ msgid "Use Snap"
msgstr "Usa lo Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opzioni snapping"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3664,33 +4431,33 @@ msgid "Use Pixel Snap"
msgstr "Usa Pixel Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Smart snapping"
-msgstr "Snapping intelligente"
+msgstr "Snap intelligente"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to parent"
-msgstr "Allinea a Genitore"
+msgstr "Snap su Genitore"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to node anchor"
-msgstr "Allinea ad ancora nodo"
+msgstr "Snap su ancora nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to node sides"
-msgstr "Allinea ai lati del nodo"
+msgstr "Snap sui lati del nodo"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Snap su ancora nodo"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Snap ad altri nodi"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Snap to guides"
-msgstr "Allinea alle guide"
+msgstr "Snap sulle guide"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3711,14 +4478,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Ripristina l'abilità dei figli dell'oggetto di essere selezionati."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Crea Ossa"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Elimina Ossa"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Mostra Ossa"
@@ -3731,6 +4490,15 @@ msgid "Clear IK Chain"
msgstr "Elimina Catena IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Elimina Ossa"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Vista"
@@ -3746,23 +4514,20 @@ msgid "Show Helpers"
msgstr "Mostra Ossa"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show Rulers"
-msgstr "Mostra Ossa"
+msgstr "Mostra Righelli"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Guides"
msgstr "Mostra guide"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show Origin"
-msgstr "Visualizza Origine"
+msgstr "Mostra Origine"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show Viewport"
-msgstr "1 Vista"
+msgstr "Mostra Viewport"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3777,14 +4542,11 @@ msgid "Layout"
msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Inserisci Keys"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Inserisci Key"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Inserisci Key (Tracce Esistenti)"
@@ -3797,24 +4559,12 @@ msgid "Clear Pose"
msgstr "Pulisci Posa"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Drag pivot from mouse position"
-msgstr "Trascina pivot dalla posizione del mouse"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "Imposta pivot alla posizione del mouse"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Multiply grid step by 2"
-msgstr "Raddoppia step della griglia"
+msgstr "Moltiplica per 2 il passo della griglia"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Divide grid step by 2"
-msgstr "Dividi per 2 gli step della griglia"
+msgstr "Dividi per 2 il passo della griglia"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Add %s"
@@ -3824,13 +4574,9 @@ msgstr "Aggiungi %s"
msgid "Adding %s..."
msgstr "Aggiungendo %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
-msgstr ""
+msgstr "Impossibile istanziare nodi multipli in mancanza di root."
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
@@ -3862,27 +4608,20 @@ msgstr "Crea Poly3D"
msgid "Set Handle"
msgstr "Imposta Maniglia"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Rimuovi elemento %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Aggiungi Elemento"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Rimuovi Elementi Selezionati"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Particelle"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importa da Scena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Crea Punti Emissione Da Mesh"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Aggiorna da Scena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Crea Punti Emissione Da Nodo"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
@@ -3917,9 +4656,8 @@ msgid "Modify Curve Tangent"
msgstr "Modifica Tangente Curva"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Load Curve Preset"
-msgstr "Carica preset"
+msgstr "Carica Preset Curve"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Add point"
@@ -3930,23 +4668,20 @@ msgid "Remove point"
msgstr "Rimuovi punto"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Left linear"
-msgstr "Lineare"
+msgstr "Lineare sinistra"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Right linear"
-msgstr "Vista Destra"
+msgstr "Lineare destra"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Load preset"
msgstr "Carica preset"
#: editor/plugins/curve_editor_plugin.cpp
-#, fuzzy
msgid "Remove Curve Point"
-msgstr "Rimuovi Punto Percorso"
+msgstr "Rimuovi Punto"
#: editor/plugins/curve_editor_plugin.cpp
#, fuzzy
@@ -3959,16 +4694,7 @@ msgstr "Tenere Premuto Shift per modificare le tangenti singolarmente"
#: editor/plugins/gi_probe_editor_plugin.cpp
msgid "Bake GI Probe"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Aggiungi/Rimuovi Punto Rampa Colori"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modifica Rampa Colori"
+msgstr "Cuoci GI Probe"
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -4045,19 +4771,22 @@ msgstr "Crea Mesh di Navigazione"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Contained Mesh is not of type ArrayMesh."
-msgstr ""
+msgstr "La Mesh contenuta non è del tipo ArrayMesh."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#, fuzzy
msgid "UV Unwrap failed, mesh may not be manifold?"
msgstr ""
+"UV Unwrap fallito, la mesh potrebbe non essere congruente (non-manifold)?"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "No mesh to debug."
-msgstr ""
+msgstr "Nessuna mesh da debuggare."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
-msgstr ""
+msgstr "Il modello non ha UV su questo layer"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "MeshInstance lacks a Mesh!"
@@ -4069,7 +4798,7 @@ msgstr "La mesh non ha superficie dalla quale creare un'outline!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!"
-msgstr ""
+msgstr "Il tipo primitivo di Mesh non corrisponde a PRIMITIVE_TRIANGLES!"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
@@ -4104,18 +4833,16 @@ msgid "Create Outline Mesh..."
msgstr "Crea Mesh di Outline..."
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "View UV1"
-msgstr "Vista"
+msgstr "Vista UV1"
#: editor/plugins/mesh_instance_editor_plugin.cpp
-#, fuzzy
msgid "View UV2"
-msgstr "Vista"
+msgstr "Vista UV2"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Unwrap UV2 for Lightmap/AO"
-msgstr ""
+msgstr "Unwrap UV2 per Lightmap/AO"
#: editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh"
@@ -4125,6 +4852,27 @@ msgstr "Crea Mesh di Outline"
msgid "Outline Size:"
msgstr "Dimensione Outline:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Rimuovi elemento %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Aggiungi Elemento"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Rimuovi Elementi Selezionati"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importa da Scena"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Aggiorna da Scena"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4227,80 +4975,6 @@ msgstr "Scala Casuale:"
msgid "Populate"
msgstr "Popola"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Bake!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Bake the navigation mesh."
-msgstr "Crea Mesh di Navigazione"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Clear the navigation mesh."
-msgstr "Elimina Mesh di Navigazione"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Setting up Configuration..."
-msgstr "Impostando Configurazione..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Calcolando dimensioni griglia..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating heightfield..."
-msgstr "Creazione Octree Luci"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Marking walkable triangles..."
-msgstr "Stringhe Traducibili..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Partizionando..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating contours..."
-msgstr "Creazione Octree Texture"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating polymesh..."
-msgstr "Crea Mesh di Outline..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Converting to native navigation mesh..."
-msgstr "Convertendo a Mesh do Navigazione nativa..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Impostazioni Generatore Rete di Navigazione"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Parsing Geometry..."
-msgstr "Elaborazione Geometria"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Fatto!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Crea Poligono di Navigazione"
@@ -4363,18 +5037,6 @@ msgid "Emission Colors"
msgstr "Colori Emissione"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Il nodo non contiene geometria."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Il nodo non contiene geometria (facce)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Un processor material di tipo 'ParticlesMaterial' é richiesto."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Le facce non contengono area!"
@@ -4383,16 +5045,12 @@ msgid "No faces!"
msgstr "Nessuna faccia!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Genera AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Crea Punti Emissione Da Mesh"
+msgid "Node does not contain geometry."
+msgstr "Il nodo non contiene geometria."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Crea Punti Emissione Da Nodo"
+msgid "Node does not contain geometry (faces)."
+msgstr "Il nodo non contiene geometria (facce)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4419,6 +5077,19 @@ msgid "Emission Source: "
msgstr "Sorgente Emissione: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Un processor material di tipo 'ParticlesMaterial' é richiesto."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Genera AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Converti In Maiuscolo"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Genera Visibilità AABB"
@@ -4495,6 +5166,22 @@ msgstr "Elimina Punto"
msgid "Close Curve"
msgstr "Chiudi curva"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opzioni"
+
+#: 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 "Punto Curva #"
@@ -4504,14 +5191,12 @@ msgid "Set Curve Point Position"
msgstr "Imposta Posizione Punto Curva"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve In Position"
-msgstr "Imposta Posizione Curve In"
+msgstr "Imposta Curva In Posizione"
#: editor/plugins/path_editor_plugin.cpp
-#, fuzzy
msgid "Set Curve Out Position"
-msgstr "Imposta Posizione Curve Out"
+msgstr "Imposta posizione curva esterna"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
@@ -4529,19 +5214,95 @@ msgstr "Rimuovi Punto Out-Control"
msgid "Remove In-Control Point"
msgstr "Rimuovi Punto In-Control"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Sposta Punto"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Mostra Ossa"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Crea UV Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Crea Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "L'Azione '%s' esiste già!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Aggiungi punto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Percorso Invalido!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Rimuovi punto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Trasla UV Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon 2D UV Editor"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Modifica Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Dividi Percorso"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Crea Ossa"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Crea Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Sposta Punto"
@@ -4570,12 +5331,25 @@ msgid "Scale Polygon"
msgstr "Scala Poligono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Modifica"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Prima seleziona un oggetto di impostazione!"
+
+#: 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 "Polygon->UV"
@@ -4590,9 +5364,9 @@ msgid "Clear UV"
msgstr "Cancella UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Snap"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Impostazioni Snap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4602,6 +5376,36 @@ msgstr "Abilita Snap"
msgid "Grid"
msgstr "Griglia"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configura Snap"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Offset Griglia:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Offset Griglia:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Step Griglia:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Step Griglia:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Scala Poligono"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ERROERE: Impossibile caricare la risorsa!"
@@ -4624,6 +5428,10 @@ msgid "Resource clipboard is empty!"
msgstr "Clipboard risorse vuota!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Incolla Risorsa"
+
+#: 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"
@@ -4645,27 +5453,40 @@ msgid "Load Resource"
msgstr "Carica Risorsa"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Incolla"
+msgid "ResourcePreloader"
+msgstr "Preloader Risorsa"
-#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
#, fuzzy
-msgid "ResourcePreloader"
-msgstr "Percorso Risosa"
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Animation tree invalido."
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Elimina File recenti"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Close and save changes?"
-msgstr ""
-"Chiudere e salvare i cambiamenti?\n"
-"\""
+msgstr "Chiudere e salvare i cambiamenti?"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Errore spostamento file:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Impossibile caricare l'immagine"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Errore di salvataggio TileSet!"
#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
@@ -4684,6 +5505,21 @@ msgid "Error importing"
msgstr "Errore di importazione"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nuova Cartella..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Apri un File"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Salva Come..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importa Tema"
@@ -4692,11 +5528,14 @@ msgid "Save Theme As..."
msgstr "Salva Tema Come..."
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid " Class Reference"
msgstr " Riferimento di Classe"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "Ordina:"
@@ -4726,8 +5565,9 @@ msgid "File"
msgstr "File"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nuovo"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Vedi Files"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4738,9 +5578,8 @@ msgid "Soft Reload Script"
msgstr "Ricarica Script Soft"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Copy Script Path"
-msgstr "Copia Percorso"
+msgstr "Copia Percorso Script"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
@@ -4756,6 +5595,11 @@ msgid "History Next"
msgstr "Cronologia Prec."
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Ricarica Tema"
@@ -4776,23 +5620,16 @@ msgid "Close All"
msgstr "Chiudi Tutto"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Close Other Tabs"
-msgstr "Chiudi le Altre Schede"
+msgstr "Chiudi le altre schede"
#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
msgid "Run"
msgstr "Esegui"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Toggle Scripts Panel"
-msgstr "Attiva Preferito"
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Trova..."
+msgstr "Attiva Pannello Scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
@@ -4821,9 +5658,8 @@ msgid "Keep Debugger Open"
msgstr "Mantieni Debugger Aperto"
#: editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Debug with external editor"
-msgstr "Apri l'Editor successivo"
+msgstr "Debug con editor esterno"
#: editor/plugins/script_editor_plugin.cpp
msgid "Open Godot online documentation"
@@ -4850,10 +5686,6 @@ msgid "Discard"
msgstr "Scarta"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Crea Script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4874,6 +5706,16 @@ msgid "Debugger"
msgstr "Debugger"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Cerca Aiuto"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Cerca Classi"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4882,49 +5724,64 @@ msgstr ""
#: editor/plugins/script_text_editor.cpp
#, fuzzy
+msgid "Line"
+msgstr "Riga:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#, fuzzy
msgid "Only resources from filesystem can be dropped."
msgstr "Solo le risorse del filesystem possono essere liberate."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Completa Simbolo"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Scegli Colore"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Converti Maiuscole/Minuscole"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Maiuscolo"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Minuscolo"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Aggiungi maiuscola iniziale"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Taglia"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copia"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
msgstr "Seleziona tutti"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Delete Line"
-msgstr "Elimina Punto"
+msgstr "Elimina Linea"
#: editor/plugins/script_text_editor.cpp
msgid "Indent Left"
@@ -4939,18 +5796,16 @@ msgid "Toggle Comment"
msgstr "Cambia a Commento"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Fold/Unfold Line"
-msgstr "Svolgere Linea"
+msgstr "Piega/Dispiega Linea"
#: editor/plugins/script_text_editor.cpp
msgid "Fold All Lines"
msgstr "Piegare Tutte le Linee"
#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Unfold All Lines"
-msgstr "Svolgere Tutte le Linee"
+msgstr "Dispiegare Tutte le Linee"
#: editor/plugins/script_text_editor.cpp
msgid "Clone Down"
@@ -5006,8 +5861,9 @@ msgid "Find Previous"
msgstr "Trova Precedente"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Rimpiazza..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtra Files..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -5025,129 +5881,42 @@ msgstr "Aiuto Contestuale"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Cambia Costante Scalare"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Cambia Costante Vett."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Cambia Costante RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Cambia Operatore Scalare"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Cambia Operatore Vett."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Cambia Operatore Scalare Vett."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Cambia Operatore RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Abilita Solo Rot"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Cambia Funzione Scalare"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Cambia Funzione Vett."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Cambia Uniforme Scalare"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Cambia Uniforme Vett."
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Cambia Uniforme RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Cambia Valore di Default"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Cambia Uniforme XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Cambia Uniforme Texture"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Cambia Uniforme Cubemap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Cambia Commento"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Aggiungi/Rimuovi alla Rampa Colori"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Aggiung/Rimuovi alla Mappa Curve"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Modifica la Mappa Curve"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Cambia Nome Input"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Connetti Nodi Grafico"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Disconnetti Nodi Grafico"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Rimuovi Nodo Grafico di Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Scheletro..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Sposta Nodo Grafico di Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Duplica Nodo(i) Grafico"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Elimina Nodo(i) Grafico di Shader"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Crea Mesh di Navigazione"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Errore: Giunzione ciclica"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Scheletro..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Errore: Connessioni Input MAncanti"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Crea Outline"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Aggiungi Nodo Grafico Shader"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Play"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5180,12 +5949,11 @@ msgstr "Visualizza Tranform del Piano."
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Scaling: "
-msgstr "Scala:"
+msgstr "Scala: "
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Translating: "
-msgstr "Traduzioni:"
+msgstr "Traducendo: "
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Rotating %s degrees."
@@ -5276,10 +6044,6 @@ msgid "Align with view"
msgstr "Allinea a vista"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Nessun genitore del quale istanziare un figlio."
@@ -5288,6 +6052,11 @@ msgid "This operation requires a single selected node."
msgstr "Questa operazione richiede un solo nodo selezionato."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Visualizza Informazioni"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Mostra Normale"
@@ -5316,23 +6085,25 @@ msgid "View Information"
msgstr "Visualizza Informazioni"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "View FPS"
-msgstr "Vedi Files"
+msgstr "Vedi FPS"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Half Resolution"
-msgstr "Scala Selezione"
+msgstr "Risoluzione Dimezzata"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Audio Listener"
msgstr "Audio Listener"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Doppler Enable"
-msgstr "Abilita"
+msgstr "Abilita Doppler"
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Creazione Anteprime Mesh"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -5367,17 +6138,18 @@ msgid "XForm Dialog"
msgstr "Finestra di XForm"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Select Mode (Q)"
-msgstr "Modalità di Selezione"
+msgstr "Modalità di Selezione (Q)"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid ""
"Drag: Rotate\n"
"Alt+Drag: Move\n"
"Alt+RMB: Depth list selection"
-msgstr "Alt+RMB: Selezione Lista Profondità"
+msgstr ""
+"Trascina: Ruota\n"
+"Alt+Trascina: Muovi\n"
+"Alt+RMB: Selezione Lista Profondità"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Move Mode (W)"
@@ -5396,14 +6168,12 @@ msgid "Local Coords"
msgstr "Coordinate locali"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Local Space Mode (%s)"
-msgstr "Modalità Scala (R)"
+msgstr "Modalità Spazio Locale (%s)"
#: editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Snap Mode (%s)"
-msgstr "Modalità Snap:"
+msgstr "Modalità Snap (%s)"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View"
@@ -5467,14 +6237,22 @@ msgstr "Strumento Scala"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
+msgid "Snap To Floor"
+msgstr "Allinea alla griglia"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
-msgstr "Abilita/Disabilita Fullscreen"
+msgstr "Abilita/Disabilita Vista libera"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform"
msgstr "Transform"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Finestra di Transform..."
@@ -5503,6 +6281,11 @@ msgid "4 Viewports"
msgstr "4 Viste"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Visualizza Gizmos"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Visualizza Origine"
@@ -5516,10 +6299,6 @@ msgid "Settings"
msgstr "Impostazioni"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Impostazioni Snap"
@@ -5579,6 +6358,53 @@ msgstr "Pre"
msgid "Post"
msgstr "Post"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Il percorso di salvataggio è vuoto!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "Sprite Frames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Converti In..."
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Crea Mesh di Outline"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Snap (Pixels):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Anteprima Atlas"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Impostazioni"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ERRORE: Impossibile caricare la risorsa frame!"
@@ -5636,33 +6462,20 @@ msgid "Insert Empty (After)"
msgstr "Inserisci Vuoto (Dopo)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (Before)"
-msgstr "Rimuovi nodo(i)"
+msgstr "Sposta (Prima)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "Move (After)"
-msgstr "Sposta a Sinistra"
+msgstr "Sposta (Dopo)"
#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
msgid "SpriteFrames"
-msgstr "Impila Frame"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "Anteprima StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-#, fuzzy
-msgid "StyleBox"
-msgstr "Stile"
+msgstr "Sprite Frames"
#: editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Set Region Rect"
-msgstr "Imposta region_rect"
+msgstr "Imposta Region Rect"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Snap Mode:"
@@ -5685,28 +6498,22 @@ msgid "Auto Slice"
msgstr "Auto Divisione"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Offset:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Step:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Separazione:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Regione Texture"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Editor Regioni Texture"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Impossibile salvare il tema su file:"
@@ -5720,19 +6527,12 @@ msgid "Add All"
msgstr "Aggiungi Tutti"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Rimuovi Elemento"
-
-#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Items"
-msgstr "Rimuovi Elementi di Classe"
+msgstr "Rimuovi tutti gli elementi"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Remove All"
-msgstr "Rimuovi"
+msgstr "Rimuovi tutto"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Edit theme..."
@@ -5759,9 +6559,8 @@ msgid "Create Empty Editor Template"
msgstr "Crea Template Editor Vuota"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Create From Current Editor Theme"
-msgstr "Crea Template Editor Vuota"
+msgstr "Crea da Tema Editor corrente"
#: editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio1"
@@ -5784,14 +6583,12 @@ msgid "Checked Item"
msgstr "Checked Item"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Radio Item"
-msgstr "Aggiungi Elemento"
+msgstr "Radio Elemento"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
msgid "Checked Radio Item"
-msgstr "Checked Item"
+msgstr "Elemento Radio Controllato"
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has"
@@ -5801,10 +6598,6 @@ msgstr "Ha"
msgid "Many"
msgstr "Molte"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opzioni"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5830,7 +6623,7 @@ msgstr "Tipo Dato:"
msgid "Icon"
msgstr "Icona"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Stile"
@@ -5843,8 +6636,8 @@ msgid "Color"
msgstr "Colore"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+msgid "Constant"
+msgstr "Costante"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5852,13 +6645,17 @@ msgid "Erase Selection"
msgstr "Cancella selezione"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nome Invalido."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Disegna TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Line Draw"
-msgstr "Lineare"
+msgstr "Disegna Linea"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rectangle Paint"
@@ -5874,11 +6671,8 @@ msgid "Erase TileMap"
msgstr "Cancella TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Cancella selezione"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Trova tile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5894,15 +6688,19 @@ msgid "Mirror Y"
msgstr "Specchia Y"
#: editor/plugins/tile_map_editor_plugin.cpp
-#, fuzzy
msgid "Paint Tile"
-msgstr "Disegna TileMap"
+msgstr "Disegna Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Pick Tile"
msgstr "Preleva Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Rimuovi Selezione"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Ruota a 0 gradi"
@@ -5919,12 +6717,40 @@ msgid "Rotate 270 degrees"
msgstr "Ruota a 270 gradi"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Impossibile trovare tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Aggiungi Nodo(i) Da Albero"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Rimuovi Punto Percorso"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr "Crea da Scena"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr "Unisci da Scena"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nome elemento o ID:"
+msgid "Remove Selected Textue and ALL TILES wich uses 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?"
@@ -5935,51 +6761,69 @@ msgid "Merge from scene?"
msgstr "Unisci da scena?"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid " file(s) was not added because was already on the list."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Crea da Scena"
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Unisci da Scena"
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Errore"
+msgid ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Autotiles"
-msgstr "Auto Divisione"
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
+msgstr "Salva la risorsa in modifica."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings."
+"bindings.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
-"LMB: set bit on.\n"
-"RMB: set bit off."
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
-msgstr "Salva la risorsa in modifica."
+msgid "This property can't be changed."
+msgstr "Questa operazione non può essere eseguita senza una scena."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
-msgstr ""
+msgid "Tile Set"
+msgstr "TileSet"
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Annulla"
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vertici"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Frammento"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Destra"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5996,7 +6840,7 @@ msgstr "Eliminare preset '%s'?"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr "Le export templates per questa piattaforma sono mancanti:"
#: editor/project_export.cpp
@@ -6076,11 +6920,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Le export templates per questa piattaforma sono mancanti:"
#: editor/project_export.cpp
-#, fuzzy
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Le export templates per questa piattaforma sono mancanti:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "Esporta Con Debug"
@@ -6091,8 +6930,9 @@ msgstr "File non esistente."
#: editor/project_manager.cpp
#, fuzzy
-msgid "Please choose a 'project.godot' file."
-msgstr "Si prega di esportare al di fuori della cartella del progetto!"
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+"Per favore seleziona una cartella che non contiene un file 'project.godot'."
#: editor/project_manager.cpp
#, fuzzy
@@ -6100,6 +6940,15 @@ msgid "Please choose an empty folder."
msgstr "Si prega di esportare al di fuori della cartella del progetto!"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Si prega di esportare al di fuori della cartella del progetto!"
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Progetto Importato"
@@ -6195,6 +7044,11 @@ msgid "Project Path:"
msgstr "Percorso Progetto:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Percorso Progetto:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Sfoglia"
@@ -6320,8 +7174,8 @@ msgstr "Pulsante Mouse"
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6333,9 +7187,23 @@ msgid "Rename Input Action Event"
msgstr "Rinomina Evento di Azione Input"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Cambia Nome Animazione:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Aggiungi Evento di Azione Input"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Dispositivo"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Dispositivo"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6377,20 +7245,24 @@ msgid "Wheel Down Button"
msgstr "Pulsante Rotellina Giù"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Pulsante 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Pulsante Rotellina Su"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Pulsante 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Pulsante Destro"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Pulsante 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Pulsante 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Pulsante 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Pulsante 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6418,10 +7290,6 @@ msgid "Add Event"
msgstr "Aggiungi Evento"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Dispositivo"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Pulsante"
@@ -6469,6 +7337,12 @@ msgid "Delete Item"
msgstr "Elimina Input"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
#, fuzzy
msgid "Already existing"
msgstr "Attiva Persistenza"
@@ -6542,6 +7416,10 @@ msgstr "Proprietà:"
msgid "Override For..."
msgstr "Sovrascrivi Per..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Mappa Input"
@@ -6551,6 +7429,14 @@ msgid "Action:"
msgstr "Azione:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Azione"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Dispositivo:"
@@ -6615,10 +7501,6 @@ msgid "AutoLoad"
msgstr "AutoLoad"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Scegli una Vista"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Ease In"
@@ -6656,37 +7538,10 @@ msgid "Select Node"
msgstr "Scegli un Nodo"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Nuovo Script"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Make Unique"
-msgstr "Crea Ossa"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Mostra nel File System"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Convert To %s"
-msgstr "Converti In..."
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Errore caricamento file: Non è una risorsa!"
#: editor/property_editor.cpp
-#, fuzzy
-msgid "Selected node is not a Viewport!"
-msgstr "Scegli Nodo(i) da Importare"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Scegli un Nodo"
@@ -6695,19 +7550,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, val %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "On"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "[Empty]"
-msgstr "Aggiungi vuoto"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Set"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Proprietà:"
@@ -6732,6 +7574,134 @@ msgstr "Impossibile eseguire lo strumento di PVRTC:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "Impossibile ricaricare l'immagine convertita usando il tool PVRTC:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Rinomina"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opzioni snapping"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nome Nodo:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Trova Tipo Nodo"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Scena Corrente"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nome Nodo di Root:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Step:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Cambia Espressione"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Script di Post-Process:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Mantieni"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Minuscolo"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Maiuscolo"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Resetta Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Errore"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Reparent Nodo"
@@ -6768,11 +7738,6 @@ msgstr "Argomenti Scena Principale:"
msgid "Scene Run Settings"
msgstr "Impostazioni Esecuzione Scena"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Nessun genitore nel quale istanziare una scena."
@@ -6794,6 +7759,10 @@ msgid "Instance Scene(s)"
msgstr "Istanzia Scena(e)"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Svuota Script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Questa operazione non può essere eseguita alla radice dell'albero."
@@ -6834,12 +7803,33 @@ msgid "Load As Placeholder"
msgstr "Carica come placeholder"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Scarta Istanziamento"
+msgid "Make Local"
+msgstr "Rendi Locale"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Ha Senso!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Crea Nodo"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Liberare ereditarietà"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Taglia Nodi"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6847,7 +7837,11 @@ msgstr "Impossibile operare su nodi da scena esterna!"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes the current scene inherits from!"
-msgstr "Impossibile operare su nodi da cuoi la scena corrente eredita!"
+msgstr "Impossibile operare su nodi da cui la scena corrente eredita!"
+
+#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Allega Script"
#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
@@ -6895,18 +7889,15 @@ msgid "Change Type"
msgstr "Cambia Tipo"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Allega Script"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Svuota Script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Nuova Scena di Root"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Unisci Da Scena"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Salva Ramo come Scena"
@@ -6931,11 +7922,6 @@ msgstr ""
"root esiste."
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "Filtri"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Allega un nuovo script o uno esistente al nodo selezionato."
@@ -6957,25 +7943,19 @@ msgstr "Locale"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Liberare ereditarietà? (No Undo!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Libera!"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Abilita Spatial Visibile"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Abilita CanvasItem Visibile"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Abilita Visibilità"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Avviso confugurazione nodo:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Il nodo ha connessioni e gruppi\n"
@@ -6998,22 +7978,25 @@ msgstr ""
"Il nodo e in un gruppo.\n"
"Fai click per mostrare il dock gruppi."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Apri script"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Il nodo é bloccato.\n"
"Fai click per sbloccarlo"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"I figli non sono selezionabili.\n"
"Fai click per renderli selezionabili"
@@ -7023,6 +8006,12 @@ msgid "Toggle Visibility"
msgstr "Abilita Visibilità"
#: 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 "Nome nodo invalido, i caratteri seguenti non sono consentiti:"
@@ -7061,6 +8050,11 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Apri Editor Script"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Percorso vuoto"
@@ -7300,10 +8294,23 @@ msgid "Change Camera Size"
msgstr "Cambia dimensione Telecamera"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Cambia Estensione di Notifier"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Cambia AABB Particelle"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Cambia Estensione Probe"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Cambia Raggio di Sphere Shape"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Cambia Ampiezza Box Shape"
@@ -7316,20 +8323,38 @@ msgid "Change Capsule Shape Height"
msgstr "Cambia Altezza Capsule Shape"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Cambia lunghezza Ray Shape"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Cambia Raggio Capsule Shape"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Cambia Estensione di Notifier"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Cambia Altezza Capsule Shape"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Cambia AABB Particelle"
+msgid "Change Ray Shape Length"
+msgstr "Cambia lunghezza Ray Shape"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Cambia Estensione Probe"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Cambia Raggio Luce"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Cambia Altezza Capsule Shape"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Cambia Raggio di Sphere Shape"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Cambia Raggio Luce"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7390,18 +8415,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Argomento tipo invalido per convert(), usare le costanti TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"Non vi sono abbastanza bytes per i bytes di decodifica, oppure formato "
-"invalido."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "step argument è zero!"
@@ -7472,6 +8485,11 @@ msgstr "Elimina selezionati"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Elimina selezionati"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "Duplica Selezione"
@@ -7569,6 +8587,11 @@ msgstr "Centra Selezione"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "Seleziona Tutto"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "Impostazioni Snap"
@@ -7647,6 +8670,73 @@ msgstr "Vedi Files"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Bake!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Bake the navigation mesh."
+msgstr "Crea Mesh di Navigazione"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Clear the navigation mesh."
+msgstr "Elimina Mesh di Navigazione"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Setting up Configuration..."
+msgstr "Impostando Configurazione..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Calcolando dimensioni griglia..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Creazione heightfield..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Segnando triangoli percorribili..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Costruendo heightfield compatto..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Erodendo area percorribile..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Partizionando..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Creazione contorni..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Creando polymesh..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Convertendo a Mesh di Navigazione nativa..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Impostazioni Generatore Mesh di Navigazione:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Elaborazione Geometria..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Fatto!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7709,10 +8799,6 @@ msgid "Set Variable Type"
msgstr "Modifica Variabile:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funzioni:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Valiabili:"
@@ -7834,36 +8920,14 @@ msgid "Connect Nodes"
msgstr "Connetti A Nodo:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condizione"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sequenza"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Interruttore"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iteratore"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "While"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Ritorna"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Chiama"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Connetti A Nodo:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Get"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Connetti A Nodo:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7894,28 +8958,18 @@ msgid "Remove Function"
msgstr "Rimuovi Funzione"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Variable"
-msgstr "Modifica Variabile:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Rimuovi Variabile"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "Modifica Segnale:"
+msgid "Editing Variable:"
+msgstr "Modifica Variabile:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Rimuovi Segnale"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Modifica Variabile:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Modifica Segnale:"
@@ -7959,6 +9013,11 @@ msgstr "Taglia Nodi"
msgid "Paste Nodes"
msgstr "Incolla Nodi"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Membri"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Il tipo di input non è iterabile: "
@@ -8017,6 +9076,19 @@ msgstr ""
"Valore di return invalido da _step(), deve esere intero (seq out), oppure "
"stringa (errore)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Rimuovi Nodo Grafico di Shader"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Get"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Esegui nel Browser"
@@ -8074,8 +9146,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -8188,6 +9260,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"La proprietà path deve puntare ad un nodo Node2D valido per funzionare."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8258,8 +9343,8 @@ msgstr "Bliting Immagini"
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8353,6 +9438,21 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
msgstr ""
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"I cambiamenti di dimensione a RigidBody (nel personaggio o nelle modalità "
+"rigide) saranno sovrascritti dal motore fisico quando in esecuzione.\n"
+"Modifica invece la dimensione in sagome di collisione figlie."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8369,6 +9469,48 @@ msgstr ""
"VehicleWheel serve a provvedere un sistema di ruote a VehicleBody. Per "
"favore usalo come figlio di VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Strumenti di Animazione"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERRORE: Nome animazione invalido!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Disconnetti '%s' da '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Seleziona un AnimationPlayer dallo Scene Tree per modificare le animazioni."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Animation tree invalido."
+
#: scene/gui/color_picker.cpp
#, fuzzy
msgid "Raw Mode"
@@ -8452,12 +9594,378 @@ msgstr "Errore caricamento font."
msgid "Invalid font size."
msgstr "Dimensione font Invalida."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Aggiungi Input"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Nessuno>"
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Scheda precedente"
+msgid "Invalid source for shader."
+msgstr "Sorgente invalida!"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Cambia Costante Scalare"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Cambia Costante Vett."
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Cambia Costante RGB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Cambia Operatore Scalare"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Cambia Operatore Vett."
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Cambia Operatore Scalare Vett."
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Cambia Operatore RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Abilita Solo Rot"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Cambia Funzione Scalare"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Cambia Funzione Vett."
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Cambia Uniforme Scalare"
-#~ msgid "Next"
-#~ msgstr "Successivo"
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Cambia Uniforme Vett."
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Cambia Uniforme RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Cambia Valore di Default"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Cambia Uniforme XForm"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Cambia Uniforme Texture"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Cambia Uniforme Cubemap"
+
+#~ msgid "Change Comment"
+#~ msgstr "Cambia Commento"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Aggiungi/Rimuovi alla Rampa Colori"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modifica Rampa Colori"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Aggiung/Rimuovi alla Mappa Curve"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Modifica la Mappa Curve"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Cambia Nome Input"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Connetti Nodi Grafico"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Disconnetti Nodi Grafico"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Rimuovi Nodo Grafico di Shader"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Sposta Nodo Grafico di Shader"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Duplica Nodo(i) Grafico"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Elimina Nodo(i) Grafico di Shader"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Errore: Giunzione ciclica"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Errore: Connessioni Input MAncanti"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Aggiungi Nodo Grafico Shader"
+
+#~ msgid "Disabled"
+#~ msgstr "Disabilitato"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Muovi Traccia Animazione Su"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Muovi Traccia Animazione Giù"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Imposta Transizione a:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Traccia Anim Rinomina"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Traccia Anim Cambia Interpolazione"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Traccia Anim Cambia Modalità Valore"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Traccia Anim Cambia Modalità avvolgimento"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Modifica Curva del Nodo"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Modifica Selezione Curva"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Aggiungi Key"
+
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "Out"
+
+#~ msgid "In-Out"
+#~ msgstr "In-Out"
+
+#~ msgid "Out-In"
+#~ msgstr "Out-In"
+
+#~ msgid "Transitions"
+#~ msgstr "Transizioni"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Cambia Lunghezza Animazione"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Cambia Loop Animazione"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim Crea Typed Value Key"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim Aggiungi Chiamata Traccia"
+
+#~ msgid "Length (s):"
+#~ msgstr "Lunghezza (e):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Step (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Step Snap Cursore (in secondi)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Attiva/Disattiva loop animazione."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Aggiungi nuova traccia."
+
+#~ msgid "Move current track up."
+#~ msgstr "Muovi la traccia corrente su."
+
+#~ msgid "Move current track down."
+#~ msgstr "Muovi la traccia corrente giù."
+
+#~ msgid "Track tools"
+#~ msgstr "Strumenti traccia"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Attiva modifica di key individuali cliccandovi."
+
+#~ msgid "Key"
+#~ msgstr "Key"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Chiama Funzioni in Quale Nodo?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Grazie!"
+
+#~ msgid "I see..."
+#~ msgstr "Capisco..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Impossibile aprire '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Ugh"
+
+#~ msgid "Run Script"
+#~ msgstr "Esegui Script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Salva la risorsa in modifica."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Interrrompi Profiling"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Inizia Profiling"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Default (Stesso che Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Crea nuova animazione nel player."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Carica animazione da disco."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Carica un'animazione da disco."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Salva l'animazione corrente"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Modifica i tempi di Blend della destinazione"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copia Animazione"
+
+#~ msgid "Fetching:"
+#~ msgstr "Recupero:"
+
+#~ msgid "prev"
+#~ msgstr "prec"
+
+#~ msgid "next"
+#~ msgstr "seguente"
+
+#~ msgid "last"
+#~ msgstr "ultimo"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Modifica Catena IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Trascina pivot dalla posizione del mouse"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Imposta pivot alla posizione del mouse"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Aggiungi/Rimuovi Punto Rampa Colori"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Visibilità Gizmo Scheletro"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "Anteprima StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "Stile Box"
+
+#~ msgid "Separation:"
+#~ msgstr "Separazione:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Editor Regioni Texture"
+
+#~ msgid "Erase selection"
+#~ msgstr "Cancella selezione"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Impossibile trovare tile:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nome elemento o ID:"
+
+#, fuzzy
+#~ msgid "Autotiles"
+#~ msgstr "Auto Divisione"
+
+#, fuzzy
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Le export templates per questa piattaforma sono mancanti:"
+
+#~ msgid "Button 7"
+#~ msgstr "Pulsante 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Pulsante 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Pulsante 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Scarta Istanziamento"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "Ha Senso!"
+
+#~ msgid "Clear!"
+#~ msgstr "Libera!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Abilita Spatial Visibile"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Abilita CanvasItem Visibile"
+
+#~ msgid "Condition"
+#~ msgstr "Condizione"
+
+#~ msgid "Sequence"
+#~ msgstr "Sequenza"
+
+#~ msgid "Switch"
+#~ msgstr "Interruttore"
+
+#~ msgid "Iterator"
+#~ msgstr "Iteratore"
+
+#~ msgid "While"
+#~ msgstr "While"
+
+#~ msgid "Return"
+#~ msgstr "Ritorna"
+
+#~ msgid "Call"
+#~ msgstr "Chiama"
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "Modifica Variabile:"
+
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "Modifica Segnale:"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Azione invalida (va bene tutto a parte '/' o ':')."
@@ -8476,11 +9984,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Can't write file."
#~ msgstr "Impossibile scrivere il file."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Per favore seleziona una cartella che non contiene un file 'project."
-#~ "godot'."
-
#, fuzzy
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Impossibile creare project.godot nel percorso di progetto."
@@ -8607,9 +10110,6 @@ msgstr "Dimensione font Invalida."
#~ "Il Viewport impostato nella proprietà path deve essere impostato come "
#~ "'render target' affinché questa sprite funzioni."
-#~ msgid "Filter:"
-#~ msgstr "Filtro:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' fallita lettura della configurazione."
@@ -8649,9 +10149,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "La scena corrente deve essere salvata per re-importare."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Salva e Re-Importa"
-
#~ msgid "Re-Importing"
#~ msgstr "Re-Importando"
@@ -8687,9 +10184,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "Impossibile rinominare dipendenze per:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "Errore spostamento file:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Scegli un Nuovo Nome e Posizione Per:"
@@ -8715,9 +10209,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Target path must exist."
#~ msgstr "Il percorso di destinazione deve esistere."
-#~ msgid "Save path is empty!"
-#~ msgstr "Il percorso di salvataggio è vuoto!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Importa BitMasks"
@@ -8828,15 +10319,9 @@ msgstr "Dimensione font Invalida."
#~ msgid "Max Angle"
#~ msgstr "Angolo Max"
-#~ msgid "Clips"
-#~ msgstr "Clips"
-
#~ msgid "Start(s)"
#~ msgstr "Inizio(i)"
-#~ msgid "End(s)"
-#~ msgstr "Fine(i)"
-
#~ msgid "Filters"
#~ msgstr "Filtri"
@@ -8867,18 +10352,12 @@ msgstr "Dimensione font Invalida."
#~ msgid "Target Texture Folder:"
#~ msgstr "Cartella Texture di Destinazione:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Script di Post-Process:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Tipo di Nodo Root Personalizzato:"
#~ msgid "Auto"
#~ msgstr "Auto"
-#~ msgid "Root Node Name:"
-#~ msgstr "Nome Nodo di Root:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "I File Seguenti sono Mancanti:"
@@ -8938,9 +10417,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Importa Textures per Atlas (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Dimensione Cella:"
-
#~ msgid "Large Texture"
#~ msgstr "Texture Grande"
@@ -9023,9 +10499,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Impossibile salvare la texture convertita:"
-#~ msgid "Invalid source!"
-#~ msgstr "Sorgente invalida!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Sorgente traduzione invalida!"
@@ -9065,9 +10538,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Translation"
#~ msgstr "Traduzione"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "Elaborazione %d Triangoli:"
-
#~ msgid "Triangle #"
#~ msgstr "Triangolo #"
@@ -9092,24 +10562,12 @@ msgstr "Dimensione font Invalida."
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "Resetta il processo di baking dell'octree (ricomincia da capo)."
-#~ msgid "Zoom (%):"
-#~ msgstr "Zoom(%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Scheletro..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Zoom Reset"
-
#~ msgid "Zoom Set..."
#~ msgstr "Imposta Zoom..."
#~ msgid "Set a Value"
#~ msgstr "Imposta un Valore"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Snap (Pixels):"
-
#~ msgid "Parse BBCode"
#~ msgstr "Decodifica BBCode"
@@ -9185,15 +10643,9 @@ msgstr "Dimensione font Invalida."
#~ msgid "Resource Tools"
#~ msgstr "Strumenti Risorsa"
-#~ msgid "Make Local"
-#~ msgstr "Rendi Locale"
-
#~ msgid "Edit Groups"
#~ msgstr "Modifica Gruppi"
-#~ msgid "Edit Connections"
-#~ msgstr "Modifica Connessioni"
-
#, fuzzy
#~ msgid "Tiles"
#~ msgstr " Files"
@@ -9335,9 +10787,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Ambient Light Color:"
#~ msgstr "Colore Luce Ambiente:"
-#~ msgid "Couldn't load image"
-#~ msgstr "Impossibile caricare l'immagine"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Nome classe genitore invalido"
@@ -9353,9 +10802,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Nome classe genitore invalido!"
-#~ msgid "Invalid path!"
-#~ msgstr "Percorso Invalido!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "La proprietà path deve puntare a un nodo Particles2D valido per poter "
@@ -9457,9 +10903,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Delete Image Group"
#~ msgstr "Elimina Gruppo Immagini"
-#~ msgid "Atlas Preview"
-#~ msgstr "Anteprima Atlas"
-
#~ msgid "Project Export Settings"
#~ msgstr "Impostazioni Esportazione Progetto"
@@ -9472,9 +10915,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Export all files in the project directory."
#~ msgstr "Esporta tutti i file nella directory del progetto."
-#~ msgid "Action"
-#~ msgstr "Azione"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "Converti le scene in formato testuale in binario all'esportazione."
@@ -9502,9 +10942,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Compress Formats:"
#~ msgstr "Formati di Compressione:"
-#~ msgid "Image Groups"
-#~ msgstr "Gruppi Immagini"
-
#~ msgid "Groups:"
#~ msgstr "Gruppi:"
@@ -9544,9 +10981,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Modalità Conversione Sample (file .wav):"
-#~ msgid "Keep"
-#~ msgstr "Mantieni"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Comprimi (RAM - IMA-ADPCM)"
@@ -9589,9 +11023,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance non contiene una risorsa BakedLight."
-#~ msgid "Fragment"
-#~ msgstr "Frammento"
-
#~ msgid "Lighting"
#~ msgstr "Illuminazione"
@@ -9664,9 +11095,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Align with view (Ctrl+Shift+F)"
#~ msgstr "Allinea con vista (Ctrl+Shift+F)"
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "Cambia Interpolazione Loop Animazione"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "Attiva/Disattiva interpolazione durante loop animazione."
@@ -9683,9 +11111,6 @@ msgstr "Dimensione font Invalida."
#~ "Nessuna texture in questo nodo.\n"
#~ "Imposta una texture per poter modificare la regione."
-#~ msgid "New Scene Root"
-#~ msgstr "Nuova Scena di Root"
-
#~ msgid "Inherit Scene"
#~ msgstr "Eredita Scena"
@@ -9698,9 +11123,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Reload Tool Script (Soft)"
#~ msgstr "Ricarica Tool Script (Soft)"
-#~ msgid "Edit Connections..."
-#~ msgstr "Modifica Connessioni..."
-
#~ msgid "Set Params"
#~ msgstr "Imposta parametri"
@@ -9716,12 +11138,6 @@ msgstr "Dimensione font Invalida."
#~ msgid "Group Editor"
#~ msgstr "Editor Gruppo"
-#~ msgid "Node Group(s)"
-#~ msgstr "Gruppo(i) Nodi"
-
-#~ msgid "Plugin List:"
-#~ msgstr "Lista Plugin:"
-
#~ msgid "%d frames"
#~ msgstr "%d frames"
diff --git a/editor/translations/ja.po b/editor/translations/ja.po
index d7e2c07ac2..0f87aaeec5 100644
--- a/editor/translations/ja.po
+++ b/editor/translations/ja.po
@@ -15,356 +15,513 @@
# Tohru Ike (rokujyouhitoma) <rokujyouhitomajp@gmail.com>, 2017-2018.
# yu tang <0011solo@gmail.com>, 2018.
# zukkun <zukkun@gmail.com>, 2018.
+# sugusan <sugusan.development@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-06-15 22:40+0000\n"
-"Last-Translator: yu tang <0011solo@gmail.com>\n"
+"PO-Revision-Date: 2018-08-16 08:38+0000\n"
+"Last-Translator: sugusan <sugusan.development@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
"Language: ja\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 3.0.1\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "無効"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+#, fuzzy
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "Convert()ã«å¯¾ã—ã¦ç„¡åйãªåž‹ã®å¼•æ•°ã§ã™ã€‚TYPE_* 定数を使ã£ã¦ãã ã•ã„。"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "ã™ã¹ã¦é¸æŠž"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "ノード%sã®ä¸æ­£ãªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®ãƒ—ロパティå'%s' ."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "ノード%sã®ä¸æ­£ãªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®ãƒ—ロパティå'%s' ."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ":䏿­£ãªå¼•æ•°ã§ã™.引数ã®åž‹=: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Free"
+msgstr "解放"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "エラー"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "キーフレームを挿入"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "é¸æŠžç¯„å›²ã‚’è¤‡è£½"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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 "Anim 値を変更"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "アニメーション 変化ã¨ãã®ç§»ã‚Šå¤‰ã‚り(トランジション)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "アニメーションã®ãƒˆãƒ©ãƒ³ã‚¹ãƒ•ォーム(変形)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "Anim 値を変更"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Call"
msgstr "Anim コールã®å¤‰æ›´(Call)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Anim Add Track"
-msgstr "Anim トラックを追加"
+msgid "Property Track"
+msgstr "プロパティ:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "アニメーションã®ã‚­ãƒ¼ãƒ•レームを複製"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "トランスフォーム"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Anim トラックを上ã«ç§»å‹•"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Anim トラックを下ã«ç§»å‹•"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Anim トラックを削除"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "トランジションを設定:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "アニメーションå†ç”Ÿã‚’中止(S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim トラックåã®å¤‰æ›´"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim トラックを追加"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim トラック補間ã®å¤‰æ›´"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "アニメーションã®é•·ã• (å˜ä½ã¯ç§’)。"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Anim Track Change Value Mode"
-msgstr "Anim トラック 値モードã®å¤‰æ›´"
+msgid "Animation Looping"
+msgstr "アニメーション 拡大。"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim トラック ラップモードã®å¤‰æ›´"
+msgid "Functions:"
+msgstr "関数を作æˆ"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "ノード カーブを編集"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "オーディオリスナー"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "é¸æŠžæ›²ç·šã‚’ç·¨é›†"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "クリップ"
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "アニメーションã®ã‚­ãƒ¼ãƒ•レームを削除"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "最低é™ãƒ¢ãƒ¼ãƒ‰"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "é¸æŠžç¯„å›²ã‚’è¤‡è£½"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "複製を転置"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "アニメーションã®ãƒŽãƒ¼ãƒ‰"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "é¸æŠžã—ãŸãƒˆãƒ©ãƒƒã‚¯ã‚’削除ã—ã¾ã™ã€‚"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "クロスフェード時間(秒)"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "継続的"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "離散"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "トリガー"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim キーを追加"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim キーã®ç§»å‹•"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Scale Selection"
-msgstr "縮尺(Scale)ã®é¸æŠž"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Scale From Cursor"
-msgstr "カーソル起点ã§ç¸®å°º(Scale)変更"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "次ã®ã‚¹ãƒ†ãƒƒãƒ—ã¸"
+msgid "Capture"
+msgstr "テクスãƒãƒ£"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "å‰ã®ã‚¹ãƒ†ãƒƒãƒ—ã¸"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "等速"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "コンスタント"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "イン"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "アウト"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "イン - アウト"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "アウト - イン"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Insert Key"
+msgstr "キーフレームを挿入"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Transitions"
-msgstr "é·ç§»ï¼ˆãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ï¼‰"
+msgid "Duplicate Key(s)"
+msgstr "ノードを複製"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã®æœ€é©åŒ–"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "ノードを消去"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "アニメーションをクリーンアップ"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Anim トラックを削除"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "%s ã®æ–°ã—ã„トラックを作æˆã—ã€ã‚­ãƒ¼ã‚’挿入ã—ã¾ã™ã‹ï¼Ÿ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "æ–°ã—ã„ %d トラックを作æˆã—ã€ã‚­ãƒ¼ã‚’挿入ã—ã¾ã™ã‹ï¼Ÿ"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "作æˆ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim 挿入"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim ã®ä½œæˆãƒ»æŒ¿å…¥"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim トラック ・ キーを挿入"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim キーを挿入"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Anim Len を変更"
+#: 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_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Anim Loop を変更"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim ã¯ã€åž‹æŒ‡å®šã•れãŸå€¤ã®ã‚­ãƒ¼ã‚’作æˆ"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim 挿入"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "変数ã®get(VariableGet)ãŒã‚¹ã‚¯ãƒªãƒ—トã«ç„¡ã„: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim キーã®ç§»å‹•"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "リソースã®ã‚¯ãƒªãƒƒãƒ—ボードã¯ç©ºã§ã™!"
+
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Scale Keys"
msgstr "Anim 拡大縮å°ã‚­ãƒ¼"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim コールトラックを追加"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "アニメーション 拡大。"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "é•·ã•:"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "アニメーションã®é•·ã• (å˜ä½ã¯ç§’)。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "スナップ機能(ピクセルå˜ä½ï¼‰:"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "ステップ:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "アニメーションツリーã¯å•題ã‚りã¾ã›ã‚“."
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "カーソル ステップ スナップ (å˜ä½ã¯ç§’)。"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "編集"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "アニメーションã®ãƒ«ãƒ¼ãƒ—を有効/無効。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "アニメーション"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "æ–°ã—ã„トラックを追加。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "パラメーターをコピーã™ã‚‹"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "ç¾åœ¨ã®ãƒˆãƒ©ãƒƒã‚¯ã«ç§»å‹•ã—ã¾ã™ã€‚"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "パラメーターを張り付ã‘ã‚‹"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "ç¾åœ¨ã®ãƒˆãƒ©ãƒƒã‚¯ã‚’下ã¸ç§»å‹•ã—ã¾ã™ã€‚"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Scale Selection"
+msgstr "縮尺(Scale)ã®é¸æŠž"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "é¸æŠžã—ãŸãƒˆãƒ©ãƒƒã‚¯ã‚’削除ã—ã¾ã™ã€‚"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Scale From Cursor"
+msgstr "カーソル起点ã§ç¸®å°º(Scale)変更"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "トラック ツール"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "é¸æŠžç¯„å›²ã‚’è¤‡è£½"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-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 "Goto Next Step"
+msgstr "次ã®ã‚¹ãƒ†ãƒƒãƒ—ã¸"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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 "Anim. Optimizer"
msgstr "アニメーションã®ã‚ªãƒ—ティマイザー"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "最大。線形エラー:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "最大。角度エラー:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "最大最é©åŒ–角度:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "最é©åŒ–"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "シーンツリーã‹ã‚‰ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’é¸æŠžã—アニメーション編集"
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "キー"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "é·ç§»"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "æ‹¡å¤§ç¸®å°æ¯”:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "ノード内ã®é–¢æ•°ã‚’呼ã³å‡ºã—ã¾ã™ã‹ï¼Ÿ"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "無効ãªã‚­ãƒ¼ã‚’削除"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "未解決や空ã®ãƒˆãƒ©ãƒƒã‚¯ã‚’削除"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "ã™ã¹ã¦ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’クリーンアップ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "クリーン アップ アニメーション(å…ƒã«æˆ»ã›ã¾ã›ã‚“!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "コピー"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "é…列ã®ã‚µã‚¤ã‚ºã‚’変更"
@@ -385,7 +542,7 @@ msgstr "行ã«ç§»å‹•"
msgid "Line Number:"
msgstr "行番å·:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "一致ãªã—"
@@ -401,7 +558,7 @@ msgstr "å¤§æ–‡å­—å°æ–‡å­—を区別ã™ã‚‹"
msgid "Whole Words"
msgstr "å˜èªžå…¨ä½“"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "ç½®æ›"
@@ -413,21 +570,31 @@ msgstr "ã™ã¹ã¦ç½®æ›"
msgid "Selection Only"
msgstr "é¸æŠžç¯„å›²ã®ã¿"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Zoom In"
msgstr "ズームイン"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Zoom Out"
msgstr "ズームアウト"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
msgid "Reset Zoom"
msgstr "ズームをリセット"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "警告"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "ズーム (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "ライン:"
@@ -463,7 +630,8 @@ msgid "Add"
msgstr "追加"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -499,7 +667,7 @@ msgid "Oneshot"
msgstr "一括"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -524,12 +692,12 @@ msgstr "'%s' ã‚’ '%s' ã«æŽ¥ç¶š"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Connecting Signal:"
-msgstr "シグナルを接続:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "'%s' ã‚’ '%s' ã«æŽ¥ç¶š"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "'%s' ã‚’ '%s' ã«æŽ¥ç¶š"
#: editor/connections_dialog.cpp
@@ -538,16 +706,50 @@ msgid "Connect..."
msgstr "接続..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Disconnect"
msgstr "切断"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "シグナルを接続:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’編集"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "複数ã®ãƒ—ロジェクトを本当ã«å®Ÿè¡Œã—ã¾ã™ã‹ï¼Ÿ"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
#, fuzzy
msgid "Signals"
msgstr "シグナル"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "切断"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "編集"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "メソッド一覧:"
+
#: editor/create_dialog.cpp
#, fuzzy
msgid "Change %s Type"
@@ -574,23 +776,26 @@ msgstr "ãŠæ°—ã«å…¥ã‚Š:"
msgid "Recent:"
msgstr "最近ã®:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "検索:"
#: editor/create_dialog.cpp editor/editor_help.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
#, fuzzy
msgid "Matches:"
msgstr "一致:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
#, fuzzy
msgid "Description:"
msgstr "記述:"
@@ -660,7 +865,9 @@ msgstr "ç½®æ›ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚’探ã™:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "é–‹ã"
@@ -684,7 +891,7 @@ msgstr ""
"å–り除ã“ã†ã¨ã—ã¦ã„るファイルã¯ä»–ã®ãƒªã‚½ãƒ¼ã‚¹ã®å‹•作ã«å¿…è¦ã§ã™. 本当ã«å–り除ãã¾"
"ã™ã‹ï¼Ÿï¼ˆundoã§ãã¾ã›ã‚“)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "解決ã§ãã¾ã›ã‚“."
@@ -765,10 +972,13 @@ msgstr "ディクショナリ 値ã®å¤‰æ›´"
msgid "Thanks from the Godot community!"
msgstr "Godotコミュニティより感è¬ã‚’!"
-#: editor/editor_about.cpp
-#, fuzzy
-msgid "Thanks!"
-msgstr "ã‚りãŒã¨ã†!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -957,6 +1167,7 @@ msgid "Bus options"
msgstr "ãƒã‚¹ã‚ªãƒ—ション"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "複製"
@@ -1030,7 +1241,8 @@ msgstr "ãƒã‚¹ã‚’追加ã™ã‚‹"
msgid "Create a new Bus Layout."
msgstr "æ–°ã—ã„ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’生æˆ."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
#, fuzzy
msgid "Load"
@@ -1041,7 +1253,6 @@ msgid "Load an existing Bus Layout."
msgstr "既存ã®ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’読ã¿è¾¼ã‚€."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜ã™ã‚‹"
@@ -1086,25 +1297,6 @@ msgstr "無効ãªåå‰ã§ã™. 既存ã®ã‚°ãƒ­ãƒ¼ãƒãƒ«å®šæ•°ã®åå‰ã¨è¡çªã
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Invalid Path."
-msgstr "無効ãªãƒ‘スã§ã™."
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "File does not exist."
-msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“."
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Not in resource path."
-msgstr "リソースã®ãƒ‘スã§ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "自動読ã¿è¾¼ã¿ã‚’付加"
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
msgstr "既存ã®'%s' を自動読ã¿è¾¼ã¿ã—ã¾ã™!"
@@ -1138,6 +1330,25 @@ msgstr "有効ã«ã™ã‚‹"
msgid "Rearrange Autoloads"
msgstr "自動読ã¿è¾¼ã¿ã‚’çµ„ã¿æ›¿ãˆã‚‹"
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Invalid Path."
+msgstr "無効ãªãƒ‘スã§ã™."
+
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "File does not exist."
+msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“."
+
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Not in resource path."
+msgstr "リソースã®ãƒ‘スã§ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "自動読ã¿è¾¼ã¿ã‚’付加"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1171,7 +1382,7 @@ msgstr "ローカル環境ã®å¤‰æ›´ã‚’ä¿å­˜ã™ã‚‹..."
msgid "Updating scene..."
msgstr "シーンを更新ã—ã¦ã„ã¾ã™..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
#, fuzzy
msgid "[empty]"
msgstr "(空)"
@@ -1240,6 +1451,12 @@ msgid "Copy Path"
msgstr "パスをコピーã™ã‚‹"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§è¡¨ç¤º"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§è¡¨ç¤º"
@@ -1278,7 +1495,7 @@ msgid "Open a File or Directory"
msgstr "ファイルã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’é–‹ã"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "ä¿å­˜"
@@ -1341,7 +1558,8 @@ msgstr "フォルダを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Directories & Files:"
msgstr "ディレクトリã¾ãŸã¯ãƒ•ァイル:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
#, fuzzy
msgid "Preview:"
msgstr "プレビュー:"
@@ -1515,23 +1733,29 @@ msgstr ""
"ç¾åœ¨ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èª¬æ˜Žã¯ã‚りã¾ã›ã‚“。[color=$color][url=$url]貢献[/url][/"
"color]ã—ã¦ç§ãŸã¡ã‚’助ã‘ã¦ãã ã•ã„!"
-#: editor/editor_help.cpp
+#: editor/editor_inspector.cpp
#, fuzzy
-msgid "Search Text"
-msgstr "テキストを探ã™"
+msgid "Property: "
+msgstr "プロパティ:"
-#: editor/editor_help.cpp
-#, fuzzy
-msgid "Find"
-msgstr "検索"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "設定"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
#, fuzzy
msgid "Output:"
msgstr " 出力:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1556,12 +1780,6 @@ msgstr "リソースä¿å­˜ã‚¨ãƒ©ãƒ¼!"
msgid "Save Resource As..."
msgstr "~ã¨ã„ã†åå‰ã§ãƒªã‚½ãƒ¼ã‚¹ã‚’ä¿å­˜ã™ã‚‹"
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "I see..."
-msgstr "ã‚ã‹ã£ãŸ..."
-
#: editor/editor_node.cpp
#, fuzzy
msgid "Can't open file for writing:"
@@ -1576,10 +1794,9 @@ msgstr "ãã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯æœªçŸ¥ã®ãƒ•ォーマットã§ã™:"
msgid "Error while saving."
msgstr "ä¿å­˜ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Can't open '%s'."
-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'."
@@ -1628,11 +1845,6 @@ msgstr ""
#: editor/editor_node.cpp
#, fuzzy
-msgid "Failed to load resource."
-msgstr "リソース読ã¿è¾¼ã¿å¤±æ•—"
-
-#: editor/editor_node.cpp
-#, fuzzy
msgid "Can't load MeshLibrary for merging!"
msgstr "マージã™ã‚‹ãƒ¡ãƒƒã‚·ãƒ¥ãƒ©ã‚¤ãƒ–ラリーã®èª­ã¿è¾¼ã¿å¤±æ•—"
@@ -1720,51 +1932,6 @@ msgstr ""
#: editor/editor_node.cpp
#, fuzzy
-msgid "Expand all properties"
-msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Collapse all properties"
-msgstr "ã™ã¹ã¦æŠ˜ã‚ŠãŸãŸã‚€"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Copy Params"
-msgstr "パラメーターをコピーã™ã‚‹"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Paste Params"
-msgstr "パラメーターを張り付ã‘ã‚‹"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-#, fuzzy
-msgid "Paste Resource"
-msgstr "リソースを張り付ã‘ã‚‹"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Copy Resource"
-msgstr "リソースをコピーã™ã‚‹"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Make Built-In"
-msgstr "ビルトインを作る"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Make Sub-Resources Unique"
-msgstr "一æ„ã®ï¼ˆï¼ä»–ã¨é‡è¤‡ã—ãªã„)サブリソースを生æˆ"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Open in Help"
-msgstr "ヘルプを開ã"
-
-#: editor/editor_node.cpp
-#, fuzzy
msgid "There is no defined scene to run."
msgstr "実行ã™ã‚‹å®šç¾©æ¸ˆã¿ã®ã‚·ãƒ¼ãƒ³ã¯ã‚りã¾ã›ã‚“。"
@@ -1839,9 +2006,8 @@ msgid "Save changes to '%s' before closing?"
msgstr "終了ã™ã‚‹å‰ã«ã€'%s' ã¸ã®å¤‰æ›´ã‚’ä¿å­˜ã—ã¾ã™ã‹ï¼Ÿ"
#: editor/editor_node.cpp
-#, fuzzy
msgid "Save Scene As..."
-msgstr "~ã®åå‰ã§ã‚·ãƒ¼ãƒ³ã‚’ä¿å­˜ã™ã‚‹"
+msgstr "åå‰ã‚’付ã‘ã¦ã‚·ãƒ¼ãƒ³ã‚’ä¿å­˜"
#: editor/editor_node.cpp
#, fuzzy
@@ -1980,12 +2146,6 @@ msgstr ""
"シーン'%s'ã¯è‡ªå‹•çš„ã«ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れã€ä¿®æ­£å¯èƒ½ã§ã™\n"
"変更ã™ã‚‹ãŸã‚ã«ã¯ã€ã‚·ãƒ¼ãƒ³ã‚’継承ã—ã¦æ–°ã—ã生æˆã—ã¾ã™."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Ugh"
-msgstr "ã†ã‡"
-
#: editor/editor_node.cpp
#, fuzzy
msgid ""
@@ -2022,6 +2182,16 @@ msgstr "標準(既定)"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Play This Scene"
+msgstr "シーンを実行"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "ã»ã‹ã®ã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Switch Scene Tab"
msgstr "シーンタブを切り替ãˆã‚‹"
@@ -2167,11 +2337,6 @@ msgstr "プロジェクト"
msgid "Project Settings"
msgstr "プロジェクトã®è¨­å®š"
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Run Script"
-msgstr "スクリプトã®å®Ÿè¡Œ"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "エクスãƒãƒ¼ãƒˆ"
@@ -2182,6 +2347,11 @@ msgid "Tools"
msgstr "ツール"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "プロジェクトマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚’é–‹ãã¾ã™ã‹ï¼Ÿ"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "終了ã—ã¦ãƒ—ロジェクト一覧を開ã"
@@ -2304,6 +2474,20 @@ msgstr "エディタã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆ"
msgid "Toggle Fullscreen"
msgstr "フルスクリーンã®åˆ‡ã‚Šæ›¿ãˆ"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "エディタã®è¨­å®š"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "エディタã®è¨­å®š"
+
#: editor/editor_node.cpp editor/project_export.cpp
#, fuzzy
msgid "Manage Export Templates"
@@ -2322,7 +2506,8 @@ msgstr "クラス"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "検索"
@@ -2374,7 +2559,7 @@ msgstr "ã‚·ãƒ¼ãƒ³ã‚’ä¸€æ™‚åœæ­¢"
msgid "Stop the scene."
msgstr "ã‚·ãƒ¼ãƒ³ã‚’åœæ­¢"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "åœæ­¢"
@@ -2399,6 +2584,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "ä¿å­˜ã—ã¦å†ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
+
+#: editor/editor_node.cpp
#, fuzzy
msgid "Spins when the editor window repaints!"
msgstr "ã‚¨ãƒ‡ã‚£ã‚¿ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’å†æç”»ã™ã‚‹ã¨ãã«å¤‰æ›´ã™ã‚‹!"
@@ -2422,49 +2617,6 @@ msgstr "ã‚¢ãƒƒãƒ—ãƒ‡ãƒ¼ãƒˆåæ˜ ã‚’åœæ­¢"
msgid "Inspector"
msgstr "インスペクター"
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Create a new resource in memory and edit it."
-msgstr "ãƒ¡ãƒ¢ãƒªãƒ¼ã«æ–°ã—ã„リソースを確ä¿ã—編集ã™ã‚‹"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Load an existing resource from disk and edit it."
-msgstr "既存ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ディスクã‹ã‚‰èª­ã¿è¾¼ã¿ç·¨é›†ã™ã‚‹"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Save the currently edited resource."
-msgstr "ç¾åœ¨ç·¨é›†ä¸­ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ä¿å­˜ã™ã‚‹"
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "以å‰ã«ç·¨é›†ã—ãŸã‚ªãƒ–ジェクト履歴ã§ã€Œã²ã¨ã¤å‰ã€ã«ç§»å‹•."
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Go to the next edited object in history."
-msgstr "以å‰ã«ç·¨é›†ã—ãŸã‚ªãƒ–ジェクト履歴ã§ã€Œæ¬¡ã€ã«ç§»å‹•."
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "History of recently edited objects."
-msgstr "最近編集ã—ãŸã‚ªãƒ–ジェクトã®å±¥æ­´"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Object properties."
-msgstr "オブジェクトã®ãƒ—ロパティ"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Changes may be lost!"
-msgstr "ベクトル定数を変更"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2480,6 +2632,11 @@ msgid "FileSystem"
msgstr "ファイルシステム"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "出力"
@@ -2560,19 +2717,24 @@ msgid "Thumbnail..."
msgstr "サムãƒã‚¤ãƒ«..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "インストール済ã¿ã®ãƒ—ラグイン:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "アップデート"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "作者:"
@@ -2580,13 +2742,16 @@ msgstr "作者:"
msgid "Status:"
msgstr "ステータス:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒªãƒ³ã‚°åœæ­¢"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "編集"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "プロファイリング開始"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "å†ç”Ÿé–‹å§‹!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2637,6 +2802,111 @@ msgstr "時間:"
msgid "Calls"
msgstr "呼ã³å‡ºã—"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "オン"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "ビット %d, 値 %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "[Empty]"
+msgstr "空を追加"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "アサインã™ã‚‹"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Pick a Viewport"
+msgstr "ビューãƒãƒ¼ãƒˆã‚’é¸ã¶"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Make Unique"
+msgstr "ボーンを生æˆ"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "ファイルシステム上ã§è¡¨ç¤º"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "貼り付ã‘"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "~ã«å¤‰æ›ã™ã‚‹..."
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "エディタã§é–‹ã"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Selected node is not a Viewport!"
+msgstr "インãƒãƒ¼ãƒˆã™ã‚‹ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠžã™ã‚‹"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "セルサイズ:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "æ–°ã—ã„åå‰:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "æ–°ã—ã„åå‰:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "アイテムを除去"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "リストã‹ã‚‰ãƒ‡ãƒã‚¤ã‚¹ã‚’é¸æŠžã—ã¦ãã ã•ã„"
@@ -2674,10 +2944,6 @@ msgstr "スクリプトを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:"
msgid "Did you forget the '_run' method?"
msgstr "'_run'メソッドを忘れã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "既定(エディタã¨åŒã˜ï¼‰"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "インãƒãƒ¼ãƒˆã™ã‚‹ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠžã™ã‚‹"
@@ -2703,6 +2969,7 @@ msgid "(Installed)"
msgstr "(インストール済)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "ダウンロード"
@@ -2727,7 +2994,8 @@ msgid "Can't open export templates zip."
msgstr "エクスãƒãƒ¼ãƒˆã€€ãƒ†ãƒ³ãƒ—レート(ZIP)ファイルを確èªã§ãã¾ã›ã‚“."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "テンプレート内ã®version.txt フォーマットãŒä¸æ­£ã§ã™."
#: editor/export_template_manager.cpp
@@ -2795,6 +3063,12 @@ msgid "Download Complete."
msgstr "ダウンロード完了."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "urlã®è¦æ±‚ã«å¤±æ•—ã—ã¾ã—ãŸ: "
@@ -2876,7 +3150,8 @@ msgid "Download Templates"
msgstr "テンプレートをダウンロード"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "リストã‹ã‚‰ãƒŸãƒ©ãƒ¼ã‚’é¸æŠž: "
#: editor/file_type_cache.cpp
@@ -2891,11 +3166,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "ファイルシステムã«è¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€'%s' ã«ç§»å‹•ã§ãã¾ã›ã‚“!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "サムãƒã‚¤ãƒ«è¡¨ç¤º"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "リストã§ã‚¢ã‚¤ãƒ†ãƒ ã‚’見る"
#: editor/filesystem_dock.cpp
@@ -2977,7 +3254,7 @@ msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹"
msgid "Collapse all"
msgstr "ã™ã¹ã¦æŠ˜ã‚ŠãŸãŸã‚€"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "åå‰ã‚’変更ã™ã‚‹..."
@@ -3009,6 +3286,23 @@ msgid "Duplicate..."
msgstr "複製"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "å‰ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª"
@@ -3022,15 +3316,29 @@ msgstr "ファイルシステムをå†èµ°æŸ»"
#: editor/filesystem_dock.cpp
#, fuzzy
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
msgstr "フォルダã®çŠ¶æ…‹ã‚’ãŠæ°—ã«å…¥ã‚Šã«å¤‰æ›´"
#: editor/filesystem_dock.cpp
#, fuzzy
+msgid "Show current scene file."
+msgstr "ç¾åœ¨ç·¨é›†ä¸­ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ä¿å­˜ã™ã‚‹"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã®å­ã¨ã—ã¦ã€é¸æŠžã—ãŸã‚·ãƒ¼ãƒ³ã‚’インスタンス化ã™ã‚‹"
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "ã‚¯ãƒ©ã‚¹ã®æ¤œç´¢"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -3038,15 +3346,115 @@ msgstr ""
"ファイルをスキャンã—ã¦ã„ã¾ã™\n"
"ã—ã°ã‚‰ããŠå¾…ã¡ä¸‹ã•ã„..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
msgid "Move"
msgstr "移動"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "åå‰ã®å¤‰æ›´"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "ã“ã®ãƒ‘スã«ã¯ã€æŒ‡å®šã•れãŸåå‰ã®ãƒ•ã‚©ãƒ«ãƒ€ãƒ¼ãŒæ—¢ã«å­˜åœ¨ã—ã¾ã™ã€‚"
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "スクリプトを作æˆ"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "タイルを探ã™"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "検索"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "å˜èªžå…¨ä½“"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "å¤§æ–‡å­—å°æ–‡å­—を区別ã™ã‚‹"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "フィルター:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Find..."
+msgstr "検索..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "ç½®ãæ›ãˆ..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "キャンセル"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "ç½®æ›"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "ã™ã¹ã¦ç½®æ›"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "ä¿å­˜ä¸­..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "テキストを探ã™"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "エラー:アニメーションã®åå‰ãŒã™ã§ã«ã‚ã‚‹åå‰ã§ã™!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "無効ãªåå‰ã§ã™."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "グループ"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "グループã«åŠ ãˆã‚‹"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Filter nodes"
+msgstr "フィルター"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "グループを編集"
#: editor/groups_editor.cpp
#, fuzzy
@@ -3058,6 +3466,11 @@ msgstr "グループã«åŠ ãˆã‚‹"
msgid "Remove from Group"
msgstr "グループã‹ã‚‰å–り除ã"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "グループ"
+
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Import as Single Scene"
@@ -3102,7 +3515,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "複数ã®ã‚·ãƒ¼ãƒ³ã€ãƒžãƒ†ãƒªã‚¢ãƒ«ã¨ã—ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
#, fuzzy
msgid "Import Scene"
msgstr "シーンをインãƒãƒ¼ãƒˆ"
@@ -3175,19 +3588,147 @@ msgstr "åˆæœŸè¨­å®šå€¤..."
msgid "Reimport"
msgstr "å†ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Failed to load resource."
+msgstr "リソース読ã¿è¾¼ã¿å¤±æ•—"
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "オッケー"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Expand all properties"
+msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Collapse all properties"
+msgstr "ã™ã¹ã¦æŠ˜ã‚ŠãŸãŸã‚€"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜..."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Copy Params"
+msgstr "パラメーターをコピーã™ã‚‹"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Paste Params"
+msgstr "パラメーターを張り付ã‘ã‚‹"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "リソースã®ã‚¯ãƒªãƒƒãƒ—ボードã¯ç©ºã§ã™!"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Copy Resource"
+msgstr "リソースをコピーã™ã‚‹"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Make Built-In"
+msgstr "ビルトインを作る"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Make Sub-Resources Unique"
+msgstr "一æ„ã®ï¼ˆï¼ä»–ã¨é‡è¤‡ã—ãªã„)サブリソースを生æˆ"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Open in Help"
+msgstr "ヘルプを開ã"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Create a new resource in memory and edit it."
+msgstr "ãƒ¡ãƒ¢ãƒªãƒ¼ã«æ–°ã—ã„リソースを確ä¿ã—編集ã™ã‚‹"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Load an existing resource from disk and edit it."
+msgstr "既存ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ディスクã‹ã‚‰èª­ã¿è¾¼ã¿ç·¨é›†ã™ã‚‹"
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "以å‰ã«ç·¨é›†ã—ãŸã‚ªãƒ–ジェクト履歴ã§ã€Œã²ã¨ã¤å‰ã€ã«ç§»å‹•."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Go to the next edited object in history."
+msgstr "以å‰ã«ç·¨é›†ã—ãŸã‚ªãƒ–ジェクト履歴ã§ã€Œæ¬¡ã€ã«ç§»å‹•."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "History of recently edited objects."
+msgstr "最近編集ã—ãŸã‚ªãƒ–ジェクトã®å±¥æ­´"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Object properties."
+msgstr "オブジェクトã®ãƒ—ロパティ"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "フィルター"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Changes may be lost!"
+msgstr "ベクトル定数を変更"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "複数ノード セット"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "グループ"
-
-#: editor/node_dock.cpp
#, fuzzy
msgid "Select a Node to edit Signals and Groups."
msgstr "シグナルã¨ã‚°ãƒ«ãƒ¼ãƒ—を編集ã™ã‚‹ãŸã‚ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠž"
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "アウトラインを生æˆ"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "プラグイン"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "言語"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "スクリプトã¯å•題ã‚りã¾ã›ã‚“"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -3237,6 +3778,152 @@ msgstr ""
msgid "Delete points"
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
+#, fuzzy
+msgid "Add Animation"
+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
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "ãƒã‚¤ãƒ³ãƒˆï¼ç‚¹ã‚’除去"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "マウスå³ãƒœã‚¿ãƒ³:ãƒã‚¤ãƒ³ãƒˆï¼ç‚¹ã‚’除去."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "アニメーションã®ãƒŽãƒ¼ãƒ‰"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "アクション'%s'ã¯æ—¢ã«ã‚りã¾ã™!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "%d 三角形をパース中ã§ã™:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "スナップ"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "ノードを加ãˆã‚‹"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "ノードフィルターã®ç·¨é›†"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "編集å¯èƒ½ãªå­"
+
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Toggle Autoplay"
@@ -3269,12 +3956,12 @@ msgstr "アニメーションを削除"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr "エラー:アニメーションã®åå‰ãŒä¸æ­£ã§ã™!"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr "エラー:アニメーションã®åå‰ãŒã™ã§ã«ã‚ã‚‹åå‰ã§ã™!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3283,12 +3970,6 @@ msgid "Rename Animation"
msgstr "アニメーションã®åå‰ã‚’変更"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Add Animation"
-msgstr "アニメーションを加ãˆã‚‹"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Blend Next Changed"
msgstr "ブレンドã™ã‚‹å¯¾è±¡ã‚’変更"
@@ -3310,12 +3991,12 @@ msgstr "アニメーションを複製"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr "エラー:アニメーションã®è¤‡è£½å…ƒãŒã‚りã¾ã›ã‚“"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr "エラー:クリップボードã«ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã®ãƒªã‚½ãƒ¼ã‚¹ãŒã‚りã¾ã›ã‚“"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3329,7 +4010,7 @@ msgstr "アニメーションを貼り付ã‘ã‚‹"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr "エラー:編集ã™ã‚‹ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ãŒã‚りã¾ã›ã‚“!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3368,23 +4049,27 @@ msgstr "ノードã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³å†ç”Ÿã®ç¸®å°ºå¤‰æ›´."
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "Create new animation in player."
-msgstr "ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å†…ã«æ–°ã—ã作æˆã™ã‚‹"
+msgid "Animation Tools"
+msgstr "アニメーションツール"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Load animation from disk."
-msgstr "ディスクã‹ã‚‰ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’読ã¿è¾¼ã‚€"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "アニメーション"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New"
+msgstr "æ–°è¦ä½œæˆ"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "Load an animation from disk."
-msgstr "ディスクã‹ã‚‰ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’一ã¤èª­ã¿è¾¼ã‚€"
+msgid "Edit Transitions..."
+msgstr "é·ç§»ï¼ˆãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ï¼‰"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "Save the current animation"
-msgstr "ç¾åœ¨ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ä¿å­˜ã™ã‚‹"
+msgid "Open in Inspector"
+msgstr "エディタã§é–‹ã"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
@@ -3397,21 +4082,6 @@ msgid "Autoplay on Load"
msgstr "読ã¿è¾¼ã¿å¾Œã€è‡ªå‹•å†ç”Ÿ"
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Edit Target Blend Times"
-msgstr "ターゲットã®ãƒ–レンドã®å›žæ•°ã‚’変更ã™ã‚‹"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Animation Tools"
-msgstr "アニメーションツール"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Copy Animation"
-msgstr "アニメーションを複製ã™ã‚‹"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "オニオンスキン"
@@ -3464,6 +4134,11 @@ msgstr "ギズモ(3D)ã‚’å«ã‚€"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "アニメーションを貼り付ã‘ã‚‹"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
msgid "Create New Animation"
msgstr "アニメーションを新ã—ã作る"
@@ -3473,6 +4148,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3493,187 +4169,238 @@ msgstr "次(オートキュー)"
msgid "Cross-Animation Blend Times"
msgstr "アニメーション間ã®ãƒ–レンド回数"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "アニメーション"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "終了"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
-msgstr "æ–°ã—ã„åå‰:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
#, fuzzy
-msgid "Edit Filters"
-msgstr "ノードフィルターã®ç·¨é›†"
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "%s ã‚’æ–°è¦ä½œæˆ"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "ãƒŽãƒ¼ãƒ‰ã«æŽ¥ç¶šã—ã¾ã™:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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
#, fuzzy
msgid "Scale:"
msgstr "縮尺:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "フェードイン:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "フェードアウト:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "ブレンド(æ··åˆï¼‰"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Mix"
msgstr "ミクシング"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Auto Restart:"
msgstr "自動ã§ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’最åˆã‹ã‚‰å†ç”Ÿã™ã‚‹ :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "アニメーションを最åˆã‹ã‚‰å†ç”Ÿã™ã‚‹ :"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Random Restart (s):"
msgstr "ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ãƒ©ãƒ³ãƒ€ãƒ ã«æœ€åˆã‹ã‚‰å†ç”Ÿã™ã‚‹:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Start!"
msgstr "å†ç”Ÿé–‹å§‹!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
#, fuzzy
msgid "Amount:"
msgstr "ç·è¨ˆ:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend:"
msgstr "ブレンド:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend 0:"
msgstr "ブレンド 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend 1:"
msgstr "ブレンド 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "X-Fade Time (s):"
msgstr "クロスフェード時間(秒)"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Current:"
msgstr "ç¾åœ¨ã®:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Add Input"
msgstr "入力を追加"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Clear Auto-Advance"
msgstr "自動表示ã®è§£é™¤"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Set Auto-Advance"
msgstr "自動表示を設定"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Delete Input"
msgstr "入力を消去"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Animation tree is valid."
msgstr "アニメーションツリーã¯å•題ã‚りã¾ã›ã‚“."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Animation tree is invalid."
msgstr "アニメーションツリーã«å•題ãŒã‚りã¾ã™."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Animation Node"
msgstr "アニメーションã®ãƒŽãƒ¼ãƒ‰"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "OneShot Node"
msgstr "ワンショット ノード"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Mix Node"
msgstr "ミキシング ノード"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "ブレンド2ノード"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "ブレンド3ノード"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "ブレンド4ノード"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "進行速度ノード"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "TimeSeek Node"
msgstr "時刻移動ノード"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "トランジション(é·ç§»ï¼‰ãƒŽãƒ¼ãƒ‰"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Import Animations..."
msgstr "アニメーションをインãƒãƒ¼ãƒˆ..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Edit Node Filters"
msgstr "ノードフィルターã®ç·¨é›†"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "フィルター..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "アニメーション"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
-msgid "Free"
-msgstr "解放"
-
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Contents:"
@@ -3737,8 +4464,13 @@ msgstr "アセットã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰å¤±æ•—:"
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
-msgid "Fetching:"
-msgstr "å–得中:"
+msgid "Downloading (%s / %s)..."
+msgstr "ダウンロード中"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "ダウンロード中"
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
@@ -3768,20 +4500,22 @@ msgid "Download for this asset is already in progress!"
msgstr "ã“ã®ã‚¢ã‚»ãƒƒãƒˆã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¯æ—¢ã«é€²è¡Œä¸­ï¼"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "最åˆ"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "å‰"
+#, fuzzy
+msgid "Previous"
+msgstr "以å‰ã®ã‚¿ãƒ–"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr "次"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "最後"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3849,7 +4583,7 @@ msgid "Bake Lightmaps"
msgstr "ライトマップã¸ã®è»¢å†™:"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "プレビュー"
@@ -3858,12 +4592,10 @@ msgid "Configure Snap"
msgstr "スナップã®è¨­å®š"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "グリッドã®ã‚ªãƒ•セット:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "グリッドã®ã‚¹ãƒ†ãƒƒãƒ—:"
@@ -3876,14 +4608,6 @@ msgid "Rotation Step:"
msgstr "回転ã®ã‚¹ãƒ†ãƒƒãƒ—:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "ピボット移動"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "移動動作"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "垂直ガイドを移動"
@@ -3912,11 +4636,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "水平垂直ガイドを作æˆ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "IK(インãƒãƒ¼ã‚¹ ã‚­ãƒãƒžãƒ†ã‚£ã‚¯ã‚¹ï¼‰ãƒã‚§ãƒ¼ãƒ³ã®ç·¨é›†"
+#, fuzzy
+msgid "Move pivot"
+msgstr "ピボット移動"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "キャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®ç·¨é›†"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "移動動作"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "キャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®ç·¨é›†"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "キャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®ç·¨é›†"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3938,6 +4679,21 @@ msgid "Paste Pose"
msgstr "ãƒãƒ¼ã‚ºã‚’貼り付ã‘ã‚‹"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "ズームアウト"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "ズームをリセット"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "ズームイン"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "é¸æŠžãƒ¢ãƒ¼ãƒ‰"
@@ -3993,7 +4749,7 @@ msgstr "パン・モード"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr "ブレークãƒã‚¤ãƒ³ãƒˆã‚’切替"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -4003,7 +4759,7 @@ msgstr "スナップ機能を使ã†"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr "アニメーションã®ã‚ªãƒ—ション"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -4049,6 +4805,11 @@ msgid "Snap to node sides"
msgstr "ノードå´é¢ã«ã‚¹ãƒŠãƒƒãƒ—"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "ノードアンカーã«ã‚¹ãƒŠãƒƒãƒ—"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "ä»–ã®ãƒŽãƒ¼ãƒ‰ã«ã‚¹ãƒŠãƒƒãƒ—"
@@ -4081,16 +4842,6 @@ msgstr "ã“ã®ã‚ªãƒ–ジェクトã®å­ï¼ˆã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆï¼‰ã‚’é¸æŠžå¯èƒ½ã¨
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Make Bones"
-msgstr "ボーンを生æˆ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Clear Bones"
-msgstr "ボーンをクリアã™ã‚‹"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Show Bones"
msgstr "ボーンを表示ã™ã‚‹"
@@ -4105,6 +4856,15 @@ msgid "Clear IK Chain"
msgstr "IK(インãƒãƒ¼ã‚¹ ã‚­ãƒãƒžãƒ†ã‚£ã‚¯ã‚¹ï¼‰ãƒã‚§ãƒ¼ãƒ³ã‚’クリアã™ã‚‹"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "ボーンをクリアã™ã‚‹"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "View"
@@ -4157,12 +4917,7 @@ msgstr "レイアウトをä¿å­˜"
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Insert Keys"
-msgstr "キーフレームを挿入"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Insert Key"
+msgid "Insert keys."
msgstr "キーフレームを挿入"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -4179,15 +4934,6 @@ msgid "Clear Pose"
msgstr "ãƒãƒ¼ã‚ºã‚’クリアã™ã‚‹"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "マウスä½ç½®ã‹ã‚‰ãƒ”ボットをドラッグ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "曲線ã®Out-ãƒãƒ³ãƒ‰ãƒ«ã®ä½ç½®ã‚’指定"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "グリッドステップを2å€ã«ã™ã‚‹"
@@ -4205,10 +4951,6 @@ msgstr "%s追加ã™ã‚‹"
msgid "Adding %s..."
msgstr "%s追加中..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "オッケー"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -4247,27 +4989,22 @@ msgstr "3Dãƒãƒªã‚´ãƒ³ã‚’生æˆã™ã‚‹"
msgid "Set Handle"
msgstr "ãƒãƒ³ãƒ‰ãƒ«ã‚’設定ã™ã‚‹"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "アイテム%dã‚’å–り除ãã¾ã™ã‹ï¼Ÿ"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "アイテムを追加"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’å–り除ã"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "頂点"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "シーンã‹ã‚‰ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Create Emission Points From Mesh"
+msgstr "メッシュã‹ã‚‰ç™ºå…‰ç‚¹ã‚’生æˆ"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "シーンã‹ã‚‰ã‚¢ãƒƒãƒ—デート"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Create Emission Points From Node"
+msgstr "ノードã‹ã‚‰ã®ç™ºå…‰ç‚¹ã‚’生æˆ"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -4345,15 +5082,6 @@ msgstr "接線を個別ã«ç·¨é›†ã™ã‚‹ã«ã¯ã‚·ãƒ•トを押ã™"
msgid "Bake GI Probe"
msgstr "グローãƒãƒ«ã‚¤ãƒ«ãƒŸãƒãƒ¼ã‚·ãƒ§ãƒ³ã®äº‹å‰è¨ˆç®—"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "色変化ã®å‚¾æ–œã«ã€ãƒã‚¤ãƒ³ãƒˆï¼ç‚¹ã‚’追加ã¾ãŸã¯é™¤åŽ»ã™ã‚‹"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "色変化ã®å‚¾æ–œã‚’修正"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "アイテム%d"
@@ -4447,6 +5175,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4523,6 +5252,27 @@ msgstr "アウトラインメッシュを生æˆ"
msgid "Outline Size:"
msgstr "アウトラインã®ã‚µã‚¤ã‚º:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "アイテム%dã‚’å–り除ãã¾ã™ã‹ï¼Ÿ"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "シーンã‹ã‚‰ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "シーンã‹ã‚‰ã‚¢ãƒƒãƒ—デート"
+
#: editor/plugins/multimesh_editor_plugin.cpp
#, fuzzy
msgid "No mesh source specified (and no MultiMesh set in node)."
@@ -4648,76 +5398,6 @@ msgstr "縮尺をランダムã«å¤‰æ›´:"
msgid "Populate"
msgstr "åˆæœŸå€¤ã‚’設定"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "ベイク!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Bake the navigation mesh."
-msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "ãƒŠãƒ“ãƒ¡ãƒƒã‚·ãƒ¥ï¼ˆãƒŠãƒ“ã‚²ãƒ¼ã‚·ãƒ§ãƒ³ãƒ¡ãƒƒã‚·ãƒ¥ï¼‰ã®æ¶ˆåŽ»."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "設定中..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "グリッドサイズ計算中..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "ãƒã‚¤ãƒˆãƒ•ィールド生æˆä¸­..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "移動å¯èƒ½ãªãƒãƒªã‚´ãƒ³ã‚’記録中..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "ãƒã‚¤ãƒˆãƒ•ィールド圧縮中..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "移動å¯èƒ½ãªé ˜åŸŸã‚’作æˆä¸­..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Partitioning..."
-msgstr "警告"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating contours..."
-msgstr "八分木テクスãƒãƒ£ã‚’生æˆ"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating polymesh..."
-msgstr "アウトラインメッシュを生æˆ..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Converting to native navigation mesh..."
-msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "ナビメッシュ(ナビゲーションメッシュ)生æˆè¨­å®š:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Parsing Geometry..."
-msgstr "ジオメトリーをパース"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "完了!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "ナビゲーションãƒãƒªã‚´ãƒ³ã‚’生æˆ"
@@ -4789,20 +5469,6 @@ msgstr "発光(Emission)色"
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
-msgid "Node does not contain geometry."
-msgstr "ノードã¯ã‚¸ã‚ªãƒ¡ãƒˆãƒªãƒ¼ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“."
-
-#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
-msgid "Node does not contain geometry (faces)."
-msgstr "ノードã¯ã‚¸ã‚ªãƒ¡ãƒˆãƒªãƒ¼(é¢ï¼‰ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "パーティクルマテリアルãŒå¿…è¦ã§ã™."
-
-#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
msgid "Faces contain no area!"
msgstr "é¢ã«ã‚¨ãƒªã‚¢ãŒå«ã¾ã‚Œã¦ã„ã¾ã›ã‚“!"
@@ -4812,18 +5478,14 @@ msgid "No faces!"
msgstr "é¢ãŒã‚りã¾ã›ã‚“!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "軸平行境界ボックス(AABB)を生æˆ"
-
-#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
-msgid "Create Emission Points From Mesh"
-msgstr "メッシュã‹ã‚‰ç™ºå…‰ç‚¹ã‚’生æˆ"
+msgid "Node does not contain geometry."
+msgstr "ノードã¯ã‚¸ã‚ªãƒ¡ãƒˆãƒªãƒ¼ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“."
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
-msgid "Create Emission Points From Node"
-msgstr "ノードã‹ã‚‰ã®ç™ºå…‰ç‚¹ã‚’生æˆ"
+msgid "Node does not contain geometry (faces)."
+msgstr "ノードã¯ã‚¸ã‚ªãƒ¡ãƒˆãƒªãƒ¼(é¢ï¼‰ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“."
#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
@@ -4856,6 +5518,19 @@ 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 "Generate AABB"
+msgstr "軸平行境界ボックス(AABB)を生æˆ"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "大文字ã«å¤‰æ›"
+
+#: editor/plugins/particles_editor_plugin.cpp
#, fuzzy
msgid "Generate Visibility AABB"
msgstr "å¯è¦–性ã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’生æˆ"
@@ -4944,6 +5619,22 @@ msgstr "ãƒã‚¤ãƒ³ãƒˆï¼ç‚¹ã‚’除去"
msgid "Close Curve"
msgstr "曲線を閉ã˜ã‚‹"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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
#, fuzzy
msgid "Curve Point #"
@@ -4981,20 +5672,96 @@ msgstr "曲線ã®Out-ãƒãƒ³ãƒ‰ãƒ«ã‚’除去"
msgid "Remove In-Control Point"
msgstr "曲線ã®In-ãƒãƒ³ãƒ‰ãƒ«ã‚’除去"
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "ボーンを表示ã™ã‚‹"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "UVマップを生æˆ"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "ãƒãƒªã‚´ãƒ³ã‚’生æˆ"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "アクション'%s'ã¯æ—¢ã«ã‚りã¾ã™!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "ãƒã‚¤ãƒ³ãƒˆï¼ç‚¹ã‚’追加"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "é¸æŠžã—ã¦ã„ã‚‹ãƒã‚¤ãƒ³ãƒˆï¼ç‚¹ã‚’削除"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "UVマップをトランスフォーム"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
#, fuzzy
msgid "Polygon 2D UV Editor"
msgstr "ãƒãƒªã‚´ãƒ³ï¼’Dã®UVエディタ"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "ãƒãƒªã‚´ãƒ³ã‚’編集"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "パスを分割"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "ボーンを生æˆ"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "ãƒãƒªã‚´ãƒ³ã‚’生æˆ"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
#, fuzzy
msgid "Move Point"
msgstr "ãƒã‚¤ãƒ³ãƒˆã‚’移動"
@@ -5030,12 +5797,25 @@ msgid "Scale Polygon"
msgstr "ãƒãƒªã‚´ãƒ³ã®ç¸®å°ºã‚’変更"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "編集"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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
#, fuzzy
@@ -5053,9 +5833,9 @@ msgid "Clear UV"
msgstr "UVをクリア"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "スナップ"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Snapã®è¨­å®š"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -5065,6 +5845,36 @@ msgstr "スナップを有効ã«ã™ã‚‹"
msgid "Grid"
msgstr "グリッド"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "スナップã®è¨­å®š"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "グリッドã®ã‚ªãƒ•セット:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "グリッドã®ã‚ªãƒ•セット:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "グリッドã®ã‚¹ãƒ†ãƒƒãƒ—:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "グリッドã®ã‚¹ãƒ†ãƒƒãƒ—:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "ãƒãƒªã‚´ãƒ³ã®ç¸®å°ºã‚’変更"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ERROR: Couldn't load resource!"
@@ -5092,6 +5902,11 @@ msgid "Resource clipboard is empty!"
msgstr "リソースã®ã‚¯ãƒªãƒƒãƒ—ボードã¯ç©ºã§ã™!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+#, fuzzy
+msgid "Paste Resource"
+msgstr "リソースを張り付ã‘ã‚‹"
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "エディタã§é–‹ã"
@@ -5114,17 +5929,19 @@ msgid "Load Resource"
msgstr "リソースを読ã¿è¾¼ã‚€"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "貼り付ã‘"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "アニメーションツリーã«å•題ãŒã‚りã¾ã™."
+
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Clear Recent Files"
@@ -5139,6 +5956,21 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "イメージ読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "フォルダを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "タイルセットã®ä¿å­˜ã‚¨ãƒ©ãƒ¼!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Error while saving theme"
msgstr "テーマをä¿å­˜ã™ã‚‹é€”中ã§ã®ã‚¨ãƒ©ãƒ¼"
@@ -5156,6 +5988,21 @@ msgid "Error importing"
msgstr "インãƒãƒ¼ãƒˆã®ã‚¨ãƒ©ãƒ¼"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "フォルダを作æˆã™ã‚‹..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "ファイルを開ã"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "åå‰ã‚’付ã‘ã¦ä¿å­˜..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "テーマã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
@@ -5168,6 +6015,10 @@ msgid " Class Reference"
msgstr " クラスリファレンス"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "ä¸¦ã¹æ›¿ãˆ:"
@@ -5198,8 +6049,9 @@ msgid "File"
msgstr "ファイル"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "æ–°è¦ä½œæˆ"
+#, fuzzy
+msgid "New TextFile"
+msgstr "ビューファイル:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -5229,6 +6081,11 @@ msgid "History Next"
msgstr "次ã®å±¥æ­´"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "テーマ"
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Reload Theme"
msgstr "テーマをå†èª­è¾¼"
@@ -5267,12 +6124,6 @@ msgstr "ãŠæ°—ã«å…¥ã‚Šã‚’切り替ãˆã‚‹"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
#, fuzzy
-msgid "Find..."
-msgstr "検索..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Find Next"
msgstr "次を探ã™"
@@ -5330,10 +6181,6 @@ msgid "Discard"
msgstr "離散"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "スクリプトを作æˆ"
-
-#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid ""
"The following files are newer on disk.\n"
@@ -5356,46 +6203,72 @@ msgstr "デãƒãƒƒã‚¬"
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "Search results"
+msgstr "ヘルプを検索"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "ã‚¯ãƒ©ã‚¹ã®æ¤œç´¢"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
"組ã¿è¾¼ã¾ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—ãƒˆã¯æ‰€å±žã™ã‚‹ã‚·ãƒ¼ãƒ³ãŒèª­ã¿è¾¼ã¾ã‚Œã¦ã„ãªã„ã¨ç·¨é›†ã§ãã¾ã›ã‚“"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "ライン:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "ファイルシステムã®ãƒªã‚½ãƒ¼ã‚¹ã®ã¿ãƒ‰ãƒ­ãƒƒãƒ—ã§ãã¾ã™."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "記å·ã™ã¹ã¦"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "色をå–å¾—"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "大文字ã¨å°æ–‡å­—を変æ›"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "大文字"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "å°æ–‡å­—"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "切りå–り"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "コピー"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -5489,8 +6362,9 @@ msgid "Find Previous"
msgstr "å‰ã‚’検索"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "ç½®ãæ›ãˆ..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "ファイルを絞り込む..."
#: editor/plugins/script_text_editor.cpp
#, fuzzy
@@ -5511,145 +6385,42 @@ msgstr "文脈å‚照ヘルプ"
msgid "Shader"
msgstr "シェーダー"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Scalar Constant"
-msgstr "スカラ定数を変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Vec Constant"
-msgstr "ベクトル定数を変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change RGB Constant"
-msgstr "RGB定数を変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Scalar Operator"
-msgstr "スカラ演算å­ã‚’変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Vec Operator"
-msgstr "ベクトル演算å­ã‚’変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Vec Scalar Operator"
-msgstr "ベクトル・スカラ演算å­ã‚’変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change RGB Operator"
-msgstr "RGB演算å­ã‚’変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "回転ã®ã¿å¤‰æ›´"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Scalar Function"
-msgstr "スカラ関数を変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Vec Function"
-msgstr "ベクトル関数を変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "スカラUniformを変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "ベクトルUniformを変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "RGB Uniformを変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "è¦å®šå€¤ã‚’変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "XForm Uniformを変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "テクスãƒãƒ£Uniformを変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "キューブマップUniformを変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "コメントを変更"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Add/Remove to Color Ramp"
-msgstr "色ã®å‚¾æ–œã‚’付加/消去"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
#, fuzzy
-msgid "Add/Remove to Curve Map"
-msgstr "カーブマップを加ãˆã‚‹/除去"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "カーブマップを修正"
+msgid "Skeleton2D"
+msgstr "スケルトン..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "入力ã®åå‰ã‚’変更"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Connect Graph Nodes"
-msgstr "グラフノードを接続"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
+#: editor/plugins/skeleton_editor_plugin.cpp
#, fuzzy
-msgid "Disconnect Graph Nodes"
-msgstr "グラフノードを切断"
+msgid "Create physical bones"
+msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ"
-#: editor/plugins/shader_graph_editor_plugin.cpp
+#: editor/plugins/skeleton_editor_plugin.cpp
#, fuzzy
-msgid "Remove Shader Graph Node"
-msgstr "シェーダーグラフノードを除去"
+msgid "Skeleton"
+msgstr "スケルトン..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
+#: editor/plugins/skeleton_editor_plugin.cpp
#, fuzzy
-msgid "Move Shader Graph Node"
-msgstr "シェーダーグラフノードを移動"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "グラフノードを複製"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "シェーダーグラフノードを消去"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "エラー:循環çµåˆãƒªãƒ³ã‚¯"
+msgid "Create physical skeleton"
+msgstr "アウトラインを生æˆ"
-#: editor/plugins/shader_graph_editor_plugin.cpp
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
#, fuzzy
-msgid "Error: Missing Input Connections"
-msgstr "エラー:入力コãƒã‚¯ã‚·ãƒ§ãƒ³ãŒå¤±ã‚れã¦ã„ã¾ã™"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "シェーダーグラフノードを追加"
+msgid "Play IK"
+msgstr "実行"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5780,10 +6551,6 @@ msgid "Align with view"
msgstr "シーンビューã«ã‚«ãƒ¡ãƒ©ã‚’åˆã‚ã›ã‚‹ï¼ˆAlign With View)"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "ãŠãƒ¼ã‘ー :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
#, fuzzy
msgid "No parent to instance a child at."
msgstr "å­ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’生æˆã™ã‚‹ãŸã‚ã®è¦ªãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
@@ -5794,6 +6561,11 @@ msgid "This operation requires a single selected node."
msgstr "一ã¤ãƒŽãƒ¼ãƒ‰ã‚’指定ã—ãªã„ã¨ã€ã“ã®æ“作ã¯ã§ãã¾ã›ã‚“"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "情報を表示"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "通常表示"
@@ -5846,6 +6618,11 @@ msgid "Doppler Enable"
msgstr "有効ã«ã™ã‚‹"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "メッシュライブラリを生æˆ"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "フリールック左"
@@ -5984,6 +6761,11 @@ msgstr "拡大縮å°ãƒ„ール"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
+msgid "Snap To Floor"
+msgstr "Snapモード:"
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Toggle Freelook"
msgstr "フルスクリーンã®åˆ‡ã‚Šæ›¿ãˆ"
@@ -5993,6 +6775,10 @@ msgid "Transform"
msgstr "トランスフォーム"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Transform Dialog..."
msgstr "トランスフォームã®ãƒ€ã‚¤ã‚¢ãƒ­ã‚°..."
@@ -6022,6 +6808,11 @@ msgid "4 Viewports"
msgstr "4 ビューãƒãƒ¼ãƒˆ"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "ギズモ(Gizmo)表示"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "原点を見る"
@@ -6036,10 +6827,6 @@ msgid "Settings"
msgstr "設定"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "スナップã®è¨­å®š"
@@ -6102,6 +6889,53 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "スタックフレーム"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "~ã«å¤‰æ›ã™ã‚‹..."
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "アウトラインメッシュを生æˆ"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "スナップ機能(ピクセルå˜ä½ï¼‰:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "プレビュー"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "設定"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
#, fuzzy
msgid "ERROR: Couldn't load frame resource!"
@@ -6177,15 +7011,6 @@ msgstr "å·¦ã«ç§»å‹•"
msgid "SpriteFrames"
msgstr "スタックフレーム"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "スタイルボックス プレビュー:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-#, fuzzy
-msgid "StyleBox"
-msgstr "スタイル"
-
#: editor/plugins/texture_region_editor_plugin.cpp
#, fuzzy
msgid "Set Region Rect"
@@ -6213,29 +7038,22 @@ msgid "Auto Slice"
msgstr "自動スライス"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "オフセット:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "ステップ:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "分離:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
#, fuzzy
-msgid "Texture Region"
+msgid "TextureRegion"
msgstr "テクスãƒãƒ£ã€€ãƒªãƒ¼ã‚¸ãƒ§ãƒ³"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "テクスãƒãƒ£ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã€€ã‚¨ãƒ‡ã‚£ã‚¿"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "ファイルã«ãƒ†ãƒ¼ãƒžã‚’ä¿å­˜ã§ãã¾ã›ã‚“:"
@@ -6249,11 +7067,6 @@ msgid "Add All"
msgstr "ã™ã¹ã¦ã‚’追加"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "アイテムを除去"
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "アイテムを除去"
@@ -6332,10 +7145,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "オプション"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -6362,7 +7171,7 @@ msgstr "データã®åž‹(Type):"
msgid "Icon"
msgstr "アイコン"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "スタイル"
@@ -6375,8 +7184,8 @@ msgid "Color"
msgstr "色"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "テーマ"
+msgid "Constant"
+msgstr "コンスタント"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -6384,6 +7193,11 @@ msgid "Erase Selection"
msgstr "é¸æŠžã‚’æ¶ˆåŽ»"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "無効ãªåå‰ã§ã™."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "タイルマップを塗る"
@@ -6405,12 +7219,8 @@ msgid "Erase TileMap"
msgstr "タイルマップを消去"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "é¸æŠžã‚’æ¶ˆåŽ»"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
-msgid "Find tile"
+msgid "Find Tile"
msgstr "タイルを探ã™"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -6435,6 +7245,11 @@ msgid "Pick Tile"
msgstr "ã‚¿ã‚¤ãƒ«ã‚’é¸æŠž"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "0度回転"
@@ -6452,13 +7267,39 @@ msgstr "270度回転"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Could not find tile:"
-msgstr "タイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ:"
+msgid "Add Texture(s) to TileSet"
+msgstr "シーンã‹ã‚‰ã®ãƒŽãƒ¼ãƒ‰"
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Item name or ID:"
-msgstr "アイテムã®åå‰ã‹ID:"
+msgid "Remove current 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 ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Selected Textue and ALL TILES wich uses 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
#, fuzzy
@@ -6471,51 +7312,71 @@ msgid "Merge from scene?"
msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸ã—ã¾ã™ã‹ï¼Ÿ"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "タイルセット..."
+msgid " file(s) was not added because was already on the list."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "シーンã‹ã‚‰ç”Ÿæˆ"
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸"
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "エラー"
+msgid ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Autotiles"
-msgstr "自動スライス"
+msgid ""
+"Select current edited sub-tile.\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."
+"bindings.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
-"LMB: set bit on.\n"
-"RMB: set bit off."
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
-msgstr "ç¾åœ¨ç·¨é›†ä¸­ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ä¿å­˜ã™ã‚‹"
+msgid "This property can't be changed."
+msgstr "ã“ã®å‡¦ç†ã«ã¯ã‚·ãƒ¼ãƒ³ãŒå¿…è¦ã§ã™."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
-msgstr ""
+#, fuzzy
+msgid "Tile Set"
+msgstr "タイルセット..."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "キャンセル"
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "頂点"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "引数:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "å³å´é¢"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "シェーダー"
#: editor/project_export.cpp
msgid "Runnable"
@@ -6533,7 +7394,7 @@ msgstr "åˆæœŸè¨­å®šå€¤ '%s'?を削除ã—ã¾ã™ã‹ï¼Ÿ"
#: editor/project_export.cpp
#, fuzzy
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
"ã“ã®ãƒ—ラットフォームã«å‘ã‘ã¦ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã®ãƒ†ãƒ³ãƒ—レートãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“:"
@@ -6622,12 +7483,6 @@ msgstr ""
"ã“ã®ãƒ—ラットフォームã«å‘ã‘ã¦ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã®ãƒ†ãƒ³ãƒ—レートãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“:"
#: editor/project_export.cpp
-#, fuzzy
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"ã“ã®ãƒ—ラットフォームã«å‘ã‘ã¦ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã®ãƒ†ãƒ³ãƒ—レートãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "デãƒãƒƒã‚°ä»˜ãエクスãƒãƒ¼ãƒˆ"
@@ -6637,14 +7492,24 @@ msgid "The path does not exist."
msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "'project.godot' ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "'project.godot'ãŒãªã„ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "空ã®ãƒ•ã‚©ãƒ«ãƒ€ãƒ¼ã‚’é¸æŠžã—ã¦ãã ã•ã„。"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "'project.godot' ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "インãƒãƒ¼ãƒˆã•れãŸãƒ—ロジェクト"
@@ -6740,6 +7605,11 @@ msgid "Project Path:"
msgstr "プロジェクトパス:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "プロジェクトパス:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "å‚照…"
@@ -6860,8 +7730,8 @@ msgstr "マウスボタン"
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6874,9 +7744,23 @@ msgid "Rename Input Action Event"
msgstr "入力アクションイベントã®åå‰ã‚’変更ã™ã‚‹"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "アニメーションã®åå‰ã‚’変更:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "入力アクションイベントを追加"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "デãƒã‚¤ã‚¹"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "デãƒã‚¤ã‚¹"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6921,20 +7805,24 @@ msgid "Wheel Down Button"
msgstr "ホイールDownボタン"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "ボタン6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "ホイールupボタン"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "ボタン7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "å³ãƒœã‚¿ãƒ³"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "ボタン8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "ボタン6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "ボタン9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "ボタン6"
#: editor/project_settings_editor.cpp
#, fuzzy
@@ -6965,10 +7853,6 @@ msgid "Add Event"
msgstr "イベントを追加"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "デãƒã‚¤ã‚¹"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "ボタン"
@@ -7017,6 +7901,12 @@ 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
#, fuzzy
msgid "Already existing"
msgstr "アクション'%s'ã¯æ—¢ã«ã‚りã¾ã™!"
@@ -7097,6 +7987,10 @@ msgstr "プロパティ:"
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "インプットマップ"
@@ -7106,6 +8000,15 @@ msgid "Action:"
msgstr "アクション:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "アクション:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "デãƒã‚¤ã‚¹:"
@@ -7171,11 +8074,6 @@ msgid "AutoLoad"
msgstr "自動読ã¿è¾¼ã¿"
#: editor/property_editor.cpp
-#, fuzzy
-msgid "Pick a Viewport"
-msgstr "ビューãƒãƒ¼ãƒˆã‚’é¸ã¶"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "イージング(Ease In)"
@@ -7214,39 +8112,12 @@ msgid "Select Node"
msgstr "ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠž"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Make Unique"
-msgstr "ボーンを生æˆ"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "ファイルシステム上ã§è¡¨ç¤º"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Convert To %s"
-msgstr "~ã«å¤‰æ›ã™ã‚‹..."
-
-#: editor/property_editor.cpp
#, fuzzy
msgid "Error loading file: Not a resource!"
msgstr "ファイル読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼:リソースã§ã¯ã‚りã¾ã›ã‚“!"
#: editor/property_editor.cpp
#, fuzzy
-msgid "Selected node is not a Viewport!"
-msgstr "インãƒãƒ¼ãƒˆã™ã‚‹ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠžã™ã‚‹"
-
-#: editor/property_editor.cpp
-#, fuzzy
msgid "Pick a Node"
msgstr "ノードã¸ã®ãƒ‘ス:"
@@ -7255,19 +8126,6 @@ msgid "Bit %d, val %d."
msgstr "ビット %d, 値 %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "オン"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "[Empty]"
-msgstr "空を追加"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "設定"
-
-#: editor/property_editor.cpp
#, fuzzy
msgid "Properties:"
msgstr "プロパティ:"
@@ -7295,6 +8153,134 @@ msgstr "PVRTCツールを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:"
msgid "Can't load back converted image using PVRTC tool:"
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
+#, fuzzy
+msgid "Advanced options"
+msgstr "アニメーションã®ã‚ªãƒ—ション"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "ノードã®åå‰:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "ノードタイプを探ã™"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "ç¾åœ¨ã®ã‚·ãƒ¼ãƒ³"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "ステップ:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "å¼ã‚’変更"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "後処ç†ã‚¹ã‚¯ãƒªãƒ—ト:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "å°æ–‡å­—"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "大文字"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "ズームをリセット"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "エラー"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -7334,11 +8320,6 @@ msgstr "メインシーンã®å¼•æ•°:"
msgid "Scene Run Settings"
msgstr "シーン実行ã®è¨­å®š"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -7364,6 +8345,11 @@ msgstr "シーンã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–"
#: editor/scene_tree_dock.cpp
#, fuzzy
+msgid "Clear Script"
+msgstr "スクリプトをクリア"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "This operation can't be done on the tree root."
msgstr "ã“ã®å‡¦ç†ã¯ãƒ„リーã®ãƒ«ãƒ¼ãƒˆã§ã¯ã§ãã¾ã›ã‚“."
@@ -7412,13 +8398,33 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Discard Instancing"
-msgstr "インスタンス化ã®ç„¡åŠ¹åŒ–"
+msgid "Make Local"
+msgstr "ロケール"
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Makes Sense!"
-msgstr "有æ„義ã«!"
+msgid "Create Root Node:"
+msgstr "ノードを生æˆ"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "シーン"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "シーン"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "継承をクリアã™ã‚‹"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "ノードを切りå–ã‚‹"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -7430,6 +8436,11 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "ç¾åœ¨ã®ã‚·ãƒ¼ãƒ³ãŒç¶™æ‰¿ã™ã‚‹ãƒŽãƒ¼ãƒ‰ã‚’処ç†ã§ãã¾ã›ã‚“!"
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Attach Script"
+msgstr "スクリプトを付与"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "ノードを除去"
@@ -7480,19 +8491,14 @@ msgstr "型(type)を変更"
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Attach Script"
-msgstr "スクリプトを付与"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "スクリプトをクリア"
+msgid "Make Scene Root"
+msgstr "有æ„義ã«!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Save Branch as Scene"
msgstr "ブランãƒã‚’シーンã¨ã—ã¦ä¿å­˜"
@@ -7522,11 +8528,6 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Filter nodes"
-msgstr "フィルター"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Attach a new or existing script for the selected node."
msgstr "é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã«æ–°è¦/既存ã®ã‚¹ã‚¯ãƒªãƒ—トを付与"
@@ -7550,17 +8551,10 @@ msgstr "ロケール"
msgid "Clear Inheritance? (No Undo!)"
msgstr "継承をクリアã—ã¾ã™ã‹ï¼Ÿï¼ˆundoã§ãã¾ã›ã‚“!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "クリアï¼"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "å¯è¦–性(Visibility)を変更"
#: editor/scene_tree_editor.cpp
#, fuzzy
@@ -7570,7 +8564,7 @@ msgstr "ノードã®è¨­å®šã«é–¢ã™ã‚‹è­¦å‘Š:"
#: editor/scene_tree_editor.cpp
#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"ノードãŒã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ä¿æŒã—ã¦ã„ã¾ã™\n"
@@ -7594,24 +8588,25 @@ msgstr ""
"ノードã¯ã‚°ãƒ«ãƒ¼ãƒ—ã«å±žã—ã¦ã„ã¾ã™.\n"
"クリックã—ã¦ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ‰ãƒƒã‚¯ã‚’表示ã—ã¦ãã ã•ã„."
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "フォルダを作æˆ"
#: editor/scene_tree_editor.cpp
#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"ノードã¯ãƒ­ãƒƒã‚¯ã•れã¦ã„ã¾ã™.\n"
"クリックã—ã¦ãƒ­ãƒƒã‚¯ã‚’外ã—ã¦ãã ã•ã„"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"å­ã‚’é¸æŠžã§ãã¾ã›ã‚“.\n"
"クリックã—ã¦é¸æŠžå¯èƒ½ã«ã—ã¦ãã ã•ã„"
@@ -7622,6 +8617,12 @@ msgid "Toggle Visibility"
msgstr "å¯è¦–性(Visibility)を変更"
#: 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 "䏿­£ãªãƒŽãƒ¼ãƒ‰å.ä»¥ä¸‹ã®æ–‡å­—ã¯ä½¿ãˆã¾ã›ã‚“:"
@@ -7662,6 +8663,11 @@ msgid "N/A"
msgstr "利用ã§ããªã„"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "スクリプトエディタを開ã"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "パスãŒã‚りã¾ã›ã‚“"
@@ -7915,10 +8921,23 @@ msgstr "カメラã®ã‚µã‚¤ã‚ºã‚’変更"
#: editor/spatial_editor_gizmos.cpp
#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "パーティクルã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’変更"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "パーティクルã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’変更"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
+#, fuzzy
msgid "Change Sphere Shape Radius"
msgstr "çƒå½¢çжã®åŠå¾„変更"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
#, fuzzy
msgid "Change Box Shape Extents"
msgstr "ボックス(箱)形状ã®Extent(範囲)を変更"
@@ -7934,21 +8953,39 @@ msgid "Change Capsule Shape Height"
msgstr "カプセル形状ã®é«˜ã•変更"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
-
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr ""
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "カプセル形状ã®åŠå¾„変更"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "パーティクルã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’変更"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "カプセル形状ã®é«˜ã•変更"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+msgid "Change Ray Shape Length"
msgstr ""
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "å…‰æºã®åŠå¾„を変更"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "カプセル形状ã®é«˜ã•変更"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "çƒå½¢çжã®åŠå¾„変更"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "å…‰æºã®åŠå¾„を変更"
+
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
msgstr ""
@@ -8008,18 +9045,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-#, fuzzy
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Convert()ã«å¯¾ã—ã¦ç„¡åйãªåž‹ã®å¼•æ•°ã§ã™ã€‚TYPE_* 定数を使ã£ã¦ãã ã•ã„。"
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-#, fuzzy
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "デコードãƒã‚¤ãƒˆã®ãƒã‚¤ãƒˆã¯å分ã§ã¯ã‚りã¾ã›ã‚“。ã¾ãŸã¯ç„¡åйãªå½¢å¼ã§ã™ã€‚"
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "ステップ引数ã¯ã‚¼ãƒ­ã§ã™ï¼"
@@ -8092,6 +9117,11 @@ msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "é¸æŠžç¯„å›²ã‚’è¤‡è£½"
@@ -8183,6 +9213,11 @@ msgstr "é¸æŠžå¯¾è±¡ã‚’ä¸­å¤®ã«"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "ã™ã¹ã¦é¸æŠž"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "Snapã®è¨­å®š"
@@ -8260,6 +9295,76 @@ msgstr "ビューファイル:"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "ベイク!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Bake the navigation mesh."
+msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "ãƒŠãƒ“ãƒ¡ãƒƒã‚·ãƒ¥ï¼ˆãƒŠãƒ“ã‚²ãƒ¼ã‚·ãƒ§ãƒ³ãƒ¡ãƒƒã‚·ãƒ¥ï¼‰ã®æ¶ˆåŽ»."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "設定中..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "グリッドサイズ計算中..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "ãƒã‚¤ãƒˆãƒ•ィールド生æˆä¸­..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "移動å¯èƒ½ãªãƒãƒªã‚´ãƒ³ã‚’記録中..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "ãƒã‚¤ãƒˆãƒ•ィールド圧縮中..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "移動å¯èƒ½ãªé ˜åŸŸã‚’作æˆä¸­..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Partitioning..."
+msgstr "警告"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Creating contours..."
+msgstr "八分木テクスãƒãƒ£ã‚’生æˆ"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Creating polymesh..."
+msgstr "アウトラインメッシュを生æˆ..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Converting to native navigation mesh..."
+msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "ナビメッシュ(ナビゲーションメッシュ)生æˆè¨­å®š:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Parsing Geometry..."
+msgstr "ジオメトリーをパース"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "完了!"
+
#: modules/visual_script/visual_script.cpp
#, fuzzy
msgid ""
@@ -8325,11 +9430,6 @@ msgid "Set Variable Type"
msgstr "変数を編集:"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Functions:"
-msgstr "関数を作æˆ"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "変数を作æˆ:"
@@ -8464,42 +9564,13 @@ msgstr "ãƒŽãƒ¼ãƒ‰ã«æŽ¥ç¶šã—ã¾ã™:"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Condition"
-msgstr "æ¡ä»¶(conditon)"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Sequence"
-msgstr "シークエンス"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Switch"
-msgstr "Switchæ–‡"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Iterator"
-msgstr "イテレーター"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "While"
-msgstr "Whileæ–‡"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "戻り値"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Call"
-msgstr "呼ã³å‡ºã—"
+msgid "Connect Node Data"
+msgstr "ãƒŽãƒ¼ãƒ‰ã«æŽ¥ç¶šã—ã¾ã™:"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Get"
-msgstr "Getメソッド"
+msgid "Connect Node Sequence"
+msgstr "ãƒŽãƒ¼ãƒ‰ã«æŽ¥ç¶šã—ã¾ã™:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -8532,18 +9603,13 @@ msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Edit Variable"
-msgstr "変数を編集:"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Remove Variable"
msgstr "無効ãªã‚­ãƒ¼ã‚’削除"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Edit Signal"
-msgstr "ä¿¡å·ã‚’接続:"
+msgid "Editing Variable:"
+msgstr "変数を編集中:"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
@@ -8552,11 +9618,6 @@ msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Editing Variable:"
-msgstr "変数を編集中:"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Editing Signal:"
msgstr "ä¿¡å·ã‚’接続:"
@@ -8605,6 +9666,11 @@ msgstr "ノードを切りå–ã‚‹"
msgid "Paste Nodes"
msgstr "ノードを貼り付ã‘:"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "メンãƒãƒ¼:"
+
#: modules/visual_script/visual_script_flow_control.cpp
#, fuzzy
msgid "Input type not iterable: "
@@ -8674,6 +9740,20 @@ msgstr ""
"_step()ã®ä¸æ­£ãªè¿”り値 integer (seq out)ã¾ãŸã¯string (error)ã§ãªã„ã¨ã„ã‘ã¾ã›"
"ã‚“."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "シェーダーグラフノードを除去"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Get"
+msgstr "Getメソッド"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Run in Browser"
@@ -8733,8 +9813,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -8840,6 +9920,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Path プロパティã¯ã€å‹•作ã™ã‚‹ã‚ˆã†ã«æœ‰åŠ¹ãª Node2D ノードを示ã™å¿…è¦ãŒã‚りã¾ã™ã€‚"
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8878,7 +9971,7 @@ msgstr "ARVROriginã¯ARVRCameraå­ãƒŽãƒ¼ãƒ‰ãŒå¿…è¦ã§ã™"
#: scene/3d/baked_lightmap.cpp
msgid "%d%%"
-msgstr ""
+msgstr "%d%%"
#: scene/3d/baked_lightmap.cpp
msgid "(Time Left: %d:%02d s)"
@@ -8905,8 +9998,8 @@ msgstr "イメージをé…ç½®(Blit)"
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -9000,6 +10093,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -9014,6 +10118,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "アニメーションツール"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "エラー:アニメーションã®åå‰ãŒä¸æ­£ã§ã™!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "'%s' ã‚’ '%s' ã«æŽ¥ç¶š"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "アニメーションツリーã«å•題ãŒã‚りã¾ã™."
+
#: scene/gui/color_picker.cpp
#, fuzzy
msgid "Raw Mode"
@@ -9099,13 +10244,407 @@ msgstr "フォント読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã€‚"
msgid "Invalid font size."
msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "入力を追加"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<None>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Change Scalar Constant"
+#~ msgstr "スカラ定数を変更"
+
+#, fuzzy
+#~ msgid "Change Vec Constant"
+#~ msgstr "ベクトル定数を変更"
+
+#, fuzzy
+#~ msgid "Change RGB Constant"
+#~ msgstr "RGB定数を変更"
+
+#, fuzzy
+#~ msgid "Change Scalar Operator"
+#~ msgstr "スカラ演算å­ã‚’変更"
+
+#, fuzzy
+#~ msgid "Change Vec Operator"
+#~ msgstr "ベクトル演算å­ã‚’変更"
+
+#, fuzzy
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "ベクトル・スカラ演算å­ã‚’変更"
+
+#, fuzzy
+#~ msgid "Change RGB Operator"
+#~ msgstr "RGB演算å­ã‚’変更"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "回転ã®ã¿å¤‰æ›´"
+
+#, fuzzy
+#~ msgid "Change Scalar Function"
+#~ msgstr "スカラ関数を変更"
+
+#, fuzzy
+#~ msgid "Change Vec Function"
+#~ msgstr "ベクトル関数を変更"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "スカラUniformを変更"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "ベクトルUniformを変更"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "RGB Uniformを変更"
+
+#~ msgid "Change Default Value"
+#~ msgstr "è¦å®šå€¤ã‚’変更"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "XForm Uniformを変更"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "テクスãƒãƒ£Uniformを変更"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "キューブマップUniformを変更"
+
+#~ msgid "Change Comment"
+#~ msgstr "コメントを変更"
+
+#, fuzzy
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "色ã®å‚¾æ–œã‚’付加/消去"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "色変化ã®å‚¾æ–œã‚’修正"
+
+#, fuzzy
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "カーブマップを加ãˆã‚‹/除去"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "カーブマップを修正"
+
+#~ msgid "Change Input Name"
+#~ msgstr "入力ã®åå‰ã‚’変更"
+
+#, fuzzy
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "グラフノードを接続"
+
+#, fuzzy
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "グラフノードを切断"
+
+#, fuzzy
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "シェーダーグラフノードを除去"
+
+#, fuzzy
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "シェーダーグラフノードを移動"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "グラフノードを複製"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "シェーダーグラフノードを消去"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "エラー:循環çµåˆãƒªãƒ³ã‚¯"
+
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "以å‰ã®ã‚¿ãƒ–"
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "エラー:入力コãƒã‚¯ã‚·ãƒ§ãƒ³ãŒå¤±ã‚れã¦ã„ã¾ã™"
-#~ msgid "Next"
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "シェーダーグラフノードを追加"
+
+#~ msgid "Disabled"
+#~ msgstr "無効"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Anim トラックを上ã«ç§»å‹•"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Anim トラックを下ã«ç§»å‹•"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "トランジションを設定:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim トラックåã®å¤‰æ›´"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim トラック補間ã®å¤‰æ›´"
+
+#, fuzzy
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Anim トラック 値モードã®å¤‰æ›´"
+
+#, fuzzy
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim トラック ラップモードã®å¤‰æ›´"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "ノード カーブを編集"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "é¸æŠžæ›²ç·šã‚’ç·¨é›†"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim キーを追加"
+
+#~ msgid "In"
+#~ msgstr "イン"
+
+#~ msgid "Out"
+#~ msgstr "アウト"
+
+#~ msgid "In-Out"
+#~ msgstr "イン - アウト"
+
+#~ msgid "Out-In"
+#~ msgstr "アウト - イン"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Anim Len を変更"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Anim Loop を変更"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim ã¯ã€åž‹æŒ‡å®šã•れãŸå€¤ã®ã‚­ãƒ¼ã‚’作æˆ"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim コールトラックを追加"
+
+#~ msgid "Length (s):"
+#~ msgstr "é•·ã•:"
+
+#~ msgid "Step (s):"
+#~ msgstr "ステップ:"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "カーソル ステップ スナップ (å˜ä½ã¯ç§’)。"
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "アニメーションã®ãƒ«ãƒ¼ãƒ—を有効/無効。"
+
+#~ msgid "Add new tracks."
+#~ msgstr "æ–°ã—ã„トラックを追加。"
+
+#~ msgid "Move current track up."
+#~ msgstr "ç¾åœ¨ã®ãƒˆãƒ©ãƒƒã‚¯ã«ç§»å‹•ã—ã¾ã™ã€‚"
+
+#~ msgid "Move current track down."
+#~ msgstr "ç¾åœ¨ã®ãƒˆãƒ©ãƒƒã‚¯ã‚’下ã¸ç§»å‹•ã—ã¾ã™ã€‚"
+
+#~ msgid "Track tools"
+#~ msgstr "トラック ツール"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "ãれらをクリックã™ã‚‹ã“ã¨ã§ã€å€‹ã€…ã®ã‚­ãƒ¼ã®ç·¨é›†ã‚’有効ã«ã—ã¾ã™ã€‚"
+
+#~ msgid "Key"
+#~ msgstr "キー"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "ノード内ã®é–¢æ•°ã‚’呼ã³å‡ºã—ã¾ã™ã‹ï¼Ÿ"
+
+#, fuzzy
+#~ msgid "Thanks!"
+#~ msgstr "ã‚りãŒã¨ã†!"
+
+#, fuzzy
+#~ msgid "I see..."
+#~ msgstr "ã‚ã‹ã£ãŸ..."
+
+#, fuzzy
+#~ msgid "Can't open '%s'."
+#~ msgstr "'..'を処ç†ã§ãã¾ã›ã‚“"
+
+#, fuzzy
+#~ msgid "Ugh"
+#~ msgstr "ã†ã‡"
+
+#, fuzzy
+#~ msgid "Run Script"
+#~ msgstr "スクリプトã®å®Ÿè¡Œ"
+
+#, fuzzy
+#~ msgid "Save the currently edited resource."
+#~ msgstr "ç¾åœ¨ç·¨é›†ä¸­ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ä¿å­˜ã™ã‚‹"
+
+#~ msgid "Stop Profiling"
+#~ msgstr "ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒªãƒ³ã‚°åœæ­¢"
+
+#~ msgid "Start Profiling"
+#~ msgstr "プロファイリング開始"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "既定(エディタã¨åŒã˜ï¼‰"
+
+#, fuzzy
+#~ msgid "Create new animation in player."
+#~ msgstr "ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å†…ã«æ–°ã—ã作æˆã™ã‚‹"
+
+#, fuzzy
+#~ msgid "Load animation from disk."
+#~ msgstr "ディスクã‹ã‚‰ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’読ã¿è¾¼ã‚€"
+
+#, fuzzy
+#~ msgid "Load an animation from disk."
+#~ msgstr "ディスクã‹ã‚‰ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’一ã¤èª­ã¿è¾¼ã‚€"
+
+#, fuzzy
+#~ msgid "Save the current animation"
+#~ msgstr "ç¾åœ¨ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’ä¿å­˜ã™ã‚‹"
+
+#, fuzzy
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "ターゲットã®ãƒ–レンドã®å›žæ•°ã‚’変更ã™ã‚‹"
+
+#, fuzzy
+#~ msgid "Copy Animation"
+#~ msgstr "アニメーションを複製ã™ã‚‹"
+
+#, fuzzy
+#~ msgid "Fetching:"
+#~ msgstr "å–得中:"
+
+#~ msgid "prev"
+#~ msgstr "å‰"
+
+#~ msgid "next"
#~ msgstr "次"
+#~ msgid "last"
+#~ msgstr "最後"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "IK(インãƒãƒ¼ã‚¹ ã‚­ãƒãƒžãƒ†ã‚£ã‚¯ã‚¹ï¼‰ãƒã‚§ãƒ¼ãƒ³ã®ç·¨é›†"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "マウスä½ç½®ã‹ã‚‰ãƒ”ボットをドラッグ"
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "曲線ã®Out-ãƒãƒ³ãƒ‰ãƒ«ã®ä½ç½®ã‚’指定"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "色変化ã®å‚¾æ–œã«ã€ãƒã‚¤ãƒ³ãƒˆï¼ç‚¹ã‚’追加ã¾ãŸã¯é™¤åŽ»ã™ã‚‹"
+
+#~ msgid "OK :("
+#~ msgstr "ãŠãƒ¼ã‘ー :("
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "スタイルボックス プレビュー:"
+
+#, fuzzy
+#~ msgid "StyleBox"
+#~ msgstr "スタイル"
+
+#~ msgid "Separation:"
+#~ msgstr "分離:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "テクスãƒãƒ£ãƒªãƒ¼ã‚¸ãƒ§ãƒ³ã€€ã‚¨ãƒ‡ã‚£ã‚¿"
+
+#~ msgid "Erase selection"
+#~ msgstr "é¸æŠžã‚’æ¶ˆåŽ»"
+
+#, fuzzy
+#~ msgid "Could not find tile:"
+#~ msgstr "タイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ:"
+
+#, fuzzy
+#~ msgid "Item name or ID:"
+#~ msgstr "アイテムã®åå‰ã‹ID:"
+
+#, fuzzy
+#~ msgid "Autotiles"
+#~ msgstr "自動スライス"
+
+#, fuzzy
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "ã“ã®ãƒ—ラットフォームã«å‘ã‘ã¦ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã®ãƒ†ãƒ³ãƒ—レートãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“:"
+
+#~ msgid "Button 7"
+#~ msgstr "ボタン7"
+
+#~ msgid "Button 8"
+#~ msgstr "ボタン8"
+
+#~ msgid "Button 9"
+#~ msgstr "ボタン9"
+
+#, fuzzy
+#~ msgid "Discard Instancing"
+#~ msgstr "インスタンス化ã®ç„¡åŠ¹åŒ–"
+
+#~ msgid "Clear!"
+#~ msgstr "クリアï¼"
+
+#, fuzzy
+#~ msgid "Condition"
+#~ msgstr "æ¡ä»¶(conditon)"
+
+#, fuzzy
+#~ msgid "Sequence"
+#~ msgstr "シークエンス"
+
+#, fuzzy
+#~ msgid "Switch"
+#~ msgstr "Switchæ–‡"
+
+#, fuzzy
+#~ msgid "Iterator"
+#~ msgstr "イテレーター"
+
+#, fuzzy
+#~ msgid "While"
+#~ msgstr "Whileæ–‡"
+
+#~ msgid "Return"
+#~ msgstr "戻り値"
+
+#, fuzzy
+#~ msgid "Call"
+#~ msgstr "呼ã³å‡ºã—"
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "変数を編集:"
+
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "ä¿¡å·ã‚’接続:"
+
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "䏿­£ãªã‚¢ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆ '/' ã¨':'ã¯ä¸å¯ã§ã™ï¼‰."
@@ -9123,9 +10662,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgid "Can't write file."
#~ msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“ã§ã—ãŸ."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "'project.godot'ãŒãªã„ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„."
-
#, fuzzy
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "project.godotをプロジェクトパスã«ç”Ÿæˆã§ãã¾ã›ã‚“ã§ã—ãŸ"
@@ -9254,18 +10790,11 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ "Path プロパティã«è¨­å®šã—ãŸãƒ“ューãƒãƒ¼ãƒˆã¯ã€ã“ã®ã‚¹ãƒ—ライトã®å‹•作ã™ã‚‹é †åºã§ "
#~ "'render target' ã¨ã—ã¦è¨­å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
-#~ msgid "Filter:"
-#~ msgstr "フィルター:"
-
#, fuzzy
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' ã®ãƒ¡ã‚½ãƒƒãƒ‰ä¸€è¦§ï¼š"
#, fuzzy
-#~ msgid "Arguments:"
-#~ msgstr "引数:"
-
-#, fuzzy
#~ msgid "Return:"
#~ msgstr "戻り値:"
@@ -9304,10 +10833,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgstr "å†ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã«ã¯ç¾åœ¨ã®ã‚·ãƒ¼ãƒ³ã‚’ä¿å­˜ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™"
#, fuzzy
-#~ msgid "Save & Re-Import"
-#~ msgstr "ä¿å­˜ã—ã¦å†ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
-
-#, fuzzy
#~ msgid "Re-Importing"
#~ msgstr "å†ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
@@ -9338,10 +10863,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgstr "ディレクトリを自身ã®å†…部ã«ã¯ç§»å‹•ã§ãã¾ã›ã‚“"
#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "イメージ読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼:"
-
-#, fuzzy
#~ msgid "Pick New Name and Location For:"
#~ msgstr "æ–°ã—ã„åå‰ã¨ãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚’é¸æŠž:"
@@ -9374,10 +10895,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgstr "ターゲットã®ãƒ‘スãŒå­˜åœ¨ã—ã¾ã›ã‚“"
#, fuzzy
-#~ msgid "Save path is empty!"
-#~ msgstr "ä¿å­˜ã™ã‚‹ãƒ‘スãŒã‚りã¾ã›ã‚“!"
-
-#, fuzzy
#~ msgid "Import BitMasks"
#~ msgstr "ビットマスクをインãƒãƒ¼ãƒˆ"
@@ -9516,15 +11033,9 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgid "Max Angle"
#~ msgstr "最大角度"
-#~ msgid "Clips"
-#~ msgstr "クリップ"
-
#~ msgid "Start(s)"
#~ msgstr "é–‹å§‹"
-#~ msgid "End(s)"
-#~ msgstr "終了"
-
#~ msgid "Filters"
#~ msgstr "フィルター"
@@ -9563,10 +11074,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgstr "ターゲットテクスãƒãƒ£ã®ãƒ•ォルダ:"
#, fuzzy
-#~ msgid "Post-Process Script:"
-#~ msgstr "後処ç†ã‚¹ã‚¯ãƒªãƒ—ト:"
-
-#, fuzzy
#~ msgid "Custom Root Node Type:"
#~ msgstr "ルートノードã®ã‚«ã‚¹ã‚¿ãƒ ã‚¿ã‚¤ãƒ—:"
@@ -9574,10 +11081,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgstr "自動"
#, fuzzy
-#~ msgid "Root Node Name:"
-#~ msgstr "ルートノードã®åå‰:"
-
-#, fuzzy
#~ msgid "The Following Files are Missing:"
#~ msgstr "以下ã®ãƒ•ァイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“:"
@@ -9654,10 +11157,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgstr "アトラスã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’インãƒãƒ¼ãƒˆ (2D)"
#, fuzzy
-#~ msgid "Cell Size:"
-#~ msgstr "セルサイズ:"
-
-#, fuzzy
#~ msgid "Large Texture"
#~ msgstr "大ããªãƒ†ã‚¯ã‚¹ãƒãƒ£"
@@ -9758,10 +11257,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgid "Couldn't save converted texture:"
#~ msgstr "変æ›ã—ãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’ä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ:"
-#, fuzzy
-#~ msgid "Invalid source!"
-#~ msgstr "䏿­£ãªã‚½ãƒ¼ã‚¹!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "䏿­£ãªç¿»è¨³ã‚½ãƒ¼ã‚¹!"
@@ -9811,10 +11306,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgid "Translation"
#~ msgstr "翻訳"
-#, fuzzy
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "%d 三角形をパース中ã§ã™:"
-
#~ msgid "Triangle #"
#~ msgstr "三角形 #"
@@ -9846,16 +11337,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "ライトマップ八分木ベイクã®ãƒ—ロセスをリセット(やり直ã—)."
-#~ msgid "Zoom (%):"
-#~ msgstr "ズーム (%):"
-
-#, fuzzy
-#~ msgid "Skeleton..."
-#~ msgstr "スケルトン..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "ズームをリセット"
-
#, fuzzy
#~ msgid "Zoom Set..."
#~ msgstr "ズームをセットã™ã‚‹..."
@@ -9864,10 +11345,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgstr "値を設定ã™ã‚‹"
#, fuzzy
-#~ msgid "Snap (Pixels):"
-#~ msgstr "スナップ機能(ピクセルå˜ä½ï¼‰:"
-
-#, fuzzy
#~ msgid "Parse BBCode"
#~ msgstr "BBコードをパースã™ã‚‹"
@@ -9951,12 +11428,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚"
#~ msgid "Resource Tools"
#~ msgstr "リソースã®ãƒ„ール"
-#~ msgid "Edit Groups"
-#~ msgstr "グループを編集"
-
-#~ msgid "Edit Connections"
-#~ msgstr "コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’編集"
-
#, fuzzy
#~ msgid "Tiles"
#~ msgstr "ファイル:"
diff --git a/editor/translations/ka.po b/editor/translations/ka.po
new file mode 100644
index 0000000000..b8b3e848be
--- /dev/null
+++ b/editor/translations/ka.po
@@ -0,0 +1,9116 @@
+# Georgian translation of the Godot Engine editor
+# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.
+# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)
+# This file is distributed under the same license as the Godot source code.
+# Giorgi Beriashvili <giorgi.beriashvili@outlook.com>, 2018.
+# George Dzavashvili <dzavashviligeorge@gmail.com>, 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"PO-Revision-Date: 2018-08-16 16:36+0000\n"
+"Last-Translator: George Dzavashvili <dzavashviligeorge@gmail.com>\n"
+"Language-Team: Georgian <https://hosted.weblate.org/projects/godot-engine/"
+"godot/ka/>\n"
+"Language: ka\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.2-dev\n"
+
+#: 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
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "áƒáƒœáƒ˜áƒ› გáƒáƒ¡áƒáƒ¦áƒ”ბის ჩáƒáƒ§áƒ”ნებáƒ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის áƒáƒ¡áƒšáƒ˜áƒ¡ შექმნáƒ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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
+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
+#, fuzzy
+msgid "Add Track"
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის დáƒáƒ›áƒáƒ¢áƒ”ბáƒ"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ ხáƒáƒœáƒ’რძლივáƒáƒ‘რ(წáƒáƒ›áƒ”ბში)."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+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 "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
+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
+#, fuzzy
+msgid "Time (s): "
+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
+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
+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
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒ¡áƒáƒ¦áƒ”ბების წáƒáƒ¨áƒšáƒ"
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის წáƒáƒ¨áƒšáƒ"
+
+#: editor/animation_track_editor.cpp
+msgid "Create NEW track for %s and insert key?"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ თრექის შექმნრ%s სთვის დრგáƒáƒ¡áƒáƒ¦áƒ”ბის ჩáƒáƒ¡áƒ›áƒ?"
+
+#: editor/animation_track_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ %d თრექების შექმნრდრგáƒáƒ¡áƒáƒ¦áƒ”ბების ჩáƒáƒ¡áƒ›áƒ?"
+
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
+msgid "Create"
+msgstr "შექმნáƒ"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "áƒáƒœáƒ˜áƒ› ჩáƒáƒ§áƒ”ნებáƒ"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+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 "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 "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method 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
+msgid "Clipboard is empty"
+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 "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
+#, fuzzy
+msgid "Snap (s): "
+msgstr "ნáƒáƒ‘იჯი (წáƒáƒ›áƒ˜):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ ზუმი."
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/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
+#, fuzzy
+msgid "Animation properties."
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ ზუმი."
+
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Paste 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/tile_map_editor_plugin.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 "Goto Next Step"
+msgstr "მáƒáƒ›áƒ“ევნრნáƒáƒ‘იჯზე გáƒáƒ“áƒáƒ¡áƒ•ლáƒ"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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 "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
+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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+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 editor/editor_help.cpp
+msgid "No Matches"
+msgstr "áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს ტáƒáƒšáƒ˜"
+
+#: editor/code_editor.cpp
+msgid "Replaced %d occurrence(s)."
+msgstr "შეცვლილირ%d დáƒáƒ›áƒ—ხვევები."
+
+#: editor/code_editor.cpp
+msgid "Match Case"
+msgstr "სáƒáƒ¥áƒ›áƒ˜áƒ¡ დáƒáƒ›áƒ—ხვევáƒ"
+
+#: editor/code_editor.cpp
+msgid "Whole Words"
+msgstr "მთლიáƒáƒœáƒ˜ სიტყვები"
+
+#: editor/code_editor.cpp editor/rename_dialog.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/tile_set_editor_plugin.cpp
+msgid "Zoom In"
+msgstr "ზუმის გáƒáƒ–რდáƒ"
+
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
+msgid "Zoom Out"
+msgstr "ზუმის დáƒáƒžáƒáƒ¢áƒáƒ áƒáƒ•ებáƒ"
+
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
+msgid "Reset Zoom"
+msgstr "ზუმის სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ–ე დáƒáƒ§áƒ”ნებáƒ"
+
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "ზუმის გáƒáƒ–რდáƒ"
+
+#: editor/code_editor.cpp editor/script_editor_debugger.cpp
+msgid "Line:"
+msgstr "ხáƒáƒ–ი:"
+
+#: editor/code_editor.cpp
+msgid "Col:"
+msgstr "სვეტი:"
+
+#: editor/connections_dialog.cpp
+msgid "Method in target Node must be specified!"
+msgstr "სáƒáƒ›áƒ˜áƒ–ნე კვáƒáƒœáƒ«áƒ¨áƒ˜ მეთáƒáƒ“ი უნდრიყáƒáƒ¡ გáƒáƒœáƒ¡áƒáƒ–ღვრული!"
+
+#: editor/connections_dialog.cpp
+msgid ""
+"Target method not found! Specify a valid method or attach a script to target "
+"Node."
+msgstr ""
+"სáƒáƒ›áƒ˜áƒ–ნე მეთáƒáƒ“ი ვერ მáƒáƒ˜áƒ«áƒ”ბნáƒ! დáƒáƒáƒ™áƒáƒœáƒ™áƒ áƒ”ტეთ მეთáƒáƒ“ი áƒáƒœ მიáƒáƒ‘ით სკრიპტი სáƒáƒ›áƒ˜áƒ–ნე "
+"კვáƒáƒœáƒ«áƒ–ე."
+
+#: editor/connections_dialog.cpp
+msgid "Connect To Node:"
+msgstr "კვáƒáƒœáƒ«áƒ—áƒáƒœ დáƒáƒ™áƒáƒ•შირებáƒ:"
+
+#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
+#: editor/groups_editor.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/theme_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 "Path to Node:"
+msgstr "გზრკვáƒáƒœáƒ«áƒáƒ›áƒ“ე:"
+
+#: editor/connections_dialog.cpp
+msgid "Make Function"
+msgstr "ფუნქციის შექმნáƒ"
+
+#: editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr "გáƒáƒ“áƒáƒ“ებული"
+
+#: editor/connections_dialog.cpp
+msgid "Oneshot"
+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/canvas_item_editor_plugin.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/sprite_frames_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
+msgid "Close"
+msgstr "დáƒáƒ®áƒ£áƒ áƒ•áƒ"
+
+#: editor/connections_dialog.cpp
+msgid "Connect"
+msgstr "დáƒáƒ™áƒáƒ•შირებáƒ"
+
+#: editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr "'%s' დრ'%s' დáƒáƒ™áƒáƒ•შირებáƒ"
+
+#: editor/connections_dialog.cpp
+msgid "Disconnect '%s' from '%s'"
+msgstr "'%s' დრ'%s' შáƒáƒ áƒ˜áƒ¡ კáƒáƒ•შირის გáƒáƒ¬áƒ§áƒ•ეტáƒ"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
+msgstr "'%s' დრ'%s' შáƒáƒ áƒ˜áƒ¡ კáƒáƒ•შირის გáƒáƒ¬áƒ§áƒ•ეტáƒ"
+
+#: 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
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "დáƒáƒ›áƒáƒ™áƒáƒ•შირებელი სიგნáƒáƒšáƒ˜:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის მრუდის ცვლილებáƒ"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
+#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
+msgid "Signals"
+msgstr "სიგნáƒáƒšáƒ”ბი"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+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 "%s ტიპის ცვლილებáƒ"
+
+#: editor/create_dialog.cpp editor/project_settings_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change"
+msgstr "ცვლილებáƒ"
+
+#: editor/create_dialog.cpp
+msgid "Create New %s"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ"
+
+#: 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/asset_library_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search:"
+msgstr "ძებნáƒ:"
+
+#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
+#: editor/script_editor_debugger.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 not take effect unless reloaded."
+msgstr ""
+"სცენრ'%s' áƒáƒ›áƒŸáƒáƒ›áƒáƒ“ áƒáƒ áƒ˜áƒ¡ შესწáƒáƒ áƒ”ბის რეჟიმში.\n"
+"ცვლილებები áƒáƒ  იქნებრეფექტური გáƒáƒ“áƒáƒ¢áƒ•ირთáƒáƒ›áƒ“ე."
+
+#: editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will take effect when reloaded."
+msgstr ""
+"რესურსი '%s' გáƒáƒ›áƒáƒ§áƒ”ნებáƒáƒ¨áƒ˜áƒ.\n"
+"ცვლილებები ძáƒáƒšáƒáƒ¨áƒ˜ შევრგáƒáƒ“áƒáƒ¢áƒ•ირთვიდáƒáƒœ."
+
+#: editor/dependency_editor.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Dependencies"
+msgstr "დáƒáƒ›áƒáƒ™áƒ˜áƒ“ებულებები"
+
+#: editor/dependency_editor.cpp
+msgid "Resource"
+msgstr "რესურსი"
+
+#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp
+#: editor/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/script_create_dialog.cpp
+msgid "Path"
+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.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 selected files from the project? (no undo)"
+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? (no undo)"
+msgstr ""
+"ფáƒáƒ˜áƒšáƒ”ბი რáƒáƒ›áƒšáƒ”ბსáƒáƒª შლით სáƒáƒ­áƒ˜áƒ áƒáƒ სხვრრესურსებისთვის რáƒáƒ› იმუშáƒáƒáƒœ.\n"
+"წáƒáƒ•შáƒáƒšáƒáƒ— áƒáƒ›áƒ˜áƒ¡ მიუხედáƒáƒ•áƒáƒ“? (შეუძლებელირუკáƒáƒœ დáƒáƒ‘რუნებáƒ)"
+
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
+msgid "Cannot remove:"
+msgstr "ვერ წáƒáƒ•შლით:"
+
+#: editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr "ჩáƒáƒ¢áƒ•ირთვის შეცდáƒáƒ›áƒ:"
+
+#: editor/dependency_editor.cpp
+msgid "Scene failed to load 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 "სáƒáƒ›áƒ£áƒ“áƒáƒ›áƒáƒ“ წáƒáƒ•შáƒáƒšáƒáƒ— %d ნივთები? (უკáƒáƒœ დáƒáƒ‘რუნებრშეუძლებელიáƒ)"
+
+#: editor/dependency_editor.cpp
+msgid "Owns"
+msgstr "ფლáƒáƒ‘ს"
+
+#: editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr "რესურსები გáƒáƒ›áƒáƒ™áƒ•ეთილი მფლáƒáƒ‘ელის გáƒáƒ áƒ”შე:"
+
+#: editor/dependency_editor.cpp editor/editor_node.cpp
+msgid "Orphan Resource Explorer"
+msgstr "áƒáƒ‘áƒáƒšáƒ˜ რესურსების მáƒáƒ«áƒ˜áƒ”ბელი"
+
+#: editor/dependency_editor.cpp
+msgid "Delete selected files?"
+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/project_export.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Delete"
+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 "მáƒáƒ“ლáƒáƒ‘რGodot სáƒáƒ–áƒáƒ’áƒáƒ“áƒáƒ”ბისგáƒáƒœ!"
+
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Godot Engine contributors"
+msgstr "Godot ძრáƒáƒ•ის ხელშემწყáƒáƒ‘ები"
+
+#: editor/editor_about.cpp
+msgid "Project Founders"
+msgstr "პრáƒáƒ”ქტის დáƒáƒ›áƒ¤áƒ£áƒ«áƒœáƒ”ბლები"
+
+#: editor/editor_about.cpp
+msgid "Lead Developer"
+msgstr "მთáƒáƒ•áƒáƒ áƒ˜ დეველáƒáƒžáƒ”რი"
+
+#: editor/editor_about.cpp
+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 "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 "Thirdparty License"
+msgstr "მესáƒáƒ›áƒ” პირის ლიზენციáƒ"
+
+#: editor/editor_about.cpp
+msgid ""
+"Godot Engine relies on a number of thirdparty free and open source "
+"libraries, all compatible with the terms of its MIT license. The following "
+"is an exhaustive list of all such thirdparty components with their "
+"respective copyright statements and license terms."
+msgstr ""
+"Godot ძრáƒáƒ•ი დáƒáƒ›áƒáƒ™áƒ˜áƒ“ებულირმესáƒáƒ›áƒ” პირის უფáƒáƒ¡áƒ დრღირკáƒáƒ“ის ბიბლიáƒáƒ—ეკებზე, "
+"რáƒáƒ›áƒ”ლებიც თáƒáƒ•ის მხრივ იყენებენ MIT ლიცენზიáƒáƒ¡. შემდეგი áƒáƒ áƒ˜áƒ¡ áƒáƒ›áƒáƒ›áƒ¬áƒ£áƒ áƒáƒ•ი სირ"
+"ყველრმესáƒáƒ›áƒ” პირის კáƒáƒ›áƒžáƒáƒœáƒ”ნტების თáƒáƒ•ისი სáƒáƒáƒ•ტáƒáƒ áƒ უფლებებით დრლიზენზიის "
+"წესებით."
+
+#: 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 editor/project_manager.cpp
+msgid "Error opening package file, not in zip format."
+msgstr "შეცდáƒáƒ›áƒ პáƒáƒ™áƒ”ტის გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡áƒáƒ¡, უნდრიყáƒáƒ¡ zip ფáƒáƒ áƒ›áƒáƒ¢áƒ¨áƒ˜."
+
+#: editor/editor_asset_installer.cpp
+msgid "Uncompressing Assets"
+msgstr "áƒáƒ¥áƒ¢áƒ˜áƒ•ების áƒáƒ áƒáƒ™áƒáƒ›áƒžáƒ áƒ”სირებáƒ"
+
+#: editor/editor_asset_installer.cpp editor/project_manager.cpp
+msgid "Package Installed Successfully!"
+msgstr "პáƒáƒ™áƒ”ტი დáƒáƒ§áƒ”ნდრწáƒáƒ áƒ›áƒáƒ¢áƒ”ბით!"
+
+#: editor/editor_asset_installer.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Success!"
+msgstr "წáƒáƒ áƒ›áƒáƒ¢áƒ”ბáƒ!"
+
+#: editor/editor_asset_installer.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Install"
+msgstr "დáƒáƒ§áƒ”ნებáƒ"
+
+#: editor/editor_asset_installer.cpp
+msgid "Package 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 "Audio Bus, Drag and 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/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/tile_map_editor_plugin.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 "Audio"
+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 'res://default_bus_layout.tres' file."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Invalid file, not an audio bus layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Bus"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Create a new Bus Layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp editor/editor_properties.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_autoload_settings.cpp
+msgid "Invalid name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Valid characters:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name. Must not collide with an existing engine class name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name. Must not collide with an existing buit-in type name."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name. Must not collide with an existing global constant 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
+msgid "Enable"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Rearrange Autoloads"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: scene/gui/file_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp
+#: editor/project_manager.cpp editor/settings_config_dialog.cpp
+msgid "Name"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Singleton"
+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_properties.cpp
+msgid "[empty]"
+msgstr ""
+
+#: editor/editor_data.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 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
+#: 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 "Packing"
+msgstr ""
+
+#: editor/editor_export.cpp platform/javascript/export/export.cpp
+msgid "Template file not found:"
+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 Current 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/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
+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/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_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
+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
+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 scene/gui/file_dialog.cpp
+msgid "Go to parent folder"
+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
+msgid "Preview:"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp
+#: scene/gui/file_dialog.cpp
+msgid "File:"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: editor/editor_file_system.cpp
+msgid "(Re)Importing Assets"
+msgstr ""
+
+#: editor/editor_help.cpp editor/editor_node.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Class List:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Search Classes"
+msgstr ""
+
+#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp
+msgid "Top"
+msgstr ""
+
+#: editor/editor_help.cpp editor/property_editor.cpp
+msgid "Class:"
+msgstr ""
+
+#: editor/editor_help.cpp editor/scene_tree_editor.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Brief Description:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Members"
+msgstr ""
+
+#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Members:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Public Methods"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Public Methods:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "GUI Theme Items"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "GUI Theme Items:"
+msgstr ""
+
+#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Enumerations"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Enumerations:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "enum "
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Constants"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Constants:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Description"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Online Tutorials:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid ""
+"There are currently no tutorials for this class, you can [color=$color][url="
+"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
+"url][/color]."
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Properties"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Property Description:"
+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 "Methods"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Method Description:"
+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_inspector.cpp
+msgid "Property: "
+msgstr ""
+
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
+
+#: editor/editor_log.cpp
+msgid "Output:"
+msgstr ""
+
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
+msgid "Clear"
+msgstr ""
+
+#: editor/editor_log.cpp
+msgid "Clear Output"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Project export failed with error code %d."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Error saving resource!"
+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 ""
+"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
+"be satisfied."
+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 "Error trying to save layout!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Default editor layout overridden."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Restored default layout to 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 will not 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 will not 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 will not 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 ""
+"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 "Current scene was never saved, please save it prior to running."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Base Scene"
+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 & Close"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes to '%s' before closing?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save Scene As..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "No"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Yes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "This scene has never been saved. Save before running?"
+msgstr ""
+
+#: editor/editor_node.cpp editor/scene_tree_dock.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 reload a scene that was never saved."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Revert"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "This action cannot be undone. Revert anyway?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quick Run Scene..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quit"
+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 & Quit"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes to the following scene(s) before quitting?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes 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 "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: 'res://addons/%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' 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 "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
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+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 "Dock Position"
+msgstr ""
+
+#: editor/editor_node.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 "Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Go to previously opened scene."
+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
+msgid "Save Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save all Scenes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Open Recent"
+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
+msgid "Redo"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Revert Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Project"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Project Settings"
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Tools"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "პრáƒáƒ”ქტის დáƒáƒ›áƒ¤áƒ£áƒ«áƒœáƒ”ბლები"
+
+#: editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Debug"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Small Deploy with Network FS"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, export or deploy will produce a minimal "
+"executable.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
+"running game if this option is turned on."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Navigation meshes and polygons will be visible on the running game if this "
+"option is turned on."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Sync Scene Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any changes made to the scene in the editor "
+"will be replicated in the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Sync Script Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any script that is saved will be reloaded on "
+"the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Editor"
+msgstr ""
+
+#: editor/editor_node.cpp editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Editor Layout"
+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 editor/project_export.cpp
+msgid "Manage Export Templates"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Help"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Classes"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
+msgid "Search"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Online Docs"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Q&A"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Issue Tracker"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "About"
+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"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: editor/editor_node.cpp editor/editor_profiler.cpp
+msgid "Stop"
+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 "Spins when the editor window repaints!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Update Always"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Update Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Disable Update Spinner"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
+#: editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
+msgid "Output"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Don't Save"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Export Library"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Password:"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open & Run a Script"
+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
+msgid "Select"
+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_plugin.cpp
+msgid "Creating Mesh Previews"
+msgstr ""
+
+#: editor/editor_plugin.cpp
+msgid "Thumbnail..."
+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
+msgid "Update"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Version:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
+msgid "Author:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Status:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
+msgstr ""
+
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame Time (sec)"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Average Time (sec)"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Physics Frame %"
+msgstr ""
+
+#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
+msgid "Time:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Time"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Calls"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_run_native.cpp
+msgid "Select device from the list"
+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."
+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_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Re-Download"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Uninstall"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "(Installed)"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Download"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "(Missing)"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "(Current)"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Retrieving mirrors, please wait..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Remove template version '%s'?"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Can't open export templates zip."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Invalid version.txt format inside templates: %s."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "No version.txt found inside templates."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error creating path for 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 ""
+"No download links found for this version. Direct download is only available "
+"for official releases."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't resolve."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't connect."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "No response."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request Failed."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Redirect Loop."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Failed:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Download Complete."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error requesting url: "
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Connecting to Mirror..."
+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 "Current Version:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Installed Versions:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Install From File"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Remove Template"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Select template file"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Export Template Manager"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Download Templates"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
+msgstr ""
+
+#: editor/file_type_cache.cpp
+msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Cannot navigate to '%s' as it has not been found in the file system!"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "View items as a grid of thumbnails."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "View items as a list."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Status: Import of file failed. Please fix file and reimport manually."
+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
+msgid "No name provided"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Provided name contains invalid characters"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "No name provided."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "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 "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 "Expand all"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Collapse all"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Rename..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Move To..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Open Scene(s)"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Edit Dependencies..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "View Owners..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Duplicate..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Next Directory"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Instance the selected scene(s) as child of the selected node."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "ძებნáƒ:"
+
+#: editor/filesystem_dock.cpp
+msgid ""
+"Scanning Files,\n"
+"Please Wait..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
+msgid "Move"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "მთლიáƒáƒœáƒ˜ სიტყვები"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "სáƒáƒ¥áƒ›áƒ˜áƒ¡ დáƒáƒ›áƒ—ხვევáƒ"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "ჩáƒáƒœáƒáƒªáƒ•ლებáƒ"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "ყველáƒáƒ¡ ჩáƒáƒœáƒáƒªáƒ•ლებáƒ"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "ძებნáƒ:"
+
+#: editor/find_in_files.cpp
+msgid "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+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
+#: 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 "Saving..."
+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 " Files"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Import As:"
+msgstr ""
+
+#: editor/import_dock.cpp editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Reimport"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 Node to edit 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
+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/light_occluder_2d_editor_plugin.cpp
+msgid "Create Poly"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/collision_polygon_editor_plugin.cpp
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Insert Point"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/collision_polygon_editor_plugin.cpp
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Remove Poly And Point"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Create a new polygon from scratch"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid ""
+"Edit existing polygon:\n"
+"LMB: Move Point.\n"
+"Ctrl+LMB: Split Segment.\n"
+"RMB: Erase Point."
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Delete points"
+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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "შექმნáƒ"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+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 "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 "Duplicate Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "No animation to copy!"
+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 "No animation to edit!"
+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/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New"
+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 "Onion Skinning"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Enable Onion Skinning"
+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
+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
+#: editor/script_create_dialog.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 "End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Create new nodes."
+msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "კვáƒáƒœáƒ«áƒ—áƒáƒœ დáƒáƒ™áƒáƒ•შირებáƒ:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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
+msgid "Blend"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Mix"
+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:"
+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
+msgid "Current:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.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
+msgid "Contents:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "View Files"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't resolve hostname:"
+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 to host:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "No response from host:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, return code:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, too many redirects"
+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 sha256 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 "Retry"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Download Error"
+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 "First"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Previous"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Next"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Last"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/project_settings_editor.cpp
+msgid "Plugins"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Sort:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Reverse"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/project_settings_editor.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 "Assets ZIP File"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"Can't determine a save path for lightmap images.\n"
+"Save your scene (for images to be saved in the same dir), or pick a save "
+"path from the BakedLightmap properties."
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake "
+"Light' flag is 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 "Bake Lightmaps"
+msgstr ""
+
+#: editor/plugins/camera_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.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 "Rotation Offset:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move vertical guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create new 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 new horizontal guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Remove horizontal guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create new horizontal and vertical guides"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move pivot"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
+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
+msgid "Paste Pose"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "ზუმის დáƒáƒžáƒáƒ¢áƒáƒ áƒáƒ•ებáƒ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "ზუმის დáƒáƒžáƒáƒ¢áƒáƒ áƒáƒ•ებáƒ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "ზუმის გáƒáƒ–რდáƒ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Select Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Drag: Rotate"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+RMB: Depth list selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate Mode"
+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 "Toggle snapping."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snapping Options"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to grid"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+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 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
+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 "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show 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 "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
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Show 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 "Center Selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Insert keys."
+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 "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 "Add %s"
+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 Poly3D"
+msgstr ""
+
+#: editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+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 "Flat0"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Flat1"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Ease in"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.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/gi_probe_editor_plugin.cpp
+msgid "Bake GI Probe"
+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 ""
+"No OccluderPolygon2D resource on this node.\n"
+"Create and assign one?"
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create a new polygon from scratch."
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Edit existing polygon:"
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "LMB: Move Point."
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Ctrl+LMB: Split Segment."
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "RMB: Erase Point."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Convex 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 Shape"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Shape"
+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
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Model has no UV in this layer"
+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
+msgid "Mesh"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Static Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Collision Sibling"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh..."
+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_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+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 "Parent has no solid faces to populate."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Couldn't map area."
+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
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generating AABB"
+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 "Error loading image:"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "No pixels with transparency > 128 in image..."
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generate Visibility Rect"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Particles"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generation Time (sec):"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Emission Mask"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Capture from Pixel"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Emission Colors"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Faces contain no area!"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "No faces!"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry (faces)."
+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
+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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Convert to CPUParticles"
+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 "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
+#: 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 "Split Segment (in curve)"
+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_plugin.cpp
+#: editor/project_export.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/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 "Create UV Map"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის მáƒáƒ¨áƒáƒ áƒ”ბáƒ"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "შექმნáƒ"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Point"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+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 "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->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
+msgid "Enable Snap"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "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/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_dock.cpp editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+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
+msgid "Type:"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ResourcePreloader"
+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 "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+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 TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "გáƒáƒ®áƒ¡áƒœáƒ˜áƒšáƒ˜"
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save File As..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid " Class Reference"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.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
+msgid "File"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile"
+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 "Show In File System"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "History Prev"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "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 "Save Theme As"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close Docs"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close All"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close Other Tabs"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Scripts Panel"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find Next"
+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 "Step Into"
+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
+msgid "Open Godot online documentation"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search the class hierarchy."
+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 "Reload"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid ""
+"Built-in scripts can only be edited when the scene they belong to is loaded"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "ხáƒáƒ–ი:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Only resources from filesystem can be dropped."
+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
+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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
+#: scene/gui/text_edit.cpp
+msgid "Cut"
+msgstr ""
+
+#: editor/plugins/script_text_editor.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 "Clone Down"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Complete Symbol"
+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 "Auto Indent"
+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 "Goto Next Breakpoint"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Goto Previous Breakpoint"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Convert To Uppercase"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Convert To Lowercase"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Find in files..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Goto Function..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Goto Line..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: editor/plugins/shader_editor_plugin.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 "Skeleton2D"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
+
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
+msgstr ""
+
+#: editor/plugins/skeleton_editor_plugin.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
+msgid "Perspective"
+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
+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 "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"
+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 "Bottom"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Align 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 "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
+msgid "Audio Listener"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Doppler Enable"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+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 "XForm Dialog"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Select Mode (Q)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Drag: Rotate\n"
+"Alt+Drag: Move\n"
+"Alt+RMB: Depth list selection"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode (W)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode (E)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode (R)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Space Mode (%s)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Mode (%s)"
+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 "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 "Align Selection With View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Select"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Move"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Rotate"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Scale"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Toggle Freelook"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+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
+#: 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/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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "áƒáƒ®áƒáƒšáƒ˜ %s შექმნáƒ"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+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 Loop"
+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 "Animations"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed (FPS):"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames"
+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 "SpriteFrames"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Set Region Rect"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap Mode:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "<None>"
+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 "Offset:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Step:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Sep.:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "TextureRegion"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Can't save theme to file:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add All Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add All"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Edit theme..."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Class Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Template"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Create From Current Editor Theme"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio1"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio2"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Check Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Radio Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Radio Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Has"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Many"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Has,Many,Options"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Data Type:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Style"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Font"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Color"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Constant"
+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
+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 "Mirror X"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror Y"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint Tile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒ•ნის მáƒáƒ¨áƒáƒ áƒ”ბáƒ"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 0 degrees"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 90 degrees"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 180 degrees"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 270 degrees"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Texture(s) to TileSet"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove current 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 ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Selected Textue and ALL TILES wich uses 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?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was 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 ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+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 ""
+"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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Runnable"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Delete patch '%s' from list?"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Delete preset '%s'?"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export templates for this platform are missing/corrupted:"
+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 "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 (comma separated, e.g: *.json, *.txt)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid ""
+"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Patches"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Make Patch"
+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 "Export PCK/Zip"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export templates for this platform are missing:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export With Debug"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "The path does not exist."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Invalid '.zip' project file, does not 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 "Directory already contains a Godot 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 "The following files failed extraction from package:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Rename Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "New Game 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 "Create folder"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Can't open project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Are you sure to open more than one project?"
+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 \"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 more than one project?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Remove project from the list? (Folder contents will not be modified)"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Language changed.\n"
+"The UI will update next time the editor or project manager starts."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"You are about the scan %s folders for existing Godot projects. Do you "
+"confirm?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project List"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Scan"
+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 "Templates"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Exit"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Can't run project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"You don't currently have any projects.\n"
+"Would you like to explore the official example projects in the Asset Library?"
+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 "Action '%s' already exists!"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Rename Input Action Event"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "Device"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Shift+"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Alt+"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Control+"
+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 "Axis"
+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
+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 "Already existing"
+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 "Override for Feature"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Translation"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Remapped Path"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Resource Remap Add Remap"
+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 editor/property_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Override For..."
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "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
+#, fuzzy
+msgid "Action"
+msgstr "ყველრმáƒáƒœáƒ˜áƒ¨áƒœáƒ•áƒ"
+
+#: editor/project_settings_editor.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 "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 only selected locales"
+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/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Ease Out"
+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_editor.cpp
+msgid "Properties:"
+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/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+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 "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
+#, fuzzy
+msgid "Step"
+msgstr "ნáƒáƒ‘იჯი (წáƒáƒ›áƒ˜):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "ზუმის სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ–ე დáƒáƒ§áƒ”ნებáƒ"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+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
+msgid "Current Scene"
+msgstr ""
+
+#: editor/run_settings_dialog.cpp
+msgid "Main 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 "Clear 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 "Delete Node(s)?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Can not perform with the root node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Save New Scene As..."
+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 "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+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 "Custom 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 "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Remove 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 "Clear Inheritance"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Change Type"
+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
+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 for the selected node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Clear a script for the selected node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Remote"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Toggle Visible"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Node configuration warning:"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node has connection(s) and group(s).\n"
+"Click to show signals dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node has connections.\n"
+"Click to show signals dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node is in group(s).\n"
+"Click to show groups dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.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 "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 "N/A"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Path 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 "Directory of the same name exists"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "File exists, will be reused"
+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 "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 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 "Create new script file"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Load existing script file"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Language"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Inherits"
+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 "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Function:"
+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 modules/mono/editor/mono_bottom_panel.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 "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 "Variable"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Errors:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace (if applicable):"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Monitors"
+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 "Video Mem"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: editor/script_editor_debugger.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/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 "Change AudioStreamPlayer3D Emission Angle"
+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 "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
+
+#: 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/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 "Library"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Libraries: "
+msgstr ""
+
+#: modules/gdnative/register_types.cpp
+msgid "GDNative"
+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/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
+msgid "GridMap Duplicate Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Grid Map"
+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 "Create Area"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Create Exterior Connector"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Erase Area"
+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/mono/csharp_script.cpp
+msgid "Class name can't be a reserved keyword"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Generating solution..."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Generating C# project..."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Failed to create solution."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Failed to save solution."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Done"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Failed to create C# project."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Mono"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "About C# support"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Create C# solution"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "Builds"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "Build Project"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "Warnings"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "View log"
+msgstr ""
+
+#: modules/mono/mono_gd/gd_mono_utils.cpp
+msgid "End of inner exception stack trace"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+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_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 "Variables:"
+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 "Add Variable"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Signal"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Expression"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Node"
+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) From Tree"
+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 "Connect Node Data"
+msgstr "კვáƒáƒœáƒ«áƒ—áƒáƒœ დáƒáƒ™áƒáƒ•შირებáƒ:"
+
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+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 "Can't copy the function node."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Clipboard is empty!"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Paste VisualScript Nodes"
+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 "Base Type:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Available Nodes:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Select or create a function to edit graph"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Signal Arguments:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Variable:"
+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 "Paste Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+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_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 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_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 "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 "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_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+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 write file:"
+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 read custom HTML shell:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not read boot splash image file:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Using default boot splash image."
+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/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_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_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/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the 'texture' "
+"property."
+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/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/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+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/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+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/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+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/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnable2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVRCamera must have an ARVROrigin node as its parent"
+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 will not be bound to an "
+"actual controller"
+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 will not be bound to an actual "
+"anchor"
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVROrigin requires an ARVRCamera child node"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "%d%%"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "(Time Left: %d:%02d s)"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Plotting Meshes: "
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Plotting Lights:"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
+msgid "Finishing Plot"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Lighting Meshes: "
+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/gi_probe.cpp
+msgid "Plotting Meshes"
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/particles.cpp
+msgid ""
+"Nothing is visible because meshes have not been assigned to draw passes."
+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/remote_transform.cpp
+msgid "Path property must point to a valid Spatial node to work."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid "WorldEnvironment needs an Environment resource."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/scenario_fx.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/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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+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/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ ხáƒáƒœáƒ’რძლივáƒáƒ‘რ(წáƒáƒ›áƒ”ბში)."
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ."
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "'%s' დრ'%s' შáƒáƒ áƒ˜áƒ¡ კáƒáƒ•შირის გáƒáƒ¬áƒ§áƒ•ეტáƒ"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "მáƒáƒœáƒ˜áƒ¨áƒœáƒ”თ AnimationPlayer სცენიდáƒáƒœ რáƒáƒ› შეცვáƒáƒšáƒáƒ— áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ”ბი."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw Mode"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Add current color as a preset"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Select this Folder"
+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 though, but they will "
+"hide upon running."
+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/tree.cpp
+msgid "(Other)"
+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/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/resources/dynamic_font.cpp
+msgid "Error initializing FreeType."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+msgid "Unknown font format."
+msgstr "უცნáƒáƒ‘ი ფáƒáƒœáƒ¢áƒ˜áƒ¡ ფáƒáƒ áƒ›áƒáƒ¢áƒ˜."
+
+#: scene/resources/dynamic_font.cpp
+msgid "Error loading font."
+msgstr "შეცდáƒáƒ›áƒ ფáƒáƒœáƒ¢áƒ˜áƒ¡ ჩáƒáƒ¢áƒ•ირთვისáƒáƒ¡."
+
+#: scene/resources/dynamic_font.cpp
+msgid "Invalid font size."
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ."
+
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "გáƒáƒ›áƒáƒ áƒ—ული"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის ზემáƒáƒ— გáƒáƒ“áƒáƒáƒ“გილებáƒ"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის ქვემáƒáƒ— გáƒáƒ“áƒáƒáƒ“გილებáƒ"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "დáƒáƒ§áƒ”ნდეს გáƒáƒ“áƒáƒ¡áƒ•ლები შემდეგზე:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვáƒ"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის ინტერპáƒáƒšáƒáƒªáƒ˜áƒ˜áƒ¡ ცვლილებáƒ"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის მნიშვნელáƒáƒ‘ის რეჟიმის ცვლილებáƒ"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ თრექის გáƒáƒ“áƒáƒ¢áƒáƒœáƒ˜áƒ¡ რეჟიმის ცვლილებáƒ"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "კვáƒáƒœáƒ«áƒ˜áƒ¡ მრუდის რედáƒáƒ¥áƒ¢áƒ˜áƒ áƒ”ბáƒ"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒ¡áƒáƒ¦áƒ”ბის დáƒáƒ›áƒáƒ¢áƒ”ბáƒ"
+
+#~ msgid "In"
+#~ msgstr "შიგნით"
+
+#~ msgid "Out"
+#~ msgstr "გáƒáƒ áƒ”თ"
+
+#~ msgid "In-Out"
+#~ msgstr "შიგნიდáƒáƒœ-გáƒáƒ áƒ”თ"
+
+#~ msgid "Out-In"
+#~ msgstr "გáƒáƒ áƒ”დáƒáƒœ-შიგნით"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "áƒáƒœáƒ˜áƒ› სიგრძის შეცვლáƒ"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "áƒáƒœáƒ˜áƒ› ლუპის შეცვლáƒ"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ ტიპირებული გáƒáƒ¡áƒáƒ¦áƒ”ბის შექმნáƒ"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒ›áƒáƒ«áƒáƒ®áƒ”ბის თრექის დáƒáƒ›áƒáƒ¢áƒ”ბáƒ"
+
+#~ msgid "Length (s):"
+#~ msgstr "ხáƒáƒœáƒ’რძლივáƒáƒ‘რ(წáƒáƒ›áƒ˜):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "კურსáƒáƒ áƒ˜áƒ¡ ნáƒáƒ‘იჯის მიáƒáƒ®áƒšáƒáƒ”ბით მიერთებრ(წáƒáƒ›áƒ”ბში)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡ გáƒáƒœáƒ›áƒ”áƒáƒ áƒ”ბáƒáƒ“áƒáƒ‘ის ჩáƒáƒ áƒ—ვáƒ/გáƒáƒ›áƒáƒ áƒ—ვáƒ."
+
+#~ msgid "Add new tracks."
+#~ msgstr "áƒáƒ®áƒáƒšáƒ˜ თრექების ჩáƒáƒ›áƒáƒ¢áƒ”ბáƒ."
+
+#~ msgid "Move current track up."
+#~ msgstr "მიმდინáƒáƒ áƒ” თრექის ზემáƒáƒ— გáƒáƒ“áƒáƒáƒ“გილებáƒ."
+
+#~ msgid "Move current track down."
+#~ msgstr "მიმდინáƒáƒ áƒ” თრექის ქვემáƒáƒ— გáƒáƒ“áƒáƒáƒ“გილებáƒ."
+
+#~ msgid "Track tools"
+#~ msgstr "თრექის იáƒáƒ áƒáƒ¦áƒ”ბი"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "ინდივიდუáƒáƒšáƒ£áƒ áƒ˜ გáƒáƒ¡áƒáƒ¦áƒ”ბების მáƒáƒ—ზე დáƒáƒ­áƒ”რით ცვლილების ჩáƒáƒ áƒ—ვáƒ."
+
+#~ msgid "Key"
+#~ msgstr "გáƒáƒ¡áƒáƒ¦áƒ”ბი"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "რáƒáƒ›áƒ”ლ კვáƒáƒœáƒ«áƒ¨áƒ˜ გáƒáƒ›áƒáƒ•იძáƒáƒ®áƒáƒ— ფუნქციები?"
+
+#~ msgid "Thanks!"
+#~ msgstr "მáƒáƒ“ლáƒáƒ‘áƒ!"
diff --git a/editor/translations/ko.po b/editor/translations/ko.po
index 197a11efa2..10ee7d659b 100644
--- a/editor/translations/ko.po
+++ b/editor/translations/ko.po
@@ -10,12 +10,13 @@
# Xavier Cho <mysticfallband@gmail.com>, 2018.
# 박한얼 (volzhs) <volzhs@gmail.com>, 2016-2018.
# 송태섭 <xotjq237@gmail.com>, 2018.
+# JY <yimjisoo@mailfence.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-07-21 04:38+0000\n"
-"Last-Translator: 송태섭 <xotjq237@gmail.com>\n"
+"PO-Revision-Date: 2018-08-21 00:40+0000\n"
+"Last-Translator: JY <yimjisoo@mailfence.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/"
"godot/ko/>\n"
"Language: ko\n"
@@ -23,335 +24,492 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.1-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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_* ìƒìˆ˜ë¥¼ 사용하세요."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "ëª¨ë‘ ì„ íƒ"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "노드 %s ì•ˆì— ì¸ë±ìФ ì†ì„± ì´ë¦„ '%s' 는 유효하지 않습니다."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "노드 %s ì•ˆì— ì¸ë±ìФ ì†ì„± ì´ë¦„ '%s' 는 유효하지 않습니다."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": 유효하지 ì•Šì€ ì¸ìž 타입: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "무료"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "X축 뒤집기"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "키 삽입"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "ì„ íƒ ë³µì œ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "애니메ì´ì…˜ 전환 변경"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "애니메ì´ì…˜ 변형 변경"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "애니메ì´ì…˜ 키프레임 ê°’ 변경"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "애니메ì´ì…˜ 호출 변경"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "애니메ì´ì…˜ 트랙 추가"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "ì†ì„±:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "애니메ì´ì…˜ 키 복제"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "변형 타입"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "애니메ì´ì…˜ 트랙 위로 ì´ë™"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "애니메ì´ì…˜ 트랙 아래로 ì´ë™"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "애니메ì´ì…˜ 트랙 ì‚­ì œ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "애니메ì´ì…˜ ìž¬ìƒ ì •ì§€. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "애니메ì´ì…˜ 트랙 추가"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "전환 설정:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "애니메ì´ì…˜ ê¸¸ì´ (ì´ˆ)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "애니메ì´ì…˜ 트랙 ì´ë¦„ 변경"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "애니메ì´ì…˜ 확대."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "애니메ì´ì…˜ 트랙 ë³´ê°„ 변경"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "함수:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "애니메ì´ì…˜ 트랙 ê°’ 모드 변경"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "오디오 리스너"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "애니메ì´ì…˜ 트랙 ëž© 모드 변경"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "í´ë¦½"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "노드 커브 편집"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "집중 모드 토글."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "ì„ íƒ ì»¤ë¸Œ 편집"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "애니메ì´ì…˜ 키 ì‚­ì œ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "애니메ì´ì…˜ 노드"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "ì„ íƒ ë³µì œ"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "ì„ íƒëœ íŠ¸ëž™ì— ë³µì œ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "ì„ íƒëœ 트랙 ì‚­ì œ."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "ì„ íƒ ì‚­ì œ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "í¬ë¡œìФ 페ì´ë“œ 시간 (ì´ˆ):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "ì—°ì†ì ì¸"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "비연ì†ì ì¸"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "트리거"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "애니메ì´ì…˜ 키 추가"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "애니메ì´ì…˜ 키 ì´ë™"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "ì„ íƒ í¬ê¸° ì¡°ì ˆ"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "커서 위치ì—서 í¬ê¸° ì¡°ì ˆ"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "ë‹¤ìŒ ìŠ¤í…으로 ì´ë™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "기능"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "ì´ì „ 스í…으로 ì´ë™"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "ì§ì„ í˜•"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "비선형"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "ë°–"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "애니메ì´ì…˜ 루프 ë³´ê°„ 변경"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "안-밖"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "밖-안"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "키 삽입"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "전환"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "노드 복제"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "애니메ì´ì…˜ 최ì í™”"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "노드 삭제"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "애니메ì´ì…˜ 정리"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "애니메ì´ì…˜ 트랙 ì‚­ì œ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "%s (ì„)를 위해 새 íŠ¸ëž™ì„ ë§Œë“¤ê³  키를 삽입하시겠습니까?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "%dê°œì˜ ìƒˆ íŠ¸ëž™ì„ ìƒì„±í•˜ê³  키를 삽입하시겠습니까?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "ìƒì„±"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "애니메ì´ì…˜ 삽입"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "애니메ì´ì…˜ ìƒì„±ê³¼ 삽입"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "애니메ì´ì…˜ 트랙과 키 삽입"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "애니메ì´ì…˜ 키 삽입"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "애니메ì´ì…˜ ê¸¸ì´ ë³€ê²½"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-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_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "애니메ì´ì…˜ 타입지정 ê°’ 키 만들기"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "애니메ì´ì…˜ 삽입"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGetì´ ìŠ¤í¬ë¦½íЏì—서 발견ë˜ì§€ 않ìŒ: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "애니메ì´ì…˜ 키 ì´ë™"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "í´ë¦½ë³´ë“œê°€ 비었습니다!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "애니메ì´ì…˜ 키 í¬ê¸° ì¡°ì ˆ"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-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 "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "애니메ì´ì…˜ 확대."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "ê¸¸ì´ (ì´ˆ):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "스냅 (픽셀):"
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "애니메ì´ì…˜ ê¸¸ì´ (ì´ˆ)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "애니메ì´ì…˜ 트리가 유효합니다."
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "단계 (초):"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "편집"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "커서 단계 스냅 (초)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "애니메ì´ì…˜ 트리"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "애니메ì´ì…˜ 루프 활성화/비활성화."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "ì†ì„± 복사"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "새 트랙 추가."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "ì†ì„± 붙여넣기"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "현재 íŠ¸ëž™ì„ ìœ„ë¡œ ì´ë™."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "ì„ íƒ í¬ê¸° ì¡°ì ˆ"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "현재 íŠ¸ëž™ì„ ì•„ëž˜ë¡œ ì´ë™."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "커서 위치ì—서 í¬ê¸° ì¡°ì ˆ"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "ì„ íƒëœ 트랙 ì‚­ì œ."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.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_editor.cpp
-msgid "Track tools"
-msgstr "트랙 ë„구"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "ë‹¤ìŒ ìŠ¤í…으로 ì´ë™"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "개별 키를 í´ë¦­í•¨ìœ¼ë¡œì¨ 편집 활성화."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "ì´ì „ 스í…으로 ì´ë™"
-#: editor/animation_editor.cpp
+#: 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 "Anim. Optimizer"
msgstr "애니메ì´ì…˜. 최ì í™”"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "최대 선형 오류:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "최대 ê°ë„ 오류:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "최ì í™” 가능한 최대 ê°ë„:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "최ì í™”"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"애니메ì´ì…˜ íŽ¸ì§‘ì„ ìœ„í•´ì„œëŠ” 씬 트리ì—서 AnimationPlayer를 ì„ íƒí•´ì•¼ 합니다."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "키"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "전환"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "ìŠ¤ì¼€ì¼ ë¹„ìœ¨:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "ì–´ë–¤ 노드ì—서 함수를 호출할까요?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "유효하지 ì•Šì€ í‚¤ ì‚­ì œ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "미결 트랙과 빈 트랙 삭제"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "모든 애니메ì´ì…˜ 없애기"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "애니메ì´ì…˜ 없애기 (ë˜ëŒë¦¬ê¸° 불가!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "복사하기"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "ë°°ì—´ í¬ê¸° 변경"
@@ -372,7 +530,7 @@ msgstr "ë¼ì¸ìœ¼ë¡œ ì´ë™"
msgid "Line Number:"
msgstr "ë¼ì¸ 번호:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "ì¼ì¹˜ ê²°ê³¼ ì—†ìŒ"
@@ -388,7 +546,7 @@ msgstr "ëŒ€ì†Œë¬¸ìž êµ¬ë¶„"
msgid "Whole Words"
msgstr "전체 단어"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "바꾸기"
@@ -400,18 +558,28 @@ msgstr "전체 바꾸기"
msgid "Selection Only"
msgstr "ì„ íƒ ì˜ì—­ë§Œ"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "확대"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "축소"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "줌 리셋"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "경고"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "확대 (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "ë¼ì¸:"
@@ -443,7 +611,8 @@ msgid "Add"
msgstr "추가"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -474,7 +643,7 @@ msgid "Oneshot"
msgstr "1회"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -496,11 +665,12 @@ msgid "Connect '%s' to '%s'"
msgstr "'%s'를 '%s'ì— ì—°ê²°"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "ì‹œê·¸ë„ ì—°ê²°:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "'%s'와 '%s'ì˜ ì—°ê²° í•´ì œ"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "'%s'와 '%s'ì˜ ì—°ê²° í•´ì œ"
#: editor/connections_dialog.cpp
@@ -508,14 +678,48 @@ msgid "Connect..."
msgstr "연결하기..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "연결해제"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "ì‹œê·¸ë„ ì—°ê²°:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "연결 편집"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "ë‘ê°œ ì´ìƒì˜ 프로ì íŠ¸ë¥¼ 실행하려는 ê²ƒì´ í™•ì‹¤í•©ë‹ˆê¹Œ?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "시그ë„"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "연결해제"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "편집"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "메서드"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "%s로 타입 변경"
@@ -538,22 +742,25 @@ msgstr "ì¦ê²¨ì°¾ê¸°:"
msgid "Recent:"
msgstr "최근:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "검색:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "설명:"
@@ -615,7 +822,9 @@ msgstr "대체 리소스 검색:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "열기"
@@ -636,7 +845,7 @@ msgstr ""
"삭제하려고 하는 파ì¼ë“¤ì€ 다른 ë¦¬ì†ŒìŠ¤ë“¤ì´ ì •ìƒë™ìž‘하기 위해 필요합니다.\n"
"ì •ë§ë¡œ 삭제하시겠습니까? (ë˜ëŒë¦¬ê¸° 불가)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "제거할 수 없습니다:"
@@ -704,9 +913,13 @@ msgstr "Dictionary 값 변경"
msgid "Thanks from the Godot community!"
msgstr "Godot ì»¤ë®¤ë‹ˆí‹°ì— ê°ì‚¬ë“œë¦½ë‹ˆë‹¤!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "ê°ì‚¬í•©ë‹ˆë‹¤!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "확ì¸"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -882,6 +1095,7 @@ msgid "Bus options"
msgstr "버스 옵션"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "복제"
@@ -950,7 +1164,8 @@ msgstr "버스 추가"
msgid "Create a new Bus Layout."
msgstr "새로운 버스 ë ˆì´ì•„ì›ƒì„ ë§Œë“­ë‹ˆë‹¤."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "로드"
@@ -960,7 +1175,6 @@ msgid "Load an existing Bus Layout."
msgstr "기존 버스 ë ˆì´ì•„ì›ƒì„ ë¶ˆëŸ¬ì˜µë‹ˆë‹¤."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "다른 ì´ë¦„으로 저장"
@@ -999,22 +1213,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "유효하지 ì•Šì€ ì´ë¦„입니다. ì „ì—­ ìƒìˆ˜ ì´ë¦„ê³¼ ì¶©ëŒí•˜ì§€ 않아야 합니다."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "유효하지 ì•Šì€ ê²½ë¡œ."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "파ì¼ì´ 존재하지 않습니다."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "리소스 경로가 아닙니다."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "오토로드 추가"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "ì˜¤í† ë¡œë“œì— '%s'ì´(ê°€) ì´ë¯¸ 존재합니다!"
@@ -1042,6 +1240,22 @@ msgstr "활성화"
msgid "Rearrange Autoloads"
msgstr "오토로드 재정렬"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "유효하지 ì•Šì€ ê²½ë¡œ."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "파ì¼ì´ 존재하지 않습니다."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "리소스 경로가 아닙니다."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "오토로드 추가"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1072,7 +1286,7 @@ msgstr "로컬 ë³€ê²½ì‚¬í•­ì„ ì €ìž¥ 중..."
msgid "Updating scene..."
msgstr "씬 ì—…ë°ì´íЏ 중..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[비었ìŒ]"
@@ -1134,6 +1348,12 @@ msgid "Copy Path"
msgstr "경로 복사"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "íŒŒì¼ ë§¤ë‹ˆì €ì—서 보기"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "íŒŒì¼ ë§¤ë‹ˆì €ì—서 보기"
@@ -1170,7 +1390,7 @@ msgid "Open a File or Directory"
msgstr "디렉토리 ë˜ëŠ” íŒŒì¼ ì—´ê¸°"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "저장하기"
@@ -1223,7 +1443,8 @@ msgstr "부모 í´ë”로 ì´ë™"
msgid "Directories & Files:"
msgstr "디렉토리와 파ì¼:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "미리보기:"
@@ -1375,20 +1596,28 @@ msgstr ""
"현재 ì´ ë©”ì„œë“œì— ëŒ€í•œ ìƒì„¸ì„¤ëª…ì´ ì—†ìŠµë‹ˆë‹¤. [color=$color][url=$url]관련 ì •ë³´"
"를 기여하여[/url][/color] ë” ë‚˜ì•„ì§€ê²Œ ë„와주세요!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "ë¬¸ìž ê²€ìƒ‰"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "ì†ì„±:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "찾기"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "설정"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "출력:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1410,11 +1639,6 @@ msgstr "리소스 저장 중 ì—러!"
msgid "Save Resource As..."
msgstr "리소스를 다른 ì´ë¦„으로 저장..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "알겠습니다..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "쓰기 위한 파ì¼ì„ ì—´ 수 ì—†ìŒ:"
@@ -1427,9 +1651,9 @@ msgstr "요청한 íŒŒì¼ í˜•ì‹ì„ 알 수 ì—†ìŒ:"
msgid "Error while saving."
msgstr "저장 중 ì—러."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "'%s' 열수 ì—†ìŒ."
+#: 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'."
@@ -1472,10 +1696,6 @@ msgstr ""
"ì„ ìˆ˜ 있습니다."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "리소스 로드 실패."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "병합할 메시 ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ 로드할 수 없습니다!"
@@ -1556,42 +1776,6 @@ msgstr ""
"ëžë‹ˆë‹¤."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "모든 ì†ì„± 펼치기"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "모든 ì†ì„± 접기"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "ì†ì„± 복사"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "ì†ì„± 붙여넣기"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "리소스 붙여넣기"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "리소스 복사하기"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "내장으로 만들기"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "하위 리소스를 유ì¼í•˜ê²Œ 만들기"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "ë„움ë§ì—서 열기"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "실행하기 위해 ì •ì˜ëœ ì”¬ì´ ì—†ìŠµë‹ˆë‹¤."
@@ -1779,11 +1963,6 @@ msgstr ""
"'%s' ì”¬ì€ ìžë™ìœ¼ë¡œ ìž„í¬íЏ ë˜ì™¸ì„œ, 변경할 수 없습니다.\n"
"ë³€ê²½ì‚¬í•­ì„ ì ìš©í•˜ë ¤ë©´, 새로운 ìƒì† ì”¬ì„ ë§Œë“œì„¸ìš”."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "오우"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1814,6 +1993,16 @@ msgid "Default"
msgstr "기본"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "씬 실행"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "다른 탭 닫기"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "씬 탭 전환"
@@ -1935,10 +2124,6 @@ msgstr "프로ì íЏ"
msgid "Project Settings"
msgstr "프로ì íЏ 설정"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "스í¬ë¦½íЏ 실행"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "내보내기"
@@ -1948,6 +2133,11 @@ msgid "Tools"
msgstr "ë„구"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "프로ì íЏ 매니저를 여시겠습니까?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "종료 후 프로ì íЏ ëª©ë¡ ì—´ê¸°"
@@ -2059,6 +2249,20 @@ msgstr "ì—디터 ë ˆì´ì•„웃"
msgid "Toggle Fullscreen"
msgstr "전체화면 토글"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "ì—디터 설정"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "ì—디터 설정"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "내보내기 템플릿 관리"
@@ -2074,7 +2278,8 @@ msgstr "í´ëž˜ìФ"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "검색"
@@ -2118,7 +2323,7 @@ msgstr "씬 ì¼ì‹œ ì •ì§€"
msgid "Stop the scene."
msgstr "씬 정지."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "ì •ì§€"
@@ -2139,6 +2344,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "저장 ë° ë‹¤ì‹œ 가져오기"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "ì—디터 윈ë„ìš°ê°€ 다시 그려질 때 회전!"
@@ -2158,42 +2373,6 @@ msgstr "ì—…ë°ì´íЏ 스피너 비활성화"
msgid "Inspector"
msgstr "ì¸ìŠ¤íŽ™í„°"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "새로운 리소스를 ë©”ëª¨ë¦¬ì— ë§Œë“¤ê³  편집합니다."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "디스í¬ì—서 기존 리소스를 로드하여 편집합니다."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "현재 íŽ¸ì§‘ëœ ë¦¬ì†ŒìŠ¤ 저장."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "다른 ì´ë¦„으로 저장..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "ížˆìŠ¤í† ë¦¬ìƒ ì´ì „ì— íŽ¸ì§‘í•œ 오브ì íŠ¸ë¡œ 가기."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "ížˆìŠ¤í† ë¦¬ìƒ ë‹¤ìŒì— 편집한 오브ì íŠ¸ë¡œ 가기."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "최근 편집 오브ì íЏ 히스토리."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "오브ì íЏ ì†ì„±."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "ë³€ê²½ì‚¬í•­ì„ ìžƒì„ ìˆ˜ 있습니다!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2208,6 +2387,11 @@ msgid "FileSystem"
msgstr "íŒŒì¼ ì‹œìŠ¤í…œ"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "ëª¨ë‘ í™•ìž¥"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "출력"
@@ -2284,19 +2468,24 @@ msgid "Thumbnail..."
msgstr "ì¸ë„¤ì¼..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "í´ë¦¬ê³¤ 편집"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "ì„¤ì¹˜ëœ í”ŒëŸ¬ê·¸ì¸:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "갱신"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "버전:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "ì €ìž:"
@@ -2304,13 +2493,16 @@ msgstr "ì €ìž:"
msgid "Status:"
msgstr "ìƒíƒœ:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "프로파ì¼ë§ 중지"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "편집"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "프로파ì¼ë§ 시작"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "시작!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2356,6 +2548,106 @@ msgstr "시간"
msgid "Calls"
msgstr "호출"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "사용"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "비트 %d, 값 %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[비어있ìŒ]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "할당"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "ë·°í¬íЏ ì„ íƒ"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "새 스í¬ë¦½íЏ"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "새 %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "고유하게 만들기"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "íŒŒì¼ ì‹œìŠ¤í…œì—서 보기"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "붙여넣기"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "%s로 변환"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "ì—디터ì—서 열기"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "ì„ íƒëœ 노드는 ë·°í¬íŠ¸ê°€ 아닙니다!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "쎌 사ì´ì¦ˆ:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "새 ì´ë¦„:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "새 ì´ë¦„:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "ì•„ì´í…œ ì‚­ì œ"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "목ë¡ì—서 기기를 ì„ íƒí•˜ì„¸ìš”"
@@ -2392,10 +2684,6 @@ msgstr "스í¬ë¦½íŠ¸ë¥¼ 실행할 수 없습니다:"
msgid "Did you forget the '_run' method?"
msgstr "'_run' 메서드를 잊으셨습니까?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "기본 (ì—디터와 ë™ì¼)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "가져올 노드들 ì„ íƒ"
@@ -2421,6 +2709,7 @@ msgid "(Installed)"
msgstr "(설치ë¨)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "다운로드"
@@ -2445,7 +2734,8 @@ msgid "Can't open export templates zip."
msgstr "내보내기 템플릿 zip 파ì¼ì„ ì—´ 수 없습니다."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "템플릿 ì•ˆì— version.txtê°€ 유효하지 ì•Šì€ í˜•ì‹ìž…니다."
#: editor/export_template_manager.cpp
@@ -2507,6 +2797,12 @@ msgid "Download Complete."
msgstr "다운로드 완료."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "url 요청 ì—러: "
@@ -2585,7 +2881,8 @@ msgid "Download Templates"
msgstr "템플릿 다운로드"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "목ë¡ì—서 미러를 ì„ íƒí•˜ì„¸ìš”: "
#: editor/file_type_cache.cpp
@@ -2597,11 +2894,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "íŒŒì¼ ì‹œìŠ¤í…œì—서 '%s'를 ì°¾ì„ ìˆ˜ 없습니다!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "ì¸ë„¤ì¼ 그리드로 보기"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "리스트로 보기"
#: editor/filesystem_dock.cpp
@@ -2673,7 +2972,7 @@ msgstr "ëª¨ë‘ í™•ìž¥"
msgid "Collapse all"
msgstr "ëª¨ë‘ ì ‘ê¸°"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "ì´ë¦„ 변경..."
@@ -2702,6 +3001,23 @@ msgid "Duplicate..."
msgstr "복제..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "새 스í¬ë¦½íЏ"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "ì´ì „ 디렉토리"
@@ -2714,14 +3030,29 @@ msgid "Re-Scan Filesystem"
msgstr "íŒŒì¼ ì‹œìŠ¤í…œ 재검사"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "ì¦ê²¨ì°¾ê¸°ë¡œ 설정 토글"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "현재 íŽ¸ì§‘ëœ ì„œë¸Œ íƒ€ì¼ ì„ íƒ."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "ì„ íƒëœ ì”¬ì„ ì„ íƒëœ ë…¸ë“œì˜ ìžì‹ìœ¼ë¡œ ì¸ìŠ¤í„´ìŠ¤ 합니다."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "í´ëž˜ìФ 검색"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2729,14 +3060,112 @@ msgstr ""
"íŒŒì¼ ìŠ¤ìº”ì¤‘,\n"
"잠시만 기다려주세요..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "ì´ë™"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "ì´ë¦„ 변경"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "ì´ë¯¸ ì§€ì •ëœ ì´ë¦„ì˜ ê²½ë¡œë¥¼ 가진 í´ë”입니다."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "스í¬ë¦½íЏ 만들기"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "íƒ€ì¼ ì°¾ê¸°"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "찾기"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "전체 단어"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "ëŒ€ì†Œë¬¸ìž êµ¬ë¶„"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "취소"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "바꾸기"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "전체 바꾸기"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "저장 중..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "ë¬¸ìž ê²€ìƒ‰"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ì—러: 애니메ì´ì…˜ ì´ë¦„ì´ ì´ë¯¸ 존재합니다!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "유효하지 ì•Šì€ ì´ë¦„."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "그룹"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "노트 그룹"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "노드 필터"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "노트 그룹"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2746,6 +3175,11 @@ msgstr "ê·¸ë£¹ì— ì¶”ê°€"
msgid "Remove from Group"
msgstr "그룹ì—서 제거"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "ì´ë¯¸ì§€ 그룹"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "ë‹¨ì¼ ì”¬ìœ¼ë¡œ 가져오기"
@@ -2787,7 +3221,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "여러 ê°œì˜ ì”¬ê³¼ 머터리얼로 가져오기"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "씬 가져오기"
@@ -2848,18 +3282,131 @@ msgstr "프리셋..."
msgid "Reimport"
msgstr "다시 가져오기"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "리소스 로드 실패."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "확ì¸"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "모든 ì†ì„± 펼치기"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "모든 ì†ì„± 접기"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "다른 ì´ë¦„으로 저장..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "ì†ì„± 복사"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "ì†ì„± 붙여넣기"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "리소스 í´ë¦½ë³´ë“œê°€ 비었습니다!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "리소스 복사하기"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "내장으로 만들기"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "하위 리소스를 유ì¼í•˜ê²Œ 만들기"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "오브ì íЏ ì†ì„±."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
-msgstr "그룹"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "시그ë„ê³¼ ê·¸ë£¹ì„ íŽ¸ì§‘í•  노드를 ì„ íƒí•˜ì„¸ìš”."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "í´ë¦¬ê³¤ 편집"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "C# 솔루션 만들기"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "í”ŒëŸ¬ê·¸ì¸ ëª©ë¡:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "언어"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "유효한 스í¬ë¦½íЏ"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2905,6 +3452,150 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "í¬ì¸íЏ ì‚­ì œ"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "ìš°í´ë¦­: í¬ì¸íЏ ì‚­ì œ."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "애니메ì´ì…˜ 노드"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "'%s' ì•¡ì…˜ì´ ì´ë¯¸ 존재합니다!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "%dê°œ 삼ê°í˜• ë¶„ì„ ì¤‘:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "노드 추가"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "필터 편집"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "ìžì‹ë…¸ë“œ 편집 가능"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "ìžë™ ìž¬ìƒ ì „í™˜"
@@ -2931,11 +3622,13 @@ msgid "Remove Animation"
msgstr "애니메ì´ì…˜ 제거"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ì—러: 유효하지 ì•Šì€ ì• ë‹ˆë©”ì´ì…˜ ì´ë¦„!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ì—러: 애니메ì´ì…˜ ì´ë¦„ì´ ì´ë¯¸ 존재합니다!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2944,11 +3637,6 @@ msgid "Rename Animation"
msgstr "애니메ì´ì…˜ ì´ë¦„ 변경"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "애니메ì´ì…˜ 추가하기"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "블렌드 다ìŒìœ¼ë¡œ 변경ë¨"
@@ -2965,11 +3653,13 @@ msgid "Duplicate Animation"
msgstr "애니메ì´ì…˜ 복제하기"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ì—러: 복사할 애니메ì´ì…˜ì´ 없습니다!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ì—러: í´ë¦½ë³´ë“œì— 애니메ì´ì…˜ 리소스가 없습니다!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2981,7 +3671,8 @@ msgid "Paste Animation"
msgstr "애니메ì´ì…˜ 붙여넣기"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ì—러: 편집할 애니메ì´ì…˜ì´ 없습니다!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3013,20 +3704,27 @@ msgid "Scale animation playback globally for the node."
msgstr "애니메ì´ì…˜ ìž¬ìƒ ì†ë„를 ì „ì²´ì ìœ¼ë¡œ ì¡°ì ˆ."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "새로운 애니메ì´ì…˜ 만들기."
+msgid "Animation Tools"
+msgstr "애니메ì´ì…˜ ë„구"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "애니메ì´ì…˜"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "디스í¬ì—서 애니메ì´ì…˜ 로드."
+msgid "New"
+msgstr "새 파ì¼"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "디스í¬ì—서 애니메ì´ì…˜ 로드."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "연결 편집..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "현재 애니메ì´ì…˜ 저장"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "ì—디터ì—서 열기"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3037,18 +3735,6 @@ msgid "Autoplay on Load"
msgstr "로드 시 ìžë™ 플레ì´"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "ëŒ€ìƒ ë¸”ë Œë“œ 시간 편집"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "애니메ì´ì…˜ ë„구"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "애니메ì´ì…˜ 복사"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "어니언 스키ë‹"
@@ -3097,6 +3783,11 @@ msgid "Include Gizmos (3D)"
msgstr "기즈모 í¬í•¨ (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "애니메ì´ì…˜ 붙여넣기"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "새 애니메ì´ì…˜ 만들기"
@@ -3106,6 +3797,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3123,161 +3815,214 @@ msgstr "ë‹¤ìŒ (ìžë™ í):"
msgid "Cross-Animation Blend Times"
msgstr "êµì°¨-애니메ì´ì…˜ 블렌드 시간"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "애니메ì´ì…˜"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "ë(ì´ˆ)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "새 %s ìƒì„±"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "노드 연결"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "필터 편집"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "í¬ê¸°:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "페ì´ë“œ ì¸ (ì´ˆ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "페ì´ë“œ 아웃 (ì´ˆ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "블렌드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "믹스"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "ìžë™ 재시작:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "재시작 (초):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "ìž„ì˜ ìž¬ì‹œìž‘ (ì´ˆ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "시작!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "ì–‘:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "블렌드:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "블렌드 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "블렌드 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "í¬ë¡œìФ 페ì´ë“œ 시간 (ì´ˆ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "현재:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "입력 추가"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "ìžë™ ì§„í–‰ 제거"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "ìžë™ ì§„í–‰ 설정"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "입력 삭제"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "애니메ì´ì…˜ 트리가 유효합니다."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "애니메ì´ì…˜ 트리가 유효하지 않습니다."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "애니메ì´ì…˜ 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "ì›ìƒ· 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "믹스 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "블렌드2 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "블렌드3 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "블렌드4 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "시간 í¬ê¸° ì¡°ì ˆ 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "시간 íƒìƒ‰ 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "전환 노드"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "애니메ì´ì…˜ 가져오기..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "노드 필터 편집"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "í•„í„°..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "애니메ì´ì…˜ 트리"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "무료"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "컨í…츠:"
@@ -3331,8 +4076,14 @@ msgid "Asset Download Error:"
msgstr "ì—ì…‹ 다운로드 ì—러:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "가져오는 중:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "다운로드 중"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "다운로드 중"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3359,20 +4110,22 @@ msgid "Download for this asset is already in progress!"
msgstr "ì´ ì—ì…‹ì˜ ë‹¤ìš´ë¡œë“œê°€ ì´ë¯¸ 진행중입니다!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "처ìŒ"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "ì´ì „"
+#, fuzzy
+msgid "Previous"
+msgstr "ì´ì „ 탭"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr "다ìŒ"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "마지막"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3444,7 +4197,7 @@ msgid "Bake Lightmaps"
msgstr "ë¼ì´íŠ¸ë§µ 굽기"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "미리보기"
@@ -3453,12 +4206,10 @@ msgid "Configure Snap"
msgstr "스냅 설정"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "그리드 오프셋:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "그리드 스í…:"
@@ -3471,14 +4222,6 @@ msgid "Rotation Step:"
msgstr "회전 스í…:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "피벗 ì´ë™"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "ì´ë™ ì•¡ì…˜"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "세로 ê°€ì´ë“œ ì´ë™"
@@ -3507,11 +4250,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "새 가로 세로 ê°€ì´ë“œ 만들기"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "IK ì²´ì¸ íŽ¸ì§‘"
+#, fuzzy
+msgid "Move pivot"
+msgstr "피벗 ì´ë™"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "CanvasItem 편집"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "ì´ë™ ì•¡ì…˜"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "CanvasItem 편집"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "CanvasItem 편집"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3531,6 +4291,21 @@ msgid "Paste Pose"
msgstr "í¬ì¦ˆ 붙여넣기"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "축소"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "확대 초기화"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "확대"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "ì„ íƒ ëª¨ë“œ"
@@ -3576,7 +4351,8 @@ msgid "Pan Mode"
msgstr "팬 모드"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "스냅 토글"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3584,7 +4360,8 @@ msgid "Use Snap"
msgstr "스냅 사용"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "스냅 옵션"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3625,6 +4402,11 @@ msgid "Snap to node sides"
msgstr "노드 ì˜†ì— ìŠ¤ëƒ…"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "노드 ì•µì»¤ì— ìŠ¤ëƒ…"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "다른 ë…¸ë“œì— ìŠ¤ëƒ…"
@@ -3651,14 +4433,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "오브ì íŠ¸ì˜ ìžì‹ë…¸ë“œê°€ ì„ íƒë  수 있ë„ë¡ ë³µì›í•©ë‹ˆë‹¤."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Bones 만들기"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Bones 지우기"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "뼈대 보기"
@@ -3671,6 +4445,15 @@ msgid "Clear IK Chain"
msgstr "IK ì²´ì¸ ì§€ìš°ê¸°"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Bones 지우기"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "보기"
@@ -3713,11 +4496,8 @@ msgid "Layout"
msgstr "ë ˆì´ì•„웃"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr "키 삽입"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+#, fuzzy
+msgid "Insert keys."
msgstr "키 삽입"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3733,14 +4513,6 @@ msgid "Clear Pose"
msgstr "í¬ì¦ˆ 정리"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "마우스로 ì¤‘ì‹¬ì  ë“œëž˜ê·¸"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "마우스 ìœ„ì¹˜ì— í”¼ë²— 설정"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "그리드 단계를 2ë°° ì¦ê°€"
@@ -3756,10 +4528,6 @@ msgstr "%s 추가"
msgid "Adding %s..."
msgstr "%s 추가중..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "확ì¸"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "루트 ë…¸ë“œì—†ì´ ì—¬ëŸ¬ê°œì˜ ë…¸ë“œë¥¼ ìƒì„±í•  수 없습니다."
@@ -3794,27 +4562,20 @@ msgstr "í´ë¦¬ê³¤3D 만들기"
msgid "Set Handle"
msgstr "핸들 설정"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "%d í•­ëª©ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "항목 추가"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "ì„ íƒëœ 항목 ì‚­ì œ"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "파티í´"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "씬으로부터 가져오기"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "메시로부터 ì—미션 í¬ì¸íЏ 만들기"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3884,15 +4645,6 @@ msgstr "시프트키를 누르고 있으면 탄젠트를 개별ì ìœ¼ë¡œ 편집
msgid "Bake GI Probe"
msgstr "GI 프로브 굽기"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "ì¹¼ë¼ ëž¨í”„ í¬ì¸íЏ 추가/ì‚­ì œ"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "ì¹¼ë¼ ëž¨í”„ 수정"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "항목 %d"
@@ -3978,6 +4730,7 @@ msgid "No mesh to debug."
msgstr "디버그할 메시가 없습니다."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "모ë¸ì´ ì´ ë ˆì´ì–´ì— UV를 지니고 있지 않습니다"
@@ -4045,6 +4798,27 @@ msgstr "외곽선 메시 만들기"
msgid "Outline Size:"
msgstr "외곽선 í¬ê¸°:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "%d í•­ëª©ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "씬으로부터 가져오기"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "씬으로부터 갱신하기"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "소스 메시가 지정ë˜ì§€ 않았습니다 (그리고 ë…¸ë“œì— MultiMeshê°€ 없습니다)."
@@ -4145,70 +4919,6 @@ msgstr "ìž„ì˜ í¬ê¸°:"
msgid "Populate"
msgstr "ìƒì„±"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "굽기!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "네비게ì´ì…˜ 메시 만들기."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "네비게ì´ì…˜ 메시 지우기."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "구성 설정 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "그리드 í¬ê¸° 계산 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Heightfield ìƒì„± 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "걷기 가능한 트ë¼ì´ì•µê¸€ 표시 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "ì••ì¶•ëœ Heightfield를 구성 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "걷기 가능한 ì˜ì—­ 계산 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "분할중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "윤곽선 ìƒì„± 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "í´ë¦¬ 메시 ìƒì„± 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "네ì´í‹°ë¸Œ 네비게ì´ì…˜ 메시로 변환 중..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "네비게ì´ì…˜ 메시 ìƒì„±ê¸° 설정:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "지오메트리 ë¶„ì„ ì¤‘..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "완료!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "네비게ì´ì…˜ í´ë¦¬ê³¤ 만들기"
@@ -4269,18 +4979,6 @@ msgid "Emission Colors"
msgstr "ì—미션 ì¹¼ë¼"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다 (페ì´ìФ)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "'ParticlesMaterial' íƒ€ìž…ì˜ í”„ë¡œì„¸ì„œ ë¨¸í„°ë¦¬ì–¼ì´ í•„ìš”í•©ë‹ˆë‹¤."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "페ì´ìŠ¤ê°€ ì˜ì—­ì„ 가지고 있지 않습니다!"
@@ -4289,16 +4987,12 @@ msgid "No faces!"
msgstr "페ì´ìŠ¤ê°€ 없습니다!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "AABB ìƒì„±"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "메시로부터 ì—미션 í¬ì¸íЏ 만들기"
+msgid "Node does not contain geometry."
+msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "노드로부터 ì—미터 í¬ì¸íЏ 만들기"
+msgid "Node does not contain geometry (faces)."
+msgstr "노드가 지오미트리를 í¬í•¨í•˜ê³  있지 않습니다 (페ì´ìФ)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4325,6 +5019,19 @@ msgid "Emission Source: "
msgstr "ì—미션 소스: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "'ParticlesMaterial' íƒ€ìž…ì˜ í”„ë¡œì„¸ì„œ ë¨¸í„°ë¦¬ì–¼ì´ í•„ìš”í•©ë‹ˆë‹¤."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "AABB ìƒì„±"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "대문ìžë¡œ 변환"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "가시성 AABB ìƒì„±"
@@ -4401,6 +5108,22 @@ msgstr "í¬ì¸íЏ ì‚­ì œ"
msgid "Close Curve"
msgstr "커브 닫기"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "커브 í¬ì¸íЏ #"
@@ -4433,19 +5156,95 @@ msgstr "아웃-컨트롤 í¬ì¸íЏ ì‚­ì œ"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "뼈대 보기"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "UV 맵 만들기"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "í´ë¦¬ê³¤ ìƒì„±"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "'%s' ì•¡ì…˜ì´ ì´ë¯¸ 존재합니다!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "í¬ì¸íЏ 추가"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "경로가 유효하지 않습니다!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "í¬ì¸íЏ 제거"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "UV 맵 변형"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "í´ë¦¬ê³¤ 2D UV ì—디터"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "í´ë¦¬ê³¤ 편집"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "경로 나누기"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Bones 만들기"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "í´ë¦¬ê³¤ ìƒì„±"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "í¬ì¸íЏ ì´ë™"
@@ -4474,12 +5273,25 @@ msgid "Scale Polygon"
msgstr "í´ë¦¬ê³¤ í¬ê¸° ì¡°ì ˆ"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "편집"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4494,9 +5306,9 @@ msgid "Clear UV"
msgstr "UV 정리"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "스냅"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "그리드맵 설정"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4506,6 +5318,36 @@ msgstr "스냅 활성화"
msgid "Grid"
msgstr "그리드"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "스냅 설정"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "그리드 오프셋:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "그리드 오프셋:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "그리드 스í…:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "그리드 스í…:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "í´ë¦¬ê³¤ í¬ê¸° ì¡°ì ˆ"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ì—러: 리소스를 로드할 수 없습니다!"
@@ -4528,6 +5370,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "ì—디터ì—서 열기"
@@ -4549,16 +5395,18 @@ msgid "Load Resource"
msgstr "리소스 로드"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "붙여넣기"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "애니메ì´ì…˜ 트리가 유효하지 않습니다."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "최근 íŒŒì¼ ì§€ìš°ê¸°"
@@ -4568,6 +5416,21 @@ msgid "Close and save changes?"
msgstr "ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ê³  닫겠습니까?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "íŒŒì¼ ì´ë™ ì—러:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "ì´ë¯¸ì§€ë¥¼ 로드할 수 ì—†ìŒ"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "타ì¼ì…‹ 저장 중 ì—러!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "테마 저장 중 ì—러"
@@ -4584,6 +5447,21 @@ msgid "Error importing"
msgstr "가져오는 중 ì—러"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "새 í´ë”..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "íŒŒì¼ ì—´ê¸°"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "다른 ì´ë¦„으로 저장..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "테마 가져오기"
@@ -4596,6 +5474,10 @@ msgid " Class Reference"
msgstr " í´ëž˜ìФ ë ˆí¼ëŸ°ìФ"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "ì •ë ¬"
@@ -4624,8 +5506,9 @@ msgid "File"
msgstr "파ì¼"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "새 파ì¼"
+#, fuzzy
+msgid "New TextFile"
+msgstr "íŒŒì¼ ë³´ê¸°"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4652,6 +5535,11 @@ msgid "History Next"
msgstr "ë‹¤ìŒ ížˆìŠ¤í† ë¦¬"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "테마"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "테마 다시 로드"
@@ -4685,11 +5573,6 @@ msgstr "스í¬ë¦½íЏ íŒ¨ë„ í† ê¸€"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "찾기..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "ë‹¤ìŒ ì°¾ê¸°"
@@ -4743,10 +5626,6 @@ msgid "Discard"
msgstr "저장 안함"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "스í¬ë¦½íЏ 만들기"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4767,45 +5646,71 @@ msgid "Debugger"
msgstr "디버거"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "ë„ì›€ë§ ê²€ìƒ‰"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "í´ëž˜ìФ 검색"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr "내장 스í¬ë¦½íŠ¸ëŠ” 종ì†ëœ ì”¬ì´ ì—´ë¦° ìƒíƒœì—서만 íŽ¸ì§‘ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "ë¼ì¸:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "íŒŒì¼ ì‹œìŠ¤í…œì—서 가져온 리소스만 드ëží•  수 있습니다."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "ìžë™ 완성"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "ìƒ‰ìƒ ì„ íƒ"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "ëŒ€ì†Œë¬¸ìž ë³€í™˜"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "대문ìžë¡œ 변경"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "소문ìžë¡œ 변경"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "잘ë¼ë‚´ê¸°"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "복사하기"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4893,8 +5798,9 @@ msgid "Find Previous"
msgstr "ì´ì „ 찾기"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "변경..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "íŒŒì¼ í•„í„°ë§..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4912,129 +5818,42 @@ msgstr "ë„ì›€ë§ ë³´ê¸°"
msgid "Shader"
msgstr "ì…°ì´ë”"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Scalar ìƒìˆ˜ 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Vec ìƒìˆ˜ 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "RGB ìƒìˆ˜ 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Scalar ì—°ì‚°ìž ë³€ê²½"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Vec ì—°ì‚°ìž ë³€ê²½"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Vec Scalar ì—°ì‚°ìž ë³€ê²½"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "RGB ì—°ì‚°ìž ë³€ê²½"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "회전만 토글"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Scalar 함수 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Vec 함수 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Scalar uniform 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Vec uniform 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "RGB uniform 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "기본값 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "XForm uniform 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "í…ìŠ¤ì³ uniform 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "í브맵 uniform 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "ì£¼ì„ ë³€ê²½"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "ìƒ‰ìƒ ëž¨í”„ 추가/ì‚­ì œ"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "커브 맵 추가/삭제"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "커브맵 수정"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "ìž…ë ¥ ì´ë¦„ 변경"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "그래프 노드 연결"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "그래프 노드 연결 해제"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "ì…°ì´ë” 그래프 노드 ì‚­ì œ"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "스켈레톤..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "ì…°ì´ë” 그래프 노드 ì´ë™"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "그래프 노드 복제"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "ì…°ì´ë” 그래프 노드 ì‚­ì œ"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "네비게ì´ì…˜ 메시 만들기"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "ì—러: 순환 ì—°ê²° ë§í¬"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "스켈레톤..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "ì—러: ìž…ë ¥ ì—°ê²° 누ë½"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "C# 솔루션 만들기"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "ì…°ì´ë” 그래프 노드 추가"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "실행"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5161,10 +5980,6 @@ msgid "Align with view"
msgstr "ë·°ì— ì •ë ¬"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "넹 :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "ì„ íƒëœ 부모 노드가 없어서 ìžì‹ë…¸ë“œë¥¼ ì¸ìŠ¤í„´ìŠ¤í•  수 없습니다."
@@ -5173,6 +5988,11 @@ msgid "This operation requires a single selected node."
msgstr "ì´ ìž‘ì—…ì€ í•˜ë‚˜ì˜ ì„ íƒëœ 노드를 필요로 합니다."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "정보 보기"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Normal 표시"
@@ -5217,6 +6037,11 @@ msgid "Doppler Enable"
msgstr "ë„플러 활성화"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "메시 미리보기 ìƒì„± 중"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "ìžìœ ì‹œì  왼쪽"
@@ -5347,6 +6172,11 @@ msgid "Tool Scale"
msgstr "í¬ê¸° ì¡°ì ˆ 툴"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "ê·¸ë¦¬ë“œì— ìŠ¤ëƒ…"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "ìžìœ ì‹œì  토글"
@@ -5355,6 +6185,10 @@ msgid "Transform"
msgstr "변형"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "변형 다ì´ì–¼ë¡œê·¸..."
@@ -5383,6 +6217,11 @@ msgid "4 Viewports"
msgstr "4ê°œ ë·°í¬íЏ"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "기즈모 보기"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "ì›ì  보기"
@@ -5396,10 +6235,6 @@ msgid "Settings"
msgstr "설정"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "스켈레톤 기즈모 가시성"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "스냅 설정"
@@ -5459,6 +6294,53 @@ msgstr "Pre"
msgid "Post"
msgstr "Post"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "스프ë¼ì´íЏ 프레임"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "%s로 변환"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "외곽선 메시 만들기"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "스냅 (픽셀):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "ì•„í‹€ë¼ìФ 미리보기"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "설정"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ì—러: 프레임 리소스를 로드할 수 없습니다!"
@@ -5527,14 +6409,6 @@ msgstr "ì´ë™ (ì´í›„)"
msgid "SpriteFrames"
msgstr "스프ë¼ì´íЏ 프레임"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "StyleBox 미리보기:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "ìŠ¤íƒ€ì¼ ë°•ìŠ¤"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "ì˜ì—­ 설정"
@@ -5560,28 +6434,22 @@ msgid "Auto Slice"
msgstr "ìžë™ ìžë¥´ê¸°"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "오프셋:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "단계:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "간격:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "í…ìŠ¤ì³ ì˜ì—­"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "í…ìŠ¤ì³ ì˜ì—­ ì—디터"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "테마를 파ì¼ë¡œ 저장할 수 없습니다:"
@@ -5595,11 +6463,6 @@ msgid "Add All"
msgstr "ëª¨ë‘ ì¶”ê°€"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "ì•„ì´í…œ ì‚­ì œ"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "모든 항목 삭제"
@@ -5671,10 +6534,6 @@ msgstr "가진다"
msgid "Many"
msgstr "ë§Žì€"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "옵션"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "가진다,ë§Žì€,옵션들"
@@ -5699,7 +6558,7 @@ msgstr "ë°ì´íƒ€ 타입:"
msgid "Icon"
msgstr "ì•„ì´ì½˜"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "스타ì¼"
@@ -5712,14 +6571,19 @@ msgid "Color"
msgstr "색깔"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "테마"
+msgid "Constant"
+msgstr "비선형"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "ì„ íƒ ì§€ìš°ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "유효하지 ì•Šì€ ì´ë¦„."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "타ì¼ë§µ 칠하기"
@@ -5740,11 +6604,8 @@ msgid "Erase TileMap"
msgstr "타ì¼ë§µ 지우기"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "ì„ íƒ ì§€ìš°ê¸°"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "íƒ€ì¼ ì°¾ê¸°"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5768,6 +6629,11 @@ msgid "Pick Tile"
msgstr "íƒ€ì¼ ì„ íƒ"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "ì„ íƒ ì‚­ì œ"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "0ë„ íšŒì „"
@@ -5784,68 +6650,122 @@ msgid "Rotate 270 degrees"
msgstr "270ë„ íšŒì „"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "타ì¼ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "트리ì—서 노드 추가"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "ì•„ì´í…œ ì´ë¦„ ë˜ëŠ” ì•„ì´ë””:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "현재 엔트리 제거"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "씬으로부터 만드시겠습니까?"
+msgid "Create from Scene"
+msgstr "씬으로부터 만들기"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "씬으로부터 병합하시겠습니까?"
+msgid "Merge from Scene"
+msgstr "씬으로부터 병합하기"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "íƒ€ì¼ ì…‹"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"사용할 서브 타ì¼ì„ ì•„ì´ì½˜ìœ¼ë¡œ 설정하세요, 효력없는 ìžë™íƒ€ì¼ ë°”ì¸ë”©ì—ë„ ì‚¬ìš©ë©"
+"니다."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "씬으로부터 만들기"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "씬으로부터 병합하기"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-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 "Autotiles"
-msgstr "ìžë™ 타ì¼"
+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 " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"사용할 서브 타ì¼ì„ ì•„ì´ì½˜ìœ¼ë¡œ 설정하세요, 효력없는 ìžë™íƒ€ì¼ ë°”ì¸ë”©ì—ë„ ì‚¬ìš©ë©"
-"니다."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"좌í´ë¦­: 비트 켜기를 설정합니다.\n"
"ìš°í´ë¦­: 비트 ë„기를 설정합니다."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "현재 íŽ¸ì§‘ëœ ì„œë¸Œ íƒ€ì¼ ì„ íƒ."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "서브 타ì¼ì„ ì„ íƒí•´ ìš°ì„  순위를 바꿉니다."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "취소"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "ì´ ìž‘ì—…ì€ ì”¬ ì—†ì´ëŠ” 불가합니다."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "íƒ€ì¼ ì…‹"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "버틱스"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "프래그먼트"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "오른쪽면"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "ì…°ì´ë”"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5860,8 +6780,8 @@ msgid "Delete preset '%s'?"
msgstr "'%s' í”„ë¦¬ì…‹ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5934,10 +6854,6 @@ msgid "Export templates for this platform are missing:"
msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ìŒ:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "디버그와 함께 내보내기"
@@ -5946,14 +6862,24 @@ msgid "The path does not exist."
msgstr "경로가 존재하지 않습니다."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "'project.godot' 파ì¼ì„ ì„ íƒí•˜ì„¸ìš”."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "'project.godot' 파ì¼ì´ 없는 í´ë”를 ì„ íƒ í•˜ì‹­ì‹œì˜¤."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "비어있는 í´ë”를 ì„ íƒí•˜ì„¸ìš”."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "'project.godot' 파ì¼ì„ ì„ íƒí•˜ì„¸ìš”."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "가져온 프로ì íЏ"
@@ -6042,6 +6968,11 @@ msgid "Project Path:"
msgstr "프로ì íЏ 경로:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "프로ì íЏ 경로:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "찾아보기"
@@ -6159,9 +7090,10 @@ msgid "Mouse Button"
msgstr "마우스 버튼"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"ì¸ì‹í• ìˆ˜ 없는 ì•¡ì…˜ ì´ë¦„입니다. 공백ì´ê±°ë‚˜, '/' , ':', '=', '\\', '\"' ê°€ í¬í•¨"
"ë˜ë©´ 안 ë©ë‹ˆë‹¤."
@@ -6175,9 +7107,23 @@ msgid "Rename Input Action Event"
msgstr "ìž…ë ¥ 앱션 ì´ë²¤íЏ ì´ë¦„ 변경"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "애니메ì´ì…˜ ì´ë¦„ 변경:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ 추가"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "기기"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "기기"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "시프트+"
@@ -6219,20 +7165,24 @@ msgid "Wheel Down Button"
msgstr "휠 아래로 버튼"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "버튼 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "휠 위로 버튼"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "버튼 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "오른쪽 버튼"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "버튼 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "버튼 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "버튼 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "버튼 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6259,10 +7209,6 @@ msgid "Add Event"
msgstr "ì´ë²¤íЏ 추가"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "기기"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "버튼"
@@ -6307,6 +7253,14 @@ 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 "Already existing"
msgstr "ì´ë¯¸ 존재함"
@@ -6378,6 +7332,10 @@ msgstr "ì†ì„±:"
msgid "Override For..."
msgstr "재정ì˜..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "입력 설정"
@@ -6387,6 +7345,14 @@ msgid "Action:"
msgstr "ì•¡ì…˜:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "ì•¡ì…˜"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "기기:"
@@ -6447,10 +7413,6 @@ msgid "AutoLoad"
msgstr "오토로드"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "ë·°í¬íЏ ì„ íƒ"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "ê°ì†"
@@ -6487,34 +7449,10 @@ msgid "Select Node"
msgstr "노드 ì„ íƒ"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "새 스í¬ë¦½íЏ"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "새 %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "고유하게 만들기"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "íŒŒì¼ ì‹œìŠ¤í…œì—서 보기"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "%s로 변환"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "íŒŒì¼ ë¡œë“œ ì—러: 리소스가 아닙니다!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "ì„ íƒëœ 노드는 ë·°í¬íŠ¸ê°€ 아닙니다!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "노드 ì„ íƒ"
@@ -6523,18 +7461,6 @@ msgid "Bit %d, val %d."
msgstr "비트 %d, 값 %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "사용"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[비어있ìŒ]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "설정"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "ì†ì„±:"
@@ -6558,6 +7484,134 @@ msgstr "PVRTC ë„구를 실행할 수 없습니다:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "PVRTC ë„구를 사용하여 ë³€í™˜ëœ ì´ë¯¸ì§€ë¥¼ 다시 로드 í•  수 없습니다:"
+#: 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
+#, fuzzy
+msgid "Advanced options"
+msgstr "스냅 옵션"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "노드 ì´ë¦„:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "노드 타입 찾기"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "현재 씬"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "단계:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "í‘œí˜„ì‹ ë³€ê²½"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "가져오기 후 수행할 스í¬ë¦½íЏ:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "유지"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "소문ìžë¡œ 변경"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "대문ìžë¡œ 변경"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "줌 리셋"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "ì—러"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "부모노드 재지정"
@@ -6594,11 +7648,6 @@ msgstr "ë©”ì¸ ì”¬ ì¸ìˆ˜:"
msgid "Scene Run Settings"
msgstr "씬 실행 설정"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "확ì¸"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "ì”¬ì„ ì¸ìŠ¤í„´ìŠ¤í•  수 있는 부모가 없습니다."
@@ -6618,6 +7667,10 @@ msgid "Instance Scene(s)"
msgstr "씬 ì¸ìŠ¤í„´ìŠ¤"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "스í¬ë¦½íЏ 제거"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "ì´ ìž‘ì—…ì€ íŠ¸ë¦¬ 루트ì—서는 불가합니다."
@@ -6658,12 +7711,33 @@ msgid "Load As Placeholder"
msgstr "Placeholderë¡œì¨ ë¡œë“œ"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "ì¸ìŠ¤í„´ìŠ¤ í기"
+msgid "Make Local"
+msgstr "로컬로 만들기"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "노드 ìƒì„±"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "씬"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "오케바리!"
+#, fuzzy
+msgid "3D Scene"
+msgstr "씬"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "ìƒì† 지우기"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "노드 잘ë¼ë‚´ê¸°"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6674,6 +7748,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "ìƒì† 씬 ë‚´ì—서 수행할 수 없는 작업입니다!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "스í¬ë¦½íЏ ë¶™ì´ê¸°"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "노드 삭제"
@@ -6717,18 +7795,15 @@ msgid "Change Type"
msgstr "타입 변경"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "스í¬ë¦½íЏ ë¶™ì´ê¸°"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "스í¬ë¦½íЏ 제거"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "새로운 씬 루트"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "다른 씬ì—서 가져오기"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "ì„ íƒ ë…¸ë“œë¥¼ 다른 씬으로 저장"
@@ -6752,10 +7827,6 @@ msgstr ""
"씬 파ì¼ì„ 노드로 추가합니다. 루트 노드가 ì—†ì„ ê²½ìš°, ìƒì†ì”¬ìœ¼ë¡œ 만들어집니다."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "노드 필터"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "ì„ íƒëœ ë…¸ë“œì— ìƒˆë¡œìš´ 스í¬ë¦½íŠ¸ë¥¼ ìƒì„±í•˜ê±°ë‚˜ 기존 스í¬ë¦½íŠ¸ë¥¼ 로드합니다."
@@ -6775,25 +7846,19 @@ msgstr "로컬"
msgid "Clear Inheritance? (No Undo!)"
msgstr "ìƒì†ì„ 지우시겠습니까? (ë˜ëŒë¦¬ê¸° 불가!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "지웠습니다!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Spatial ë³´ì´ê¸° 토글"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "CanvasItem ë³´ì´ê¸° 토글"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "ë³´ì´ê¸° 토글"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "노드 배열 경고:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"노드가 커넥션과 ê·¸ë£¹ì„ ê°–ê³  있습니다.\n"
@@ -6815,22 +7880,25 @@ msgstr ""
"노드가 그룹 ì•ˆì— ìžˆìŠµë‹ˆë‹¤.\n"
"í´ë¦­í•´ì„œ 그룹 ë…ì„ ë³´ì‹­ì‹œì˜¤."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "스í¬ë¦½íЏ 열기"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"노드가 잠겨있습니다.\n"
"í´ë¦­í•˜ë©´ 잠금 í•´ì œë©ë‹ˆë‹¤"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"ìžì‹ë“¤ì„ ì„ íƒí•  수 없습니다.\n"
"í´ë¦­í•˜ë©´ ì„ íƒí•  수 있게 ë©ë‹ˆë‹¤"
@@ -6840,6 +7908,12 @@ 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 "유효하지 ì•Šì€ ë…¸ë“œ ì´ë¦„입니다. 다ìŒì˜ 문ìžëŠ” 허용ë˜ì§€ 않습니다:"
@@ -6876,6 +7950,11 @@ msgid "N/A"
msgstr "해당 ì—†ìŒ"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "스í¬ë¦½íЏ ì—디터 열기"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "경로가 비어 있ìŒ"
@@ -7112,10 +8191,23 @@ msgid "Change Camera Size"
msgstr "Camera í¬ê¸° 변경"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "알림 범위 변경"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "íŒŒí‹°í´ AABB 변경"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "프로브 범위 변경"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "구체 모양 반경 변경"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "박스 모양 범위 변경"
@@ -7128,20 +8220,38 @@ msgid "Change Capsule Shape Height"
msgstr "ìº¡ìŠ ëª¨ì–‘ ë†’ì´ ë³€ê²½"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "ê´‘ì„  모양 ê¸¸ì´ ë³€ê²½"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "ìº¡ìŠ ëª¨ì–‘ 반경 변경"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "알림 범위 변경"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "ìº¡ìŠ ëª¨ì–‘ ë†’ì´ ë³€ê²½"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "íŒŒí‹°í´ AABB 변경"
+msgid "Change Ray Shape Length"
+msgstr "ê´‘ì„  모양 ê¸¸ì´ ë³€ê²½"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "프로브 범위 변경"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Light 반경 변경"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "ìº¡ìŠ ëª¨ì–‘ ë†’ì´ ë³€ê²½"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "구체 모양 반경 변경"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Light 반경 변경"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7196,17 +8306,6 @@ msgid "GDNative"
msgstr "GD네ì´í‹°ë¸Œ"
#: 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_* ìƒìˆ˜ë¥¼ 사용하세요."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "디코딩할 ë°”ì´íŠ¸ê°€ 모ìžë¼ê±°ë‚˜, 유효하지 ì•Šì€ í˜•ì‹ìž…니다."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "ìŠ¤í… ì¸ìžê°€ 제로입니다!"
@@ -7273,6 +8372,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr "그리드맵 ì„ íƒ ë³µì œ"
@@ -7353,6 +8457,11 @@ 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 "그리드맵 설정"
@@ -7413,14 +8522,77 @@ msgid "Warnings"
msgstr "경고"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "íŒŒì¼ ë³´ê¸°"
+msgstr "ê¸°ë¡ ë³´ê¸°"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "ë‚´ë¶€ 예외 ìŠ¤íƒ ì¶”ì ì˜ ë"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "굽기!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "네비게ì´ì…˜ 메시 만들기."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "네비게ì´ì…˜ 메시 지우기."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "구성 설정 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "그리드 í¬ê¸° 계산 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Heightfield ìƒì„± 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "걷기 가능한 트ë¼ì´ì•µê¸€ 표시 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "ì••ì¶•ëœ Heightfield를 구성 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "걷기 가능한 ì˜ì—­ 계산 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "분할중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "윤곽선 ìƒì„± 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "í´ë¦¬ 메시 ìƒì„± 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "네ì´í‹°ë¸Œ 네비게ì´ì…˜ 메시로 변환 중..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "네비게ì´ì…˜ 메시 ìƒì„±ê¸° 설정:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "지오메트리 ë¶„ì„ ì¤‘..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "완료!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7479,10 +8651,6 @@ msgid "Set Variable Type"
msgstr "변수 타입 설정"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "함수:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "변수:"
@@ -7595,36 +8763,14 @@ msgid "Connect Nodes"
msgstr "노드 연결"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "ì¡°ê±´"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "시퀀스"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "스위치"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "반복ìž"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "ë™ì•ˆì—"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "리턴"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "호출"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "노드 연결"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "얻기"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "노드 연결"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7651,26 +8797,18 @@ msgid "Remove Function"
msgstr "함수 제거"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "변수 편집"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "변수 제거"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "ì‹œê·¸ë„ íŽ¸ì§‘"
+msgid "Editing Variable:"
+msgstr "변수 편집:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "ì‹œê·¸ë„ ì œê±°"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "변수 편집:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "ì‹œê·¸ë„ íŽ¸ì§‘:"
@@ -7714,6 +8852,11 @@ msgstr "노드 잘ë¼ë‚´ê¸°"
msgid "Paste Nodes"
msgstr "노드 붙여넣기"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "멤버"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "반복할 수 없는 입력 타입: "
@@ -7771,6 +8914,19 @@ msgstr ""
"_step()ìœ¼ë¡œë¶€í„°ì˜ ìœ íš¨í•˜ì§€ ì•Šì€ ë°˜í™˜ 값으로, integer (seq out), í˜¹ì€ string "
"(error)ê°€ 아니면 안ë©ë‹ˆë‹¤."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "비주얼 스í¬ë¦½íЏ 노드 제거"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "얻기"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "브ë¼ìš°ì €ì—서 실행"
@@ -7820,9 +8976,10 @@ msgstr ""
"작하고, 나머지는 무시ë©ë‹ˆë‹¤."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"ì´ ë…¸ë“œëŠ” ëª¨ì–‘ì„ ê°–ëŠ” ìžì‹ 노드가 없어서, 공간ìƒì—서 ìƒí˜¸ìž‘용할 수 없습니"
@@ -7926,6 +9083,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "Path ì†ì„±ì€ 유효한 Node2D 노드를 가리켜야 합니다."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7987,9 +9157,10 @@ msgid "Lighting Meshes: "
msgstr "ë©”ì‹œì— ë¼ì´íŒ… 중: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"ì´ ë…¸ë“œëŠ” ëª¨ì–‘ì„ ê°–ëŠ” ìžì‹ 노드가 없어서, 공간ìƒì—서 ìƒí˜¸ìž‘용할 수 없습니"
@@ -8083,6 +9254,21 @@ msgstr ""
"ì´ WorldEnvironment는 무시ë©ë‹ˆë‹¤. (3D ì”¬ì„ ìœ„í•´) Camera를 추가하거나 아니면 "
"(2D ì”¬ì„ ìœ„í•´) ì´ í™˜ê²½ì˜ ë°°ê²½ 모드를 Canvas로 설정하세요."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"(ìºë¦­í„°ë‚˜ 리지드 모드ì—서) RigidBodyì˜ í¬ê¸° ë³€ê²½ì€ ë¬¼ë¦¬ ì—”ì§„ì´ ìž‘ë™í•˜ëŠ” ë™ì•ˆ "
+"í° ë¶€ë‹´ì´ ë©ë‹ˆë‹¤.\n"
+"대신 ìžì‹ ì¶©ëŒ í˜•íƒœì˜ í¬ê¸°ë¥¼ 변경해보세요."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8099,6 +9285,48 @@ msgstr ""
"VehicleWheelì€ VehicleBody로 휠 ì‹œìŠ¤í…œì„ ì œê³µí•˜ëŠ” ê¸°ëŠ¥ì„ í•©ë‹ˆë‹¤. VehicleBody"
"ì˜ ìžì‹ìœ¼ë¡œ 사용해주세요."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "애니메ì´ì…˜ ë„구"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ì—러: 유효하지 ì•Šì€ ì• ë‹ˆë©”ì´ì…˜ ì´ë¦„!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "'%s'와 '%s'ì˜ ì—°ê²° í•´ì œ"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"애니메ì´ì…˜ íŽ¸ì§‘ì„ ìœ„í•´ì„œëŠ” 씬 트리ì—서 AnimationPlayer를 ì„ íƒí•´ì•¼ 합니다."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "애니메ì´ì…˜ 트리가 유효하지 않습니다."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Raw 모드"
@@ -8178,13 +9406,375 @@ msgstr "í°íЏ 로딩 ì—러."
msgid "Invalid font size."
msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "ì´ì „ 탭"
+msgid "Input"
+msgstr "입력 추가"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<ì—†ìŒ>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Scalar ìƒìˆ˜ 변경"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Vec ìƒìˆ˜ 변경"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "RGB ìƒìˆ˜ 변경"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Scalar ì—°ì‚°ìž ë³€ê²½"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Vec ì—°ì‚°ìž ë³€ê²½"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Vec Scalar ì—°ì‚°ìž ë³€ê²½"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "RGB ì—°ì‚°ìž ë³€ê²½"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "회전만 토글"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Scalar 함수 변경"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Vec 함수 변경"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Scalar uniform 변경"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Vec uniform 변경"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "RGB uniform 변경"
-#~ msgid "Next"
+#~ msgid "Change Default Value"
+#~ msgstr "기본값 변경"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "XForm uniform 변경"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "í…ìŠ¤ì³ uniform 변경"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "í브맵 uniform 변경"
+
+#~ msgid "Change Comment"
+#~ msgstr "ì£¼ì„ ë³€ê²½"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "ìƒ‰ìƒ ëž¨í”„ 추가/ì‚­ì œ"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "ì¹¼ë¼ ëž¨í”„ 수정"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "커브 맵 추가/삭제"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "커브맵 수정"
+
+#~ msgid "Change Input Name"
+#~ msgstr "ìž…ë ¥ ì´ë¦„ 변경"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "그래프 노드 연결"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "그래프 노드 연결 해제"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "ì…°ì´ë” 그래프 노드 ì‚­ì œ"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "ì…°ì´ë” 그래프 노드 ì´ë™"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "그래프 노드 복제"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "ì…°ì´ë” 그래프 노드 ì‚­ì œ"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "ì—러: 순환 ì—°ê²° ë§í¬"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "ì—러: ìž…ë ¥ ì—°ê²° 누ë½"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "ì…°ì´ë” 그래프 노드 추가"
+
+#~ msgid "Disabled"
+#~ msgstr "비활성화ë¨"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "애니메ì´ì…˜ 트랙 위로 ì´ë™"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "애니메ì´ì…˜ 트랙 아래로 ì´ë™"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "전환 설정:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "애니메ì´ì…˜ 트랙 ì´ë¦„ 변경"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "애니메ì´ì…˜ 트랙 ë³´ê°„ 변경"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "애니메ì´ì…˜ 트랙 ê°’ 모드 변경"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "애니메ì´ì…˜ 트랙 ëž© 모드 변경"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "노드 커브 편집"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "ì„ íƒ ì»¤ë¸Œ 편집"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "애니메ì´ì…˜ 키 추가"
+
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "ë°–"
+
+#~ msgid "In-Out"
+#~ msgstr "안-밖"
+
+#~ msgid "Out-In"
+#~ msgstr "밖-안"
+
+#~ msgid "Transitions"
+#~ msgstr "전환"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "애니메ì´ì…˜ ê¸¸ì´ ë³€ê²½"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "애니메ì´ì…˜ 루프 변경"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "애니메ì´ì…˜ 타입지정 ê°’ 키 만들기"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "애니메ì´ì…˜ 호출 트랙 추가"
+
+#~ msgid "Length (s):"
+#~ msgstr "ê¸¸ì´ (ì´ˆ):"
+
+#~ msgid "Step (s):"
+#~ msgstr "단계 (초):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "커서 단계 스냅 (초)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "애니메ì´ì…˜ 루프 활성화/비활성화."
+
+#~ msgid "Add new tracks."
+#~ msgstr "새 트랙 추가."
+
+#~ msgid "Move current track up."
+#~ msgstr "현재 íŠ¸ëž™ì„ ìœ„ë¡œ ì´ë™."
+
+#~ msgid "Move current track down."
+#~ msgstr "현재 íŠ¸ëž™ì„ ì•„ëž˜ë¡œ ì´ë™."
+
+#~ msgid "Track tools"
+#~ msgstr "트랙 ë„구"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "개별 키를 í´ë¦­í•¨ìœ¼ë¡œì¨ 편집 활성화."
+
+#~ msgid "Key"
+#~ msgstr "키"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "ì–´ë–¤ 노드ì—서 함수를 호출할까요?"
+
+#~ msgid "Thanks!"
+#~ msgstr "ê°ì‚¬í•©ë‹ˆë‹¤!"
+
+#~ msgid "I see..."
+#~ msgstr "알겠습니다..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "'%s' 열수 ì—†ìŒ."
+
+#~ msgid "Ugh"
+#~ msgstr "오우"
+
+#~ msgid "Run Script"
+#~ msgstr "스í¬ë¦½íЏ 실행"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "현재 íŽ¸ì§‘ëœ ë¦¬ì†ŒìŠ¤ 저장."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "프로파ì¼ë§ 중지"
+
+#~ msgid "Start Profiling"
+#~ msgstr "프로파ì¼ë§ 시작"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "기본 (ì—디터와 ë™ì¼)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "새로운 애니메ì´ì…˜ 만들기."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "디스í¬ì—서 애니메ì´ì…˜ 로드."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "디스í¬ì—서 애니메ì´ì…˜ 로드."
+
+#~ msgid "Save the current animation"
+#~ msgstr "현재 애니메ì´ì…˜ 저장"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "ëŒ€ìƒ ë¸”ë Œë“œ 시간 편집"
+
+#~ msgid "Copy Animation"
+#~ msgstr "애니메ì´ì…˜ 복사"
+
+#~ msgid "Fetching:"
+#~ msgstr "가져오는 중:"
+
+#~ msgid "prev"
+#~ msgstr "ì´ì „"
+
+#~ msgid "next"
#~ msgstr "다ìŒ"
+#~ msgid "last"
+#~ msgstr "마지막"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "IK ì²´ì¸ íŽ¸ì§‘"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "마우스로 ì¤‘ì‹¬ì  ë“œëž˜ê·¸"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "마우스 ìœ„ì¹˜ì— í”¼ë²— 설정"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "ì¹¼ë¼ ëž¨í”„ í¬ì¸íЏ 추가/ì‚­ì œ"
+
+#~ msgid "OK :("
+#~ msgstr "넹 :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "스켈레톤 기즈모 가시성"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "StyleBox 미리보기:"
+
+#~ msgid "StyleBox"
+#~ msgstr "ìŠ¤íƒ€ì¼ ë°•ìŠ¤"
+
+#~ msgid "Separation:"
+#~ msgstr "간격:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "í…ìŠ¤ì³ ì˜ì—­ ì—디터"
+
+#~ msgid "Erase selection"
+#~ msgstr "ì„ íƒ ì§€ìš°ê¸°"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "타ì¼ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "ì•„ì´í…œ ì´ë¦„ ë˜ëŠ” ì•„ì´ë””:"
+
+#~ msgid "Autotiles"
+#~ msgstr "ìžë™ 타ì¼"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨: "
+
+#~ msgid "Button 7"
+#~ msgstr "버튼 7"
+
+#~ msgid "Button 8"
+#~ msgstr "버튼 8"
+
+#~ msgid "Button 9"
+#~ msgstr "버튼 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "ì¸ìŠ¤í„´ìŠ¤ í기"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "오케바리!"
+
+#~ msgid "Clear!"
+#~ msgstr "지웠습니다!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Spatial ë³´ì´ê¸° 토글"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "CanvasItem ë³´ì´ê¸° 토글"
+
+#~ msgid "Condition"
+#~ msgstr "ì¡°ê±´"
+
+#~ msgid "Sequence"
+#~ msgstr "시퀀스"
+
+#~ msgid "Switch"
+#~ msgstr "스위치"
+
+#~ msgid "Iterator"
+#~ msgstr "반복ìž"
+
+#~ msgid "While"
+#~ msgstr "ë™ì•ˆì—"
+
+#~ msgid "Return"
+#~ msgstr "리턴"
+
+#~ msgid "Call"
+#~ msgstr "호출"
+
+#~ msgid "Edit Variable"
+#~ msgstr "변수 편집"
+
+#~ msgid "Edit Signal"
+#~ msgstr "ì‹œê·¸ë„ íŽ¸ì§‘"
+
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "유효하지 ì•Šì€ ì•¡ì…˜ ('/' ë˜ëŠ” ':' ë¬¸ìž ì‚¬ìš© 불가)."
@@ -8201,9 +9791,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Can't write file."
#~ msgstr "파ì¼ì— 쓸 수 없습니다."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "'project.godot' 파ì¼ì´ 없는 í´ë”를 ì„ íƒ í•˜ì‹­ì‹œì˜¤."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "프로ì íЏ ê²½ë¡œì— project.godot 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다."
@@ -8319,9 +9906,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ "ì´ Spriteê°€ ë™ìž‘하기 위해서는 Path ì†ì„±ì— ì§€ì •ëœ Viewportê°€ 'render "
#~ "target'으로 설정ë˜ì–´ì•¼ 합니다."
-#~ msgid "Filter:"
-#~ msgstr "í•„í„°:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' 함수 목ë¡:"
@@ -8358,9 +9942,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "다시 가져오기 위해서는 현재 ì”¬ì„ ì €ìž¥í•´ì•¼ 합니다."
-#~ msgid "Save & Re-Import"
-#~ msgstr "저장 ë° ë‹¤ì‹œ 가져오기"
-
#~ msgid "Re-Importing"
#~ msgstr "다시 가져오기"
@@ -8386,9 +9967,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Can't move directories to within themselves."
#~ msgstr "디렉토리를 ìžì‹ ìœ¼ë¡œ ì´ë™í•  수 없습니다."
-#~ msgid "Error moving file:\n"
-#~ msgstr "íŒŒì¼ ì´ë™ ì—러:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "새로운 ì´ë¦„ê³¼ 위치를 고르세요:"
@@ -8413,9 +9991,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Target path must exist."
#~ msgstr "ëŒ€ìƒ ê²½ë¡œê°€ 존재해야 합니다."
-#~ msgid "Save path is empty!"
-#~ msgstr "저장 경로가 없습니다!"
-
#~ msgid "Import BitMasks"
#~ msgstr "ë¹„íŠ¸ë§ˆìŠ¤í¬ ê°€ì ¸ì˜¤ê¸°"
@@ -8526,15 +10101,9 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Max Angle"
#~ msgstr "최대 ê°ë„"
-#~ msgid "Clips"
-#~ msgstr "í´ë¦½"
-
#~ msgid "Start(s)"
#~ msgstr "시작(초)"
-#~ msgid "End(s)"
-#~ msgstr "ë(ì´ˆ)"
-
#~ msgid "Filters"
#~ msgstr "í•„í„°"
@@ -8565,18 +10134,12 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Target Texture Folder:"
#~ msgstr "ëŒ€ìƒ í…ìŠ¤ì³ í´ë”:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "가져오기 후 수행할 스í¬ë¦½íЏ:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "ì‚¬ìš©ìž ì •ì˜ ë£¨íŠ¸ 노드 타입:"
#~ msgid "Auto"
#~ msgstr "ìžë™"
-#~ msgid "Root Node Name:"
-#~ msgstr "루트 노드 ì´ë¦„:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "다ìŒì˜ 파ì¼ë“¤ì´ 빠져있습니다:"
@@ -8634,9 +10197,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "ì•„í‹€ë¼ìŠ¤ë¥¼ 위한 í…ìŠ¤ì³ ê°€ì ¸ì˜¤ê¸° (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "쎌 사ì´ì¦ˆ:"
-
#~ msgid "Large Texture"
#~ msgstr "í° í…스ì³"
@@ -8719,9 +10279,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "ë³€í™˜ëœ í…스ì³ë¥¼ 저장할 수 ì—†ìŒ:"
-#~ msgid "Invalid source!"
-#~ msgstr "유효하지 ì•Šì€ ì†ŒìŠ¤!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "유효하지 ì•Šì€ ë²ˆì—­ 소스!"
@@ -8761,9 +10318,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Translation"
#~ msgstr "번역"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "%dê°œ 삼ê°í˜• ë¶„ì„ ì¤‘:"
-
#~ msgid "Triangle #"
#~ msgstr "삼ê°í˜• #"
@@ -8788,24 +10342,12 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "ë¼ì´íŠ¸ë§µ 오í¬íŠ¸ë¦¬ 굽기 프로세스 재설정 (처ìŒë¶€í„° 다시)."
-#~ msgid "Zoom (%):"
-#~ msgstr "확대 (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "스켈레톤..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "확대 초기화"
-
#~ msgid "Zoom Set..."
#~ msgstr "확대 설정..."
#~ msgid "Set a Value"
#~ msgstr "값 설정"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "스냅 (픽셀):"
-
#~ msgid "Parse BBCode"
#~ msgstr "BBCode ì½ê¸°"
@@ -8883,15 +10425,9 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Resource Tools"
#~ msgstr "리소스 ë„구"
-#~ msgid "Make Local"
-#~ msgstr "로컬로 만들기"
-
#~ msgid "Edit Groups"
#~ msgstr "그룹 편집"
-#~ msgid "Edit Connections"
-#~ msgstr "연결 편집"
-
#, fuzzy
#~ msgid "Tiles"
#~ msgstr "파ì¼"
@@ -9014,9 +10550,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Ambient Light Color:"
#~ msgstr "환경 ê´‘ 색ìƒ:"
-#~ msgid "Couldn't load image"
-#~ msgstr "ì´ë¯¸ì§€ë¥¼ 로드할 수 ì—†ìŒ"
-
#~ msgid "Invalid parent class name"
#~ msgstr "유요하지 ì•Šì€ ë¶€ëª¨ í´ëž˜ìŠ¤ëª…"
@@ -9032,9 +10565,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Parent class name is invalid!"
#~ msgstr "부모 í´ëž˜ìŠ¤ëª…ì´ ìœ íš¨í•˜ì§€ 않습니다!"
-#~ msgid "Invalid path!"
-#~ msgstr "경로가 유효하지 않습니다!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr "Path ì†ì„±ì€ 유효한 Particles2D 노드를 가리켜야 합니다."
@@ -9109,9 +10639,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Delete Image Group"
#~ msgstr "ì´ë¯¸ì§€ 그룹 ì‚­ì œ"
-#~ msgid "Atlas Preview"
-#~ msgstr "ì•„í‹€ë¼ìФ 미리보기"
-
#~ msgid "Project Export Settings"
#~ msgstr "프로ì íЏ 내보내기 설정"
@@ -9124,9 +10651,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Export all files in the project directory."
#~ msgstr "프로ì íЏ 디렉토리 ì•ˆì˜ ëª¨ë“  íŒŒì¼ ë‚´ë³´ë‚´ê¸°."
-#~ msgid "Action"
-#~ msgstr "ì•¡ì…˜"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "내보내기 시, í…스트 기반 씬 파ì¼ì„ ë°”ì´ë„ˆë¦¬ 형ì‹ìœ¼ë¡œ 변환."
@@ -9154,9 +10678,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Compress Formats:"
#~ msgstr "ì••ì¶• í¬ë©§:"
-#~ msgid "Image Groups"
-#~ msgstr "ì´ë¯¸ì§€ 그룹"
-
#~ msgid "Groups:"
#~ msgstr "그룹:"
@@ -9196,9 +10717,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "샘플 변환 모드: (.wav 파ì¼):"
-#~ msgid "Keep"
-#~ msgstr "유지"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "ì••ì¶• (RAM - IMA-ADPCM)"
@@ -9241,9 +10759,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance가 BakedLight 리소스를 가지고 있지 않습니다."
-#~ msgid "Fragment"
-#~ msgstr "프래그먼트"
-
#~ msgid "Lighting"
#~ msgstr "ë¼ì´íŒ…"
@@ -9309,9 +10824,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Align with view (Ctrl+Shift+F)"
#~ msgstr "ë·°ì— ì •ë ¬ (컨트롤+쉬프트+F)"
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "애니메ì´ì…˜ 루프 ë³´ê°„ 변경"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "애니메ì´ì…˜ 루프 시 ë³´ê°„ 활성화/비활성화."
@@ -9328,9 +10840,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ "ì´ ë…¸ë“œì— í…스ì³ê°€ 없습니다.\n"
#~ "êµ¬ì—­ì„ íŽ¸ì§‘í•˜ê¸° 위해서는 í…스ì³ë¥¼ 지정해야합니다."
-#~ msgid "New Scene Root"
-#~ msgstr "새로운 씬 루트"
-
#~ msgid "Inherit Scene"
#~ msgstr "ìƒì† 씬"
@@ -9343,9 +10852,6 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Reload Tool Script (Soft)"
#~ msgstr "툴 스í¬ë¦½íЏ 다시 로드 (소프트)"
-#~ msgid "Edit Connections..."
-#~ msgstr "연결 편집..."
-
#~ msgid "Set Params"
#~ msgstr "ì†ì„± ì ìš©"
@@ -9360,9 +10866,3 @@ msgstr "유효하지 ì•Šì€ í°íЏ í¬ê¸°."
#~ msgid "Group Editor"
#~ msgstr "그룹 편집기"
-
-#~ msgid "Node Group(s)"
-#~ msgstr "노트 그룹"
-
-#~ msgid "Plugin List:"
-#~ msgstr "í”ŒëŸ¬ê·¸ì¸ ëª©ë¡:"
diff --git a/editor/translations/lt.po b/editor/translations/lt.po
index 639e086d4c..f646555da2 100644
--- a/editor/translations/lt.po
+++ b/editor/translations/lt.po
@@ -18,336 +18,471 @@ msgstr ""
"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3;\n"
"X-Generator: Weblate 3.0.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Išjungta"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Visas Pasirinkimas"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Nemokama"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+msgid "Mirror"
+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 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 "Animacija: Pakeisti Reikšmę"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animacija: Pakeisti PerÄ—jimÄ…"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animacija: Pakeisti TransformacijÄ…"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "Animacija: Pakeisti Reikšmę"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animacija: Pakeisti Iškvietimą"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animacija: Pridėti Takelį"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Animacija: Perkelti Takelį Aukštyn"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Animacija: Perkelti Takelį Žemyn"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Animacija: Panaikinti Takelį"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Animacija: Pervadinti Takelį"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animacija: Pridėti Takelį"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animacijos Nodas"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animacijos Nodas"
+
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Panaikinti pasirinkimÄ…"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Animacija: Panaikinti Takelį"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "TrukmÄ—:"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskretus"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstanta"
-
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplikuoti"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Ištrinti Efektą"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Animacija: Panaikinti Takelį"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Sukurti"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Add Call Track"
-msgstr "Animacija: Pridėti Takelio Iškvietimą"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Ilgis (sek.):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Žingsnis(iai):"
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Žingsnis(iai):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animacija"
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Redaguoti"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Animacija"
+
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Panaikinti pasirinkimÄ…"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-"Norint redaguoti animacijas pasirinkite AnimationPlayer Nodą iš Scenos."
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+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_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -368,7 +503,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -384,7 +519,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -396,18 +531,27 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Priartinti"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Nutolinti"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Atstatyti PriartinimÄ…"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Priartinti"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linija:"
@@ -439,7 +583,8 @@ msgid "Add"
msgstr "PridÄ—ti"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -470,7 +615,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -492,12 +637,13 @@ msgid "Connect '%s' to '%s'"
msgstr "Prijungti '%s' prie '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr ""
+#, fuzzy
+msgid "Disconnect '%s' from '%s'"
+msgstr "Prijungti '%s' prie '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "Prijungti '%s' prie '%s'"
#: editor/connections_dialog.cpp
@@ -505,14 +651,44 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Atsijungti"
+#: editor/connections_dialog.cpp
+msgid "Connect Signal: "
+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 \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signalai"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Atsijungti"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Redaguoti"
+
+#: editor/connections_dialog.cpp
+msgid "Go To Method"
+msgstr ""
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr ""
@@ -536,22 +712,25 @@ msgstr "MÄ—gstamiausi:"
msgid "Recent:"
msgstr "Naujausi:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Aprašymas:"
@@ -609,7 +788,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Atidaryti"
@@ -628,7 +809,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -696,8 +877,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -871,6 +1056,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikuoti"
@@ -939,7 +1125,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -949,7 +1136,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -986,47 +1172,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1059,7 +1245,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1121,6 +1307,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1157,7 +1348,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1210,7 +1401,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1355,20 +1547,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1390,11 +1589,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1407,8 +1601,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1450,10 +1644,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1520,42 +1710,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1729,11 +1883,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1762,6 +1911,15 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Uždaryti"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1883,10 +2041,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1896,6 +2050,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1987,6 +2145,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2002,7 +2172,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2046,7 +2217,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2067,59 +2238,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2136,6 +2280,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2212,19 +2360,24 @@ msgid "Thumbnail..."
msgstr "Miniatūra..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Priedai"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Įdiegti Priedai:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Atnaujinti"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versija:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autorius:"
@@ -2232,13 +2385,16 @@ msgstr "Autorius:"
msgid "Status:"
msgstr "Statusas:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Baigti ProfiliavimÄ…"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Redaguoti"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "PradÄ—ti ProfiliavimÄ…"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "PradÄ—ti!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2285,6 +2441,103 @@ msgstr "TrukmÄ—:"
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Atidaryti 2D Editorių"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Naujas pavadinimas:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Naujas pavadinimas:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2319,10 +2572,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr "Galbūt jūs pamiršote '_run' metodą?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Pasirinkite Nodus, kuriuos norite importuoti"
@@ -2348,6 +2597,7 @@ msgid "(Installed)"
msgstr "(Įdiegta)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Atsiųsti"
@@ -2372,8 +2622,9 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
-msgstr ""
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
+msgstr "Å ablonuose nerasta version.txt failo."
#: editor/export_template_manager.cpp
msgid "No version.txt found inside templates."
@@ -2433,6 +2684,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2511,7 +2768,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2523,11 +2780,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2602,7 +2859,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2632,6 +2889,21 @@ msgid "Duplicate..."
msgstr "Duplikuoti"
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2644,7 +2916,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2652,18 +2928,112 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtrai..."
+
+#: 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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Atšaukti"
+
+#: 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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Netinkamas šrifto dydis."
+
+#: 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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2674,6 +3044,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2715,7 +3089,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2775,16 +3149,125 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Priedai"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Sukurti"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Priedai"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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
@@ -2828,6 +3311,143 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Sukurti"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animacijos Nodas"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Triangle already exists"
+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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Redaguoti Filtrus"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Redaguoti Filtrus"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr ""
@@ -2854,11 +3474,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2867,11 +3487,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2888,11 +3503,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2904,8 +3519,9 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
-msgstr ""
+#, fuzzy
+msgid "No animation to edit!"
+msgstr "Animacijos Nodas"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
@@ -2936,39 +3552,33 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr ""
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animacija"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Importuoti Animacijas..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3021,6 +3631,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Animacija"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3030,6 +3645,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3047,164 +3663,215 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animacija"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Sukurti NaujÄ…"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Prijunkite prie Nodo:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Panaikinti pasirinkimÄ…"
+
+#: 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 "Transition Nodas"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "AnimationTree"
+msgstr "Animacija"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Naujas pavadinimas:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Redaguoti Filtrus"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
#, fuzzy
msgid "Scale:"
msgstr "SkalÄ—:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "PradÄ—ti!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Kiekis:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animacijos Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "OneShot Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Mix Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Blend2 Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Blend3 Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Blend4 Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "TimeScale Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TimeSeek Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Transition Nodas"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importuoti Animacijas..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Redaguoti Nodų Filtrus"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Filters..."
msgstr "Filtrai..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Animacija"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Nemokama"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3258,10 +3925,15 @@ msgid "Asset Download Error:"
msgstr "Resurso Atsisiuntimo Klaida:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Atsiųsti"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
msgstr ""
@@ -3286,20 +3958,21 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "pirmas"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "paskutinis"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3366,7 +4039,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3375,12 +4048,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3393,14 +4064,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3429,11 +4092,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3453,6 +4128,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Nutolinti"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Nutolinti"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Priartinti"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3496,7 +4186,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3504,7 +4194,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3545,6 +4235,10 @@ 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 ""
@@ -3571,23 +4265,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3633,11 +4327,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3653,14 +4343,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3676,10 +4358,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3712,26 +4390,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3802,15 +4472,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3894,6 +4555,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3961,6 +4623,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4061,70 +4744,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4185,59 +4804,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4317,6 +4932,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4349,19 +4980,88 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Keisti Poligono SkalÄ™"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Netinkamas šrifto dydis."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Panaikinti pasirinkimÄ…"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Keisti Poligono SkalÄ™"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4390,12 +5090,24 @@ msgid "Scale Polygon"
msgstr "Keisti Poligono SkalÄ™"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Redaguoti"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4410,8 +5122,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4422,6 +5133,31 @@ msgstr ""
msgid "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
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Keisti Poligono SkalÄ™"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4444,6 +5180,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4465,14 +5205,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4484,6 +5225,19 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Įvyko klaida kraunant šriftą."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4500,6 +5254,20 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Atidaryti"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Filtrai..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4512,6 +5280,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4540,7 +5312,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4568,6 +5340,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4601,11 +5378,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4659,10 +5431,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4681,45 +5449,68 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linija:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4807,8 +5598,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrai..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4826,128 +5618,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5075,10 +5775,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5087,6 +5783,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5131,6 +5831,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5259,6 +5963,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5267,6 +5975,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5295,6 +6007,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5308,10 +6024,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5371,6 +6083,48 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Sukurti NaujÄ…"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Atnaujinti"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Settings:"
+msgstr ""
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5439,14 +6193,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5472,26 +6218,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5507,11 +6246,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5583,10 +6317,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5611,7 +6341,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5624,14 +6354,18 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Konstanta"
#: 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
msgid "Paint TileMap"
msgstr ""
@@ -5652,11 +6386,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5680,6 +6410,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Panaikinti pasirinkimÄ…"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5696,64 +6431,106 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+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 " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Atšaukti"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5768,7 +6545,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5842,10 +6619,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5854,7 +6627,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5862,6 +6635,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5952,6 +6733,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6060,8 +6845,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6073,9 +6858,21 @@ 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6117,19 +6914,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6157,10 +6954,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6205,6 +6998,12 @@ 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 "Already existing"
msgstr ""
@@ -6276,6 +7075,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6285,6 +7088,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Animacija"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6345,10 +7157,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6385,75 +7193,159 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Animacija: Pervadinti Takelį"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Naujas pavadinimas:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Root node name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Žingsnis(iai):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "Atstatyti PriartinimÄ…"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6492,11 +7384,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6516,6 +7403,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6556,14 +7447,32 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Prijunkite prie Nodo:"
+
+#: editor/scene_tree_dock.cpp
+msgid "2D Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "3D Scene"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Transition Nodas"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6572,6 +7481,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6614,18 +7527,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6648,10 +7557,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6671,16 +7576,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6689,7 +7586,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6705,20 +7602,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "Atidaryti Skriptų Editorių"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6726,6 +7624,12 @@ 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 ""
@@ -6762,6 +7666,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Atidaryti Skriptų Editorių"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -6998,10 +7907,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7014,19 +7935,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7082,16 +8015,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7156,6 +8079,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Visas Pasirinkimas"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7236,6 +8164,11 @@ msgid "Clear Selection"
msgstr "Panaikinti pasirinkimÄ…"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Visas Pasirinkimas"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7303,6 +8236,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7354,10 +8351,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7466,36 +8459,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Prijunkite prie Nodo:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Prijunkite prie Nodo:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7522,15 +8493,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7538,10 +8505,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7585,6 +8548,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Redaguoti Filtrus"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7639,6 +8607,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7685,8 +8665,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7767,6 +8747,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7827,8 +8820,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7903,6 +8896,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7915,6 +8919,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animacijos Nodas"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "Netinkamas šrifto dydis."
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Prijungti '%s' prie '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Norint redaguoti animacijas pasirinkite AnimationPlayer Nodą iš Scenos."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -7982,3 +9027,53 @@ msgstr "Įvyko klaida kraunant šriftą."
#: scene/resources/dynamic_font.cpp
msgid "Invalid font size."
msgstr "Netinkamas šrifto dydis."
+
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Netinkamas šrifto dydis."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Išjungta"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Animacija: Perkelti Takelį Aukštyn"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Animacija: Perkelti Takelį Žemyn"
+
+#, fuzzy
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Animacija: Pridėti Takelio Iškvietimą"
+
+#~ msgid "Length (s):"
+#~ msgstr "Ilgis (sek.):"
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Baigti ProfiliavimÄ…"
+
+#~ msgid "Start Profiling"
+#~ msgstr "PradÄ—ti ProfiliavimÄ…"
+
+#~ msgid "last"
+#~ msgstr "paskutinis"
diff --git a/editor/translations/lv.po b/editor/translations/lv.po
new file mode 100644
index 0000000000..7dc72def39
--- /dev/null
+++ b/editor/translations/lv.po
@@ -0,0 +1,9027 @@
+# Latvian translation of the Godot Engine editor
+# Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.
+# Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)
+# This file is distributed under the same license as the Godot source code.
+# Gustavs Porietis (pg829-) <porietisgustavs@gmail.com>, 2018.
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"PO-Revision-Date: 2018-07-28 12:39+0000\n"
+"Last-Translator: Gustavs Porietis (pg829-) <porietisgustavs@gmail.com>\n"
+"Language-Team: Latvian <https://hosted.weblate.org/projects/godot-engine/"
+"godot/lv/>\n"
+"Language: lv\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= "
+"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
+"X-Generator: Weblate 3.1.1\n"
+
+#: 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
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "DublikÄta IzvÄ“le"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Izdzēst izvēlētos failus?"
+
+#: 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
+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 "Add Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "AnimÄcijas garums (sekundÄ“s)."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "AnimÄcijas tÄlummaiņa."
+
+#: 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 "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
+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
+#, fuzzy
+msgid "Time (s): "
+msgstr "Solis (ļi):"
+
+#: 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
+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
+msgid "Linear"
+msgstr "LineÄrs"
+
+#: 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 "DublikÄta IzvÄ“le"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Izdzēst"
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: 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_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
+msgid "Create"
+msgstr "Izveidot"
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+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 "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 "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method 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
+msgid "Clipboard is empty"
+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 "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
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Solis (ļi):"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "AnimÄcijas tÄlummaiņa."
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/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
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimÄcijas tÄlummaiņa."
+
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Paste 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/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "DublikÄta IzvÄ“le"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "DublikÄta IzvÄ“le"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Doties uz nÄkamo soli"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Doties uz iepriekšējo soli"
+
+#: 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 "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
+msgid "Optimize"
+msgstr "Optimizēt"
+
+#: 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 "Mēroga Attiecība:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+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 "Doties uz Rindu"
+
+#: editor/code_editor.cpp
+msgid "Line Number:"
+msgstr ""
+
+#: editor/code_editor.cpp editor/editor_help.cpp
+msgid "No Matches"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Replaced %d occurrence(s)."
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Match Case"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Whole Words"
+msgstr ""
+
+#: editor/code_editor.cpp editor/rename_dialog.cpp
+msgid "Replace"
+msgstr "Aizvietot"
+
+#: editor/code_editor.cpp
+msgid "Replace All"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Selection Only"
+msgstr ""
+
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
+msgid "Zoom In"
+msgstr "PietuvinÄt"
+
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
+msgid "Zoom Out"
+msgstr "AttÄlinÄt"
+
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
+msgid "Reset Zoom"
+msgstr "AtiestatÄ«t tÄlummaiņu"
+
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "PietuvinÄt"
+
+#: editor/code_editor.cpp editor/script_editor_debugger.cpp
+msgid "Line:"
+msgstr "Rinda:"
+
+#: editor/code_editor.cpp
+msgid "Col:"
+msgstr "Kolona:"
+
+#: editor/connections_dialog.cpp
+msgid "Method in target Node must be specified!"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid ""
+"Target method not found! Specify a valid method or attach a script to target "
+"Node."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Connect To Node:"
+msgstr ""
+
+#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp
+#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
+msgid "Add"
+msgstr "Pievienot"
+
+#: 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/theme_editor_plugin.cpp editor/project_manager.cpp
+#: editor/project_settings_editor.cpp
+msgid "Remove"
+msgstr "Noņemt"
+
+#: editor/connections_dialog.cpp
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Make Function"
+msgstr "Izveidot Funkciju"
+
+#: editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Oneshot"
+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/canvas_item_editor_plugin.cpp
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/sprite_frames_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
+msgid "Close"
+msgstr "Aizvērt"
+
+#: editor/connections_dialog.cpp
+msgid "Connect"
+msgstr "Savienot"
+
+#: editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr "Savienot '%s' pie '%s'"
+
+#: editor/connections_dialog.cpp
+msgid "Disconnect '%s' from '%s'"
+msgstr "Atvienot '%s' no '%s'"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
+msgstr "Atvienot '%s' no '%s'"
+
+#: 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
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Savieno SignÄlu:"
+
+#: editor/connections_dialog.cpp
+msgid "Edit Connection: "
+msgstr ""
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
+#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
+msgid "Signals"
+msgstr "SignÄli"
+
+#: 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 "Nomainīt %s Tipu"
+
+#: editor/create_dialog.cpp editor/project_settings_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change"
+msgstr "Nomainīt"
+
+#: editor/create_dialog.cpp
+msgid "Create New %s"
+msgstr "Izveidot Jaunu %s"
+
+#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
+#: editor/filesystem_dock.cpp
+msgid "Favorites:"
+msgstr "Favorīti:"
+
+#: editor/create_dialog.cpp editor/editor_file_dialog.cpp
+msgid "Recent:"
+msgstr "Nesenie:"
+
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
+#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search:"
+msgstr "Meklēt:"
+
+#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
+#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Description:"
+msgstr "Apraksts:"
+
+#: 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 not take effect unless reloaded."
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will take effect when reloaded."
+msgstr ""
+
+#: editor/dependency_editor.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "Dependencies"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Resource"
+msgstr "Resurs"
+
+#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp
+#: editor/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/script_create_dialog.cpp
+msgid "Path"
+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.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 "Atvērt"
+
+#: editor/dependency_editor.cpp
+msgid "Owners Of:"
+msgstr "Īpašnieki:"
+
+#: editor/dependency_editor.cpp
+msgid "Remove selected files from the project? (no undo)"
+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? (no undo)"
+msgstr ""
+"Faili, kurus Jūs vēlaties noņemt ir nepieciešami citiem resursiem lai tie "
+"varÄ“tu strÄdÄt.\n"
+"Tik un tÄ noņemt tos? (Nevar atsaukt)"
+
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
+msgid "Cannot remove:"
+msgstr "Nevar noņemt:"
+
+#: editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr "Kļūme lÄdÄ“jot:"
+
+#: editor/dependency_editor.cpp
+#, fuzzy
+msgid "Scene failed to load due to missing dependencies:"
+msgstr "Ainu nevarÄ“ja ielÄdÄ“t dēļ neatrastiem dependencÄ«em:"
+
+#: editor/dependency_editor.cpp editor/editor_node.cpp
+msgid "Open Anyway"
+msgstr "AtvÄ“rt jebkurÄ gadÄ«jumÄ"
+
+#: editor/dependency_editor.cpp
+msgid "Which action should be taken?"
+msgstr "Kuru darbību izdarīt?"
+
+#: editor/dependency_editor.cpp
+#, fuzzy
+msgid "Fix Dependencies"
+msgstr "Salabot dependecīju"
+
+#: editor/dependency_editor.cpp
+msgid "Errors loading!"
+msgstr "Kļūmes lÄdÄ“jot!"
+
+#: editor/dependency_editor.cpp
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Owns"
+msgstr "Pieder"
+
+#: editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr ""
+
+#: editor/dependency_editor.cpp editor/editor_node.cpp
+msgid "Orphan Resource Explorer"
+msgstr ""
+
+#: editor/dependency_editor.cpp
+msgid "Delete selected files?"
+msgstr "Izdzēst izvēlētos failus?"
+
+#: 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/project_export.cpp editor/project_settings_editor.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Delete"
+msgstr "Izdzēst"
+
+#: 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 "Paldies no Godot sabiedrības!"
+
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
+
+#: editor/editor_about.cpp
+msgid "Godot Engine contributors"
+msgstr "Godot DzinÄ“ja ieguldÄ«tÄji"
+
+#: editor/editor_about.cpp
+msgid "Project Founders"
+msgstr "Projekta DibinÄtÄji"
+
+#: editor/editor_about.cpp
+msgid "Lead Developer"
+msgstr "Galvenais IzstrÄdÄtÄjs"
+
+#: editor/editor_about.cpp
+msgid "Project Manager "
+msgstr "Projekta Menedžeris "
+
+#: editor/editor_about.cpp
+msgid "Developers"
+msgstr "IzstrÄdÄtÄji"
+
+#: editor/editor_about.cpp
+msgid "Authors"
+msgstr "Autori"
+
+#: editor/editor_about.cpp
+msgid "Platinum Sponsors"
+msgstr "Platīna Sponsori"
+
+#: editor/editor_about.cpp
+msgid "Gold Sponsors"
+msgstr "Zelta Sponsori"
+
+#: editor/editor_about.cpp
+msgid "Mini Sponsors"
+msgstr "Mini Sponsori"
+
+#: editor/editor_about.cpp
+msgid "Gold Donors"
+msgstr "Zelta Donors"
+
+#: editor/editor_about.cpp
+msgid "Silver Donors"
+msgstr "Sudraba Donors"
+
+#: editor/editor_about.cpp
+msgid "Bronze Donors"
+msgstr "Bronzas Donors"
+
+#: editor/editor_about.cpp
+msgid "Donors"
+msgstr "Donors"
+
+#: editor/editor_about.cpp
+msgid "License"
+msgstr "Licence"
+
+#: editor/editor_about.cpp
+msgid "Thirdparty License"
+msgstr "TreÅ¡Äs partijas Licence"
+
+#: editor/editor_about.cpp
+msgid ""
+"Godot Engine relies on a number of thirdparty free and open source "
+"libraries, all compatible with the terms of its MIT license. The following "
+"is an exhaustive list of all such thirdparty components with their "
+"respective copyright statements and license terms."
+msgstr ""
+"Godot DzinÄ“js paļaujas uz citiem treÅ¡Äs partijas brÄ«vajÄm un atvÄ“rtÄ avota "
+"bibliotÄ“kÄm, kuri visi sader ar to MIT licences nosacÄ«jumiem. SekojoÅ¡ais ir "
+"saraksts ar šīm treÅ¡Äs partijas komponentÄ“m ar to autortiesÄ«bu apgalvojumiem "
+"un licences nosacījumiem."
+
+#: editor/editor_about.cpp
+msgid "All Components"
+msgstr "Visas Komponentes"
+
+#: editor/editor_about.cpp
+msgid "Components"
+msgstr "Komponentes"
+
+#: editor/editor_about.cpp
+msgid "Licenses"
+msgstr "Licences"
+
+#: editor/editor_asset_installer.cpp editor/project_manager.cpp
+msgid "Error opening package file, not in zip format."
+msgstr "Kļūme atverot arhÄ«vu failu, nav ZIP formÄtÄ."
+
+#: editor/editor_asset_installer.cpp
+msgid "Uncompressing Assets"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp editor/project_manager.cpp
+msgid "Package Installed Successfully!"
+msgstr ""
+
+#: editor/editor_asset_installer.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Success!"
+msgstr "IzdevÄs!"
+
+#: editor/editor_asset_installer.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Install"
+msgstr "Ieinstalēt"
+
+#: editor/editor_asset_installer.cpp
+msgid "Package Installer"
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Speakers"
+msgstr "Skaļruņi"
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Effect"
+msgstr "Pievienot Efektu"
+
+#: editor/editor_audio_buses.cpp
+msgid "Rename Audio Bus"
+msgstr "PÄrsaukt Audio Kopni"
+
+#: editor/editor_audio_buses.cpp
+msgid "Change Audio Bus Volume"
+msgstr "Nomainīt Audio Kopnes Skaļumu"
+
+#: 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 "Audio Bus, Drag and 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 "Kopnes iestatījumi"
+
+#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/tile_map_editor_plugin.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 "Izdzēst Efektu"
+
+#: editor/editor_audio_buses.cpp
+msgid "Audio"
+msgstr "Audio"
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Audio Bus"
+msgstr "Pievienot Audio Kopni"
+
+#: 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 'res://default_bus_layout.tres' file."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Invalid file, not an audio bus layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp
+msgid "Add Bus"
+msgstr "Pievienot Kopni"
+
+#: editor/editor_audio_buses.cpp
+msgid "Create a new Bus Layout."
+msgstr ""
+
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
+#: editor/script_create_dialog.cpp
+msgid "Load"
+msgstr "IelÄdÄ“t"
+
+#: editor/editor_audio_buses.cpp
+msgid "Load an existing Bus Layout."
+msgstr "IelÄdÄ“t eksistÄ“joÅ¡u Kopnes IzkÄrtojumu."
+
+#: editor/editor_audio_buses.cpp
+msgid "Save As"
+msgstr "SaglabÄt KÄ"
+
+#: editor/editor_audio_buses.cpp
+msgid "Save this Bus Layout to a file."
+msgstr "SaglabÄt Å¡o Kopni failÄ."
+
+#: editor/editor_audio_buses.cpp editor/import_dock.cpp
+msgid "Load Default"
+msgstr "IelÄdÄ“t NoklusÄ“jumu"
+
+#: editor/editor_audio_buses.cpp
+msgid "Load the default Bus Layout."
+msgstr "IelÄdÄ“t Kopnes IzkÄrtojuma noklusÄ“jumu."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name."
+msgstr "Nederīgs nosaukums."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Valid characters:"
+msgstr "Derīgie simboli:"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name. Must not collide with an existing engine class name."
+msgstr ""
+"Nederīgs nosaukums. Nedrīkst sadurties ar eksistējošu dzinēja klases "
+"nosaukumu."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name. Must not collide with an existing buit-in type name."
+msgstr ""
+"Nederīgs nosaukums. Nedrīkst sadurties ar eksistējošu iebūvēto tipa "
+"nosaukumu."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid name. Must not collide with an existing global constant 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
+msgid "Enable"
+msgstr "Iespējot"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Rearrange Autoloads"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
+#: scene/gui/file_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp
+#: editor/project_manager.cpp editor/settings_config_dialog.cpp
+msgid "Name"
+msgstr "Nosaukums"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Singleton"
+msgstr ""
+
+#: editor/editor_data.cpp
+msgid "Updating Scene"
+msgstr "Atjaunina Ainu"
+
+#: editor/editor_data.cpp
+msgid "Storing local changes..."
+msgstr ""
+
+#: editor/editor_data.cpp
+msgid "Updating scene..."
+msgstr ""
+
+#: editor/editor_data.cpp editor/editor_properties.cpp
+msgid "[empty]"
+msgstr "[tukšs]"
+
+#: editor/editor_data.cpp
+msgid "[unsaved]"
+msgstr "[nesaglabÄts]"
+
+#: 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 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
+#: 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 "Packing"
+msgstr ""
+
+#: editor/editor_export.cpp platform/javascript/export/export.cpp
+msgid "Template file not found:"
+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 Current 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/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
+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/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_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
+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
+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 scene/gui/file_dialog.cpp
+msgid "Go to parent folder"
+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
+msgid "Preview:"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp
+#: scene/gui/file_dialog.cpp
+msgid "File:"
+msgstr ""
+
+#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: editor/editor_file_system.cpp
+msgid "(Re)Importing Assets"
+msgstr ""
+
+#: editor/editor_help.cpp editor/editor_node.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Class List:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Search Classes"
+msgstr ""
+
+#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp
+msgid "Top"
+msgstr ""
+
+#: editor/editor_help.cpp editor/property_editor.cpp
+msgid "Class:"
+msgstr ""
+
+#: editor/editor_help.cpp editor/scene_tree_editor.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Brief Description:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Members"
+msgstr ""
+
+#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Members:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Public Methods"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Public Methods:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "GUI Theme Items"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "GUI Theme Items:"
+msgstr ""
+
+#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Signals:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Enumerations"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Enumerations:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "enum "
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Constants"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Constants:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Description"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Online Tutorials:"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid ""
+"There are currently no tutorials for this class, you can [color=$color][url="
+"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/"
+"url][/color]."
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Properties"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Property Description:"
+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 "Methods"
+msgstr ""
+
+#: editor/editor_help.cpp
+msgid "Method Description:"
+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_inspector.cpp
+msgid "Property: "
+msgstr ""
+
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
+
+#: editor/editor_log.cpp
+msgid "Output:"
+msgstr ""
+
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
+msgid "Clear"
+msgstr ""
+
+#: editor/editor_log.cpp
+msgid "Clear Output"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Project export failed with error code %d."
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Error saving resource!"
+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 ""
+"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
+"be satisfied."
+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 "Error trying to save layout!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Default editor layout overridden."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Restored default layout to 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 will not 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 will not 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 will not 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 ""
+"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 "Current scene was never saved, please save it prior to running."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open Base Scene"
+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 & Close"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes to '%s' before closing?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save Scene As..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "No"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Yes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "This scene has never been saved. Save before running?"
+msgstr ""
+
+#: editor/editor_node.cpp editor/scene_tree_dock.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 reload a scene that was never saved."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Revert"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "This action cannot be undone. Revert anyway?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quick Run Scene..."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Quit"
+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 & Quit"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes to the following scene(s) before quitting?"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save changes 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 "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: 'res://addons/%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' 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 "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
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Aizvērt"
+
+#: 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 "Dock Position"
+msgstr ""
+
+#: editor/editor_node.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 "Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Go to previously opened scene."
+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
+msgid "Save Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Save all Scenes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Open Recent"
+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
+msgid "Redo"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Revert Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Project"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Project Settings"
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Tools"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Projekta DibinÄtÄji"
+
+#: editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Debug"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Small Deploy with Network FS"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is enabled, export or deploy will produce a minimal "
+"executable.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
+"running game if this option is turned on."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"Navigation meshes and polygons will be visible on the running game if this "
+"option is turned on."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Sync Scene Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any changes made to the scene in the editor "
+"will be replicated in the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Sync Script Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any script that is saved will be reloaded on "
+"the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Editor"
+msgstr ""
+
+#: editor/editor_node.cpp editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Editor Layout"
+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 editor/project_export.cpp
+msgid "Manage Export Templates"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Help"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Classes"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
+msgid "Search"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Online Docs"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Q&A"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Issue Tracker"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "About"
+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"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: editor/editor_node.cpp editor/editor_profiler.cpp
+msgid "Stop"
+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 "Spins when the editor window repaints!"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Update Always"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Update Changes"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Disable Update Spinner"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
+#: editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Node"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
+msgid "Output"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Don't Save"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: editor/editor_node.cpp editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Export Library"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Password:"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Open & Run a Script"
+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
+msgid "Select"
+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_plugin.cpp
+msgid "Creating Mesh Previews"
+msgstr ""
+
+#: editor/editor_plugin.cpp
+msgid "Thumbnail..."
+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
+msgid "Update"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Version:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
+msgid "Author:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Status:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
+msgstr ""
+
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame Time (sec)"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Average Time (sec)"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Physics Frame %"
+msgstr ""
+
+#: editor/editor_profiler.cpp editor/script_editor_debugger.cpp
+msgid "Time:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Time"
+msgstr ""
+
+#: editor/editor_profiler.cpp
+msgid "Calls"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: editor/editor_run_native.cpp
+msgid "Select device from the list"
+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."
+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_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Re-Download"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Uninstall"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "(Installed)"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Download"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "(Missing)"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "(Current)"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Retrieving mirrors, please wait..."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Remove template version '%s'?"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Can't open export templates zip."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Invalid version.txt format inside templates: %s."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "No version.txt found inside templates."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error creating path for 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 ""
+"No download links found for this version. Direct download is only available "
+"for official releases."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't resolve."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't connect."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "No response."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request Failed."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Redirect Loop."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Failed:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Download Complete."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Error requesting url: "
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Connecting to Mirror..."
+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 "Current Version:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Installed Versions:"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Install From File"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Remove Template"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Select template file"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Export Template Manager"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Download Templates"
+msgstr ""
+
+#: editor/export_template_manager.cpp
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
+msgstr ""
+
+#: editor/file_type_cache.cpp
+msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Cannot navigate to '%s' as it has not been found in the file system!"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "View items as a grid of thumbnails."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "View items as a list."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Status: Import of file failed. Please fix file and reimport manually."
+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
+msgid "No name provided"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Provided name contains invalid characters"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "No name provided."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "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 "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 "Expand all"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Collapse all"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+msgid "Rename..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Move To..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Open Scene(s)"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Edit Dependencies..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "View Owners..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Duplicate..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Resurs"
+
+#: 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 "Previous Directory"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Next Directory"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Instance the selected scene(s) as child of the selected node."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Meklēt:"
+
+#: editor/filesystem_dock.cpp
+msgid ""
+"Scanning Files,\n"
+"Please Wait..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
+msgid "Move"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Aizvietot"
+
+#: editor/find_in_files.cpp
+msgid "Replace all (no undo)"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Meklēt:"
+
+#: editor/find_in_files.cpp
+msgid "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nederīgs nosaukums."
+
+#: 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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+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
+#: 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 "Saving..."
+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 " Files"
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Import As:"
+msgstr ""
+
+#: editor/import_dock.cpp editor/property_editor.cpp
+msgid "Preset..."
+msgstr ""
+
+#: editor/import_dock.cpp
+msgid "Reimport"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 Node to edit 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
+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/light_occluder_2d_editor_plugin.cpp
+msgid "Create Poly"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/collision_polygon_editor_plugin.cpp
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Insert Point"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/collision_polygon_editor_plugin.cpp
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Remove Poly And Point"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Create a new polygon from scratch"
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid ""
+"Edit existing polygon:\n"
+"LMB: Move Point.\n"
+"Ctrl+LMB: Split Segment.\n"
+"RMB: Erase Point."
+msgstr ""
+
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+msgid "Delete points"
+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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+msgstr "IelÄdÄ“t"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Izveidot"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "AnimÄcijas tÄlummaiņa."
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Triangle already exists"
+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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+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
+#, fuzzy
+msgid "Invalid animation name!"
+msgstr "Nederīgs nosaukums."
+
+#: 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 "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 "Duplicate Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "No animation to copy!"
+msgstr "AnimÄcijas tÄlummaiņa."
+
+#: 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 "No animation to edit!"
+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/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New"
+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 "Onion Skinning"
+msgstr ""
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "Enable Onion Skinning"
+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
+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
+#: editor/script_create_dialog.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 "End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Izveidot Jaunu %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Savienot"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Noņemt Izvēlēto"
+
+#: 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_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
+msgid "Blend"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Mix"
+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:"
+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
+msgid "Current:"
+msgstr ""
+
+#: editor/plugins/animation_tree_player_editor_plugin.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
+msgid "Contents:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "View Files"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Can't resolve hostname:"
+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 to host:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "No response from host:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, return code:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Request failed, too many redirects"
+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 sha256 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 "Retry"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Download Error"
+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 "First"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Previous"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Next"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Last"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: modules/gdnative/gdnative_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/project_settings_editor.cpp
+msgid "Plugins"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Sort:"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Reverse"
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/project_settings_editor.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 "Assets ZIP File"
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"Can't determine a save path for lightmap images.\n"
+"Save your scene (for images to be saved in the same dir), or pick a save "
+"path from the BakedLightmap properties."
+msgstr ""
+
+#: editor/plugins/baked_lightmap_editor_plugin.cpp
+msgid ""
+"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake "
+"Light' flag is 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 "Bake Lightmaps"
+msgstr ""
+
+#: editor/plugins/camera_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.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 "Rotation Offset:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move vertical guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create new 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 new horizontal guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Remove horizontal guide"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Create new horizontal and vertical guides"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move pivot"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
+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
+msgid "Paste Pose"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "AttÄlinÄt"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "AttÄlinÄt"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "PietuvinÄt"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Select Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Drag: Rotate"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+RMB: Depth list selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Mode"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate Mode"
+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 "Toggle snapping."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snapping Options"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap to grid"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+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 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
+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 "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Show 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 "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
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Show 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 "Center Selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Layout"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert keys."
+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 "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 "Add %s"
+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 Poly3D"
+msgstr ""
+
+#: editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+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 "Flat0"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Flat1"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.cpp
+msgid "Ease in"
+msgstr ""
+
+#: editor/plugins/curve_editor_plugin.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/gi_probe_editor_plugin.cpp
+msgid "Bake GI Probe"
+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 ""
+"No OccluderPolygon2D resource on this node.\n"
+"Create and assign one?"
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create a new polygon from scratch."
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Edit existing polygon:"
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "LMB: Move Point."
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Ctrl+LMB: Split Segment."
+msgstr ""
+
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "RMB: Erase Point."
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Convex 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 Shape"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Shape"
+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
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Model has no UV in this layer"
+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
+msgid "Mesh"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Static Body"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Collision Sibling"
+msgstr ""
+
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh..."
+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_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+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 "Parent has no solid faces to populate."
+msgstr ""
+
+#: editor/plugins/multimesh_editor_plugin.cpp
+msgid "Couldn't map area."
+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
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generating AABB"
+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 "Error loading image:"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "No pixels with transparency > 128 in image..."
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generate Visibility Rect"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Particles"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generation Time (sec):"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Emission Mask"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Capture from Pixel"
+msgstr ""
+
+#: editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Emission Colors"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Faces contain no area!"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "No faces!"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry."
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry (faces)."
+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
+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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Convert to CPUParticles"
+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 "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
+#: 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 "Split Segment (in curve)"
+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_plugin.cpp
+#: editor/project_export.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/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 "Create UV Map"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Nederīgs fonta izmērs."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Noņemt Izvēlēto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Izveidot"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Point"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+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 "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->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
+msgid "Enable Snap"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "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/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_dock.cpp editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+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
+msgid "Type:"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ResourcePreloader"
+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 "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Kļūmes lÄdÄ“jot!"
+
+#: 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 TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Atvērt"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "SaglabÄt KÄ"
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid " Class Reference"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.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
+msgid "File"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile"
+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 "Show In File System"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "History Prev"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "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 "Save Theme As"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close Docs"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close All"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Close Other Tabs"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Scripts Panel"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find Next"
+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 "Step Into"
+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
+msgid "Open Godot online documentation"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search the class hierarchy."
+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 "Reload"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid ""
+"Built-in scripts can only be edited when the scene they belong to is loaded"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Rinda:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Only resources from filesystem can be dropped."
+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
+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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
+#: scene/gui/text_edit.cpp
+msgid "Cut"
+msgstr ""
+
+#: editor/plugins/script_text_editor.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 "Clone Down"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Complete Symbol"
+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 "Auto Indent"
+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 "Goto Next Breakpoint"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Goto Previous Breakpoint"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Convert To Uppercase"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Convert To Lowercase"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Find in files..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Goto Function..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Goto Line..."
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: editor/plugins/shader_editor_plugin.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 "Skeleton2D"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
+
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
+
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
+msgstr ""
+
+#: editor/plugins/skeleton_editor_plugin.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
+msgid "Perspective"
+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
+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 "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"
+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 "Bottom"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Left"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Right"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Front"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Align 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 "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
+msgid "Audio Listener"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Doppler Enable"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+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 "XForm Dialog"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Select Mode (Q)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Drag: Rotate\n"
+"Alt+Drag: Move\n"
+"Alt+RMB: Depth list selection"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode (W)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode (E)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode (R)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Space Mode (%s)"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Mode (%s)"
+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 "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 "Align Selection With View"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Select"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Move"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Rotate"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Tool Scale"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Toggle Freelook"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+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
+#: 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/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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Izveidot Jaunu %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+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 Loop"
+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 "Animations"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed (FPS):"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames"
+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 "SpriteFrames"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Set Region Rect"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap Mode:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "<None>"
+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 "Offset:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Step:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "Sep.:"
+msgstr ""
+
+#: editor/plugins/texture_region_editor_plugin.cpp
+msgid "TextureRegion"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Can't save theme to file:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add All Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add All"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove All"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Edit theme..."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme editing menu."
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Class Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Template"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Create From Current Editor Theme"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio1"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio2"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Check Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Radio Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Radio Item"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Has"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Many"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Has,Many,Options"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Data Type:"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
+msgid "Style"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Font"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Color"
+msgstr ""
+
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Constant"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase Selection"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nederīgs nosaukums."
+
+#: 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 "Mirror X"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror Y"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint Tile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Noņemt Izvēlēto"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 0 degrees"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 90 degrees"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 180 degrees"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 270 degrees"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Texture(s) to TileSet"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove current 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 ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Selected Textue and ALL TILES wich uses 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?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was 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 ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+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 ""
+"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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Runnable"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Delete patch '%s' from list?"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Delete preset '%s'?"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export templates for this platform are missing/corrupted:"
+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 "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 (comma separated, e.g: *.json, *.txt)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid ""
+"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Patches"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Make Patch"
+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 "Export PCK/Zip"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export templates for this platform are missing:"
+msgstr ""
+
+#: editor/project_export.cpp
+msgid "Export With Debug"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "The path does not exist."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Invalid '.zip' project file, does not 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 "Directory already contains a Godot 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 "The following files failed extraction from package:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Rename Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "New Game 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 "Create folder"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Can't open project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Are you sure to open more than one project?"
+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 \"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 more than one project?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Remove project from the list? (Folder contents will not be modified)"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"Language changed.\n"
+"The UI will update next time the editor or project manager starts."
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"You are about the scan %s folders for existing Godot projects. Do you "
+"confirm?"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Project List"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Scan"
+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 "Templates"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Exit"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Restart Now"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid "Can't run project"
+msgstr ""
+
+#: editor/project_manager.cpp
+msgid ""
+"You don't currently have any projects.\n"
+"Would you like to explore the official example projects in the Asset Library?"
+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 "Action '%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 "Device"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Shift+"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Alt+"
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Control+"
+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 "Axis"
+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
+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 "Already existing"
+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 "Override for Feature"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Translation"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Add Remapped Path"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Resource Remap Add Remap"
+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 editor/property_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+msgid "Override For..."
+msgstr ""
+
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "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
+#, fuzzy
+msgid "Action"
+msgstr "Visa Izvēle"
+
+#: editor/project_settings_editor.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 "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 only selected locales"
+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/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: editor/property_editor.cpp
+msgid "Ease Out"
+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_editor.cpp
+msgid "Properties:"
+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/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+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 "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
+#, fuzzy
+msgid "Step"
+msgstr "Solis (ļi):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "AtiestatÄ«t tÄlummaiņu"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+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
+msgid "Current Scene"
+msgstr ""
+
+#: editor/run_settings_dialog.cpp
+msgid "Main 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 "Clear 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 "Delete Node(s)?"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Can not perform with the root node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Save New Scene As..."
+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 "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Izveidot Jaunu %s"
+
+#: 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 "Custom 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 "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Remove 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 "Clear Inheritance"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Change Type"
+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
+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 for the selected node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Clear a script for the selected node."
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Remote"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Toggle Visible"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid "Node configuration warning:"
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node has connection(s) and group(s).\n"
+"Click to show signals dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node has connections.\n"
+"Click to show signals dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp
+msgid ""
+"Node is in group(s).\n"
+"Click to show groups dock."
+msgstr ""
+
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.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 "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 "N/A"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Path 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 "Directory of the same name exists"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "File exists, will be reused"
+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 "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 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 "Create new script file"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Load existing script file"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Language"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
+msgid "Inherits"
+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 "Source:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Function:"
+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 modules/mono/editor/mono_bottom_panel.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 "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 "Variable"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Errors:"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Stack Trace (if applicable):"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Monitors"
+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 "Video Mem"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: editor/script_editor_debugger.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/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 "Change AudioStreamPlayer3D Emission Angle"
+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 "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
+
+#: 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/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 "Library"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Status"
+msgstr ""
+
+#: modules/gdnative/gdnative_library_singleton_editor.cpp
+msgid "Libraries: "
+msgstr ""
+
+#: modules/gdnative/register_types.cpp
+msgid "GDNative"
+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/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 "Visa Izvēle"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Duplicate Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Grid Map"
+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 "Create Area"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Create Exterior Connector"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Erase Area"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Clear Selection"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Visa Izvēle"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "GridMap Settings"
+msgstr ""
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Pick Distance:"
+msgstr ""
+
+#: modules/mono/csharp_script.cpp
+msgid "Class name can't be a reserved keyword"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Generating solution..."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Generating C# project..."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Failed to create solution."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Failed to save solution."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Done"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Failed to create C# project."
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Mono"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "About C# support"
+msgstr ""
+
+#: modules/mono/editor/godotsharp_editor.cpp
+msgid "Create C# solution"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "Builds"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "Build Project"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "Warnings"
+msgstr ""
+
+#: modules/mono/editor/mono_bottom_panel.cpp
+msgid "View log"
+msgstr ""
+
+#: modules/mono/mono_gd/gd_mono_utils.cpp
+msgid "End of inner exception stack trace"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+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_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 "Variables:"
+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 "Add Variable"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Signal"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Change Expression"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Add Node"
+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) From Tree"
+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 "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 "Can't copy the function node."
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Clipboard is empty!"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Paste VisualScript Nodes"
+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 "Base Type:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Available Nodes:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Select or create a function to edit graph"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Signal Arguments:"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Variable:"
+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 "Paste Nodes"
+msgstr ""
+
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+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_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 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_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 "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 "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_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+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 write file:"
+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 read custom HTML shell:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Could not read boot splash image file:"
+msgstr ""
+
+#: platform/javascript/export/export.cpp
+msgid "Using default boot splash image."
+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/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_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_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/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the 'texture' "
+"property."
+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/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/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+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/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+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/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+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/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnable2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVRCamera must have an ARVROrigin node as its parent"
+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 will not be bound to an "
+"actual controller"
+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 will not be bound to an actual "
+"anchor"
+msgstr ""
+
+#: scene/3d/arvr_nodes.cpp
+msgid "ARVROrigin requires an ARVRCamera child node"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "%d%%"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "(Time Left: %d:%02d s)"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Plotting Meshes: "
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Plotting Lights:"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp
+msgid "Finishing Plot"
+msgstr ""
+
+#: scene/3d/baked_lightmap.cpp
+msgid "Lighting Meshes: "
+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/gi_probe.cpp
+msgid "Plotting Meshes"
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/particles.cpp
+msgid ""
+"Nothing is visible because meshes have not been assigned to draw passes."
+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/remote_transform.cpp
+msgid "Path property must point to a valid Spatial node to work."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid "WorldEnvironment needs an Environment resource."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/scenario_fx.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/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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+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/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "AnimÄcijas garums (sekundÄ“s)."
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "Nederīgs fonta izmērs."
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Atvienot '%s' no '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Raw Mode"
+msgstr ""
+
+#: scene/gui/color_picker.cpp
+msgid "Add current color as a preset"
+msgstr "Pievienot paÅ¡reizÄ“jo krÄsu kÄ iepriekÅ¡noteiktu krÄsu"
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr "BrÄ«dinÄjums!"
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr "Lūdzu Apstipriniet..."
+
+#: scene/gui/file_dialog.cpp
+msgid "Select this Folder"
+msgstr "Izvēlēties šo Mapi"
+
+#: 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 though, but they will "
+"hide upon running."
+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/tree.cpp
+msgid "(Other)"
+msgstr "(Cits(i))"
+
+#: scene/main/scene_tree.cpp
+msgid ""
+"Default Environment as specified in Project Settings (Rendering -> "
+"Environment -> Default Environment) could not be loaded."
+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/resources/dynamic_font.cpp
+msgid "Error initializing FreeType."
+msgstr "Kļūme inicializējot FreeType."
+
+#: scene/resources/dynamic_font.cpp
+msgid "Unknown font format."
+msgstr "NezinÄms fonta formÄts."
+
+#: scene/resources/dynamic_font.cpp
+msgid "Error loading font."
+msgstr "Kļūda lÄdÄ“jot fontu."
+
+#: scene/resources/dynamic_font.cpp
+msgid "Invalid font size."
+msgstr "Nederīgs fonta izmērs."
+
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Nederīgs fonta izmērs."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Atspējots"
+
+#~ msgid "Length (s):"
+#~ msgstr "Garums (i):"
+
+#~ msgid "Thanks!"
+#~ msgstr "Paldies!"
diff --git a/editor/translations/ms.po b/editor/translations/ms.po
index 09c7b39e08..e7e084af56 100644
--- a/editor/translations/ms.po
+++ b/editor/translations/ms.po
@@ -5,346 +5,478 @@
# Sam Vanguard <syafz119@gmail.com>, 2018.
# Shaqir Rafiq <moshamoradev@gmail.com>, 2018.
# Syaz Amirin <amirin123z@gmail.com>, 2018.
+# Nafis Ibrahim <thepreciousnafis@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-06-30 09:40+0000\n"
-"Last-Translator: Syaz Amirin <amirin123z@gmail.com>\n"
+"PO-Revision-Date: 2018-07-29 03:39+0000\n"
+"Last-Translator: Nafis Ibrahim <thepreciousnafis@gmail.com>\n"
"Language-Team: Malay <https://hosted.weblate.org/projects/godot-engine/godot/"
"ms/>\n"
"Language: ms\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 3.1-dev\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Tidak Aktif"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Semua Pilihan"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
-#: editor/animation_editor.cpp
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Anim Menduakan Kunci"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Menduakan Kunci"
+
+#: 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 "Anim Ubah Masa Keyframe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Ubah Peralihan"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Ubah Penukaran"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Ubah Nilai Keyframe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Ubah Panggilan"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Tambah Trek"
-
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Menduakan Kunci"
-
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Ubah Trek Anim Ke Atas"
-
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Ubah Trek Anim Ke Bawah"
-
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Buang Trek Anim"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Set Peralihan ke:"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Ubah Nama Trek Anim"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Tambah Trek"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Continuous"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Discrete"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Trigger"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Buang Trek Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Anim Menduakan Kunci"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
+#: editor/animation_track_editor.cpp
+msgid "Delete Key(s)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Buang Trek Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method 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
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Semua Pilihan"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -365,7 +497,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -381,7 +513,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -393,18 +525,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -434,7 +574,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -465,7 +606,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -487,11 +628,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -499,14 +640,42 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+msgid "Connect Signal: "
+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 \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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 ""
@@ -529,22 +698,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -602,7 +774,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -621,7 +795,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -689,8 +863,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -747,7 +925,7 @@ msgstr ""
#: editor/editor_about.cpp
msgid "License"
-msgstr ""
+msgstr "Lesen"
#: editor/editor_about.cpp
msgid "Thirdparty License"
@@ -864,6 +1042,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -932,7 +1111,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -942,7 +1122,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -979,47 +1158,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1052,7 +1231,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1114,6 +1293,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1150,7 +1334,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1203,7 +1387,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1348,20 +1533,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1383,11 +1575,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1400,8 +1587,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1443,10 +1630,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1513,42 +1696,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1722,11 +1869,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1755,6 +1897,14 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1876,10 +2026,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1889,6 +2035,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1980,6 +2130,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -1995,7 +2157,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2039,7 +2202,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2060,59 +2223,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2129,6 +2265,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2205,19 +2345,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2225,12 +2369,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2277,6 +2422,100 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2311,10 +2550,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2340,6 +2575,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2364,7 +2600,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2424,6 +2660,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2502,7 +2744,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2514,11 +2756,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2589,7 +2831,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2618,6 +2860,21 @@ msgid "Duplicate..."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2630,7 +2887,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2638,18 +2899,110 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2660,6 +3013,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2701,7 +3058,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2761,16 +3118,122 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: 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
+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
@@ -2814,6 +3277,140 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+msgid "Create points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2840,11 +3437,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2853,11 +3450,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2874,11 +3466,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2890,7 +3482,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2922,39 +3514,33 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Set Peralihan ke:"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3006,6 +3592,10 @@ 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 ""
@@ -3015,6 +3605,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3032,161 +3623,209 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"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 "Set Peralihan ke:"
+
#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3240,7 +3879,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3268,19 +3911,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3348,7 +3991,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3357,12 +4000,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3375,14 +4016,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3411,11 +4044,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3435,6 +4080,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3478,7 +4135,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3486,7 +4143,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3527,6 +4184,10 @@ 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 ""
@@ -3553,23 +4214,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3615,11 +4276,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3635,14 +4292,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3658,10 +4307,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3694,26 +4339,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3784,15 +4421,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3876,6 +4504,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3943,6 +4572,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4043,70 +4693,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4167,59 +4753,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4299,6 +4881,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4331,19 +4929,84 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Remove Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4372,11 +5035,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4392,8 +5067,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4404,6 +5078,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4426,6 +5124,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4447,14 +5149,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4466,6 +5169,18 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4482,6 +5197,18 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+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 "Import Theme"
msgstr ""
@@ -4494,6 +5221,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4522,7 +5253,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4550,6 +5281,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4583,11 +5319,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4641,10 +5372,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4663,45 +5390,67 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4789,7 +5538,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4808,128 +5557,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5057,10 +5714,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5069,6 +5722,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5113,6 +5770,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5240,6 +5901,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5248,6 +5913,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5276,6 +5945,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5289,10 +5962,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5352,6 +6021,46 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5420,14 +6129,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5453,26 +6154,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5488,11 +6182,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5564,10 +6253,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5592,7 +6277,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5605,7 +6290,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5613,6 +6298,10 @@ msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5633,11 +6322,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5661,6 +6346,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Semua Pilihan"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5677,63 +6367,105 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5749,7 +6481,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5823,10 +6555,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5835,7 +6563,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5843,6 +6571,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5929,6 +6665,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6037,8 +6777,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6050,9 +6790,21 @@ 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6094,19 +6846,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6134,10 +6886,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6182,6 +6930,12 @@ 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 "Already existing"
msgstr ""
@@ -6253,6 +7007,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6262,6 +7020,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Semua Pilihan"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6322,10 +7089,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6362,75 +7125,156 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Ubah Nama Trek Anim"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6469,11 +7313,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6493,6 +7332,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6533,11 +7376,27 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+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 "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6549,6 +7408,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6591,18 +7454,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6625,10 +7484,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6648,16 +7503,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6666,7 +7513,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6682,20 +7529,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6703,6 +7550,12 @@ 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 ""
@@ -6739,6 +7592,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -6975,10 +7832,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -6991,19 +7860,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7059,16 +7940,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7133,6 +8004,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Semua Pilihan"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7213,6 +8089,11 @@ msgid "Clear Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Semua Pilihan"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7280,6 +8161,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7331,10 +8276,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7443,35 +8384,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7499,15 +8416,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7515,10 +8428,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7562,6 +8471,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7616,6 +8529,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7662,8 +8587,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7744,6 +8669,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7804,8 +8742,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7878,6 +8816,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7890,6 +8839,42 @@ msgid ""
"it as a child of a VehicleBody."
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_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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -7957,3 +8942,36 @@ msgstr ""
#: scene/resources/dynamic_font.cpp
msgid "Invalid font size."
msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Tidak Aktif"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Ubah Trek Anim Ke Atas"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Ubah Trek Anim Ke Bawah"
diff --git a/editor/translations/nb.po b/editor/translations/nb.po
index abc026771d..fc4a1bed6e 100644
--- a/editor/translations/nb.po
+++ b/editor/translations/nb.po
@@ -24,332 +24,483 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Deaktivert"
+#: 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 "Ugyldig typeargument til convert(), bruk TYPE_*-konstantene."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Alle valg"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Ugyldig indeks egenskap navn '%s' i node %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Ugyldig indeks egenskap navn '%s' i node %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Ugyldig argument av type: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Frigjør"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Speil X"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Sett inn Nøkkel"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Dupliser Utvalg"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Slett Valgte"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Dupliser Nøkler"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Fjern Nøkler"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Endre Nøkkelbildetid"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Forandre Overgang"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Forandre Omforming"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Endre Nøkkelbildeverdi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Forandre Kall"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Legg til Spor"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Dupliser Nøkler"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Flytt Anim Spor Opp"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Flytt Anim-Spor Ned"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Fjern Anim-Spor"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Stopp avspilling av animasjon. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Legg til Spor"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Sett Overganger til:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animasjon lengde (i sekunder)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim-Spor Endre Navn"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animasjons-zoom."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim Track Endre Interpolasjon"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funksjoner:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Anim Spor Forandre Verdi Modus"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim Spor Endre Løkke Modus"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Forandre Nodekurve"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Vis/skjul distraksjonsfri modus."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Rediger utvalgskurve"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Fjern Nøkler"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animasjonsnode"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Dupliser Utvalg"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Dupliser Transponert"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Fjern valgt spor."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Fjern Utvalg"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "X-Fade Tid (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Kontinuerlig"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskret"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Avtrekker"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Legg til Nøkkel"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Flytt Nøkler"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Skaler Utvalg"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skaler Fra Peker"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "GÃ¥ til Neste Steg"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Framtid"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "GÃ¥ til Forrige Steg"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineær"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstant"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Inn"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Ut"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Inn-Ut"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Ut-Inn"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Sett inn Nøkkel"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Overganger"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Anim Dupliser Nøkler"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimaliser Animasjon"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Anim Fjern Nøkler"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Rydd-Opp-Animasjon"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Fjern Anim-Spor"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Lag NYTT spor for %s og sett inn nøkkel?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Lag %d NYE spor og sett inn nøkler?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Lag"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Sett inn"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Lag og Sett Inn"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Sett Inn Spor & Nøkkel"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Sett Inn Nøkkel"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Endre Anim Lengde"
+#: 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_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Endre Anim-Løkke"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim Lag Typet Verdi Nøkkel"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Sett inn"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Flytt Nøkler"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Ressurs-utklippstavle er tom!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Skalér Nøkler"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim Legg Til Call Track"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animasjons-zoom."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Lengde (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animasjon lengde (i sekunder)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Steg:"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Pekersteghopp (i sekunder)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animasjonstre er gyldig."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Aktiver/Deaktiver animasjonsløkke."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Rediger"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Legg til nye spor."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Animasjon"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Flytt gjeldende spor opp."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopier Parametre"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Flytt gjeldende spor ned."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Lim inn Parametre"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Fjern valgt spor."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Skaler Utvalg"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skaler Fra Peker"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Dupliser Utvalg"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Spoor verktøy"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Dupliser Transponert"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Slett Valgte"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "GÃ¥ til Neste Steg"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "GÃ¥ til Forrige Steg"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimaliser Animasjon"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Rydd-Opp-Animasjon"
+
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Aktiver endring av individuelle nøkler ved å klikke på dem."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
msgstr "Anim. Optimaliserer"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Maks. Linær Feilmelding:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. Vinklet Feilmelding:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max Optimaliserbar Vinkel:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimaliser"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Velg en AnimationPlayer fra scenetreet for å endre animasjoner."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Nøkkel"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Overgang"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Skaler Størrelsesforhold:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Kall Funksjoner i Hvilken Node?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Fjern ugyldige nøkler"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Fjern uløste og tomme spor"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Rengjør alle animasjoner"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Rengjør Animasjon(er) (IKKE REVERSERBART!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Rengjøring"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Skaler Størrelsesforhold:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Lim inn"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Endre størrelsen på Array"
@@ -370,7 +521,7 @@ msgstr "GÃ¥ til Linje"
msgid "Line Number:"
msgstr "Linjenummer:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Ingen Treff"
@@ -386,7 +537,7 @@ msgstr "Match Tilfelle"
msgid "Whole Words"
msgstr "Hele Ord"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Erstatt"
@@ -398,18 +549,27 @@ msgstr "Erstatt Alle"
msgid "Selection Only"
msgstr "Kun Valgte"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoom Inn"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zoom Ut"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Nullstill Zoom"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom Inn"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linje:"
@@ -441,7 +601,8 @@ msgid "Add"
msgstr "Legg Til"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -472,7 +633,7 @@ msgid "Oneshot"
msgstr "Engangs"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -494,11 +655,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Koble '%s' til '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Kobler Til Signal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Koble '%s' fra '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Koble '%s' fra '%s'"
#: editor/connections_dialog.cpp
@@ -506,14 +668,48 @@ msgid "Connect..."
msgstr "Koble Til..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Koble Fra"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Kobler Til Signal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Tilkoblingsfeil"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Er du sikker på at du vil kjøre mer enn ett prosjekt?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signaler"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Koble Fra"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Rediger"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metoder"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Endre %s type"
@@ -536,22 +732,25 @@ msgstr "Favoritter:"
msgid "Recent:"
msgstr "Nylige:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Søk:"
#: editor/create_dialog.cpp editor/editor_help.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 "Treff:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Beskrivelse:"
@@ -614,7 +813,9 @@ msgstr "Søk Erstatningsressurs:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Ã…pne"
@@ -635,7 +836,7 @@ msgstr ""
"Filene som fjernes kreves for at andre ressurser skal virke.\n"
"Fjern dem likevel? (kan ikke angres)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Kan ikke fjerne:"
@@ -705,9 +906,13 @@ msgstr "Endre Ordboksverdi"
msgid "Thanks from the Godot community!"
msgstr "Takk fra Godot-samfunnet!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Takk!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -884,6 +1089,7 @@ msgid "Bus options"
msgstr "Bus valg"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplisér"
@@ -952,7 +1158,8 @@ msgstr "Legg til Bus"
msgid "Create a new Bus Layout."
msgstr "Opprett et nytt Bus oppsett."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Last"
@@ -962,7 +1169,6 @@ msgid "Load an existing Bus Layout."
msgstr "Last et eksisterende Bus oppsett."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Lagre som"
@@ -1002,22 +1208,6 @@ msgstr ""
"Ugyldig navn. Kan ikke kollidere med et eksisterende global constant navn."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ugyldig Filsti."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Fil eksisterer ikke."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Ikke i resource path."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Legg til AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' eksisterer allerede!"
@@ -1045,6 +1235,22 @@ msgstr "Aktiver"
msgid "Rearrange Autoloads"
msgstr "Omorganiser Autoloads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ugyldig Filsti."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Fil eksisterer ikke."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Ikke i resource path."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Legg til AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1075,7 +1281,7 @@ msgstr "Lagrer lokale endringer..."
msgid "Updating scene..."
msgstr "Oppdaterer scene..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[tom]"
@@ -1137,6 +1343,12 @@ msgid "Copy Path"
msgstr "Kopier Sti"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Vis I Filutforsker"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Vis I Filutforsker"
@@ -1173,7 +1385,7 @@ msgid "Open a File or Directory"
msgstr "Ã…pne ei fil eller mappe"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Lagre"
@@ -1226,7 +1438,8 @@ msgstr "GÃ¥ til overnevnt mappe"
msgid "Directories & Files:"
msgstr "Mapper og Filer:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Forhåndsvisning:"
@@ -1378,20 +1591,28 @@ msgstr ""
"Det finnes i øyeblikket ingen beskrivelse av denne metoden. Hjelp til ved å "
"[colour=$color][url=$url]bidra med en[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Søk Tekst"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Egenskaper"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Finn"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Sett"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Output:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1413,11 +1634,6 @@ msgstr "Feil ved lagring av ressurs!"
msgid "Save Resource As..."
msgstr "Lagre Ressurs Som..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Jeg forstår..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Kan ikke åpne fil for skriving:"
@@ -1430,9 +1646,9 @@ msgstr "Forespurte filformat ukjent:"
msgid "Error while saving."
msgstr "Feil under lagring."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Kan ikke åpne '%s'."
+#: 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'."
@@ -1475,10 +1691,6 @@ msgstr ""
"eller arvinger) oppfylles."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Kunne ikke laste ressurs."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Kan ikke laste MeshLibrary for sammenslåing!"
@@ -1560,42 +1772,6 @@ msgstr ""
"arbeidsflyten."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Utvid alle egenskaper"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Kollaps alle egenskaper"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Kopier Parametre"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Lim inn Parametre"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Lim inn Ressurs"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kopier Ressurs"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Lag innebygget"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Lag underressurser unike"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Ã…pne i Hjelp"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Det er ingen definert scene å kjøre."
@@ -1787,11 +1963,6 @@ msgstr ""
"Scene '%s' var automatisk importert, så den kan ikke modifiseres.\n"
"For å gjøre endringer i den, kan du opprette en ny arvet scene."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Æsj"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1822,6 +1993,16 @@ msgid "Default"
msgstr "Standard"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Spill Scene"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Lukk Andre Faner"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Bytt Scenefane"
@@ -1944,10 +2125,6 @@ msgstr "Prosjekt"
msgid "Project Settings"
msgstr "Prosjektinnstillinger"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Kjør Skript"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Eksporter"
@@ -1957,6 +2134,11 @@ msgid "Tools"
msgstr "Verktøy"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Ã…pne ProsjektManager?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Avslutt til Prosjektliste"
@@ -2072,6 +2254,20 @@ msgstr "Redigeringsverktøy Layout"
msgid "Toggle Fullscreen"
msgstr "Skru av/på Fullskjerm"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Redigeringsverktøy-instillinger"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Redigeringsverktøy-instillinger"
+
#: editor/editor_node.cpp editor/project_export.cpp
#, fuzzy
msgid "Manage Export Templates"
@@ -2088,7 +2284,8 @@ msgstr "Klasser"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Søk"
@@ -2132,7 +2329,7 @@ msgstr "Sett scenen på pause"
msgid "Stop the scene."
msgstr "Stopp scenen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Stopp"
@@ -2153,6 +2350,16 @@ msgid "Play Custom Scene"
msgstr "Spill av Tilpasset Scene"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Lagre & Avslutt"
+
+#: editor/editor_node.cpp
#, fuzzy
msgid "Spins when the editor window repaints!"
msgstr "Snurrer når editorvinduet rendrer om!"
@@ -2173,42 +2380,6 @@ msgstr "Deaktiver Oppdateringsspinner"
msgid "Inspector"
msgstr "Inspektør"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Lag en ny ressurs i minnet og endre den."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Last inn en eksisterende ressurs fra disk og rediger den."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Lagre den nylige redigerte ressursen."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Lagre Som..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "GÃ¥ til det forrige redigerte objektet i historikken."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "GÃ¥ til det neste redigerte objektet i historikken."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historikk av nylige redigerte objekter."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Objektegenskaper."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Endringer kan bli tapt!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2223,6 +2394,11 @@ msgid "FileSystem"
msgstr "FilSystem"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Utvid alle"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Output"
@@ -2300,19 +2476,24 @@ msgid "Thumbnail..."
msgstr "Miniatyrbilde..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Rediger Poly"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Installerte Plugins:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Oppdater"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versjon:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Forfatter:"
@@ -2320,13 +2501,16 @@ msgstr "Forfatter:"
msgid "Status:"
msgstr "Status:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Stopp Profilering"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Rediger"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Start Profilering"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2377,6 +2561,103 @@ msgstr "Tid:"
msgid "Calls"
msgstr "Ring"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Lim inn"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Åpne i Redigeringsverktøy"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Nytt navn:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nytt navn:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Velg enhet fra listen"
@@ -2413,10 +2694,6 @@ msgstr "Kunne ikke kjøre skript:"
msgid "Did you forget the '_run' method?"
msgstr "Glemte du '_run'-metoden?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Standard (Samme som Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Velg Node(r) for Importering"
@@ -2442,6 +2719,7 @@ msgid "(Installed)"
msgstr "(Installert)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Last ned"
@@ -2467,7 +2745,8 @@ msgid "Can't open export templates zip."
msgstr "Kan ikke åpne eksportmalzip."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Ugyldig version.txt format i mal."
#: editor/export_template_manager.cpp
@@ -2533,6 +2812,12 @@ msgid "Download Complete."
msgstr "Nedlastning fullført."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Error ved forespørsel av url: "
@@ -2615,7 +2900,8 @@ msgid "Download Templates"
msgstr "Last ned Mal"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Velg fillager fra liste: "
#: editor/file_type_cache.cpp
@@ -2628,11 +2914,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "Kan ikke navigere til '%s' for den ble ikke funnet på filsystemet!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Vis elementer som et rutenett av miniatyrbilder"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Vis elementer som liste"
#: editor/filesystem_dock.cpp
@@ -2714,7 +3002,7 @@ msgstr "Utvid alle"
msgid "Collapse all"
msgstr "Kollaps alle"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Endre Navn..."
@@ -2745,6 +3033,23 @@ msgid "Duplicate..."
msgstr "Duplisér"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Hurtigåpne Skript..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Lagre Ressurs Som..."
+
+#: 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 "Endre navn"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Forrige Katalog"
@@ -2757,15 +3062,30 @@ msgid "Re-Scan Filesystem"
msgstr "Re-Skann Filsystem"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Vis/skjul mappestatus som Favoritt"
#: editor/filesystem_dock.cpp
#, fuzzy
+msgid "Show current scene file."
+msgstr "Velg Gjeldende Mappe"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instanser den valgte scene(r) som barn av den valgte noden."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Søk i klasser"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2773,14 +3093,113 @@ msgstr ""
"Skanner Filer,\n"
"Vennligst Vent..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Flytt"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Endre navn"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "En fil eller mappe med dette navnet eksisterer allerede."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Opprett skript"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d flere filer"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Finn"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Hele Ord"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Match Tilfelle"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Lim inn Noder"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Finn..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Erstatt..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Erstatt"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Erstatt Alle"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Lagrer..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Søk Tekst"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERROR: Animasjonsnavnet finnes allerede!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ugyldig navn."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupper"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Legg til i Gruppe"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Filter nodes"
+msgstr "Lim inn Noder"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Legg til i Gruppe"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2790,6 +3209,11 @@ msgstr "Legg til i Gruppe"
msgid "Remove from Group"
msgstr "Fjern fra Gruppe"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupper"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importer som Enkel Scene"
@@ -2831,7 +3255,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importer som Flere Scener+Materialer"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importer Scene"
@@ -2893,19 +3317,131 @@ msgstr "Preset..."
msgid "Reimport"
msgstr "Reimporter"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Kunne ikke laste ressurs."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Utvid alle egenskaper"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Kollaps alle egenskaper"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Lagre Som..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Kopier Parametre"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Lim inn Parametre"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Ressurs-utklippstavle er tom!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kopier Ressurs"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Lag innebygget"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Lag underressurser unike"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Ã…pne i Hjelp"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Lag en ny ressurs i minnet og endre den."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Last inn en eksisterende ressurs fra disk og rediger den."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "GÃ¥ til det forrige redigerte objektet i historikken."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "GÃ¥ til det neste redigerte objektet i historikken."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Historikk av nylige redigerte objekter."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Objektegenskaper."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Lim inn Noder"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Endringer kan bli tapt!"
+
#: editor/multi_node_edit.cpp
#, fuzzy
msgid "MultiNode Set"
msgstr "MultiNode Set"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupper"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Velg en Node for å endre Signaler og Grupper."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Rediger Poly"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Lag Omriss"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Plugins"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Language:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Prosjektnavn:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2951,6 +3487,147 @@ msgstr ""
msgid "Delete points"
msgstr "Slett punkter"
+#: 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 "Legg til Animasjon"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Last"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Slett punkter"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Høyreklikk: Slett Punkt."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Flytt Punkt"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animasjonsnode"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "ERROR: Animasjonsnavnet finnes allerede!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Rediger Filtre"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Rediger Filtre"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Toggle Autoplay"
@@ -2978,11 +3655,13 @@ msgid "Remove Animation"
msgstr "Fjern Animasjon"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERROR: Ugyldig animasjonsnavn!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERROR: Animasjonsnavnet finnes allerede!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2991,11 +3670,6 @@ msgid "Rename Animation"
msgstr "Endre navn på Animasjon"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Legg til Animasjon"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Blend Next Changed"
msgstr "Blend Neste Endret"
@@ -3013,11 +3687,13 @@ msgid "Duplicate Animation"
msgstr "Dupliser Animasjon"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERROR: Ingen animasjon å kopiere!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERROR: Ingen animasjonsressurs på utklippstavlen!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3029,7 +3705,8 @@ msgid "Paste Animation"
msgstr "Lim inn Animasjon"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERROR: Ingen animasjon å endre!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3061,20 +3738,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Skaler animasjonsavspilling globalt for noden."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Lag ny animasjon i avspiller."
+msgid "Animation Tools"
+msgstr "Animasjonsverktøy"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Last animasjon fra disk."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animasjon"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+msgid "New"
+msgstr "Ny"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Last en animasjon fra disk."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Overganger"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Lagre den gjeldene animasjonen"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Åpne i Redigeringsverktøy"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3086,18 +3770,6 @@ msgid "Autoplay on Load"
msgstr "Autoavspill ved Lasting"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Endre Blend-Tid-MÃ¥l"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Animasjonsverktøy"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Kopier Animasjon"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Løk-lag"
@@ -3146,6 +3818,11 @@ msgid "Include Gizmos (3D)"
msgstr "Inkluder Gizmoer (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Lim inn Animasjon"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Lag Ny Animasjon"
@@ -3155,6 +3832,7 @@ msgstr "Animasjonsnavn:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3174,169 +3852,221 @@ msgstr "Neste (Automatisk Kø):"
msgid "Cross-Animation Blend Times"
msgstr "Kryss-Animasjon Blend-Tid"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animasjon"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Ikke i resource path."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Lag ny %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Kutt Noder"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Fjern valgt spor."
+
+#: 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 "Overgang"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "AnimationTree"
+msgstr "Animasjon"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nytt navn:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Rediger Filtre"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Skala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade Inn (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fade Ut (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend"
msgstr "Blend"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Bland"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Start Om Igjen Automatisk:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Omstart (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Tilfeldig Omstart (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Start!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Mengde:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend:"
msgstr "Blend:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Blend 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Blend 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "X-Fade Tid (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Gjeldende:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Legg til Input"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Clear Auto-Advance"
msgstr "Fjern Auto-Avansering"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Set Auto-Advance"
msgstr "Sett Auto-Avansering"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Slett Input"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Animasjonstre er gyldig."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Animasjonstre er ugyldig."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animasjonsnode"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Miks-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend2 Node"
msgstr "Blend2 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend3 Node"
msgstr "Blend3 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Blend4 Node"
msgstr "Blend4 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "TidSkala Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TidSøk Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Overgang Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importer Animasjoner..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Rediger Node-Filtre"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtre..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Animasjon"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Frigjør"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Innhold:"
@@ -3391,8 +4121,14 @@ msgid "Asset Download Error:"
msgstr "Asset Nedlasting Error:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Henter:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Laster ned"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Laster ned"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3421,20 +4157,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Nedlastning for denne asset'en er allerede i gang!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "første"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "forrige"
+#, fuzzy
+msgid "Previous"
+msgstr "Forrige fane"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "neste"
+msgid "Next"
+msgstr "Neste"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "siste"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3502,7 +4240,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Forhåndsvis"
@@ -3511,12 +4249,10 @@ msgid "Configure Snap"
msgstr "Konfigurer Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Rutenett Offset:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Rutenett Steg:"
@@ -3529,14 +4265,6 @@ msgid "Rotation Step:"
msgstr "Rotasjon Steg:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Flytt Pivot"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Flytt Handling"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Flytt vertikal veileder"
@@ -3565,11 +4293,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Lag ny horisontal og vertikal veileder"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Endre IK Kjede"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Flytt Pivot"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Endre CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Flytt Handling"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Endre CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Endre CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3589,6 +4334,21 @@ msgid "Paste Pose"
msgstr "Lim Inn Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zoom Ut"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Zoom Ut"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoom Inn"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Velg Modus"
@@ -3636,7 +4396,8 @@ msgid "Pan Mode"
msgstr "Panorerings-Modus"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Slå av/på snapping"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3644,7 +4405,8 @@ msgid "Use Snap"
msgstr "Bruk Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Snapping innstillinger"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3686,6 +4448,11 @@ msgid "Snap to node sides"
msgstr "Snap til nodesider"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Snap til nodeanker"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Snap til andre noder"
@@ -3712,14 +4479,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Gjenopprett objektets barn sin mulighet for å bli valgt."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Lag Ben"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Fjern Ben"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Vis Ben"
@@ -3732,6 +4491,15 @@ msgid "Clear IK Chain"
msgstr "Fjern IK Kjede"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Fjern Ben"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Vis"
@@ -3778,14 +4546,11 @@ msgid "Layout"
msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Sett inn Nøkler"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Sett inn Nøkkel"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Sett inn Nøkkel (Eksisterende Spor)"
@@ -3798,14 +4563,6 @@ msgid "Clear Pose"
msgstr "Fjern Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Dra pivot fra musposisjon"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Sett pivot på musposisjon"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multipliser rutenett-steg med 2"
@@ -3821,10 +4578,6 @@ msgstr "Legg til %s"
msgid "Adding %s..."
msgstr "Legger til %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Kan ikke instansiere flere noder uten rot."
@@ -3860,27 +4613,20 @@ msgstr "Lag Poly3D"
msgid "Set Handle"
msgstr "Sett Handle"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Fjern element %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Legg til Element"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Fjern Valgte Element"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partikler"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importer fra Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Oppdater fra Scene"
+#: 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
#, fuzzy
@@ -3952,15 +4698,6 @@ msgstr "Hold Shift for å endre tangenter individuelt"
msgid "Bake GI Probe"
msgstr "Bak GI Probe"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Legg til/Fjern Farge-Rampe-Punkt"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modifiser Farge-Rampe"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Element %d"
@@ -4044,6 +4781,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4113,6 +4851,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Fjern element %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Legg til Element"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Fjern Valgte Element"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importer fra Scene"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Oppdater fra Scene"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4213,70 +4972,6 @@ msgstr "Tilfeldig Skala:"
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Regner ut rutenettstørrelse…"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Partisjonerer..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Lager konturer..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Ferdig!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4337,18 +5032,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4357,15 +5040,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4393,6 +5072,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Konverter til store versaler"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4469,6 +5161,22 @@ msgstr "Fjern Punkt"
msgid "Close Curve"
msgstr "Lukk Kurve"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Innstillinger"
+
+#: 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 "Kurvepunkt #"
@@ -4505,19 +5213,95 @@ msgstr "Fjern Funksjon"
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Flytt Punkt"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Vis Ben"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Lag Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Eksisterer allerede"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Legg til punkt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr ": Ugyldige argumenter: "
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Fjern punkt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Rediger Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Splitt Sti"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Lag Ben"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Lag Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Flytt Punkt"
@@ -4546,12 +5330,25 @@ msgid "Scale Polygon"
msgstr "Skaler Polygon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Rediger"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Velg en Mappe å Skanne"
+
+#: 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 "Polygon->UV"
@@ -4566,9 +5363,9 @@ msgid "Clear UV"
msgstr "Fjern UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Redigeringsverktøy-instillinger"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4578,6 +5375,36 @@ msgstr "Aktiver Snap"
msgid "Grid"
msgstr "Rutenett"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Konfigurer Snap"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Rutenett Offset:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Rutenett Offset:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Rutenett Steg:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Rutenett Steg:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Skaler Polygon"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ERROR: Kunne ikke laste ressurs!"
@@ -4600,6 +5427,10 @@ msgid "Resource clipboard is empty!"
msgstr "Ressurs-utklippstavle er tom!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Lim inn Ressurs"
+
+#: 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"
@@ -4621,17 +5452,19 @@ msgid "Load Resource"
msgstr "Last Ressurs"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Lim inn"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
msgstr "Ressurs"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Animasjonstre er ugyldig."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Fjern Nylige Filer"
@@ -4644,6 +5477,21 @@ msgstr ""
"\""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Error ved lagring av TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Kunne ikke opprette mappe."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Error ved lagring av TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Error ved lasting av tema"
@@ -4660,6 +5508,21 @@ msgid "Error importing"
msgstr "Error ved importering"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Ny Mappe..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Ã…pne en fil"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Lagre Som..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importer Tema"
@@ -4672,6 +5535,10 @@ msgid " Class Reference"
msgstr " Klassereferanse"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sorter"
@@ -4700,8 +5567,9 @@ msgid "File"
msgstr "Fil"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Ny"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Vis Filer"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4728,6 +5596,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Gjeninnlast drakt"
@@ -4761,11 +5634,6 @@ msgstr "Veksle skriptpanel"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Finn..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Finn neste"
@@ -4819,10 +5687,6 @@ msgid "Discard"
msgstr "Forkast"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Opprett skript"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4841,45 +5705,70 @@ msgid "Debugger"
msgstr "Feilretter"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Søk hjelp"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Søk i klasser"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linje:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Lookup Symbol"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Velg farge"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Store versaler"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Små bokstaver"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Store bokstaver"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Klipp ut"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Lim inn"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4969,8 +5858,9 @@ msgid "Find Previous"
msgstr "Finn forrige"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Erstatt..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrer Filer..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4988,129 +5878,41 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Endre Kommentar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Lag Omriss"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Spill"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5238,10 +6040,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Ingen foreldre å instansere et barn på."
@@ -5250,6 +6048,11 @@ msgid "This operation requires a single selected node."
msgstr "Denne operasjonen krever én valgt node."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Vis Informasjon"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5294,6 +6097,11 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Lager Forhåndsvisning av Mesh"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5424,6 +6232,11 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Snap til rutenett"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5432,6 +6245,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5460,6 +6277,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5473,10 +6294,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5536,6 +6353,50 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Konverter til store versaler"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Lag ny %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Forhåndsvis"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Redigeringsverktøy-instillinger"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5605,14 +6466,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5638,26 +6491,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5673,11 +6519,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5751,10 +6592,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Innstillinger"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5780,7 +6617,7 @@ msgstr ""
msgid "Icon"
msgstr "Ikon"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5793,8 +6630,8 @@ msgid "Color"
msgstr "Farge"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+msgid "Constant"
+msgstr "Konstant"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5802,6 +6639,11 @@ msgid "Erase Selection"
msgstr "Fjern Utvalg"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ugyldig navn."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5822,12 +6664,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Finn neste"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5850,6 +6689,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Fjern Utvalg"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Roter 0 grader"
@@ -5866,66 +6710,112 @@ msgid "Rotate 270 degrees"
msgstr "Roter 270 grader"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Legg til node(r) fra tre"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Fjern Kurvepunkt"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Velg Gjeldende Mappe"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Avbryt"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Denne operasjonen kan ikke gjøres uten en scene."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
+
+#: 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
+#, fuzzy
+msgid "Light"
+msgstr "Høyre"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5940,7 +6830,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -6014,10 +6904,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -6026,7 +6912,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -6034,6 +6920,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6125,6 +7019,11 @@ msgid "Project Path:"
msgstr "Prosjektsti:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Prosjektsti:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6235,8 +7134,8 @@ msgstr "Museknapp"
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6248,9 +7147,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Endre Animasjonsnavn:"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6292,20 +7204,22 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "Museknapp"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "Museknapp"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6333,10 +7247,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6382,6 +7292,12 @@ msgid "Delete Item"
msgstr "Slett Valgte"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Eksisterer allerede"
@@ -6453,6 +7369,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6462,6 +7382,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Flytt Handling"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6523,10 +7452,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6564,76 +7489,166 @@ msgid "Select Node"
msgstr "Kutt Noder"
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
+#, fuzzy
+msgid "Pick a Node"
+msgstr "Lim inn Noder"
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Pick a Node"
-msgstr "Lim inn Noder"
+msgid "Batch Rename"
+msgstr "Endre navn"
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Snapping innstillinger"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Sett"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nodenavn:"
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Finn Node Type"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Gjeldende scene er ikke lagret. Ã…pne likevel?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Endre navn"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "Steg:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Små bokstaver"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Store versaler"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Nullstill Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6672,11 +7687,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6696,6 +7706,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6736,14 +7750,35 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr ""
+#, fuzzy
+msgid "Make Local"
+msgstr "Lag Ben"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Lag Node"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scene"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scene"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Kutt Noder"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6752,6 +7787,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6795,18 +7834,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Lagre Scene"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6830,11 +7866,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "Lim inn Noder"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6855,17 +7886,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Veksle visning av skjulte filer"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6873,7 +7897,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6889,20 +7913,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "Kjør Skript"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6910,6 +7935,12 @@ 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 ""
@@ -6946,6 +7977,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Ã…pne SkriptEditor"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7185,10 +8221,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7201,19 +8249,34 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Endre Blend-Tid"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Endre Blend-Tid"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Endre Anker og Marginer"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7270,16 +8333,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Ugyldig typeargument til convert(), bruk TYPE_*-konstantene."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7348,6 +8401,11 @@ msgstr "Slett Valgte"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Slett Valgte"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "Dupliser Utvalg"
@@ -7430,6 +8488,11 @@ msgid "Clear Selection"
msgstr "Fjern Utvalg"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Alle valg"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7505,6 +8568,70 @@ msgstr "Vis Filer"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Regner ut rutenettstørrelse…"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Partisjonerer..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Lager konturer..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Ferdig!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7560,10 +8687,6 @@ msgid "Set Variable Type"
msgstr "Rediger Variabel:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funksjoner:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variabler:"
@@ -7680,37 +8803,14 @@ msgid "Connect Nodes"
msgstr "Kutt Noder"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Betingelse"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sekvens"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Bryter"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Mens"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Returner"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Ring"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Kutt Noder"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Get"
-msgstr "Hent"
+msgid "Connect Node Sequence"
+msgstr "Kutt Noder"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7739,25 +8839,15 @@ msgid "Remove Function"
msgstr "Fjern Funksjon"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Variable"
-msgstr "Rediger Variabel:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "Forandre Signal Argumenter:"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Remove Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
+msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7805,6 +8895,11 @@ msgstr "Kutt Noder"
msgid "Paste Nodes"
msgstr "Lim inn Noder"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Medlemmer"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Tilførseltype ikke itererbar: "
@@ -7859,6 +8954,20 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Lim inn Noder"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Get"
+msgstr "Hent"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7909,8 +9018,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7991,6 +9100,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8051,8 +9173,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8125,6 +9247,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8137,6 +9270,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animasjonsverktøy"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERROR: Ugyldig animasjonsnavn!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Koble '%s' fra '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Velg en AnimationPlayer fra scenetreet for å endre animasjoner."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Animasjonstre er ugyldig."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8206,12 +9380,219 @@ msgstr "Feil ved innlasting av font."
msgid "Invalid font size."
msgstr "Ugyldig fontstørrelse."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Legg til Input"
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Forrige fane"
+msgid "Invalid source for shader."
+msgstr "Ugyldig fontstørrelse."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Comment"
+#~ msgstr "Endre Kommentar"
-#~ msgid "Next"
-#~ msgstr "Neste"
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modifiser Farge-Rampe"
+
+#~ msgid "Disabled"
+#~ msgstr "Deaktivert"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Flytt Anim Spor Opp"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Flytt Anim-Spor Ned"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Sett Overganger til:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim-Spor Endre Navn"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim Track Endre Interpolasjon"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Anim Spor Forandre Verdi Modus"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim Spor Endre Løkke Modus"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Forandre Nodekurve"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Rediger utvalgskurve"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Legg til Nøkkel"
+
+#~ msgid "In"
+#~ msgstr "Inn"
+
+#~ msgid "Out"
+#~ msgstr "Ut"
+
+#~ msgid "In-Out"
+#~ msgstr "Inn-Ut"
+
+#~ msgid "Out-In"
+#~ msgstr "Ut-Inn"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Endre Anim Lengde"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Endre Anim-Løkke"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim Lag Typet Verdi Nøkkel"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim Legg Til Call Track"
+
+#~ msgid "Length (s):"
+#~ msgstr "Lengde (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Pekersteghopp (i sekunder)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Aktiver/Deaktiver animasjonsløkke."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Legg til nye spor."
+
+#~ msgid "Move current track up."
+#~ msgstr "Flytt gjeldende spor opp."
+
+#~ msgid "Move current track down."
+#~ msgstr "Flytt gjeldende spor ned."
+
+#~ msgid "Track tools"
+#~ msgstr "Spoor verktøy"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Aktiver endring av individuelle nøkler ved å klikke på dem."
+
+#~ msgid "Key"
+#~ msgstr "Nøkkel"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Kall Funksjoner i Hvilken Node?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Takk!"
+
+#~ msgid "I see..."
+#~ msgstr "Jeg forstår..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Kan ikke åpne '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Æsj"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Lagre den nylige redigerte ressursen."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Stopp Profilering"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Start Profilering"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Standard (Samme som Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Lag ny animasjon i avspiller."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Last animasjon fra disk."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Last en animasjon fra disk."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Lagre den gjeldene animasjonen"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Endre Blend-Tid-MÃ¥l"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Kopier Animasjon"
+
+#~ msgid "Fetching:"
+#~ msgstr "Henter:"
+
+#~ msgid "prev"
+#~ msgstr "forrige"
+
+#~ msgid "next"
+#~ msgstr "neste"
+
+#~ msgid "last"
+#~ msgstr "siste"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Endre IK Kjede"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Dra pivot fra musposisjon"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Sett pivot på musposisjon"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Legg til/Fjern Farge-Rampe-Punkt"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Condition"
+#~ msgstr "Betingelse"
+
+#~ msgid "Sequence"
+#~ msgstr "Sekvens"
+
+#~ msgid "Switch"
+#~ msgstr "Bryter"
+
+#~ msgid "While"
+#~ msgstr "Mens"
+
+#~ msgid "Return"
+#~ msgstr "Returner"
+
+#~ msgid "Call"
+#~ msgstr "Ring"
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "Rediger Variabel:"
+
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "Forandre Signal Argumenter:"
#~ msgid ""
#~ "Invalid version.txt format inside templates. Revision is not a valid "
diff --git a/editor/translations/nl.po b/editor/translations/nl.po
index 240d99182f..5c0aa6546c 100644
--- a/editor/translations/nl.po
+++ b/editor/translations/nl.po
@@ -27,343 +27,496 @@
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-06-30 15:36+0000\n"
-"Last-Translator: Tahar Meijs <tntmeijs@gmail.com>\n"
+"PO-Revision-Date: 2018-08-07 22:36+0000\n"
+"Last-Translator: Willem <studiebolmail@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/"
"nl/>\n"
"Language: nl\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.1-dev\n"
+"X-Generator: Weblate 3.2-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Uitgeschakeld"
+#: 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 "Ongeldige type argument voor convert(), gebruik TYPE_* constanten."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Alle Selectie"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Niet genoeg bytes om bytes te decoderen, of ongeldig formaat."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Ongeldige index eigenschap naam '%s' in node %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Ongeldige index eigenschap naam '%s' in node %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Ongeldig argument van type: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Vrij"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Spiegel X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Voer Sleutel in"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Dupliceer Selectie"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Geselecteerde Verwijderen"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Dupliceer Keys"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Verwijder Keys"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Wijzig Keyframe Waarde"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Wijzig Overgang"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Wijzig Transform"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Wijzig Keyframe Waarde"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Wijzig Aanroep"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Track Toevoegen"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Dupliceer Keys"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Transformatie Type"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Verplaats Anim Track Omhoog"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Verplaats Anim Track Omlaag"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Verwijder Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Zet Overgangen Naar:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Stop animatie opname. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim Track Hernoemen"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Track Toevoegen"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim Track Wijzig Interpolatie"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animatie lengte (in seconden)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Anim Track Wijzig Waarde Modus"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animatie zoom."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim Track Wijzig Wikkel Modus"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Functies:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Wijzig Node Curve"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Audio Luisteraar"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Wijzig Selectie Curve"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Verwijder Keys"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Afleidingsvrije modus veranderen."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Dupliceer Selectie"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Dupliceer Getransponeerde"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animatie Node"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Verwijder Selectie"
+#: 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 "Verwijder geselecteerde track."
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "X-Fade Tijd (en):"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Doorlopend"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discreet"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Trigger"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Key Toevoegen"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Verplaats Keys"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Schaal Selectie"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Schaal Vanaf Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Ga Naar Volgende Stap"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Kenmerken"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Ga Naar Vorige Stap"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Lineair"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constante"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Uit"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "In-Uit"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Uit-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Voer Sleutel in"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transities"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Anim Dupliceer Keys"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimaliseer Animatie"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Anim Verwijder Keys"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Animatie Opschonen"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Verwijder Anim Track"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "NIEUWE track aanmaken voor %s en key invoegen?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Maak %d NIEUWE tracks aan en keys invoeren?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Maken"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Invoegen"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Maken & Invoegen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Track & Key Invoegen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Key Invoegen"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Wijzig Anim Lengte"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Wijzig Anim Lus"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim Getypeerd Waarde Key Aanmaken"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Invoegen"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "VariableGet niet gevonden in script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Verplaats Keys"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Bronnen klembord is leeg!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Schaal Keys"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim Aanroep Track Toevoegen"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animatie zoom."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Lengte(s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animatie lengte (in seconden)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Stap(pen):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Cursor stap snap (in seconden)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animatie boom is geldig."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "In- en uitschakelen van loopen in animatie."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Bewerken"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Nieuwe tracks toevoegen."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimatieBoom"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Verplaats huidige track naar boven."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopieer Parameters"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Verplaats huidige track naar beneden."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Plak Parameters"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Verwijder geselecteerde track."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Schaal Selectie"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Schaal Vanaf Cursor"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Spoorgereedschappen"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Dupliceer Selectie"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Dupliceer Getransponeerde"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Schakel het individueel aanpassen van keys in door op ze te klikken."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Geselecteerde Verwijderen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Ga Naar Volgende Stap"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Ga Naar Vorige Stap"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimaliseer Animatie"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Animatie Opschonen"
+
+#: 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 "Anim. Optimizer"
msgstr "Anim. Optimalisator"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Max. Lineair Error:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Max. Hoekig Error:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Maximale Optimaliseerbare Hoek:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimaliseren"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Selecteer een AnimationPlayer uit de Scene Tree om animaties te wijzigen."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Sleutel"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transitie"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Schaal Ratio:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Roep Functies Aan in Welke Node?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Verwijder ongeldige keys"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Verwijder onopgeloste en lege tracks"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Alle animaties opruimen"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Animatie(s) Opruimen (KAN NIET ONGEDAAN WORDEN!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Opruimen"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Schaal Ratio:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopiëren"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Array van Grootte Veranderen"
@@ -384,7 +537,7 @@ msgstr "Ga naar Regel"
msgid "Line Number:"
msgstr "Regelnummer:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Geen Matches"
@@ -400,7 +553,7 @@ msgstr "Hoofdlettergevoelig"
msgid "Whole Words"
msgstr "Hele Woorden"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Vervangen"
@@ -412,18 +565,27 @@ msgstr "Alle Vervangen"
msgid "Selection Only"
msgstr "Alleen Selectie"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Inzoomen"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Uitzoomen"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Reset Zoom"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Inzoomen"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Regel:"
@@ -455,7 +617,8 @@ msgid "Add"
msgstr "Toevoegen"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -486,7 +649,7 @@ msgid "Oneshot"
msgstr "Eénschots"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -508,11 +671,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Verbind '%s' met '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Signaal aan het Verbinden:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Ontkoppel '%s' van '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Ontkoppel '%s' van '%s'"
#: editor/connections_dialog.cpp
@@ -520,14 +684,48 @@ msgid "Connect..."
msgstr "Verbind..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Losmaken"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Signaal aan het Verbinden:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Verbindingsfout"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Weet je zeker dat je meerdere projecten wilt uitvoeren?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signalen"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Losmaken"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Bewerken"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Methodes"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Wijzig %s Type"
@@ -550,22 +748,25 @@ msgstr "Favorieten:"
msgid "Recent:"
msgstr "Recente:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Zoeken:"
#: editor/create_dialog.cpp editor/editor_help.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 "Overeenkomsten:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Omschrijving:"
@@ -627,7 +828,9 @@ msgstr "Zoek Vervangende Resource:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Openen"
@@ -651,7 +854,7 @@ msgstr ""
"te laten werken.\n"
"Toch verwijderen? (Kan niet ongedaan worden.)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Niet te verwijderen:"
@@ -719,9 +922,13 @@ msgstr "Wijzig Array Waarde"
msgid "Thanks from the Godot community!"
msgstr "Bedankt van de Godot gemeenschap!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Bedankt!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Oké"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -898,6 +1105,7 @@ msgid "Bus options"
msgstr "Audiobusopties"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Dupliceren"
@@ -966,7 +1174,8 @@ msgstr "Bus Toevoegen"
msgid "Create a new Bus Layout."
msgstr "Maak een nieuwe audiobus layout."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Laden"
@@ -976,7 +1185,6 @@ msgid "Load an existing Bus Layout."
msgstr "Laad een bestaand audiobus layout."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Opslaan Als"
@@ -1016,22 +1224,6 @@ msgstr ""
"constante."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ongeldig Pad."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Bestand bestaat niet."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Niet in resource pad."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "AutoLoad Toevoegen"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' bestaat al!"
@@ -1059,6 +1251,22 @@ msgstr "Inschakelen"
msgid "Rearrange Autoloads"
msgstr "Herschik Autoloads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ongeldig Pad."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Bestand bestaat niet."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Niet in resource pad."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "AutoLoad Toevoegen"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1089,7 +1297,7 @@ msgstr "Lokale wijziging aan het opslaan..."
msgid "Updating scene..."
msgstr "Scene aan het updaten..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[leeg]"
@@ -1151,6 +1359,12 @@ msgid "Copy Path"
msgstr "Kopieer Pad"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Weergeven in Bestandsbeheer"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Weergeven in Bestandsbeheer"
@@ -1187,7 +1401,7 @@ msgid "Open a File or Directory"
msgstr "Open een Bestand of Map"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Opslaan"
@@ -1240,7 +1454,8 @@ msgstr "Ga naar bovenliggende folder"
msgid "Directories & Files:"
msgstr "Mappen & Bestanden:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Voorbeeld:"
@@ -1392,20 +1607,28 @@ msgstr ""
"Er is momenteel geen beschrijving voor deze methode. Help ons alsjeblieft "
"door [color=$color][url=$url]een toe te voegen[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Zoek Tekst"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Eigenschappen:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Zoeken"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Zet"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Uitvoer:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1427,11 +1650,6 @@ msgstr "Error bij het opslaan van resource!"
msgid "Save Resource As..."
msgstr "Resource Opslaan Als..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Ik snap het..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Kan bestand niet openen om te schrijven:"
@@ -1444,9 +1662,9 @@ msgstr "Opgevraagde bestandsformaat onbekend:"
msgid "Error while saving."
msgstr "Fout bij het opslaan."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Kan '%s' niet openen."
+#: 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'."
@@ -1489,10 +1707,6 @@ msgstr ""
"(instanties of erfelijkheden) niet voldaan worden."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Mislukt om resource te laden."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Kan MeshLibrary niet laden om te samenvoegen!"
@@ -1576,42 +1790,6 @@ msgstr ""
"begrijpen."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Klap alle eigenschappen uit"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Klap alle eigenschappen in"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Kopieer Parameters"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Plak Parameters"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Plak Bron"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kopieer Bron"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Integreer"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Maak Onderliggende Bronnen Uniek"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Open in Help"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Er is geen startscene gedefinieerd."
@@ -1807,11 +1985,6 @@ msgstr ""
"Scene '%s' werd automatisch geïmporteerd, dus ze kan niet aangepast worden.\n"
"Om aanpassingen te doen kan je een erfende scene aanmaken."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Oeps"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1843,6 +2016,16 @@ msgid "Default"
msgstr "Standaard"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Speel Scene"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Sluit Andere Tabbladen"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Scenetab Wisselen"
@@ -1964,10 +2147,6 @@ msgstr "Project"
msgid "Project Settings"
msgstr "Projectinstellingen"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Voer Script Uit"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exporteren"
@@ -1977,6 +2156,11 @@ msgid "Tools"
msgstr "Gereedschappen"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Open de Project Manager?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Sluit af naar Projectlijst"
@@ -2088,6 +2272,20 @@ msgstr "Editor Layout"
msgid "Toggle Fullscreen"
msgstr "Schakel Volledig Scherm"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Editor Instellingen"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Editor Instellingen"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Beheer Export Templates"
@@ -2103,7 +2301,8 @@ msgstr "Klassen"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Zoeken"
@@ -2147,7 +2346,7 @@ msgstr "Pauzeer Scene"
msgid "Stop the scene."
msgstr "Stop de scene."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Stop"
@@ -2168,6 +2367,16 @@ msgid "Play Custom Scene"
msgstr "Speel Aangepaste Scene"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Opslaan & Afsluiten"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Draait wanneer het editor venster opnieuw ververst wordt!"
@@ -2187,42 +2396,6 @@ msgstr "Schakel Update Draaier Uit"
msgid "Inspector"
msgstr "Inspecteur"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Maak een nieuwe bron in het geheugen en bewerk het."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Laad een bestaande bron van de schijf en bewerk het."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "De bewerkte bron opslaan."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Opslaan Als..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Ga naar het vorige bewerkte object in de geschiedenis."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Ga naar de volgende bewerkte object in geschiedenis."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Geschiedenis van recent bewerkte objecten."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Objecteigenschappen."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Wijzigingen kunnen verloren gaan!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2237,6 +2410,11 @@ msgid "FileSystem"
msgstr "Bestandssysteem"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Klap alles uit"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Output"
@@ -2313,19 +2491,24 @@ msgid "Thumbnail..."
msgstr "Voorbeeld..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Bewerk Poly"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Geïnstalleerde Plug-ins:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Update"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versie:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Auteur:"
@@ -2333,13 +2516,16 @@ msgstr "Auteur:"
msgid "Status:"
msgstr "Staat:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Stop Profilering"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Bewerken"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Start Profilering"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Starten!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2385,6 +2571,105 @@ msgstr "Tijd"
msgid "Calls"
msgstr "Aanroepen"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Leeg]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Kies een Aanzicht portaal"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Maak Uniek"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Plakken"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "Verbind Aan Node:"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Openen in Editor"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Selected node is not a Viewport!"
+msgstr "Geselecteerde ..... is geen Aanzicht Portaal!"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Size: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Nieuwe naam:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nieuwe naam:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Verwijder Item"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Selecteer apparaat uit de lijst"
@@ -2421,10 +2706,6 @@ msgstr "Script kon niet uitgevoerd worden:"
msgid "Did you forget the '_run' method?"
msgstr "Ben je de '_run' methode vergeten?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Standaard (Dezelfde als Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecteer Node(s) om te Importeren"
@@ -2450,6 +2731,7 @@ msgid "(Installed)"
msgstr "(Geïnstalleerd)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Download"
@@ -2474,7 +2756,8 @@ msgid "Can't open export templates zip."
msgstr "Kan exportsjablonen niet openen."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Ongeldig version.txt formaat in sjablonen."
#: editor/export_template_manager.cpp
@@ -2536,6 +2819,12 @@ msgid "Download Complete."
msgstr "Download Voltooid."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Fout bij het opvragen van een URL: "
@@ -2614,7 +2903,8 @@ msgid "Download Templates"
msgstr "Download Sjablonen"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Selecteer mirror uit lijst: "
#: editor/file_type_cache.cpp
@@ -2630,11 +2920,13 @@ msgstr ""
"is!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Toon items in een rooster van miniaturen"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Bekijk objecten als een lijst"
#: editor/filesystem_dock.cpp
@@ -2707,7 +2999,7 @@ msgstr "Klap alles uit"
msgid "Collapse all"
msgstr "Klap alles in"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Hernoemen..."
@@ -2736,6 +3028,23 @@ msgid "Duplicate..."
msgstr "Dupliceren..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Open Script Snel..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Resource Opslaan Als..."
+
+#: 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 "Hernoemen"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Vorige Map"
@@ -2748,16 +3057,31 @@ msgid "Re-Scan Filesystem"
msgstr "Bestandssysteem Opnieuw Scannen"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Schakel folder status als Favoriet"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Selecteer zojuist bewerkte sub-tegel."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
"Maak een nieuwe kopie van de geselecteerde scene(s) als kind van de "
"geselecteerde knoop."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Zoek Klasses"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2765,14 +3089,113 @@ msgstr ""
"Bestanden Scannen,\n"
"Wacht Alstublieft..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Verplaatsen"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Hernoemen"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Er is al een map in dit pad met dezelfde naam."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Creëer Script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Vind Tegel"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Zoeken"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Hele Woorden"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Hoofdlettergevoelig"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filter:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Vind..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Vervang..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Annuleer"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Vervangen"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Alle Vervangen"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Opslaan..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Zoek Tekst"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "FOUTMELDING: Animatie naam bestaat al!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ongeldige naam."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Groepen"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Toevoegen aan Groep"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Filter nodes"
+msgstr "Filter:"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Toevoegen aan Groep"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2782,6 +3205,11 @@ msgstr "Toevoegen aan Groep"
msgid "Remove from Group"
msgstr "Verwijderen uit Groep"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Groepen"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importeer als Enkele Scene"
@@ -2823,7 +3251,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importeren als Meerdere Scenes+Materialen"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importeer Scene"
@@ -2883,18 +3311,130 @@ msgstr "Voorinstelling..."
msgid "Reimport"
msgstr "Herimporteer"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Mislukt om resource te laden."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Oké"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Klap alle eigenschappen uit"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Klap alle eigenschappen in"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Opslaan Als..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Kopieer Parameters"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Plak Parameters"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Bronnen klembord is leeg!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kopieer Bron"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Integreer"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Maak Onderliggende Bronnen Uniek"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Open in Help"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Maak een nieuwe bron in het geheugen en bewerk het."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Laad een bestaande bron van de schijf en bewerk het."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Ga naar het vorige bewerkte object in de geschiedenis."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Ga naar de volgende bewerkte object in geschiedenis."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Geschiedenis van recent bewerkte objecten."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Objecteigenschappen."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filter:"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Wijzigingen kunnen verloren gaan!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "MultiNode Set"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Groepen"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Selecteer een Node om Signalen en Groepen aan te passen."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Bewerk Poly"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Subscriptie Maken"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Plugins"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Language:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Projectnaam:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2940,6 +3480,148 @@ msgstr ""
msgid "Delete points"
msgstr "Verwijder punten"
+#: 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 "Voeg Animatie Toe"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Laden"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Verwijder punten"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Verwijder Punt."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Beweeg Punt"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animatie Node"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "FOUTMELDING: Animatie naam bestaat al!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Snap"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Filters Bewerken"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Node Toevoegen"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Filters Bewerken"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Schakel Automatisch Afspelen"
@@ -2966,11 +3648,13 @@ msgid "Remove Animation"
msgstr "Verwijder Animatie"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "FOUTMELDING: Invalide animatie naam!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "FOUTMELDING: Animatie naam bestaat al!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2979,11 +3663,6 @@ msgid "Rename Animation"
msgstr "Animatie Hernoemen"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Voeg Animatie Toe"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Blend Next Changed"
msgstr "Meng Volgende Aangepast"
@@ -3002,11 +3681,13 @@ msgid "Duplicate Animation"
msgstr "Dupliceer Animatie"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "FOUTMELDING: Geen animatie om te kopiëren!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "FOUTMELDING: Geen animatie resource op klembord!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3018,7 +3699,8 @@ msgid "Paste Animation"
msgstr "Plak Animatie"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "FOUTMELDING: Geen animatie om aan te passen!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3050,20 +3732,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Schaal het afspelen van animaties globaal voor de Node."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Maak een nieuwe animatie in speler."
+msgid "Animation Tools"
+msgstr "Animatie Tools"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animatie"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Laad animatie vanuit schijf."
+msgid "New"
+msgstr "Nieuw"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Laad een animatie vanuit schijf."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Transities"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Sla de huidige animatie op"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Openen in Editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3074,18 +3763,6 @@ msgid "Autoplay on Load"
msgstr "Automatisch afspelen bij laden"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Bewerk Doel Mengtijden"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Animatie Tools"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Kopieer Animatie"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Ui Schillen"
@@ -3134,6 +3811,11 @@ msgid "Include Gizmos (3D)"
msgstr "Inclusief Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Plak Animatie"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Maak Nieuwe Animatie Aan"
@@ -3143,6 +3825,7 @@ msgstr "Animatie Naam:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3160,161 +3843,213 @@ msgstr "Volgende (Auto wachtrij):"
msgid "Cross-Animation Blend Times"
msgstr "Cross-animatie mixtijden"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animatie"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Niet in resource pad."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Maake Nieuwe %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Verbind Aan Node:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Verwijder geselecteerde track."
+
+#: 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 "Transitie"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimatieBoom"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nieuwe naam:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Filters Bewerken"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Schaal:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade-In (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fade-Out (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Vochtigheid vermenging ruis"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mengen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Automatische herstart:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Herstarten (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Willekeurige Herstart (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Starten!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Hoeveelheid:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Mengen:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Meng 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Meng 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "X-Fade Tijd (en):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Huidig:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Voeg invoer toe"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Verwijder Automatische Voortgang"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Automatische voortgang instellen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Invoer verwijderen"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Animatie boom is geldig."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Animatie boom is ongeldig."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animatie Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "OneShot Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Mix Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Blend2 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Blend3 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Blend4 Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "TimeScale Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TimeSeek Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Transition Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importeer Animaties..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Wijzig Node Filters"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filters..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimatieBoom"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Vrij"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Inhoud:"
@@ -3368,8 +4103,14 @@ msgid "Asset Download Error:"
msgstr "Asset Download Foutmelding:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Ophalen:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Bezig met downloaden"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Bezig met downloaden"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3396,20 +4137,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Download voor dit onderdeel is al bezig!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "eerste"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "vorige"
+#, fuzzy
+msgid "Previous"
+msgstr "Vorig tabblad"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "volgende"
+msgid "Next"
+msgstr "Volgende"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "laatste"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3483,7 +4226,7 @@ msgid "Bake Lightmaps"
msgstr "Bak Lichtmappen"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Voorbeeld"
@@ -3492,12 +4235,10 @@ msgid "Configure Snap"
msgstr "Configureer Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Raster Verplaatsing:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Raster Stap:"
@@ -3510,14 +4251,6 @@ msgid "Rotation Step:"
msgstr "Rotatie Stap:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Verplaats Draaipunt"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Verplaats Actie"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Verplaats vertical gids"
@@ -3546,11 +4279,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Maak nieuwe horizontale en verticale gidsen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Bewerk IK Ketting"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Verplaats Draaipunt"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "CanvasItem Bewerken"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Verplaats Actie"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "CanvasItem Bewerken"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "CanvasItem Bewerken"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3570,6 +4320,21 @@ msgid "Paste Pose"
msgstr "Plak Houding"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Uitzoomen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Uitzoomen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Inzoomen"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Selecteer Modus"
@@ -3617,7 +4382,8 @@ msgid "Pan Mode"
msgstr "Verschuif Modus"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Snappen Aan- of Uitschakelen"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3625,7 +4391,8 @@ msgid "Use Snap"
msgstr "Gebruik Uitlijnen"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Uitlijnen opties"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3666,6 +4433,11 @@ msgid "Snap to node sides"
msgstr "Uitlijnen naar node zijden"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Snap naar node anker"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Uitlijnen naar andere nodes"
@@ -3696,14 +4468,6 @@ msgstr ""
"object."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Maak Botten"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Maak Botten Leeg"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Laat Botten Zien"
@@ -3716,6 +4480,15 @@ msgid "Clear IK Chain"
msgstr "Maak IK Ketting Leeg"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Maak Botten Leeg"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Weergeven"
@@ -3758,14 +4531,11 @@ msgid "Layout"
msgstr "Indeling"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Voer Sleutels In"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Voer Sleutel in"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Voeg Sleutel in (Bestaande Banen)"
@@ -3778,14 +4548,6 @@ msgid "Clear Pose"
msgstr "Maak Houding Leeg"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Versleep draaipunt vanaf muispositie"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Plaats pivot bij muispositie"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Vermenigvuldig rasterstap met 2"
@@ -3801,10 +4563,6 @@ msgstr "Voeg %s Toe"
msgid "Adding %s..."
msgstr "%s aan het toevoegen..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Oké"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Kan niet meerdere knooppunten instantiëren zonder een wortel."
@@ -3839,27 +4597,20 @@ msgstr "Maak Poly3D"
msgid "Set Handle"
msgstr "Stel Handgreep In"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Item %d verwijderen?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Item Toevoegen"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Verwijder Geselecteerde Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partikels"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importeer Vanuit Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Creëer Emissie Punten Vanuit Mesh"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Update Vanuit Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Creëer Emissie Punten Vanuit Node"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3930,16 +4681,6 @@ msgstr "Houd Shift ingedrukt om de raaklijnen individueel te bewerken"
msgid "Bake GI Probe"
msgstr "Bak GI Probe"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Voeg Toe/Verwijder Kleur Hellingspunt"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Modify Color Ramp"
-msgstr "Wijzig Kleuren Helling"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Item %d"
@@ -4030,6 +4771,7 @@ msgid "No mesh to debug."
msgstr "Geen mesh om te debuggen."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Model heeft geen UV in deze laag"
@@ -4099,6 +4841,27 @@ msgstr "Creëer Omlijning Mesh"
msgid "Outline Size:"
msgstr "Grootte Omlijning:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Item %d verwijderen?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Item Toevoegen"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Verwijder Geselecteerde Item"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importeer Vanuit Scene"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Update Vanuit Scene"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Geen mesh bron gespecificeerd (en geen MultiMesh ingesteld in node)."
@@ -4201,71 +4964,6 @@ msgstr "Willekeurige Schaal:"
msgid "Populate"
msgstr "Bevolken"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Bakken!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Bak de navigatie mesh."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Leeg de navigatie mesh."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Configuratie aan het instellen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Raster groote uitrekenen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Hoogteveld aan het creëeren..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Markeer loopbare driehoeken..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Constructing compact heightfield..."
-msgstr "Compact hoogteveld aan het bouwen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Wandelbaar gebied aan het eroderen..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Partitioneren..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Contouren aan het creëeren..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Polymesh aan het creëeren..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Naar navigatie mesh aan het converteren..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Navigatie Mesh Generator Setup:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Geometrie aan het ontleden..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Klaar!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Creëer Navigatie Polygoon"
@@ -4326,18 +5024,6 @@ msgid "Emission Colors"
msgstr "Kleuren Emissie"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Node bevat geen geometrie."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Node bevat geen geometrie (vlakken)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Een processor materiaal of type 'PartikelMateriaal' is nodig."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Vlakken bevatten geen gebied!"
@@ -4346,16 +5032,12 @@ msgid "No faces!"
msgstr "Geen vlakken!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Genereer AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Creëer Emissie Punten Vanuit Mesh"
+msgid "Node does not contain geometry."
+msgstr "Node bevat geen geometrie."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Creëer Emissie Punten Vanuit Node"
+msgid "Node does not contain geometry (faces)."
+msgstr "Node bevat geen geometrie (vlakken)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4382,6 +5064,19 @@ msgid "Emission Source: "
msgstr "Emissie Bron: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Een processor materiaal of type 'PartikelMateriaal' is nodig."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Genereer AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Converteer Naar Hoofdletters"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Genereer Zichtbaarheid AABB"
@@ -4458,6 +5153,22 @@ msgstr "Verwijder Punt"
msgid "Close Curve"
msgstr "Sluit Curve"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opties"
+
+#: 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 "Curve Punt #"
@@ -4490,19 +5201,95 @@ msgstr "Verwijder Uit-Controle Punt"
msgid "Remove In-Control Point"
msgstr "Verwijder In-Controle Punt"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Beweeg Punt"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Laat Botten Zien"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Creëer UV Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Creëer Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Bestaat al"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Punt toevoegen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ongeldig Pad."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Punt verwijderen"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformeer UV Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon 2D UV Editor"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Bewerk Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Splits Pad"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Maak Botten"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Creëer Poly"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Beweeg Punt"
@@ -4531,12 +5318,25 @@ msgid "Scale Polygon"
msgstr "Schaal Polygon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Bewerken"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Selecteer een map om te scannen"
+
+#: 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 "Polygon->UV"
@@ -4551,9 +5351,9 @@ msgid "Clear UV"
msgstr "Wis UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Snap"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Instellingen"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4563,6 +5363,36 @@ msgstr "Zet Snap Aan"
msgid "Grid"
msgstr "Grid"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configureer Snap"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Raster Verplaatsing:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Raster Verplaatsing:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Raster Stap:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Raster Stap:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Schaal Polygon"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ERROR: Laden van bron mislukt!"
@@ -4585,6 +5415,10 @@ msgid "Resource clipboard is empty!"
msgstr "Bronnen klembord is leeg!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Plak Bron"
+
+#: 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"
@@ -4606,16 +5440,18 @@ msgid "Load Resource"
msgstr "Laad Bron"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Plakken"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "BronnenPrelader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Animatie boom is ongeldig."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Wis Recente Bestanden"
@@ -4625,6 +5461,21 @@ msgid "Close and save changes?"
msgstr "Wijzigingen oplaan en sluiten?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Error bij het opslaan van TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Map kon niet gemaakt worden."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Error bij het opslaan van TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Fout bij het opslaan van het thema"
@@ -4641,6 +5492,21 @@ msgid "Error importing"
msgstr "Fout bij importeren"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nieuwe Map..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Open een Bestand"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Opslaan Als..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importeer Thema"
@@ -4653,6 +5519,10 @@ msgid " Class Reference"
msgstr " Klasse Referentie"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sorteren"
@@ -4681,8 +5551,9 @@ msgid "File"
msgstr "Bestand"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nieuw"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Bekijk Bestanden"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4709,6 +5580,11 @@ msgid "History Next"
msgstr "Geschiedenis Volgende"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Thema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Herlaad Thema"
@@ -4742,11 +5618,6 @@ msgstr "Schakel Scripten Paneel"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Vind..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Vind Volgende"
@@ -4800,10 +5671,6 @@ msgid "Discard"
msgstr "Verwerp"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Creëer Script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4824,6 +5691,16 @@ msgid "Debugger"
msgstr "Debugger"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Zoek Hulp"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Zoek Klasses"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4831,40 +5708,56 @@ msgstr ""
"scène geladen is"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Regel:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Alleen bronnen uit bestandssysteem kunnen gedropt worden."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Voltooi Symbool"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Kies Kleur"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Converteer Hoofdlettergebruik"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Hoofdletters"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Kleine letters"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Maak Hoofdletters"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Knippen"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopiëren"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4952,8 +5845,9 @@ msgid "Find Previous"
msgstr "Vind Vorige"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Vervang..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Bestanden Filteren..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4971,129 +5865,42 @@ msgstr "Contextuele Hulp"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Verander Shalar Constante"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Verander Vec Constante"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Verander RGB Constante"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Verander Scalar Operator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Verander Vec Operator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Verander Vec Scalar Operator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Verander RGB Operator"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Aan/Uit Alleen Rot"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Verander Scalar Functie"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Verander Vec Functie"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Verander Scalar Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Verander Vec Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Verander RGB Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Verander Standaardwaarde"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Verander XForm Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Verander Textuur Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Verander Cubemap Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Verander Commentaar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Voeg Toe/Verwijder van Kleur Helling"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Voeg Toe/Verwijder van Curve Map"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Wijzig Curve Map"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Verander Input Naam"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Verbind Graaf Knooppunten"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Ontkoppel Graaf Knooppunten"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Verwijder Shader Graaf Knooppunten"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Verplaats Shader Graaf Knooppunten"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Dupliceer Graaf Knooppunt(en)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Verwijder Shader Graaf Knooppunt(en)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Creëer Navigatie Mesh"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Fout: Cyclische Connectie Link"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Fout: Ontbrekende Input Connecties"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Subscriptie Maken"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Voeg Shader Graaf Knooppunt Toe"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Speel"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5220,10 +6027,6 @@ msgid "Align with view"
msgstr "Uitlijnen met zicht"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Geen ouder om kind aan te instantiëren."
@@ -5232,6 +6035,11 @@ msgid "This operation requires a single selected node."
msgstr "Deze bewerking vereist één geselecteerde knooppunt."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Bekijk Informatie"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Weergave Normaalvector"
@@ -5276,6 +6084,11 @@ msgid "Doppler Enable"
msgstr "Inschakelen Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Creëren van Mesh Previews"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Vrijekijk Links"
@@ -5408,6 +6221,11 @@ msgstr "Verschalen Gereedschap"
#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
+msgid "Snap To Floor"
+msgstr "Uitlijnen op raster"
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
msgid "Toggle Freelook"
msgstr "Toggle Favoriet"
@@ -5416,6 +6234,10 @@ msgid "Transform"
msgstr "Transformatie"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Transformatie Dialoog..."
@@ -5444,6 +6266,11 @@ msgid "4 Viewports"
msgstr "4 Aanzicht Portalen"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Bekijk Gizmos"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Bekijk Oorsprongspunt"
@@ -5457,10 +6284,6 @@ msgid "Settings"
msgstr "Instellingen"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Snap instellingen"
@@ -5520,6 +6343,52 @@ msgstr "Pre"
msgid "Post"
msgstr "Post"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Mesh is leeg!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "Sprite-Frames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Verbind Aan Node:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Creëer Omlijning Mesh"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Voorbeeld"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Instellingen"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "FOUT: Kan frame benodigdheden niet laden!"
@@ -5588,21 +6457,13 @@ msgstr "Verplaats (Hierna)"
msgid "SpriteFrames"
msgstr "Sprite-Frames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Snap Mode:"
-msgstr ""
+msgstr "Snap Modus:"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "<None>"
@@ -5610,39 +6471,33 @@ msgstr "<Geen>"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Pixel Snap"
-msgstr ""
+msgstr "Pixel Snap"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Snap"
-msgstr ""
+msgstr "Rooster Snap"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Afzondering:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Textuur Regio"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Textuur Regio Editor"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Kan thema niet opslaan in bestand:"
@@ -5656,11 +6511,6 @@ msgid "Add All"
msgstr "Allen Toevoegen"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Verwijder Item"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Verwijder Alle Items"
@@ -5733,10 +6583,6 @@ msgstr "Had"
msgid "Many"
msgstr "Veel"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opties"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5762,7 +6608,7 @@ msgstr "Data Type:"
msgid "Icon"
msgstr "Icoon"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Stijl"
@@ -5775,14 +6621,19 @@ msgid "Color"
msgstr "Kleur"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Thema"
+msgid "Constant"
+msgstr "Constante"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Selectie Verwijderen"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ongeldige naam."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5803,11 +6654,8 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Verwijder Selectie"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Vind Tegel"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5831,6 +6679,11 @@ msgid "Pick Tile"
msgstr "Kies Tegel"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Verwijder Selectie"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "0 Graden Roteren"
@@ -5847,65 +6700,116 @@ msgid "Rotate 270 degrees"
msgstr "270 Graden Roteren"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Niet gevonden titel:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Voeg Node(s) Toe Uit Tree"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Item naam of identificatiecode:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Verwijder Signaal"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Creëer vanuit scene?"
+msgid "Create from Scene"
+msgstr "Creëer vanuit Scene"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Vervoegen vanuit scene?"
+msgid "Merge from Scene"
+msgstr "Vervoeg vanuit Scene"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Creëer vanuit Scene"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Vervoeg vanuit Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Fout"
+#: 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?"
+msgstr "Creëer vanuit scene?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr "Vervoegen vanuit scene?"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Selecteer zojuist bewerkte sub-tegel."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Selecteer een sub-tegel om zijn prioriteit te veranderen."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Annuleer"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Deze operatie kan niet uitgevoerd worden zonder scene."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vertices"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "Argumenten:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Rechts"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5920,8 +6824,8 @@ msgid "Delete preset '%s'?"
msgstr "Verwijder voorinstelling '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Exportsjablonen voor dit platform zijn vermist/corrupt: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr ""
#: editor/project_export.cpp
msgid "Presets"
@@ -5979,7 +6883,7 @@ msgstr "Kenmerken"
#: editor/project_export.cpp
msgid "Custom (comma-separated):"
-msgstr ""
+msgstr "Aangepast (kommagescheiden):"
#: editor/project_export.cpp
msgid "Feature List:"
@@ -5994,26 +6898,31 @@ msgid "Export templates for this platform are missing:"
msgstr "Vermiste Exportsjablonen voor dit platform:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
-msgstr ""
+msgstr "Exporteer Met Debug"
#: editor/project_manager.cpp
msgid "The path does not exist."
msgstr "Dit pad bestaat niet."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Kies alstublieft een 'project.godot' bestand."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Kies alstublieft een lege map."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Kies alstublieft een 'project.godot' bestand."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Geïmporteerd Project"
@@ -6032,11 +6941,11 @@ msgstr "Er is al een map in dit pad met dezelfde naam."
#: editor/project_manager.cpp
msgid "It would be a good idea to name your project."
-msgstr ""
+msgstr "Het zou een goed idee zijn om uw project een naam te geven."
#: editor/project_manager.cpp
msgid "Invalid project path (changed anything?)."
-msgstr ""
+msgstr "Ongeldig projectpad (iets veranderd?)."
#: editor/project_manager.cpp
msgid ""
@@ -6046,11 +6955,11 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Couldn't edit project.godot in project path."
-msgstr ""
+msgstr "Kan project.godot niet bewerken in projectpad."
#: editor/project_manager.cpp
msgid "Couldn't create project.godot in project path."
-msgstr ""
+msgstr "Kan project.godot niet in projectpad maken."
#: editor/project_manager.cpp
msgid "The following files failed extraction from package:"
@@ -6063,11 +6972,11 @@ msgstr "Hernoem Functie"
#: editor/project_manager.cpp
msgid "New Game Project"
-msgstr ""
+msgstr "Nieuw spelproject"
#: editor/project_manager.cpp
msgid "Import Existing Project"
-msgstr ""
+msgstr "Importeer bestaand project"
#: editor/project_manager.cpp
#, fuzzy
@@ -6085,7 +6994,7 @@ msgstr "Creëer Node"
#: editor/project_manager.cpp
msgid "Install Project:"
-msgstr ""
+msgstr "Installeer project:"
#: editor/project_manager.cpp
#, fuzzy
@@ -6094,7 +7003,7 @@ msgstr "Installeer"
#: editor/project_manager.cpp
msgid "Project Name:"
-msgstr ""
+msgstr "Projectnaam:"
#: editor/project_manager.cpp
#, fuzzy
@@ -6103,15 +7012,20 @@ msgstr "Map Maken"
#: editor/project_manager.cpp
msgid "Project Path:"
-msgstr ""
+msgstr "Projectpad:"
+
+#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Projectpad:"
#: editor/project_manager.cpp
msgid "Browse"
-msgstr ""
+msgstr "Bladeren"
#: editor/project_manager.cpp
msgid "Unnamed Project"
-msgstr ""
+msgstr "Naamloos Project"
#: editor/project_manager.cpp
#, fuzzy
@@ -6120,7 +7034,7 @@ msgstr "Verbind..."
#: editor/project_manager.cpp
msgid "Are you sure to open more than one project?"
-msgstr ""
+msgstr "Weet je zeker dat je meer dan één project wilt openen?"
#: editor/project_manager.cpp
msgid ""
@@ -6128,6 +7042,9 @@ msgid ""
"Please edit the project and set the main scene in \"Project Settings\" under "
"the \"Application\" category."
msgstr ""
+"Kan project niet uitvoeren: geen hoofdscène gedefinieerd.\n"
+"Bewerk het project en stel de hoofdscène in bij \"Projectinstellingen\" "
+"onder de categorie \"Toepassing\"."
#: editor/project_manager.cpp
msgid ""
@@ -6137,17 +7054,20 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Are you sure to run more than one project?"
-msgstr ""
+msgstr "Weet je zeker dat je meerdere projecten wilt uitvoeren?"
#: editor/project_manager.cpp
msgid "Remove project from the list? (Folder contents will not be modified)"
msgstr ""
+"Project uit de lijst verwijderen? (Inhoud van map wordt niet gewijzigd)"
#: editor/project_manager.cpp
msgid ""
"Language changed.\n"
"The UI will update next time the editor or project manager starts."
msgstr ""
+"Taal veranderd. De gebruikersinterface wordt bijgewerkt de volgende keer dat "
+"de editor of projectmanager wordt gestart."
#: editor/project_manager.cpp
msgid ""
@@ -6161,15 +7081,15 @@ msgstr "Project Manager"
#: editor/project_manager.cpp
msgid "Project List"
-msgstr ""
+msgstr "Projectlijst"
#: editor/project_manager.cpp
msgid "Scan"
-msgstr ""
+msgstr "Scannen"
#: editor/project_manager.cpp
msgid "Select a Folder to Scan"
-msgstr ""
+msgstr "Selecteer een map om te scannen"
#: editor/project_manager.cpp
msgid "New Project"
@@ -6186,7 +7106,7 @@ msgstr ""
#: editor/project_manager.cpp
msgid "Restart Now"
-msgstr ""
+msgstr "Herstart Nu"
#: editor/project_manager.cpp
#, fuzzy
@@ -6217,8 +7137,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6230,9 +7150,23 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Verander Animatie Naam:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Apparaat"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Apparaat"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6274,20 +7208,24 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr ""
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Linker Knop."
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr ""
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Rechter Knop."
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "Knop"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "Knop"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6315,10 +7253,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Apparaat"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Knop"
@@ -6365,10 +7299,16 @@ msgid "Delete Item"
msgstr "Verwijder"
#: editor/project_settings_editor.cpp
-msgid "Already existing"
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Already existing"
+msgstr "Bestaat al"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action"
msgstr ""
@@ -6386,11 +7326,11 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Add Translation"
-msgstr ""
+msgstr "Voeg vertaling toe"
#: editor/project_settings_editor.cpp
msgid "Remove Translation"
-msgstr ""
+msgstr "Verwijder vertaling"
#: editor/project_settings_editor.cpp
msgid "Add Remapped Path"
@@ -6422,7 +7362,7 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Project Settings (project.godot)"
-msgstr ""
+msgstr "Projectinstellingen (project.godot)"
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "General"
@@ -6436,6 +7376,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6445,6 +7389,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Verplaats Actie"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6458,11 +7411,11 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid "Translations"
-msgstr ""
+msgstr "Vertalingen"
#: editor/project_settings_editor.cpp
msgid "Translations:"
-msgstr ""
+msgstr "Vertalingen:"
#: editor/project_settings_editor.cpp
msgid "Remaps"
@@ -6506,10 +7459,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Kies een Aanzicht portaal"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6531,7 +7480,7 @@ msgstr ""
#: editor/property_editor.cpp
msgid "File..."
-msgstr ""
+msgstr "Bestand..."
#: editor/property_editor.cpp
msgid "Dir..."
@@ -6547,80 +7496,169 @@ msgid "Select Node"
msgstr "Alles Selecteren"
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
+#, fuzzy
+msgid "Pick a Node"
+msgstr "Plak Nodes"
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
+msgstr "Eigenschappen:"
+
+#: editor/property_selector.cpp
+msgid "Select Property"
+msgstr "Selecteer Eigenschap"
+
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/property_selector.cpp
+msgid "Select Method"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Convert To %s"
-msgstr "Verbind Aan Node:"
+msgid "Batch Rename"
+msgstr "Hernoemen"
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
#, fuzzy
-msgid "Selected node is not a Viewport!"
-msgstr "Geselecteerde ..... is geen Aanzicht Portaal!"
+msgid "Advanced options"
+msgstr "Uitlijnen opties"
-#: editor/property_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
#, fuzzy
-msgid "Pick a Node"
-msgstr "Plak Nodes"
+msgid "Node name"
+msgstr "Node Naam:"
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Vind Node Type"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "De huidige scene is nog niet opgeslagen. Toch openen?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Hernoemen"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Zet"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
+msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "Stap(pen):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Padding"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Verander Expressie"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
msgstr ""
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Kleine letters"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Hoofdletters"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Reset Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Fout"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6647,7 +7685,7 @@ msgstr ""
#: editor/run_settings_dialog.cpp
msgid "Main Scene"
-msgstr ""
+msgstr "Hoofdscène"
#: editor/run_settings_dialog.cpp
msgid "Main Scene Arguments:"
@@ -6657,18 +7695,13 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Oké"
-
#: 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 ""
+msgstr "Fout bij het laden van scène uit %s"
#: editor/scene_tree_dock.cpp
msgid ""
@@ -6681,6 +7714,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6710,7 +7747,7 @@ msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Save New Scene As..."
-msgstr ""
+msgstr "Nieuwe Scène Opslaan Als..."
#: editor/scene_tree_dock.cpp
msgid "Editable Children"
@@ -6721,14 +7758,35 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr ""
+#, fuzzy
+msgid "Make Local"
+msgstr "Maak Botten"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Creëer Node"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scène"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scène"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Knip Nodes"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6737,6 +7795,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6780,18 +7842,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Klinkt logisch!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6815,11 +7874,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "Filter:"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6840,17 +7894,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Toggle Verborgen Bestanden"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6858,7 +7905,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6874,21 +7921,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "Omschrijving:"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6896,6 +7943,12 @@ 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 ""
@@ -6934,6 +7987,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Open Script Bewerker"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7179,10 +8237,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7195,19 +8265,34 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Wijzig Meng Tijd"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Wijzig Meng Tijd"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Wijzig Ankers en Marges"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7264,16 +8349,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Ongeldige type argument voor convert(), gebruik TYPE_* constanten."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Niet genoeg bytes om bytes te decoderen, of ongeldig formaat."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "step argument is nul!"
@@ -7344,6 +8419,11 @@ msgstr "Geselecteerde Verwijderen"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Geselecteerde Verwijderen"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "Dupliceer Selectie"
@@ -7427,6 +8507,11 @@ msgid "Clear Selection"
msgstr "Schaal Selectie"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Alle Selectie"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7500,6 +8585,71 @@ msgstr "Bekijk Bestanden"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Bakken!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Bak de navigatie mesh."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Leeg de navigatie mesh."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Configuratie aan het instellen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Raster groote uitrekenen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Hoogteveld aan het creëeren..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Markeer loopbare driehoeken..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Constructing compact heightfield..."
+msgstr "Compact hoogteveld aan het bouwen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Wandelbaar gebied aan het eroderen..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Partitioneren..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Contouren aan het creëeren..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Polymesh aan het creëeren..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Naar navigatie mesh aan het converteren..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Navigatie Mesh Generator Setup:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Geometrie aan het ontleden..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Klaar!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7563,10 +8713,6 @@ msgid "Set Variable Type"
msgstr "Variabele Bewerken:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Functies:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variabelen:"
@@ -7689,36 +8835,14 @@ msgid "Connect Nodes"
msgstr "Verbind Aan Node:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Conditie"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sequentie"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Schakelaar"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterator"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Terwijl"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Teruggave"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Aanroep"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Verbind Aan Node:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Krijg"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Verbind Aan Node:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7747,28 +8871,18 @@ msgid "Remove Function"
msgstr "Verwijder Functie"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Variable"
-msgstr "Variabele Bewerken:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Verwijder Variabele"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "Signaal Bewerken:"
+msgid "Editing Variable:"
+msgstr "Variabele Bewerken:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Verwijder Signaal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Variabele Bewerken:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Signaal Bewerken:"
@@ -7812,6 +8926,11 @@ msgstr "Knip Nodes"
msgid "Paste Nodes"
msgstr "Plak Nodes"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Leden"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Invoer type is niet iterabel: "
@@ -7869,6 +8988,19 @@ msgstr ""
"Ongeldige return waarde van _step(), moet een geheel getal (seq out) of "
"string (error) zijn."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Verwijder Variabele"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Krijg"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7926,8 +9058,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -8031,6 +9163,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Path eigenschap moet verwijzen naar een geldige Node2D node om te werken."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8093,8 +9238,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8182,6 +9327,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8196,6 +9352,48 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animatie Tools"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "FOUTMELDING: Invalide animatie naam!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Ontkoppel '%s' van '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Selecteer een AnimationPlayer uit de Scene Tree om animaties te wijzigen."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Animatie boom is ongeldig."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Raw-modus"
@@ -8275,12 +9473,336 @@ msgstr "Fout bij het laden van lettertype."
msgid "Invalid font size."
msgstr "Ongeldige lettertype grootte."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Voeg invoer toe"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Geen>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Ongeldige lettertype grootte."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Verander Shalar Constante"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Verander Vec Constante"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Verander RGB Constante"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Verander Scalar Operator"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Verander Vec Operator"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Verander Vec Scalar Operator"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Verander RGB Operator"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Aan/Uit Alleen Rot"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Verander Scalar Functie"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Verander Vec Functie"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Verander Scalar Uniform"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Verander Vec Uniform"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Verander RGB Uniform"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Verander Standaardwaarde"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Verander XForm Uniform"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Verander Textuur Uniform"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Verander Cubemap Uniform"
+
+#~ msgid "Change Comment"
+#~ msgstr "Verander Commentaar"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Voeg Toe/Verwijder van Kleur Helling"
+
+#, fuzzy
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Wijzig Kleuren Helling"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Voeg Toe/Verwijder van Curve Map"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Wijzig Curve Map"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Verander Input Naam"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Verbind Graaf Knooppunten"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Ontkoppel Graaf Knooppunten"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Verwijder Shader Graaf Knooppunten"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Verplaats Shader Graaf Knooppunten"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Dupliceer Graaf Knooppunt(en)"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Verwijder Shader Graaf Knooppunt(en)"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Fout: Cyclische Connectie Link"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Fout: Ontbrekende Input Connecties"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Voeg Shader Graaf Knooppunt Toe"
+
+#~ msgid "Disabled"
+#~ msgstr "Uitgeschakeld"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Verplaats Anim Track Omhoog"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Verplaats Anim Track Omlaag"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Zet Overgangen Naar:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim Track Hernoemen"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim Track Wijzig Interpolatie"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Anim Track Wijzig Waarde Modus"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim Track Wijzig Wikkel Modus"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Wijzig Node Curve"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Wijzig Selectie Curve"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Key Toevoegen"
+
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "Uit"
+
+#~ msgid "In-Out"
+#~ msgstr "In-Uit"
+
+#~ msgid "Out-In"
+#~ msgstr "Uit-In"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Wijzig Anim Lengte"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Wijzig Anim Lus"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim Getypeerd Waarde Key Aanmaken"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim Aanroep Track Toevoegen"
+
+#~ msgid "Length (s):"
+#~ msgstr "Lengte(s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Cursor stap snap (in seconden)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "In- en uitschakelen van loopen in animatie."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Nieuwe tracks toevoegen."
+
+#~ msgid "Move current track up."
+#~ msgstr "Verplaats huidige track naar boven."
+
+#~ msgid "Move current track down."
+#~ msgstr "Verplaats huidige track naar beneden."
+
+#~ msgid "Track tools"
+#~ msgstr "Spoorgereedschappen"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr ""
+#~ "Schakel het individueel aanpassen van keys in door op ze te klikken."
+
+#~ msgid "Key"
+#~ msgstr "Sleutel"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Roep Functies Aan in Welke Node?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Bedankt!"
+
+#~ msgid "I see..."
+#~ msgstr "Ik snap het..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Kan '%s' niet openen."
+
+#~ msgid "Ugh"
+#~ msgstr "Oeps"
+
+#~ msgid "Run Script"
+#~ msgstr "Voer Script Uit"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "De bewerkte bron opslaan."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Stop Profilering"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Start Profilering"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Standaard (Dezelfde als Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Maak een nieuwe animatie in speler."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Laad animatie vanuit schijf."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Laad een animatie vanuit schijf."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Sla de huidige animatie op"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Bewerk Doel Mengtijden"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Kopieer Animatie"
+
+#~ msgid "Fetching:"
+#~ msgstr "Ophalen:"
+
+#~ msgid "prev"
+#~ msgstr "vorige"
+
+#~ msgid "next"
+#~ msgstr "volgende"
+
+#~ msgid "last"
+#~ msgstr "laatste"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Bewerk IK Ketting"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Versleep draaipunt vanaf muispositie"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Plaats pivot bij muispositie"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Voeg Toe/Verwijder Kleur Hellingspunt"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Separation:"
+#~ msgstr "Afzondering:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Textuur Regio Editor"
+
+#~ msgid "Erase selection"
+#~ msgstr "Verwijder Selectie"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Niet gevonden titel:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Item naam of identificatiecode:"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Exportsjablonen voor dit platform zijn vermist/corrupt: "
+
+#~ msgid "Condition"
+#~ msgstr "Conditie"
+
+#~ msgid "Sequence"
+#~ msgstr "Sequentie"
+
+#~ msgid "Switch"
+#~ msgstr "Schakelaar"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterator"
+
+#~ msgid "While"
+#~ msgstr "Terwijl"
+
+#~ msgid "Return"
+#~ msgstr "Teruggave"
+
+#~ msgid "Call"
+#~ msgstr "Aanroep"
+
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Vorig tabblad"
+#~ msgid "Edit Variable"
+#~ msgstr "Variabele Bewerken:"
-#~ msgid "Next"
-#~ msgstr "Volgende"
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "Signaal Bewerken:"
#, fuzzy
#~ msgid "Can't contain '/' or ':'"
@@ -8363,18 +9885,12 @@ msgstr "Ongeldige lettertype grootte."
#~ "De Viewport gegeven in de pad eigenschap moet als 'render target' "
#~ "ingesteld zijn om deze sprite te laten werken."
-#~ msgid "Filter:"
-#~ msgstr "Filter:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' te activeren. Het configuratiebestand kon niet gelezen worden."
#~ msgid "Method List For '%s':"
#~ msgstr "Methodelijst voor '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "Argumenten:"
-
#~ msgid "Return:"
#~ msgstr "Teruggave:"
@@ -8397,10 +9913,6 @@ msgstr "Ongeldige lettertype grootte."
#~ msgstr "Aan Het Herimporteren"
#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Error bij het opslaan van TileSet!"
-
-#, fuzzy
#~ msgid "Tiles"
#~ msgstr "Bestand:"
diff --git a/editor/translations/pl.po b/editor/translations/pl.po
index a133a4d8d5..3a74f61167 100644
--- a/editor/translations/pl.po
+++ b/editor/translations/pl.po
@@ -38,333 +38,489 @@ msgstr ""
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Wyłączone"
+#: 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 "Niepoprawny typ argumentu funkcji convert(), użyj stałych TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Wszystkie zaznaczenia"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+"Niewystarczająca ilość bajtów dla bajtów dekodujących, albo zły format."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Nieprawidłowy indeks we właściwości '%s' węzła %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Nieprawidłowy indeks we właściwości '%s' węzła %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ":nieprawidłowy argument typu: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Darmowy"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Odbij X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Wstaw Klucz"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplikuj zaznaczone"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Usuń zaznaczone"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Duplikuj klucze"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Usuń klucze animacji"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Zmiana czasu klatki kluczowej"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Zmiana przejścia"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Zmiana transformacji"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Zmiana wartości klatki kluczowej"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animacja - wywołanie funkcji"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Dodaj ścieżkę animacji"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Właściwość:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Duplikuj klucze"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Typ przekształcenia"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Przesuń ścieżkę animacji w górę"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Przesuń ścieżkę animacji w dół"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Usuń ścieżkę animacji"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Zatrzymaj animacjÄ™ (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Dodaj ścieżkę animacji"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Ustaw przejścia na:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Długość animacji (w sekundach)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Zmień nazwę ściezki animacji"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Powiększenie animacji."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Zmień funkcję interpolacji animacji"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funkcje:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Zmień tryb wartości animacji"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Nasłuchiwacz dźwięku"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Anim Track Change Wrap Mode"
-msgstr "Ścieżka Animacji - Zmień Tryb Zawijania"
+msgid "Anim Clips:"
+msgstr "Klipy"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Edytuj krzywe"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Tryb bez rozproszeń."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Edytuj krzywÄ… selekcji"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Usuń klucze animacji"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Węzeł animacji"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplikuj zaznaczone"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplikuj transponowane"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Usuń wybraną ścieżkę."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Usuń zaznaczone"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Czas X-Fade (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Ciągłe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Oddzielne"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Wyzwalacz"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Dodaj klucz animacji"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "PrzemieÅ› klatki kluczowe"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Skaluj zaznaczone"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skaluj od kursora"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Przejdź do następnego kroku"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Funkcje"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Przejdź do poprzedniego kroku"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Liniowe"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Stałe"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "We."
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Wy."
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "We-Wy"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Wy-We"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Wstaw Klucz"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Przejścia"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplikuj węzeł(y)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optymalizuj animacjÄ™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Usuń węzeł (węzły)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Wyczyść animację"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Usuń ścieżkę animacji"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Stworzyć NOWĄ ścieżkę dla %s i wstawić klatkę kluczową?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Utworzyć NOWĄ ścieżkę i dodać klatkę kluczową?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Utwórz"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Wstaw animacjÄ™"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Utwórz i wstaw"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Wstaw ścieżkę i klatkę kluczową"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Wstaw klatkÄ™ kluczowÄ…"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Zmień długość animacji"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Zmień pętlę animacji"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Utwórz klucz dla wpisanej wartości"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Wstaw animacjÄ™"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "Nie znaleziono VariableGet w skrypcie: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "PrzemieÅ› klatki kluczowe"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Schowek jest pusty!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Przeskaluj klatki kluczowe"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Dodaj ścieżkę wywołania funkcji"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Powiększenie animacji."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Długość:"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Długość animacji (w sekundach)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "PrzyciÄ…ganie (piksele):"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Krok:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Drzewo animacji jest poprawne."
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Krok kursora (w sekundach)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Edycja"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Włącz/Wyłącz zapętlenie animacji."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Drzewo animacji"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Dodaj nowe ścieżki."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopiuj parametry"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Przesuń wybraną ścieżkę do góry."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Wklej parametry"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Przesuń wybraną ścieżkę w dół."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Skaluj zaznaczone"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Usuń wybraną ścieżkę."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skaluj od kursora"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplikuj zaznaczone"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplikuj transponowane"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Usuń zaznaczone"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Narzędzia ścieżki"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Przejdź do następnego kroku"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Włączenie edycji pojedynczych kluczy poprzez kliknięcie na nie."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Przejdź do poprzedniego kroku"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optymalizuj animacjÄ™"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Wyczyść animację"
+
+#: 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 "Anim. Optimizer"
msgstr "Optymalizator animacji"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Maks. błąd liniowy:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Maks. błąd kątowy:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Maksymalny kÄ…t do optymalizacji:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Zoptymalizuj"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Zaznacz węzeł AnimationPlayer w drzewie sceny aby edytować animacje."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Klucz"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Przejście"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Współczynnik skali:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Z którego węzła wywołać funkcję?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Usuń wadliwe klatki kluczowe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Usuń nierozwiązane i puste ścieżki"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Wyczyść wszystkie animacje"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Oczyść animacje (NIE MOŻNA COFNĄĆ!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Oczyść"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Współczynnik skali:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopiuj"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Zmień rozmiar Tablicy"
@@ -385,7 +541,7 @@ msgstr "Idź do lini"
msgid "Line Number:"
msgstr "Numer linii:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Nie znaleziono"
@@ -401,7 +557,7 @@ msgstr "Uwzględnij wielkość liter"
msgid "Whole Words"
msgstr "Całe słowa"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "ZastÄ…p"
@@ -413,18 +569,28 @@ msgstr "ZastÄ…p wszystkie"
msgid "Selection Only"
msgstr "Tylko zaznaczenie"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Przybliż"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Oddal"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Wyzeruj przybliżenie"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Ostrzeżenia"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Powiększenie (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linia:"
@@ -456,7 +622,8 @@ msgid "Add"
msgstr "Dodaj"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -487,7 +654,7 @@ msgid "Oneshot"
msgstr "Wywołaj raz"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -509,11 +676,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Połącz '%s' z '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Połączony sygnał:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Rozłącz '%s' z '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Rozłącz '%s' z '%s'"
#: editor/connections_dialog.cpp
@@ -521,14 +689,48 @@ msgid "Connect..."
msgstr "Połącz..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Rozłącz"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Połączony sygnał:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Edytuj Połączenia"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Czy jesteś pewny że chcesz uruchomić więcej niż jeden projekt?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Sygnały"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Rozłącz"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Edycja"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metody"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Zmień typ %s"
@@ -551,22 +753,25 @@ msgstr "Ulubione:"
msgid "Recent:"
msgstr "Ostatnie:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Szukaj:"
#: editor/create_dialog.cpp editor/editor_help.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 "PasujÄ…ce:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Opis:"
@@ -628,7 +833,9 @@ msgstr "Szukaj zastępczego zasobu:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Otwórz"
@@ -649,7 +856,7 @@ msgstr ""
"Usuwany plik jest wymagany przez inne zasoby do działania.\n"
"Usunąć mimo to? (Nie można tego cofnąć)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Nie można usunąć:"
@@ -717,9 +924,13 @@ msgstr "Zmień wartość słownika"
msgid "Thanks from the Godot community!"
msgstr "Podziękowania od społeczności Godota!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Dzięki!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -896,6 +1107,7 @@ msgid "Bus options"
msgstr "Opcje magistrali"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplikuj"
@@ -964,7 +1176,8 @@ msgstr "Dodaj magistralÄ™"
msgid "Create a new Bus Layout."
msgstr "Utwórz nowy układ magistral."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Wczytaj"
@@ -974,7 +1187,6 @@ msgid "Load an existing Bus Layout."
msgstr "Załaduj istniejący układ magistral."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Zapisz jako"
@@ -1012,22 +1224,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "Niepoprawna nazwa. Nie może być taka sama jak nazwa globalnej stałej."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Niewłaściwa ścieżka."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Plik nie istnieje."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Nie znaleziono w ścieżce zasobów."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Dodaj AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "AutoLoad '%s' już istnieje!"
@@ -1055,6 +1251,22 @@ msgstr "Włącz"
msgid "Rearrange Autoloads"
msgstr "Przestaw Autoloady"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Niewłaściwa ścieżka."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Plik nie istnieje."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Nie znaleziono w ścieżce zasobów."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Dodaj AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1085,7 +1297,7 @@ msgstr "Zachowywanie lokalnych zmian..."
msgid "Updating scene..."
msgstr "Aktualizacja sceny ..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[pusty]"
@@ -1147,6 +1359,12 @@ msgid "Copy Path"
msgstr "Skopiuj Ścieżkę"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Pokaż w menadżerze plików"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Pokaż w menadżerze plików"
@@ -1183,7 +1401,7 @@ msgid "Open a File or Directory"
msgstr "Otwórz plik lub katalog"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Zapisz"
@@ -1236,7 +1454,8 @@ msgstr "Przejdź folder wyżej"
msgid "Directories & Files:"
msgstr "Katalogi i pliki:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "PodglÄ…d:"
@@ -1389,20 +1608,28 @@ msgstr ""
"Obecnie nie ma opisu dla tej metody. Pomóż nam, [color=$color][url="
"$url]wysyłając ją[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Wyszukaj w tekście"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Właściwość:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Szukaj"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Ustaw"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Wyjście:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1424,11 +1651,6 @@ msgstr "Błąd podczas zapisu zasobu!"
msgid "Save Resource As..."
msgstr "Zapisz zasób jako..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "WidzÄ™..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Nie można otworzyć pliku do zapisu:"
@@ -1441,9 +1663,9 @@ msgstr "Nieznany format pliku:"
msgid "Error while saving."
msgstr "Błąd podczas zapisywania."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Nie można otworzyć '%s'."
+#: 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'."
@@ -1486,10 +1708,6 @@ msgstr ""
"(instancjonowanie lub dziedziczenie) nie są spełnione."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Nie udało się wczytać zasobu."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Nie udało się wczytać MeshLibrary do połączenia!"
@@ -1572,42 +1790,6 @@ msgstr ""
"pracy."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Rozwiń wszystkie właściwości"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Zwiń wszystkie właściwości"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Kopiuj parametry"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Wklej parametry"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Wklej zasób"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kopiuj zasób"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Skrypt wbudowany"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Utwórz unikalne pod-zasoby"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Otwórz w Pomocy"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Nie ma zdefiniowanej sceny do uruchomienia."
@@ -1800,11 +1982,6 @@ msgstr ""
"zmodyfikowana.\n"
"Aby dokonać na niej zmian, można utworzyć nową odziedziczoną scenę."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Błąd"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1836,6 +2013,16 @@ msgid "Default"
msgstr "Domyślny"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Odtwórz scenę"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Zamknij inne karty"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Przełącz Zakładkę Sceny"
@@ -1957,10 +2144,6 @@ msgstr "Projekt"
msgid "Project Settings"
msgstr "Ustawienia projektu"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Uruchom skrypt"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Eksport"
@@ -1970,6 +2153,11 @@ msgid "Tools"
msgstr "Narzędzia"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Otworzyć menadżera projektów?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Wyjdź do Listy Projektów"
@@ -2077,6 +2265,20 @@ msgstr "Układ edytora"
msgid "Toggle Fullscreen"
msgstr "Pełny ekran"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Ustawienia edytora"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Ustawienia edytora"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "ZarzÄ…dzanie szablonami eksportu"
@@ -2092,7 +2294,8 @@ msgstr "Klasy"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Szukaj"
@@ -2136,7 +2339,7 @@ msgstr "Zapauzuj scenÄ™"
msgid "Stop the scene."
msgstr "Zatrzymaj scenÄ™."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Stop"
@@ -2157,6 +2360,16 @@ msgid "Play Custom Scene"
msgstr "Uruchom niestandardowÄ… scenÄ™"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Zapisz i importuj ponownie"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Ikona obraca siÄ™, gdy okno edytora jest odrysowywane!"
@@ -2176,42 +2389,6 @@ msgstr "Wyłącz wiatraczek aktualizacji"
msgid "Inspector"
msgstr "Inspektor"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Utwórz nowy zasób w pamięci i edytuj go."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Wczytaj istniejący zasób i edytuj go."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Zapisz aktualnie edytowany zasób."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Zapisz jako..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Idź do poprzedniego edytowanego obiektu w historii."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Idź do następnego edytowanego obiektu w historii."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Historia ostatnio edytowanych obiektów."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Właściwości obiektu."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Zmiany mogą zostać utracone!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2226,6 +2403,11 @@ msgid "FileSystem"
msgstr "System plików"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Rozwiń foldery"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Konsola"
@@ -2302,19 +2484,24 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Edytuj wielokÄ…t"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Zainstalowane wtyczki:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Odśwież"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Wersja:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2322,13 +2509,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Status:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Zatrzymaj profilowanie"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Edycja"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Rozpocznij profilowanie"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2374,6 +2564,107 @@ msgstr "Czas"
msgid "Calls"
msgstr "Wywołania"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Włącz"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, wartość %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Pusty]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Przypisz"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Wybierz Viewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Nowy skrypt"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Nowy %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Make Unique"
+msgstr "Utwórz unikatowy zasób"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Pokaż w systemie plików"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Wklej"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Konwersja do %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Otwórz w edytorze"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Wybrany węzeł to nie Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Rozmiar komórki:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Nowa nazwa:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nowa nazwa:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Usuń element"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Wybierz urzÄ…dzenie z listy"
@@ -2411,10 +2702,6 @@ msgstr "Nie można uruchomić skryptu:"
msgid "Did you forget the '_run' method?"
msgstr "Zapomniałeś metody '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Damyślny(Same as Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Wybierz węzły do importu"
@@ -2440,6 +2727,7 @@ msgid "(Installed)"
msgstr "(Zainstalowano)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Pobierz"
@@ -2464,7 +2752,8 @@ msgid "Can't open export templates zip."
msgstr "Nie można otworzyć pliku zip szablonów eksportu."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Nieprawidłowy format pliku version.txt w szablonach."
#: editor/export_template_manager.cpp
@@ -2526,6 +2815,12 @@ msgid "Download Complete."
msgstr "Pobieranie zakończone."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Błąd podczas żądania adresu url: "
@@ -2604,7 +2899,8 @@ msgid "Download Templates"
msgstr "Pobierz szablony eksportu"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Wybierz serwer z listy: "
#: editor/file_type_cache.cpp
@@ -2618,11 +2914,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "Nie można przejść do '%s' - nie znaleziono w tym systemie plików!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Wyświetlanie elementów jako siatkę miniatur"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Wyświetlanie elementów jako listę"
#: editor/filesystem_dock.cpp
@@ -2695,7 +2993,7 @@ msgstr "Rozwiń foldery"
msgid "Collapse all"
msgstr "Zwiń foldery"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Zmień nazwę..."
@@ -2724,6 +3022,23 @@ msgid "Duplicate..."
msgstr "Duplikuj..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Nowy skrypt"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Zapisz zasób jako..."
+
+#: 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 "Zmień nazwę"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Poprzedni katalog"
@@ -2736,14 +3051,29 @@ msgid "Re-Scan Filesystem"
msgstr "Przeskanuj system plików ponownie"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Ustaw folder jako ulubiony"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Wybierz aktualnie edytowany sub-tile."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Utwórz instancje wybranej sceny/scen jako dziecko wybranego węzła."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Przeszukaj klasy"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2751,14 +3081,112 @@ msgstr ""
"Skanowanie plików,\n"
"Proszę czekać..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "PrzenieÅ›"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Zmień nazwę"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Folder o podanej nazwie istnieje już w tej lokalizacji."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Utwórz Skrypt"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Znajdź tile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Szukaj"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Całe słowa"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Uwzględnij wielkość liter"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtr:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Znajdź..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Zamień..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "ZastÄ…p"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "ZastÄ…p wszystkie"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Zapisywanie..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Wyszukaj w tekście"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "BÅÄ„D: animacja o takiej nazwie już istnieje!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Niewłaściwa nazwa."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupy"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Dodaj do Grupy"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtruj węzły"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Edytuj grupy"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2768,6 +3196,11 @@ msgstr "Dodaj do Grupy"
msgid "Remove from Group"
msgstr "Usuń z Grupy"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupy obrazków"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importuj jako pojedynczą scenę"
@@ -2809,7 +3242,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importuj jako wiele scen + materiały"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importuj ScenÄ™"
@@ -2871,18 +3304,131 @@ msgstr "Ustawienie predefiniowane..."
msgid "Reimport"
msgstr "Importuj ponownie"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Nie udało się wczytać zasobu."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Rozwiń wszystkie właściwości"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Zwiń wszystkie właściwości"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Zapisz jako..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Kopiuj parametry"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Wklej parametry"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Schowka zasobów jest pusty!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kopiuj zasób"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Skrypt wbudowany"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Utwórz unikalne pod-zasoby"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Otwórz w Pomocy"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Utwórz nowy zasób w pamięci i edytuj go."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Wczytaj istniejący zasób i edytuj go."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Idź do poprzedniego edytowanego obiektu w historii."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Idź do następnego edytowanego obiektu w historii."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Historia ostatnio edytowanych obiektów."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Właściwości obiektu."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtruj węzły"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Zmiany mogą zostać utracone!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Zestaw wielowęzłowy"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupy"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Wybierz węzeł do edycji sygnałów i grup."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Edytuj wielokÄ…t"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Utwórz solucję C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Wtyczki"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Język"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Skrypt prawidłowy"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2928,6 +3474,149 @@ msgstr ""
msgid "Delete points"
msgstr "Usuwanie punktów"
+#: 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 "Dodaj animacjÄ™"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Wczytaj"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Usuwanie punktów"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Wymaż Punkt."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Przesuń Punkt"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Węzeł animacji"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Akcja %s już istnieje!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "PrzyciÄ…gaj"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Edytuj filtry"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Dodaj węzeł"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Edytuj filtry"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Edytowalne dzieci"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Ustaw automatycznie"
@@ -2954,11 +3643,13 @@ msgid "Remove Animation"
msgstr "Usuń animację"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "BÅÄ„D: błędna nazwa animacji!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "BÅÄ„D: animacja o takiej nazwie już istnieje!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2967,11 +3658,6 @@ msgid "Rename Animation"
msgstr "Zmień nazwę animacji"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Dodaj animacjÄ™"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Blend Next Changed"
msgstr "Zmienione następne przejście animacji"
@@ -2989,11 +3675,13 @@ msgid "Duplicate Animation"
msgstr "Duplikuj animacje"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "BÅÄ„D: Brak animacji do skopiowania!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "BÅÄ„D: Brak zasobu animacji w schowku!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3005,7 +3693,8 @@ msgid "Paste Animation"
msgstr "Wklej animacjÄ™"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "BÅÄ„D: Brak animacji do edycji!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3037,20 +3726,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Skaluj odtwarzanie animacji globalnie dla węzłu."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Stwórz nową animację."
+msgid "Animation Tools"
+msgstr "Narzędzia do animacji"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animacje"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Wczytaj animacjÄ™ z dysku."
+msgid "New"
+msgstr "Nowy"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Wczytaj animacje z dysku."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Przejścia"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Zapisz wybranÄ… animacje"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Otwórz w edytorze"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3062,19 +3758,6 @@ msgstr "Auto odtwarzanie po załadowaniu"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "Edit Target Blend Times"
-msgstr "Edytuj Czas Trwania Przejścia Celu"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Narzędzia do animacji"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Skopiuj animacje"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
msgid "Onion Skinning"
msgstr "Tryb łusek cebuli"
@@ -3125,6 +3808,11 @@ msgid "Include Gizmos (3D)"
msgstr "Dołącz Gizmo (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Wklej animacjÄ™"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Utwórz nową animację"
@@ -3134,6 +3822,7 @@ msgstr "Nazwa animacji:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3151,163 +3840,216 @@ msgstr "Następny (automatyczna kolejka):"
msgid "Cross-Animation Blend Times"
msgstr "Czas Przejścia Między Animacjami"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animacje"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Koniec"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Nie znaleziono w ścieżce zasobów."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Utwórz nowy %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Podłącz węzły"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Usuń wybraną ścieżkę."
+
+#: 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 "Przejście"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "Drzewo animacji"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nowa nazwa:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Edytuj filtry"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Skala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Pojawianie siÄ™ (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Zanikanie (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Mieszanie"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Miks"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Automatyczny Restart:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Restart(y):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Losowy restart (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Start!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Ilośc:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Mieszanie:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Mieszanie 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Mieszanie 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Czas X-Fade (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Bieżący:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Dodaj Wejście"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Clear Auto-Advance"
msgstr "Wyczyść Auto-Progres"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Set Auto-Advance"
msgstr "Ustaw Auto-Progres"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Usuń Wejście"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Drzewo animacji jest poprawne."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Drzewo animacji jest wadliwe."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Węzeł animacji"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Jednorazowy Węzeł"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Wezeł Mieszania"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Węzeł Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Węzeł Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Węzeł Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Węzeł Skalowania Czasu"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Węzeł Przejścia"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Zaimportuj animacje..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Edytuj filtry węzłów"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtry..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "Drzewo animacji"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Darmowy"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Zawartość:"
@@ -3363,8 +4105,14 @@ msgid "Asset Download Error:"
msgstr "Błąd Podczas Pobierania Zasobu:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Pobieranie:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Pobieranie"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Pobieranie"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3391,20 +4139,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Pobieranie tego zasobu jest już w toku!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "pierwszy"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "poprzedni"
+#, fuzzy
+msgid "Previous"
+msgstr "Poprzednia zakładka"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "następny"
+msgid "Next"
+msgstr "Następny"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "ostatni"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3478,7 +4228,7 @@ msgid "Bake Lightmaps"
msgstr "Stwórz Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "PodglÄ…d"
@@ -3487,12 +4237,10 @@ msgid "Configure Snap"
msgstr "Konfiguruj przyciÄ…ganie"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Offset siatki:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Krok siatki:"
@@ -3505,14 +4253,6 @@ msgid "Rotation Step:"
msgstr "Krok obrotu:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Przesuń pivot"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Przesuń Działanie"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Przesuń Pionową Prowadnicę"
@@ -3541,11 +4281,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Utwórz nowe poziome i pionowe prowadnice"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Edytuj łańcuch IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Przesuń pivot"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Edytuj CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Przesuń Działanie"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Edytuj CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Edytuj CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3565,6 +4322,21 @@ msgid "Paste Pose"
msgstr "Wklej pozÄ™"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Oddal"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Wyzeruj przybliżenie"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Przybliż"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Tryb zaznaczenia"
@@ -3612,7 +4384,8 @@ msgid "Pan Mode"
msgstr "Tryb przesuwania"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "PrzyciÄ…ganie"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3620,7 +4393,8 @@ msgid "Use Snap"
msgstr "Użyj przyciągania"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opcje przyciÄ…gania"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3661,6 +4435,11 @@ msgid "Snap to node sides"
msgstr "Przyciągaj do boków węzła"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Przyciągaj do kotwicy węzła"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Przyciągaj do innych węzłów"
@@ -3687,14 +4466,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Odblokuj selekcję węzłów podrzędnych."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Utwórz Kości"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Wyczyść Kości"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Pokaż kości"
@@ -3707,6 +4478,15 @@ msgid "Clear IK Chain"
msgstr "Wyczyść ÅaÅ„cuch IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Wyczyść Kości"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Widok"
@@ -3749,14 +4529,11 @@ msgid "Layout"
msgstr "Układ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Wstaw Klucze"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Wstaw Klucz"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Wstaw Klucz (Istniejące Ścieżki)"
@@ -3769,14 +4546,6 @@ msgid "Clear Pose"
msgstr "Wyczyść Pozę"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "PrzeciÄ…gnij oÅ› z pozycji myszy"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Ustaw pivot w pozycji myszy"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Podwój wielkość siatki"
@@ -3792,10 +4561,6 @@ msgstr "Dodaj %s"
msgid "Adding %s..."
msgstr "Dodawanie %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Nie można utworzyć wielu wezłów bez węzła głównego."
@@ -3830,27 +4595,20 @@ msgstr "Stwórz Poly3D"
msgid "Set Handle"
msgstr "Ustaw Uchwyt"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Usuń element %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Dodaj element"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Usuń zaznaczony element"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "CzÄ…steczki"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Import ze sceny"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Twórz punkty emisji z siatki"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Aktualizuj ze sceny"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Twórz punkty emisji z węzła"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3923,15 +4681,6 @@ msgstr "Przytrzymaj Shift aby edytować styczne indywidualnie"
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Dodaj/Usuń punkty w Color Ramp"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modyfikuj Color Ramp"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Element %d"
@@ -4017,6 +4766,7 @@ msgid "No mesh to debug."
msgstr "Brak siatki do debugowania."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Model nie posiada UV w tej warstwie"
@@ -4085,6 +4835,27 @@ msgstr "Utwórz siatkę zarysu"
msgid "Outline Size:"
msgstr "Rozmiar zarysu:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Usuń element %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Dodaj element"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Usuń zaznaczony element"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Import ze sceny"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Aktualizuj ze sceny"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4193,72 +4964,6 @@ msgstr "Losowa skala:"
msgid "Populate"
msgstr "Zapełnij"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Bake!"
-msgstr "NanieÅ›!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Bake the navigation mesh."
-msgstr "NanieÅ› siatkÄ™ nawigacji.\n"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Wyczyść siatkę nawigacji."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Ustawianie konfiguracji..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Obliczanie wielkości siatki..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Zaznaczanie możliwych do przejścia trójkątów ..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Rozdzielanie..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Tworzenie konturów..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Tworzenie polymesh'a..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Konwertowanie do natywnej siatki nawigacyjnej..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Ustawienia generatora siatek nawigacyjnych:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Parsowanie Geometrii..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Skończone!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Utwórz wielokąt nawigacyjny"
@@ -4320,19 +5025,6 @@ msgid "Emission Colors"
msgstr "Kolor emisji"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Węzeł nie zawiera geometrii."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Węzeł nie zawiera geometrii (ściany)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-#, fuzzy
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Materiał przetwarzający typu 'ParticlesMaterial' jest wymagany."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Åšciana nie ma powierzchni!"
@@ -4341,16 +5033,12 @@ msgid "No faces!"
msgstr "Brak ścian!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Generuj AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Twórz punkty emisji z siatki"
+msgid "Node does not contain geometry."
+msgstr "Węzeł nie zawiera geometrii."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Twórz punkty emisji z węzła"
+msgid "Node does not contain geometry (faces)."
+msgstr "Węzeł nie zawiera geometrii (ściany)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4378,6 +5066,20 @@ msgid "Emission Source: "
msgstr "Źródła emisji: "
#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Materiał przetwarzający typu 'ParticlesMaterial' jest wymagany."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Generuj AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Wielkie litery"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Generuj AABB widoczności"
@@ -4456,6 +5158,22 @@ msgstr "Usuń Punkt"
msgid "Close Curve"
msgstr "Zamknij krzywÄ…"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opcje"
+
+#: 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 "Punkt Krzywej #"
@@ -4492,19 +5210,95 @@ msgstr "Usuń punkt ścieżki"
msgid "Remove In-Control Point"
msgstr "Usuń punkt ścieżki"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Przesuń Punkt"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Pokaż kości"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Utwórz Mapę UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Utwórz Polygon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Akcja %s już istnieje!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Dodaj punkt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Niepoprawna ścieżka!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Usuń punkt"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Przekształć Mapę UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "WielokÄ…t 2D UV Edytor"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Edytuj wielokÄ…t"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Podziel Ścieżkę"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Utwórz Kości"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Utwórz Polygon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Przesuń Punkt"
@@ -4533,12 +5327,25 @@ msgid "Scale Polygon"
msgstr "Skaluj WielokÄ…t"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Edycja"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Najpierw wybierz ustawienie z listy!"
+
+#: 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 "Polygon->UV"
@@ -4553,9 +5360,9 @@ msgid "Clear UV"
msgstr "Wyczyść UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "PrzyciÄ…gaj"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Ustawienia GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4565,6 +5372,36 @@ msgstr "Włączyć przyciąganie"
msgid "Grid"
msgstr "Siatka"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Konfiguruj przyciÄ…ganie"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Offset siatki:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Offset siatki:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Krok siatki:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Krok siatki:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Skaluj WielokÄ…t"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "BÅÄ„D: Nie można wczytać zasobu!"
@@ -4587,6 +5424,10 @@ msgid "Resource clipboard is empty!"
msgstr "Schowka zasobów jest pusty!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Wklej zasób"
+
+#: 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"
@@ -4608,17 +5449,19 @@ msgid "Load Resource"
msgstr "Wczytaj Zasób"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Wklej"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
msgstr "Ścieżka zasobu"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Drzewo animacji jest wadliwe."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Wyczyść ostatnie pliki"
@@ -4628,6 +5471,21 @@ msgid "Close and save changes?"
msgstr "Zamknąć i zapisać zmiany?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Błąd wczytywania obrazu:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Nie można wczytać obrazu"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Błąd podczas zapisywania TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Błąd podczas zapisywania motywu"
@@ -4644,6 +5502,21 @@ msgid "Error importing"
msgstr "Błąd importowania"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Utwórz katalog..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Otwórz plik"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Zapisz jako..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Zaimportuj motyw"
@@ -4657,6 +5530,10 @@ msgid " Class Reference"
msgstr " Referencja klas"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "Sortuj:"
@@ -4686,8 +5563,9 @@ msgid "File"
msgstr "Plik"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Nowy"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Pokaż pliki"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4714,6 +5592,11 @@ msgid "History Next"
msgstr "Następny plik"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Motyw"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Przeładuj motyw"
@@ -4747,11 +5630,6 @@ msgstr "Przełącz panel skryptów"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Znajdź..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Znajdź następny"
@@ -4805,10 +5683,6 @@ msgid "Discard"
msgstr "Odrzucić"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Utwórz Skrypt"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4829,6 +5703,16 @@ msgid "Debugger"
msgstr "Debugger"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Wyszukaj w Pomocy"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Przeszukaj klasy"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4836,40 +5720,56 @@ msgstr ""
"należą"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linia:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Jedynie zasoby z systemu plików mogą zostać tu upuszczone."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Uzupełnij symbol"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Wybierz Kolor"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Zmień wielkość liter"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Wielkie Litery"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Małe Litery"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Wielkie litery na początku słów"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Wytnij"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopiuj"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4958,8 +5858,9 @@ msgid "Find Previous"
msgstr "Znajdź poprzedni"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Zamień..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrowanie plików..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4977,131 +5878,42 @@ msgstr "Pomoc kontekstowa"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Zmień wartość stałej skalarnej"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Zmień stałą Vec"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Zmień stałą RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Zmień operator skalara"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Zmień operator Vec"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Zmień operator Vec Scalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Zmień operator RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Przełącz tylko rotacje"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-#, fuzzy
-msgid "Change Scalar Function"
-msgstr "Zamień funkcję skalarną"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Zmień funkcję wektorową"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Zmień Wartość Domyślną"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Szkielet..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Zmień komentarz"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Dodaj/Usuń do mapy krzywej"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Edytuj mape krzywej"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
+#: editor/plugins/skeleton_editor_plugin.cpp
#, fuzzy
-msgid "Change Input Name"
-msgstr "Zmień nazwę wejścia"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Połącz węzły grafu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Odłącz węzły grafu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Usuń węzeł Shader Graph"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Duplikuj węzły grafu"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Usuń węzeł(y) Shader Graph"
+msgid "Create physical bones"
+msgstr "Utwórz siatkę nawigacyjną (Navigation Mesh)"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Szkielet..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Błąd: Brakujące połączenia wejścia"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Utwórz solucję C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Uruchom"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5235,10 +6047,6 @@ msgid "Align with view"
msgstr "Wyrównaj z widokiem"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Brak elementu nadrzędnego do stworzenia instancji."
@@ -5247,6 +6055,11 @@ msgid "This operation requires a single selected node."
msgstr "Ta operacja wymaga pojedynczego wybranego węzła."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Wyświetlaj informacje"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Widok normalny"
@@ -5293,6 +6106,11 @@ msgid "Doppler Enable"
msgstr "Efekt Dopplera"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Tworzenie podglÄ…du Mesh"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "\"Wolny widok\" w lewo"
@@ -5427,6 +6245,11 @@ msgid "Tool Scale"
msgstr "Narzędzia Skala"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "PrzyciÄ…gaj do siatki"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Przełącz swobodny widok"
@@ -5435,6 +6258,10 @@ msgid "Transform"
msgstr "Przekształcanie"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Okno transformowania..."
@@ -5463,6 +6290,11 @@ msgid "4 Viewports"
msgstr "4 widoki"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Wyświetlaj uchwyty"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Pokaż pozycję początkową"
@@ -5476,10 +6308,6 @@ msgid "Settings"
msgstr "Ustawienia"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Ustawienia przyciÄ…gania"
@@ -5541,6 +6369,53 @@ msgstr "Przed"
msgid "Post"
msgstr "Po"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Ścieżka zapisu jest pusta!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Konwersja do %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Utwórz siatkę zarysu"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "PrzyciÄ…ganie (piksele):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "PodglÄ…d"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Ustawienia"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "Błąd: Nie można załadować zasobu klatki!"
@@ -5609,14 +6484,6 @@ msgstr "PrzenieÅ› (za)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "PodglÄ…d StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Ustaw obszar tekstury"
@@ -5642,28 +6509,22 @@ msgid "Auto Slice"
msgstr "Tnij automatycznie"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Przesunięcie:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Krok:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Separacja:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Obszar tekstury"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Edytor regionu tekstury"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Nie mogę zapisać motywu do pliku:"
@@ -5677,11 +6538,6 @@ msgid "Add All"
msgstr "Dodaj wszystko"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Usuń element"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Usuń wszystkie elementy"
@@ -5757,10 +6613,6 @@ msgstr "Ma"
msgid "Many"
msgstr "Wiele"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opcje"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5789,7 +6641,7 @@ msgstr "Rodzaj Daty:"
msgid "Icon"
msgstr "Ikona"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Styl"
@@ -5802,14 +6654,19 @@ msgid "Color"
msgstr "Kolor"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Motyw"
+msgid "Constant"
+msgstr "Stałe"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Usuń zaznaczenie"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Niewłaściwa nazwa."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Maluj TileMap"
@@ -5830,11 +6687,8 @@ msgid "Erase TileMap"
msgstr "Wyczyść TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Usuń zaznaczenie"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Znajdź tile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5858,6 +6712,11 @@ msgid "Pick Tile"
msgstr "Wybierz tile"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Usuń zaznaczone"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Obróć o 0 stopni"
@@ -5874,12 +6733,40 @@ msgid "Rotate 270 degrees"
msgstr "Obróć o 270 stopni"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Nie mogłem znaleźć tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Dodaj węzeł(y) z drzewa"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Usuń punkt krzywej"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr "Utwórz ze sceny"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr "Połącz ze sceny"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nazwa elementu lub ID:"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Selected Textue and ALL TILES wich uses 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?"
@@ -5890,50 +6777,71 @@ msgid "Merge from scene?"
msgstr "Połącz ze sceny?"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid " file(s) was not added because was already on the list."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Utwórz ze sceny"
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Połącz ze sceny"
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Błąd"
+msgid ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Autotiles"
-msgstr "Autotiles"
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
+msgstr "Wybierz aktualnie edytowany sub-tile."
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings."
+"bindings.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
-"LMB: set bit on.\n"
-"RMB: set bit off."
+"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 current edited sub-tile."
-msgstr "Wybierz aktualnie edytowany sub-tile."
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Ta operacja nie może zostać wykonana bez sceny."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
-msgstr ""
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Anuluj"
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Wierzchołki"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "Argumenty:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Prawa"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5948,8 +6856,8 @@ msgid "Delete preset '%s'?"
msgstr "Usunąć predefiniowane '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Brakuje/Uszkodzone szablony eksportu dla tej platformy: "
+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 "Presets"
@@ -6026,10 +6934,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Brakuje eksportu szablonów dla tej platformy:"
#: 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 With Debug"
msgstr "Eksport z debugowaniem"
@@ -6038,8 +6942,9 @@ msgid "The path does not exist."
msgstr "Ścieżka nie istnieje."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Proszę wybrać plik 'project.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "Proszę wybrać folder nie zawierający pliku 'project.godot'."
#: editor/project_manager.cpp
#, fuzzy
@@ -6047,6 +6952,15 @@ msgid "Please choose an empty folder."
msgstr "Proszę wybrać plik 'project.godot'."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Proszę wybrać plik 'project.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Zaimportowano projekt"
@@ -6135,6 +7049,11 @@ msgid "Project Path:"
msgstr "Ścieżka do projektu:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Ścieżka do projektu:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Szukaj"
@@ -6254,8 +7173,8 @@ msgstr "Przycisk myszy"
#: editor/project_settings_editor.cpp
#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Niepoprawna nazwa akcji. Nazwa nie może być pusta ani zawierać znaki takie "
"jak: '/', ':', '=', '\\' lub '\"'"
@@ -6269,9 +7188,23 @@ msgid "Rename Input Action Event"
msgstr "Zmień nazwę zdarzenia akcji wejścia"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Zmień nazwę animacji:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Dodaj zdarzenie akcji wejścia"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "UrzÄ…dzenie"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "UrzÄ…dzenie"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6313,20 +7246,24 @@ msgid "Wheel Down Button"
msgstr "Kółko myszy w dół"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Przycisk 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Kółko myszy w górę"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Przycisk 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Prawy guzik"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Przycisk 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Przycisk 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Przycisk 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Przycisk 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6353,10 +7290,6 @@ msgid "Add Event"
msgstr "Dodaj zdarzenie"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "UrzÄ…dzenie"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Button"
@@ -6401,6 +7334,15 @@ msgid "Delete Item"
msgstr "Usuń element"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Niepoprawna nazwa akcji. Nazwa nie może być pusta ani zawierać znaki takie "
+"jak: '/', ':', '=', '\\' lub '\"'"
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Już istnieje"
@@ -6472,6 +7414,10 @@ msgstr "Właściwość:"
msgid "Override For..."
msgstr "Nadpisz dla..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Mapowanie wejścia"
@@ -6481,6 +7427,14 @@ msgid "Action:"
msgstr "Akcja:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Akcja"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "UrzÄ…dzenie:"
@@ -6541,10 +7495,6 @@ msgid "AutoLoad"
msgstr "Autoładowanie"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Wybierz Viewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6581,35 +7531,10 @@ msgid "Select Node"
msgstr "Wybierz węzeł"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Nowy skrypt"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Nowy %s"
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Make Unique"
-msgstr "Utwórz unikatowy zasób"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Pokaż w systemie plików"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Konwersja do %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Błąd wczytania pliku: Brak zasobu!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Wybrany węzeł to nie Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Wybierz węzeł"
@@ -6619,18 +7544,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, wartość %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Włącz"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Pusty]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Ustaw"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Właściwości:"
@@ -6655,6 +7568,134 @@ msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
"Nie można załadować przekonwertowanego obrazka używając narzędzia PVRTC:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Zmień nazwę"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opcje przyciÄ…gania"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nazwa węzła:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Znajdź typ węzła"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Aktualna scena"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nazwa węzła:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Krok:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Zmień wyrażenie"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Skrypt do wywołania po imporcie:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Bez zmian"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Małe Litery"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Wielkie Litery"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Wyzeruj przybliżenie"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Błąd"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Zmień nadrzędny węzeł"
@@ -6691,11 +7732,6 @@ msgstr "Argumenty głównej sceny:"
msgid "Scene Run Settings"
msgstr "Ustawienia uruchomienia sceny"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Brak elementu nadrzędnego do stworzenia instancji sceny."
@@ -6717,6 +7753,10 @@ msgid "Instance Scene(s)"
msgstr "Instancja Scen(y)"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Usuń skrypt"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Nie można wykonać tej operacji na głównym węźle drzewa."
@@ -6759,12 +7799,34 @@ msgid "Load As Placeholder"
msgstr "Wczytaj jako zastępczy"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Odrzuć instancjonowanie"
+#, fuzzy
+msgid "Make Local"
+msgstr "Uczyń lokalnym"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "To ma sens!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Utwórz węzeł"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Wyczyść dziedziczenie"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Wytnij Węzły"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6775,6 +7837,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Nie można działać na węzłach z których dziedziczy obecna scena!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Dodaj skrypt"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Usuń węzeł(y)"
@@ -6819,18 +7885,15 @@ msgid "Change Type"
msgstr "Zmień typ"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Dodaj skrypt"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Usuń skrypt"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "To ma sens!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Dołącz ze sceny"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Zapisz gałąź jako scenę"
@@ -6855,10 +7918,6 @@ msgstr ""
"główny nie istnieje."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtruj węzły"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Dołącz nowy lub istniejący skrypt do zaznaczonego węzła."
@@ -6878,25 +7937,19 @@ msgstr "Lokalny"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Wyczyścić dziedziczenie? (Nie można cofnąć!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Czysto!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Przełącz widoczność Spatial"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Przełącz widoczność CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Przełącz widoczność"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Ostrzeżenie konfiguracji węzła:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Węzeł posiada połączenia i grupy\n"
@@ -6918,14 +7971,16 @@ msgstr ""
"Węzeł jest w grupach.\n"
"Kliknij, aby wyświetlić panel grup."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Otwórz skrypt"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Węzeł jest zablokowany.\n"
"Kliknij by odblokować"
@@ -6934,7 +7989,7 @@ msgstr ""
#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Dziecko nie jest możliwe do zaznaczenia.\n"
"Kliknij by móc zaznaczyć"
@@ -6944,6 +7999,12 @@ msgid "Toggle Visibility"
msgstr "Przełącz widoczność"
#: 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 "Nieprawidłowa nazwa węzła, następujące znaki są niedozwolone:"
@@ -6980,6 +8041,11 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Otwórz edytor skryptów"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Ścieżka jest pusta"
@@ -7216,10 +8282,22 @@ msgid "Change Camera Size"
msgstr "Zmień rozmiar kamery"
#: 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 "Change Probe Extents"
+msgstr "Zmień rozmiar Probe"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Zmień promień Sphere Shape"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Zmień rozmiar Box Shape"
@@ -7232,20 +8310,38 @@ msgid "Change Capsule Shape Height"
msgstr "Zmień wysokość kształtu kapsuły"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Zmień długość Ray Shape"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Zmień średnicę Capsule Shape"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr ""
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Zmień wysokość kształtu kapsuły"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr ""
+msgid "Change Ray Shape Length"
+msgstr "Zmień długość Ray Shape"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Zmień rozmiar Probe"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Zmień promień światła"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Zmień wysokość kształtu kapsuły"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Zmień promień Sphere Shape"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Zmień promień światła"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7301,17 +8397,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Niepoprawny typ argumentu funkcji convert(), użyj stałych TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"Niewystarczająca ilość bajtów dla bajtów dekodujących, albo zły format."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "argument kroku wynosi zero!"
@@ -7379,6 +8464,11 @@ msgid "GridMap Delete Selection"
msgstr "GridMap Usuń zaznaczenie"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "GridMap Usuń zaznaczenie"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "GridMap duplikuj zaznaczenie"
@@ -7466,6 +8556,11 @@ msgid "Clear Selection"
msgstr "Wyczyść zaznaczenie"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Wszystkie zaznaczenia"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Ustawienia GridMap"
@@ -7534,6 +8629,72 @@ msgstr "Pokaż pliki"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Bake!"
+msgstr "NanieÅ›!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Bake the navigation mesh."
+msgstr "NanieÅ› siatkÄ™ nawigacji.\n"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Wyczyść siatkę nawigacji."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Ustawianie konfiguracji..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Obliczanie wielkości siatki..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Zaznaczanie możliwych do przejścia trójkątów ..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Rozdzielanie..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Tworzenie konturów..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Tworzenie polymesh'a..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Konwertowanie do natywnej siatki nawigacyjnej..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Ustawienia generatora siatek nawigacyjnych:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Parsowanie Geometrii..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Skończone!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7587,10 +8748,6 @@ msgid "Set Variable Type"
msgstr "Ustaw typ zmiennej"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funkcje:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Zmienne:"
@@ -7700,37 +8857,14 @@ msgid "Connect Nodes"
msgstr "Podłącz węzły"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Warunek"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sekwencja"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Przełącznik"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterator"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "While"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Zwraca"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Wywołanie"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Podłącz węzły"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Get"
-msgstr "Pobierz"
+msgid "Connect Node Sequence"
+msgstr "Podłącz węzły"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7758,26 +8892,18 @@ msgid "Remove Function"
msgstr "Usuń funkcję"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Edytuj zmiennÄ…"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Usuń zmienną"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Edytuj sygnał"
+msgid "Editing Variable:"
+msgstr "Edytuj zmiennÄ…:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Usuń sygnał"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Edytuj zmiennÄ…:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Edytuj sygnał:"
@@ -7821,6 +8947,11 @@ msgstr "Wytnij Węzły"
msgid "Paste Nodes"
msgstr "Wklej węzły"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Członkowie"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Typ danych wejściowych nie jest iterowalny: "
@@ -7879,6 +9010,20 @@ msgstr ""
"Nieprawidłowa wartość zwracana przez funkcję _step(), musi ona być liczbą "
"całkowitą (seq out), lub tekstową (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Usuń węzeł VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Get"
+msgstr "Pobierz"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Uruchom w przeglÄ…darce"
@@ -7930,9 +9075,10 @@ msgstr ""
"przy czym pozostałe zostaną zignorowane."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Ten węzeł nie posiada podwezła, który definiował by jego kształt, więc nie "
@@ -8040,6 +9186,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "Żeby zadziałało, pole Path musi wskazywać na istniejący węzeł Node2D."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8106,9 +9265,10 @@ msgid "Lighting Meshes: "
msgstr "Oświetlanie siatek: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Ten węzeł nie posiada podwezła, który definiowałby jego kształt, więc nie "
@@ -8203,6 +9363,21 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
msgstr ""
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Zmiany rozmiaru w RigidBody (w trybach character i rigid) zostanÄ… nadpisane "
+"przez silnik fizyki podczas działania.\n"
+"Zamiast tego, zmień rozmiary kształtów kolizji w węzłach podrzędnych."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8219,6 +9394,47 @@ msgstr ""
"VehicleWheel zapewnia system kół do VehicleBody. Proszę użyć go jako "
"dziedziczÄ…cego po VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Narzędzia do animacji"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "BÅÄ„D: błędna nazwa animacji!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Rozłącz '%s' z '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Zaznacz węzeł AnimationPlayer w drzewie sceny aby edytować animacje."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Drzewo animacji jest wadliwe."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Trybie RAW"
@@ -8301,12 +9517,340 @@ msgstr "Błąd ładowania fonta."
msgid "Invalid font size."
msgstr "Niepoprawny rozmiar fonta."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Dodaj Wejście"
+
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Poprzednia zakładka"
+msgid "None"
+msgstr "<żaden>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Wadliwe źródło!"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Zmień wartość stałej skalarnej"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Zmień stałą Vec"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Zmień stałą RGB"
-#~ msgid "Next"
-#~ msgstr "Następny"
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Zmień operator skalara"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Zmień operator Vec"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Zmień operator Vec Scalar"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Zmień operator RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Przełącz tylko rotacje"
+
+#, fuzzy
+#~ msgid "Change Scalar Function"
+#~ msgstr "Zamień funkcję skalarną"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Zmień funkcję wektorową"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Zmień Wartość Domyślną"
+
+#~ msgid "Change Comment"
+#~ msgstr "Zmień komentarz"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modyfikuj Color Ramp"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Dodaj/Usuń do mapy krzywej"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Edytuj mape krzywej"
+
+#, fuzzy
+#~ msgid "Change Input Name"
+#~ msgstr "Zmień nazwę wejścia"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Połącz węzły grafu"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Odłącz węzły grafu"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Usuń węzeł Shader Graph"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Duplikuj węzły grafu"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Usuń węzeł(y) Shader Graph"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Błąd: Brakujące połączenia wejścia"
+
+#~ msgid "Disabled"
+#~ msgstr "Wyłączone"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Przesuń ścieżkę animacji w górę"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Przesuń ścieżkę animacji w dół"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Ustaw przejścia na:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Zmień nazwę ściezki animacji"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Zmień funkcję interpolacji animacji"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Zmień tryb wartości animacji"
+
+#, fuzzy
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Ścieżka Animacji - Zmień Tryb Zawijania"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Edytuj krzywe"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Edytuj krzywÄ… selekcji"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Dodaj klucz animacji"
+
+#~ msgid "In"
+#~ msgstr "We."
+
+#~ msgid "Out"
+#~ msgstr "Wy."
+
+#~ msgid "In-Out"
+#~ msgstr "We-Wy"
+
+#~ msgid "Out-In"
+#~ msgstr "Wy-We"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Zmień długość animacji"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Zmień pętlę animacji"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Utwórz klucz dla wpisanej wartości"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Dodaj ścieżkę wywołania funkcji"
+
+#~ msgid "Length (s):"
+#~ msgstr "Długość:"
+
+#~ msgid "Step (s):"
+#~ msgstr "Krok:"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Krok kursora (w sekundach)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Włącz/Wyłącz zapętlenie animacji."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Dodaj nowe ścieżki."
+
+#~ msgid "Move current track up."
+#~ msgstr "Przesuń wybraną ścieżkę do góry."
+
+#~ msgid "Move current track down."
+#~ msgstr "Przesuń wybraną ścieżkę w dół."
+
+#~ msgid "Track tools"
+#~ msgstr "Narzędzia ścieżki"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Włączenie edycji pojedynczych kluczy poprzez kliknięcie na nie."
+
+#~ msgid "Key"
+#~ msgstr "Klucz"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Z którego węzła wywołać funkcję?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Dzięki!"
+
+#~ msgid "I see..."
+#~ msgstr "WidzÄ™..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Nie można otworzyć '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Błąd"
+
+#~ msgid "Run Script"
+#~ msgstr "Uruchom skrypt"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Zapisz aktualnie edytowany zasób."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Zatrzymaj profilowanie"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Rozpocznij profilowanie"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Damyślny(Same as Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Stwórz nową animację."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Wczytaj animacjÄ™ z dysku."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Wczytaj animacje z dysku."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Zapisz wybranÄ… animacje"
+
+#, fuzzy
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Edytuj Czas Trwania Przejścia Celu"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Skopiuj animacje"
+
+#~ msgid "Fetching:"
+#~ msgstr "Pobieranie:"
+
+#~ msgid "prev"
+#~ msgstr "poprzedni"
+
+#~ msgid "next"
+#~ msgstr "następny"
+
+#~ msgid "last"
+#~ msgstr "ostatni"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Edytuj łańcuch IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "PrzeciÄ…gnij oÅ› z pozycji myszy"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Ustaw pivot w pozycji myszy"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Dodaj/Usuń punkty w Color Ramp"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "PodglÄ…d StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "Separacja:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Edytor regionu tekstury"
+
+#~ msgid "Erase selection"
+#~ msgstr "Usuń zaznaczenie"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Nie mogłem znaleźć tile:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nazwa elementu lub ID:"
+
+#, fuzzy
+#~ msgid "Autotiles"
+#~ msgstr "Autotiles"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Brakuje/Uszkodzone szablony eksportu dla tej platformy: "
+
+#~ msgid "Button 7"
+#~ msgstr "Przycisk 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Przycisk 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Przycisk 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Odrzuć instancjonowanie"
+
+#~ msgid "Clear!"
+#~ msgstr "Czysto!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Przełącz widoczność Spatial"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Przełącz widoczność CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "Warunek"
+
+#~ msgid "Sequence"
+#~ msgstr "Sekwencja"
+
+#~ msgid "Switch"
+#~ msgstr "Przełącznik"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterator"
+
+#~ msgid "While"
+#~ msgstr "While"
+
+#~ msgid "Return"
+#~ msgstr "Zwraca"
+
+#~ msgid "Call"
+#~ msgstr "Wywołanie"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Edytuj zmiennÄ…"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Edytuj sygnał"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Nieprawidłowa akcja (wszystko oprócz '/' lub ':')."
@@ -8324,9 +9868,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Can't write file."
#~ msgstr "Nie można zapisać pliku."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "Proszę wybrać folder nie zawierający pliku 'project.godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Nie można było utworzyć engine.cfg w ścieżce projektu."
@@ -8447,15 +9988,9 @@ msgstr "Niepoprawny rozmiar fonta."
#~ "Pole trybu Render Target musi być ustawione w Viewport wskazywanym przez "
#~ "pole Path, aby ten Sprite mógł zadziałać."
-#~ msgid "Filter:"
-#~ msgstr "Filtr:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "Lista metod '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "Argumenty:"
-
#~ msgid "Return:"
#~ msgstr "Zwraca:"
@@ -8486,9 +10021,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "Bieżąca scena musi być zapisana aby ponownie zaimportować."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Zapisz i importuj ponownie"
-
#~ msgid "Re-Importing"
#~ msgstr "Prze-Importowanie"
@@ -8517,10 +10049,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Can't move directories to within themselves."
#~ msgstr "Nie możesz przenieść danego katalogu do jego wnętrza."
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Błąd wczytywania obrazu:"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Wybierz nowÄ… nazwÄ™ i lokacjÄ™ dla:"
@@ -8545,9 +10073,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Target path must exist."
#~ msgstr "Docelowa ścieżka musi istnieć."
-#~ msgid "Save path is empty!"
-#~ msgstr "Ścieżka zapisu jest pusta!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Importuj BitMasks"
@@ -8658,15 +10183,9 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Max Angle"
#~ msgstr "Maksymalny KÄ…t"
-#~ msgid "Clips"
-#~ msgstr "Klipy"
-
#~ msgid "Start(s)"
#~ msgstr "Start"
-#~ msgid "End(s)"
-#~ msgstr "Koniec"
-
#~ msgid "Filters"
#~ msgstr "Filtry"
@@ -8697,19 +10216,12 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Target Texture Folder:"
#~ msgstr "Docelowy folder tekstur:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Skrypt do wywołania po imporcie:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Niestandardowy typ węzła głównego:"
#~ msgid "Auto"
#~ msgstr "Automatyczny"
-#, fuzzy
-#~ msgid "Root Node Name:"
-#~ msgstr "Nazwa węzła:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Brakuje następujących plików:"
@@ -8769,9 +10281,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Zaimportuj Tekstury z \"Atlas'u\" (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Rozmiar komórki:"
-
#~ msgid "Large Texture"
#~ msgstr "Duża Tekstura"
@@ -8855,9 +10364,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Nie można zapisać zkonwertowanej tekstury:"
-#~ msgid "Invalid source!"
-#~ msgstr "Wadliwe źródło!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Nieprawidłowe źródło tłumaczenia!"
@@ -8901,24 +10407,12 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Making BVH"
#~ msgstr "Tworzenie BVH"
-#~ msgid "Zoom (%):"
-#~ msgstr "Powiększenie (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Szkielet..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Wyzeruj przybliżenie"
-
#~ msgid "Zoom Set..."
#~ msgstr "Ustaw przybliżenie..."
#~ msgid "Set a Value"
#~ msgstr "Ustaw Wartość"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "PrzyciÄ…ganie (piksele):"
-
#~ msgid "Parse BBCode"
#~ msgstr "Parsuj BBCode"
@@ -8994,16 +10488,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgstr "Narzędzia zasobów"
#, fuzzy
-#~ msgid "Make Local"
-#~ msgstr "Uczyń lokalnym"
-
-#~ msgid "Edit Groups"
-#~ msgstr "Edytuj grupy"
-
-#~ msgid "Edit Connections"
-#~ msgstr "Edytuj Połączenia"
-
-#, fuzzy
#~ msgid "Tiles"
#~ msgstr "Plik"
@@ -9087,9 +10571,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Ambient Light Color:"
#~ msgstr "Kolor światła otoczenia:"
-#~ msgid "Couldn't load image"
-#~ msgstr "Nie można wczytać obrazu"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Nieprawidłowa nazwa klasy bazowej"
@@ -9105,9 +10586,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Nazwa klasy nadrzędnej jest niepoprawna!"
-#~ msgid "Invalid path!"
-#~ msgstr "Niepoprawna ścieżka!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "Żeby zadziałało, pole Path musi wskazywać na istniejący węzeł Particles2D."
@@ -9193,9 +10671,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Export all files in the project directory."
#~ msgstr "Eksportuj wszystkie pliki w katalogu projektu."
-#~ msgid "Action"
-#~ msgstr "Akcja"
-
#~ msgid "Images"
#~ msgstr "Obrazki"
@@ -9208,9 +10683,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Compress Formats:"
#~ msgstr "Format kompresji:"
-#~ msgid "Image Groups"
-#~ msgstr "Grupy obrazków"
-
#~ msgid "Groups:"
#~ msgstr "Grupy:"
@@ -9232,9 +10704,6 @@ msgstr "Niepoprawny rozmiar fonta."
#~ msgid "Samples"
#~ msgstr "Sample"
-#~ msgid "Keep"
-#~ msgstr "Bez zmian"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Kompresja (RAM - IMA-ADPCM)"
diff --git a/editor/translations/pr.po b/editor/translations/pr.po
index ee30748cee..1ea7dca649 100644
--- a/editor/translations/pr.po
+++ b/editor/translations/pr.po
@@ -19,337 +19,476 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.18-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Cursed"
+#: 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 ""
+"Shiver me timbers! ye type argument t' convert() be wrong! use yer TYPE_* "
+"constants!"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "All yer Booty"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+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"
+msgstr ""
-#: editor/animation_editor.cpp
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Yer index property name '%s' in node %s be walkin' th' plank!"
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Yer index property name '%s' in node %s be walkin' th' plank!"
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Evil argument of th' type: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: 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 "Change yer Anim Value"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Transition"
msgstr "Change yer Anim Transition"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Transform"
msgstr "Change yer Anim Transform"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "Change yer Anim Value"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Call"
msgstr "Change yer Anim Call"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
+#: editor/animation_track_editor.cpp
+msgid "Add Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Yer functions:"
+
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Discharge ye' Signal"
+
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp
-msgid "Linear"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Rename Variable"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
+msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
+#: editor/animation_track_editor.cpp
+msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Create NEW track for %s and insert key?"
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Create %d NEW tracks and insert keys?"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
-#: editor/plugins/light_occluder_2d_editor_plugin.cpp
-#: editor/plugins/mesh_instance_editor_plugin.cpp
-#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
-msgid "Create"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create & Insert"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert Track & Key"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert Key"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet be in davy jones locker! Not in th' script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Edit"
+
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Paste yer Node"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -370,7 +509,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -386,7 +525,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -398,18 +537,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -439,7 +586,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -470,7 +618,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -492,11 +640,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -504,14 +652,45 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Slit th' Node"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Slit th' Node"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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
+#, fuzzy
+msgid "Edit..."
+msgstr "Edit"
+
+#: editor/connections_dialog.cpp
+msgid "Go To Method"
+msgstr ""
+
#: editor/create_dialog.cpp
#, fuzzy
msgid "Change %s Type"
@@ -535,22 +714,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -608,7 +790,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -627,7 +811,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -695,8 +879,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -873,6 +1061,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -942,7 +1131,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -952,7 +1142,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -989,47 +1178,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1062,7 +1251,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1125,6 +1314,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1161,7 +1355,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1214,7 +1408,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1362,20 +1557,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Set"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1397,11 +1599,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1414,8 +1611,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1459,10 +1656,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1529,42 +1722,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1738,11 +1895,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1771,6 +1923,15 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Close"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1892,10 +2053,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1905,6 +2062,11 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Slit th' Node"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1997,6 +2159,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2012,7 +2186,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2056,7 +2231,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2077,59 +2252,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2146,6 +2294,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2222,19 +2374,24 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Ye be fixin' Signal:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2242,12 +2399,14 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr ""
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Edit"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2295,6 +2454,101 @@ msgstr ""
msgid "Calls"
msgstr "Call"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Edit"
+
+#: 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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2329,10 +2583,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2358,6 +2608,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2382,8 +2633,9 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
-msgstr ""
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
+msgstr "Yer index property name be thrown overboard!"
#: editor/export_template_manager.cpp
msgid "No version.txt found inside templates."
@@ -2443,6 +2695,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2526,7 +2784,7 @@ msgid "Download Templates"
msgstr "Discharge ye' Variable"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2538,11 +2796,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2617,7 +2875,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2646,6 +2904,21 @@ msgid "Duplicate..."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2658,26 +2931,126 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Slit th' Node"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Paste yer Node"
+
+#: 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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Yer unique name be evil."
+
+#: 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
+#, fuzzy
+msgid "Filter nodes"
+msgstr "Paste yer Node"
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2688,6 +3061,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2729,7 +3106,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2789,16 +3166,123 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Paste yer Node"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr ""
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr ""
#: editor/node_dock.cpp
-msgid "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: 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
+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
@@ -2843,6 +3327,145 @@ msgstr ""
msgid "Delete points"
msgstr "Yar, Blow th' Selected Down!"
+#: 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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Yar, Blow th' Selected Down!"
+
+#: 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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filters"
+msgstr "Edit yer Variable:"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Add Node"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Edit yer Variable:"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr ""
@@ -2869,11 +3492,12 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
-msgstr ""
+#, fuzzy
+msgid "Invalid animation name!"
+msgstr "Yer unique name be evil."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2882,11 +3506,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2903,11 +3522,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2919,7 +3538,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2951,39 +3570,32 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "Edit Transitions..."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3036,6 +3648,10 @@ 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 ""
@@ -3045,6 +3661,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3062,162 +3679,209 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"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
#, fuzzy
-msgid "Edit Filters"
-msgstr "Edit yer Variable:"
+msgid "Connect nodes."
+msgstr "Slit th' Node"
+
+#: 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_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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3271,7 +3935,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3299,19 +3967,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3379,7 +4047,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3388,12 +4056,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3406,14 +4072,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3444,11 +4102,24 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Discharge ye' Signal"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3468,6 +4139,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3512,7 +4195,7 @@ msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
#, fuzzy
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr "Toggle ye Breakpoint"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3520,7 +4203,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3561,6 +4244,10 @@ 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 ""
@@ -3587,23 +4274,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3649,11 +4336,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3669,15 +4352,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "Discharge ye' Signal"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3693,10 +4367,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3729,26 +4399,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3822,15 +4484,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3914,6 +4567,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3981,6 +4635,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4081,70 +4756,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4205,59 +4816,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4337,6 +4944,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4373,19 +4996,88 @@ msgstr "Discharge ye' Function"
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Discharge ye' Signal"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Add Signal"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr ": Evil arguments: "
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Discharge ye' Signal"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4414,12 +5106,24 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Edit"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4434,8 +5138,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4446,6 +5149,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4468,6 +5195,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4489,14 +5220,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4508,6 +5240,19 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Error loading yer Calligraphy Pen."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4524,6 +5269,18 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+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 "Import Theme"
msgstr ""
@@ -4536,6 +5293,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4564,7 +5325,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4593,6 +5354,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4626,11 +5392,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4684,10 +5445,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4706,45 +5463,68 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Rename Variable"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4834,7 +5614,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4853,128 +5633,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5103,10 +5791,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5115,6 +5799,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5159,6 +5847,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5288,6 +5980,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Toggle Freelook"
msgstr "Toggle ye Breakpoint"
@@ -5297,6 +5993,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5325,6 +6025,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5338,10 +6042,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5401,6 +6101,46 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5470,14 +6210,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5503,26 +6235,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5538,11 +6263,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "Discharge ye' Variable"
@@ -5616,10 +6336,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5644,7 +6360,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5657,7 +6373,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5665,6 +6381,10 @@ msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5685,12 +6405,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Find ye Node Type"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5713,6 +6430,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5729,64 +6451,108 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Add Node(s) From yer Tree"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Discharge ye' Signal"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Slit th' Node"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5802,7 +6568,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5876,10 +6642,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5888,7 +6650,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5896,6 +6658,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5984,6 +6754,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6093,8 +6867,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6106,9 +6880,21 @@ 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6150,19 +6936,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6190,10 +6976,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6240,6 +7022,12 @@ msgid "Delete Item"
msgstr "Yar, Blow th' Selected Down!"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr ""
@@ -6311,6 +7099,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6320,6 +7112,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Add Function"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6381,10 +7182,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6422,76 +7219,158 @@ msgid "Select Node"
msgstr "Slit th' Node"
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
+#, fuzzy
+msgid "Pick a Node"
+msgstr "Paste yer Node"
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+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 "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
#, fuzzy
-msgid "Pick a Node"
-msgstr "Paste yer Node"
+msgid "Node type"
+msgstr "Find ye Node Type"
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp
+msgid "Root node name"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Set"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
+msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Step"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Padding"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Swap yer Expression"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6530,11 +7409,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6554,6 +7428,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6594,14 +7472,31 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Create Root Node:"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+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 "Custom Node"
+msgstr "Slit th' Node"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6610,6 +7505,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6652,18 +7551,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6687,11 +7582,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "Paste yer Node"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6712,17 +7602,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Toggle ye Breakpoint"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6730,7 +7613,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6746,20 +7629,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6767,6 +7650,12 @@ 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 ""
@@ -6804,6 +7693,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7045,10 +7938,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7061,19 +7966,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7130,18 +8047,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"Shiver me timbers! ye type argument t' convert() be wrong! use yer TYPE_* "
-"constants!"
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Nah enough bytes fer decodin' bytes, or ye got th' wrong ship."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "Blimey! Ye step argument be marooned!"
@@ -7210,6 +8115,11 @@ msgid "GridMap Delete Selection"
msgstr "Yar, Blow th' Selected Down!"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Yar, Blow th' Selected Down!"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7291,6 +8201,11 @@ msgid "Clear Selection"
msgstr "Yar, Blow th' Selected Down!"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "All yer Booty"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7358,6 +8273,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7419,10 +8398,6 @@ msgid "Set Variable Type"
msgstr "Edit yer Variable:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Yer functions:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Yer variables:"
@@ -7544,36 +8519,14 @@ msgid "Connect Nodes"
msgstr "Slit th' Node"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condition"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sequence"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Switch"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterator"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "While"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Return"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Call"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Slit th' Node"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Get"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Slit th' Node"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7601,28 +8554,18 @@ msgid "Remove Function"
msgstr "Discharge ye' Function"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Variable"
-msgstr "Edit yer Variable:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Discharge ye' Variable"
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "Ye be fixin' Signal:"
+msgid "Editing Variable:"
+msgstr "Ye be fixin' Variable:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Discharge ye' Signal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Ye be fixin' Variable:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Ye be fixin' Signal:"
@@ -7666,6 +8609,11 @@ msgstr "Slit th' Node"
msgid "Paste Nodes"
msgstr "Paste yer Node"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "th' Members:"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Yar! Yer input aint iterable: "
@@ -7722,6 +8670,19 @@ msgstr ""
"Yer return value from _step() be no good! She must be th' integer (seq out) "
"or th' string (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Discharge ye' Variable"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Get"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7769,8 +8730,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7851,6 +8812,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7911,8 +8885,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7985,6 +8959,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7997,6 +8982,43 @@ msgid ""
"it as a child of a VehicleBody."
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_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "Yer Calligraphy be wrongly sized."
+
+#: scene/animation/animation_tree.cpp
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8066,6 +9088,63 @@ msgstr "Error loading yer Calligraphy Pen."
msgid "Invalid font size."
msgstr "Yer Calligraphy be wrongly sized."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Yer Calligraphy be wrongly sized."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Cursed"
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Discharge ye' Signal"
+
+#~ msgid "Condition"
+#~ msgstr "Condition"
+
+#~ msgid "Sequence"
+#~ msgstr "Sequence"
+
+#~ msgid "Switch"
+#~ msgstr "Switch"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterator"
+
+#~ msgid "While"
+#~ msgstr "While"
+
+#~ msgid "Return"
+#~ msgstr "Return"
+
+#~ msgid "Call"
+#~ msgstr "Call"
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "Edit yer Variable:"
+
#~ msgid "Move Add Key"
#~ msgstr "Move yer Add Key"
@@ -8102,9 +9181,6 @@ msgstr "Yer Calligraphy be wrongly sized."
#~ msgid "Custom release package not found."
#~ msgstr "Yer fancy release package be nowhere."
-#~ msgid "Invalid unique name."
-#~ msgstr "Yer unique name be evil."
-
#~ msgid "Invalid product GUID."
#~ msgstr "Yer product GUID be evil."
diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po
index 472fb1e7bc..c88dc3ea2c 100644
--- a/editor/translations/pt_BR.po
+++ b/editor/translations/pt_BR.po
@@ -24,12 +24,13 @@
# Rodolfo R Gomes <rodolforg@gmail.com>, 2017-2018.
# Tiago Almeida <thyagoeap@gmail.com>, 2017.
# Mauricio Luan Carneiro deSouza <newmailmlcs@gmail.com>, 2018.
+# Emerson Guerra <guerraemerson@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2018-07-26 09:14+0000\n"
-"Last-Translator: Mauricio Luan Carneiro deSouza <newmailmlcs@gmail.com>\n"
+"PO-Revision-Date: 2018-07-31 19:35+0000\n"
+"Last-Translator: Emerson Guerra <guerraemerson@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -37,334 +38,491 @@ 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 3.1-dev\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Desabilitado"
+#: 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 "Argumento de tipo inválido para convert(), use constantes TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Toda a seleção"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+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 ""
+
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Nome de propriedade '%s' inválido no nó %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Nome de propriedade '%s' inválido no nó %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argumento inválido do tipo: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Livre"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Espelhar X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Inserir Chave"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplicar Seleção"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Excluir Selecionados"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Duplicar Chave na Anim"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Excluir Chaves da Anim"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Alterar Tempo de Quadro-Chave da Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Alterar Transição da Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Alterar Transformação da Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Alterar Valor de Quadro-Chave da Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Alterar Chamada da Anim"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Adicionar Trilha na Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Propriedade:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Duplicar Chave na Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Tipo de Transformação"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Mover Trilha para cima"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Mover Trilha para Baixo"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Remover Trilha da Anim"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Parar reprodução da animação. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Adicionar Trilha na Anim"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Definir Transições para:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Duração da animação (em segundos)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Renomear Trilha na Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom da animação."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Alterar Interpolação da Trilha"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funções:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Alterar Modo de Valor da Trilha"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Ouvinte de Ãudio"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Alterar Modo de Loop da Trilha de Animação"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Clipes"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Editar Curva do Nó"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Alternar modo sem-distrações."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Editar Curva da Seleção"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Excluir Chaves da Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nó Animation"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplicar Seleção"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplicar Transposto"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Remover trilha selecionada."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Remover Seleção"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tempo do X-Fade (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Contínuo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discreto"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Gatilho"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Adicionar Chave na Anim"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Mover Chaves da Anim"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Mudar Escala da Seleção"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Mudar Escala a partir do Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Ir ao Próximo Passo"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Funcionalidades"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Ir ao Passo Anterior"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linear"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constante"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Em"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Out"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "Mudar Interpolação do Loop da Animação"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Inserir Chave"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transições"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplicar Nó(s)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Otimizar Animação"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Excluir Nó(s)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Limpar Animação"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Remover Trilha da Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Criar NOVA trilha para %s e inserir chave?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Criar %d NOVAS trilhas e inserir chaves?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Criar"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Inserir Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Criar e Inserir Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Inserir Trilha e Chave na Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Inserir Chave na Anim"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Alterar Comprimento da Animação"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Alterar Loop da Animação"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Criar Chave com Valor Definido"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Inserir Anim"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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_editor.cpp
+#: 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 "Method not found in object: "
+msgstr "VariableGet não encontrada no script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Mover Chaves da Anim"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Ãrea de transferência vazia!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Alterar Escala das Chaves na Anim"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Adicionar Trilha de Chamada"
+#: 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 "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom da animação."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Duração (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Snap (Pixels):"
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Duração da animação (em segundos)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Ãrvore de Animação é válida."
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Passo (s):"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Editar"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Passo de snap do cursor (em segundos)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimationTree"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Habilitar/Desabilitar loop de animação."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copiar Parâmetros"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Adicionar novas trilhas."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Colar Params"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Mover a trilha atual para cima."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Mudar Escala da Seleção"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Mover a trilha atual para baixo."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Mudar Escala a partir do Cursor"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Remover trilha selecionada."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplicar Seleção"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Ferramentas de trilha"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplicar Transposto"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Excluir Selecionados"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Habilitar edição de chaves individuais clicando nelas."
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Ir ao Próximo Passo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Ir ao Passo Anterior"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Otimizar Animação"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Limpar Animação"
+
+#: 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 "Anim. Optimizer"
msgstr "Otimizador de Animação"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Erro Linear Max.:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Erro Angular Max.:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Angulo Máximo otimizável:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Otimizar"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Selecione um AnimationPlayer da Ãrvore de Cena para editar animações."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Chave"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transição"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Proporção de Escala:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Chamar Funções em Qual Nó?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Remover Chaves Invalidas"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Remover trilhas vazias e não resolvidas"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Limpar todas as animações"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Limpar Animação(ões) (IRREVERSÃVEL!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Limpar"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Proporção de Escala:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copiar"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Redimensionar Vetor"
@@ -385,7 +543,7 @@ msgstr "Ir para Linha"
msgid "Line Number:"
msgstr "Número da Linha:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Sem Correspondências"
@@ -401,7 +559,7 @@ msgstr "Corresponder Caixa"
msgid "Whole Words"
msgstr "Palavras Inteiras"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Substituir"
@@ -413,18 +571,28 @@ msgstr "Substituir Tudo"
msgid "Selection Only"
msgstr "Apenas na Seleção"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Ampliar Mais"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Ampliar Menos"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Redefinir Ampliação"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Avisos"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Ampliação (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linha:"
@@ -456,7 +624,8 @@ msgid "Add"
msgstr "Adicionar"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -487,7 +656,7 @@ msgid "Oneshot"
msgstr "Oneshot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -509,11 +678,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Conectar \"%s\" a \"%s\""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Conectando Sinal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Desconectar '%s' do '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Desconectar '%s' do '%s'"
#: editor/connections_dialog.cpp
@@ -521,14 +691,48 @@ msgid "Connect..."
msgstr "Conectar..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Desconectar"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Conectando Sinal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Editar Conexões"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Tem certeza de que quer executar mais de um projeto?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Sinais"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Desconectar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Editar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Métodos"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Mudar Tipo de %s"
@@ -551,22 +755,25 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recente:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Pesquisar:"
#: editor/create_dialog.cpp editor/editor_help.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 "Combinações:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Descrição:"
@@ -628,7 +835,9 @@ msgstr "Buscar Recurso para Substituição:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Abrir"
@@ -650,7 +859,7 @@ msgstr ""
"funcionem.\n"
"Removê-los mesmo assim? (irreversível)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Impossível remover:"
@@ -718,9 +927,13 @@ msgstr "Alterar Valor do Dicionário"
msgid "Thanks from the Godot community!"
msgstr "Agradecimentos da comunidade Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Obrigado!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -897,6 +1110,7 @@ msgid "Bus options"
msgstr "Opções da pista"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicar"
@@ -965,7 +1179,8 @@ msgstr "Adicionar Canal"
msgid "Create a new Bus Layout."
msgstr "Criar um novo Layout de Canais."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Carregar"
@@ -975,7 +1190,6 @@ msgid "Load an existing Bus Layout."
msgstr "Carregar um Layout de Canais existente."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Salvar Como"
@@ -1015,22 +1229,6 @@ msgstr ""
"engine."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Caminho inválido."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "O arquivo não existe."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Não está no caminho de recursos."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Adicionar Autoload"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload \"%s\" já existe!"
@@ -1058,6 +1256,22 @@ msgstr "Habilitar"
msgid "Rearrange Autoloads"
msgstr "Reordenar Autoloads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Caminho inválido."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "O arquivo não existe."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Não está no caminho de recursos."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Adicionar Autoload"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1088,7 +1302,7 @@ msgstr "Armazenando alterações locais..."
msgid "Updating scene..."
msgstr "Atualizando Cena..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[vazio]"
@@ -1150,6 +1364,12 @@ msgid "Copy Path"
msgstr "Copiar Caminho"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Mostrar no Gerenciador de Arquivos"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Mostrar no Gerenciador de Arquivos"
@@ -1186,7 +1406,7 @@ msgid "Open a File or Directory"
msgstr "Abrir Arquivo ou Diretório"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Salvar"
@@ -1239,7 +1459,8 @@ msgstr "Ir para pasta pai"
msgid "Directories & Files:"
msgstr "Diretórios & Arquivos:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Previsualização:"
@@ -1391,20 +1612,28 @@ msgstr ""
"Atualmente não existe descrição para este método. Por favor nos ajude [color="
"$color][url=$url]contribuindo uma[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Pesquisar Texto"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Propriedade:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Localizar"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Set"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Saída:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1426,11 +1655,6 @@ msgstr "Erro ao salvar Recurso!"
msgid "Save Resource As..."
msgstr "Salvar Recuso como..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Entendo..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Não é possível abrir arquivo para escrita:"
@@ -1443,9 +1667,9 @@ msgstr "Formato de arquivo requisitado desconhecido:"
msgid "Error while saving."
msgstr "Erro ao salvar."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Não é possível abrir '%s'."
+#: 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'."
@@ -1488,10 +1712,6 @@ msgstr ""
"herança) não foram satisfeitas."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Falha ao carregar recurso."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Não se pôde carregar MeshLibrary para fusão!"
@@ -1572,42 +1792,6 @@ msgstr ""
"esse procedimento."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Expandir todas as propriedades"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Recolher todas as propriedades"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copiar Parâmetros"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Colar Params"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Colar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copiar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Tornar Embutido"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Tornar Únicos os Sub-recursos"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Abrir na Ajuda"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Não há cena definida para rodar."
@@ -1804,11 +1988,6 @@ msgstr ""
"A cena '%s' foi importada automaticamente, não podendo ser modificada.\n"
"Para fazer alterações, uma nova cena herdada pode ser criada."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Ugh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1839,6 +2018,16 @@ msgid "Default"
msgstr "Padrão"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Rodar Cena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Fechas as outras abas"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Trocar Guia de Cena"
@@ -1960,10 +2149,6 @@ msgstr "Projeto"
msgid "Project Settings"
msgstr "Configurações do Projeto"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Rodar Script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportar"
@@ -1973,6 +2158,11 @@ msgid "Tools"
msgstr "Ferramentas"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Abrir Gerenciador de Projetos?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Sair para a Lista de Projetos"
@@ -2083,6 +2273,20 @@ msgstr "Layout do Editor"
msgid "Toggle Fullscreen"
msgstr "Alternar Tela-Cheia"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Configurações do Editor"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Configurações do Editor"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gerenciar Modelos de Exportação"
@@ -2098,7 +2302,8 @@ msgstr "Classes"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Pesquisar"
@@ -2142,7 +2347,7 @@ msgstr "Pausa a cena"
msgid "Stop the scene."
msgstr "Para a cena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Parar"
@@ -2163,6 +2368,16 @@ msgid "Play Custom Scene"
msgstr "Rodar outra cena"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Salvar e Re-Importar"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Gira quando a janela do editor atualiza!"
@@ -2182,42 +2397,6 @@ msgstr "Desabilitar Spinner de Atualização"
msgid "Inspector"
msgstr "Inspetor"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Cria um novo recurso na memória e o edita."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Carrega um recurso existente do disco e o edita."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Salva o recurso editado atualmente."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Salvar Como..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Ir ao objeto editado anteriormente no histórico."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Ir ao próximo objeto editado no histórico."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Histórico dos objetos editados recentemente."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Propriedades do objeto."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Alterações podem ser perdidas!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2232,6 +2411,11 @@ msgid "FileSystem"
msgstr "Arquivos"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Expandir tudo"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Saída"
@@ -2308,19 +2492,24 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Editar Polígono"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Plugins Instalados:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Atualizar"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versão:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2328,13 +2517,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Status:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Parar Profiling"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Editar"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Iniciar Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Iniciar!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2380,6 +2572,106 @@ msgstr "Tempo"
msgid "Calls"
msgstr "Chamadas"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Ativo"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, val %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Vazio]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Atribuir"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Escolha uma Viewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Novo Script"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Novo %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Tornar Único"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Mostrar em Arquivos"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Colar"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Converter Para %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Abrir no Editor"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "O nó selecionado não é uma Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Tamanho da Célula:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Novo nome:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Novo nome:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Remover Item"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Selecione um dispositivo da lista"
@@ -2417,10 +2709,6 @@ msgstr "Não foi possível rodar o script:"
msgid "Did you forget the '_run' method?"
msgstr "Você esqueceu o método '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Padrão (Mesma do Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecione Nó(s) para Importar"
@@ -2446,6 +2734,7 @@ msgid "(Installed)"
msgstr "(Instalado)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Download"
@@ -2470,7 +2759,8 @@ msgid "Can't open export templates zip."
msgstr "Não se pôde abrir zip dos modelos de exportação."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Formato do version.txt dentro dos modelos é inválido."
#: editor/export_template_manager.cpp
@@ -2532,6 +2822,12 @@ msgid "Download Complete."
msgstr "Download completo."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Erro ao solicitar url: "
@@ -2610,7 +2906,8 @@ msgid "Download Templates"
msgstr "Baixar modelos"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Selecione uma fonte da lista: "
#: editor/file_type_cache.cpp
@@ -2624,11 +2921,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "Impossível navegar até '%s' pois não existe no sistema de arquivos!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Visualizar itens como uma grade de miniaturas"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Visualizar itens como uma lista"
#: editor/filesystem_dock.cpp
@@ -2701,7 +3000,7 @@ msgstr "Expandir tudo"
msgid "Collapse all"
msgstr "Recolher tudo"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Renomear..."
@@ -2730,6 +3029,23 @@ msgid "Duplicate..."
msgstr "Duplicar..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Novo Script"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Salvar Recuso como..."
+
+#: 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 "Renomear"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Diretório Anterior"
@@ -2742,14 +3058,29 @@ msgid "Re-Scan Filesystem"
msgstr "Re-escanear Sistema de Arquivos"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Alternar status da pasta como Favorito"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Selecione o sub-tile editado atual."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instanciar a(s) cena(s) selecionada como filho do nó selecionado."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Pesquisar Classes"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2757,14 +3088,112 @@ msgstr ""
"Escaneando arquivos,\n"
"Por favor aguarde..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Mover"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Renomear"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Já há uma pasta neste caminho com o nome especificado."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Criar Script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Localizar tile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Localizar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Palavras Inteiras"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Corresponder Caixa"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtro:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Localizar..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Substituir..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Substituir"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Substituir Tudo"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Salvando..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Pesquisar Texto"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERRO: Nome da animação já existe!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nome Inválido."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupos"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Grupo(s) do Nó"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrar nós"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Grupo(s) do Nó"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2774,6 +3203,11 @@ msgstr "Adicionar ao Grupo"
msgid "Remove from Group"
msgstr "Remover do Grupo"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupos de Imagens"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importar como cena única"
@@ -2815,7 +3249,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importar como múltiplas Cenas+Materiais"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importar cena"
@@ -2875,18 +3309,131 @@ msgstr "Predefinição..."
msgid "Reimport"
msgstr "Reimportar"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Falha ao carregar recurso."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Expandir todas as propriedades"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Recolher todas as propriedades"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Salvar Como..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copiar Parâmetros"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Colar Params"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Recurso da área de transferência está vazio!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copiar Recurso"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Tornar Embutido"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Tornar Únicos os Sub-recursos"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Abrir na Ajuda"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Cria um novo recurso na memória e o edita."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Carrega um recurso existente do disco e o edita."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Ir ao objeto editado anteriormente no histórico."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Ir ao próximo objeto editado no histórico."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Histórico dos objetos editados recentemente."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Propriedades do objeto."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrar nós"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Alterações podem ser perdidas!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Múltiplos Nodes definidos"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupos"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Selecione um nó para editar Sinais e Grupos."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Editar Polígono"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Criar solução C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Lista de Plugins:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Linguagem"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Script válido"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2932,6 +3479,150 @@ msgstr ""
msgid "Delete points"
msgstr "Excluir Pontos"
+#: 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 "Adicionar Animação"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Carregar"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Excluir Pontos"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Apagar Ponto."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Mover Ponto"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nó Animation"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "A ação \"%s\" já existe!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "Analisando %d Triângulos:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Snap"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Editar Filtros"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Adicionar Nó"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Editar Filtros"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Filhos Editáveis"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Alternar Inicio automático"
@@ -2958,11 +3649,13 @@ msgid "Remove Animation"
msgstr "Remover Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERRO: Nome de animação inválido!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERRO: Nome da animação já existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2971,11 +3664,6 @@ msgid "Rename Animation"
msgstr "Renomear Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Adicionar Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Misturar com o Próximo Alterado"
@@ -2992,11 +3680,13 @@ msgid "Duplicate Animation"
msgstr "Duplicar Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERRO: Nenhuma animação para copiar!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERRO: Nenhum recurso de animação na área de transferência!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3008,7 +3698,8 @@ msgid "Paste Animation"
msgstr "Colar Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERRO: Nenhuma animação para editar!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3043,20 +3734,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Escalonar reprodução da animação globalmente para o nó."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Criar nova animação no player."
+msgid "Animation Tools"
+msgstr "Ferramentas de Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Carregar uma animação do disco."
+msgid "New"
+msgstr "Novo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Carregar uma animação do disco."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Editar Conexões..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Salvar a animação atual"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Abrir no Editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3067,18 +3765,6 @@ msgid "Autoplay on Load"
msgstr "Auto-reprodução ao Carregar"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Editar alvos dos tempos de mistura"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Ferramentas de Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copiar Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Papel Vegetal"
@@ -3127,6 +3813,11 @@ msgid "Include Gizmos (3D)"
msgstr "Incluir Gizmos (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Colar Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Criar Nova Animação"
@@ -3136,6 +3827,7 @@ msgstr "Nome da Animação:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3153,161 +3845,214 @@ msgstr "Próximo (Auto-enfileirar):"
msgid "Cross-Animation Blend Times"
msgstr "Tempos de Mistura de Animação Cruzada"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animação"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Fim(ns)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Não está no caminho de recursos."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Criar Novo %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Conectar Nodes"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Remover trilha selecionada."
+
+#: 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 "Transição"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimationTree"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Novo nome:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Editar Filtros"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Escala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Fade In (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Fade Out (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Misturar"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Misturar"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Reinício Automático:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Reinício (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Reinício Randômico:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Iniciar!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Quantidade:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Misturar:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Misturar 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Misturar 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Tempo do X-Fade (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Atual:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Adicionar Entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Limpar Avanço Automático"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Definir Avanço Automático"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Deletar Entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Ãrvore de Animação é válida."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Ãrvore de Animação é inválida."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Nó Animation"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Nó OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Nó Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Nó Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Nó Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Nó Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Nó TimeScale"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Nó TimeSeek"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Nó Transition"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importar Animações..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Editar Filtros de Nó"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtros..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimationTree"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Livre"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Conteúdo:"
@@ -3361,8 +4106,14 @@ msgid "Asset Download Error:"
msgstr "Erro no Download do Asset:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Procurando:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Baixando"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Baixando"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3389,20 +4140,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Download deste asset já está em progresso!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "prim"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "ant"
+#, fuzzy
+msgid "Previous"
+msgstr "Guia anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "prox"
+msgid "Next"
+msgstr "Próximo"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "ult"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3476,7 +4229,7 @@ msgid "Bake Lightmaps"
msgstr "Preparar Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Visualização"
@@ -3485,12 +4238,10 @@ msgid "Configure Snap"
msgstr "Configurar o Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Deslocamento da grade:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Passo de grade:"
@@ -3503,14 +4254,6 @@ msgid "Rotation Step:"
msgstr "Passo de Rotação:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Mover Pivô"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Ação de Mover"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Mover guia vertical"
@@ -3539,11 +4282,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Criar novos guias horizontais e verticais"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Editar Cadeia de IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Mover Pivô"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Editar CanvaItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Ação de Mover"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Editar CanvaItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Editar CanvaItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3563,6 +4323,21 @@ msgid "Paste Pose"
msgstr "Colar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Ampliar Menos"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Restaurar Ampliação"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Ampliar Mais"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Modo de Seleção"
@@ -3610,7 +4385,8 @@ msgid "Pan Mode"
msgstr "Modo Panorâmico"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Alternar Encaixamento"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3618,7 +4394,8 @@ msgid "Use Snap"
msgstr "Usar Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opções da Encaixe"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3659,6 +4436,11 @@ msgid "Snap to node sides"
msgstr "Encaixar nos lados do nó"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Encaixar na âncora do nó"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Encaixar em outros nós"
@@ -3685,14 +4467,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Restaura a habilidade dos filhos do objeto de serem selecionados."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Fazer Ossos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Limpar Ossos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Mostrar Ossos"
@@ -3705,6 +4479,15 @@ msgid "Clear IK Chain"
msgstr "Limpar Cadeia de IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Limpar Ossos"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Visualizar"
@@ -3747,14 +4530,11 @@ msgid "Layout"
msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Inserir Chaves"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Inserir Chave"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Inserir Chave (Trilhas Existentes)"
@@ -3767,14 +4547,6 @@ msgid "Clear Pose"
msgstr "Limpar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Arrastar o pivô para a posição do mouse"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Colocar o pivô na posição do mouse"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multiplifcar passo da grade por 2"
@@ -3790,10 +4562,6 @@ msgstr "Adicionar %s"
msgid "Adding %s..."
msgstr "Adicionando %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Impossível instanciar múltiplos nós sem uma raiz."
@@ -3828,27 +4596,20 @@ msgstr "Criar Polígono 3D"
msgid "Set Handle"
msgstr "Definir Manipulador"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Remover item %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Adicionar Item"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Remover Item Selecionado"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partículas"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importar da Cena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Criar Pontos de Emissão a Partir da Malha"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Atualizar a partir de Cena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Criar Pontos de Emissão a Partir do Nó"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3918,15 +4679,6 @@ msgstr "Segure Shift para editar tangentes individualmente"
msgid "Bake GI Probe"
msgstr "Cozinhar Sonda GI"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Adicionar/Remover Ponto na Curva de Cor"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modificar Curva de Cores"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Item %d"
@@ -4012,6 +4764,7 @@ msgid "No mesh to debug."
msgstr "Nenhuma malha para depurar."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Modelo não tem uma UV nesta camada"
@@ -4079,6 +4832,27 @@ msgstr "Criar Malha de Contorno"
msgid "Outline Size:"
msgstr "Tamanho do Contorno:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Remover item %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Adicionar Item"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Remover Item Selecionado"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importar da Cena"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Atualizar a partir de Cena"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4181,70 +4955,6 @@ msgstr "Escala aleatória:"
msgid "Populate"
msgstr "Popular"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Precalcular!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Preparar a malha de navegação."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Apagar a malha de navegação."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Preparando Configuração..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Calculando tamanho da grade..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Criando mapa de altura..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Marcando triângulos caminháveis..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Construindo um mapa de altura compacto..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Erodindo área caminhável..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Particionando..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Criando contornos..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Criando polimalha..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Convertando para malha de navegação nativa..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Configuração do Gerador de Malha de Navegação:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Analisando Geometria..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Pronto!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Criar Polígono de Navegação"
@@ -4306,18 +5016,6 @@ msgid "Emission Colors"
msgstr "Cores de Emissão"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "O nó não contém geometria."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "O nó não contém geometria (faces)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Um material processador do tipo 'ParticlesMaterial' é necessário."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "As faces não têm área!"
@@ -4326,16 +5024,12 @@ msgid "No faces!"
msgstr "Nenhuma face!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Gerar AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Criar Pontos de Emissão a Partir da Malha"
+msgid "Node does not contain geometry."
+msgstr "O nó não contém geometria."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Criar Pontos de Emissão a Partir do Nó"
+msgid "Node does not contain geometry (faces)."
+msgstr "O nó não contém geometria (faces)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4362,6 +5056,19 @@ msgid "Emission Source: "
msgstr "Origem da Emissão: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Um material processador do tipo 'ParticlesMaterial' é necessário."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Gerar AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Converter para Maíusculo"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Gerar AABB de Visibilidade"
@@ -4438,6 +5145,22 @@ msgstr "Excluir Ponto"
msgid "Close Curve"
msgstr "Fechar Curva"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opções"
+
+#: 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 "Ponto da Curva nº"
@@ -4470,19 +5193,95 @@ msgstr "Remover Ponto de Controle de Saída"
msgid "Remove In-Control Point"
msgstr "Remover Ponto de Controle de Entrada"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Mover Ponto"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Mostrar Ossos"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Criar Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Criar Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "A ação \"%s\" já existe!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Adicionar ponto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Caminho inválido!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Remover ponto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformar Mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Editor UV de Polígonos 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Editar Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Dividir Caminho"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Fazer Ossos"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Criar Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Mover Ponto"
@@ -4511,12 +5310,25 @@ msgid "Scale Polygon"
msgstr "Escalonar Polígono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Editar"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Selecione um item de configuração primeiro!"
+
+#: 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 "Polygon->UV"
@@ -4531,9 +5343,9 @@ msgid "Clear UV"
msgstr "Limpar UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Snap"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Configurações do GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4543,6 +5355,36 @@ msgstr "Ativar Snap"
msgid "Grid"
msgstr "Grade"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configurar o Snap"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Deslocamento da grade:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Deslocamento da grade:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Passo de grade:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Passo de grade:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Escalonar Polígono"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ERRO: Não foi possível carregar recurso!"
@@ -4565,6 +5407,10 @@ msgid "Resource clipboard is empty!"
msgstr "Recurso da área de transferência está vazio!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Colar Recurso"
+
+#: 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"
@@ -4586,16 +5432,18 @@ msgid "Load Resource"
msgstr "Carregar Recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Colar"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "ResourcePreloader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Ãrvore de Animação é inválida."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Limpar Arquivos Recentes"
@@ -4605,6 +5453,21 @@ msgid "Close and save changes?"
msgstr "Fechar e salvar alterações?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Erro ao mover arquivo:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Não pôde carregar a imagem"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Erro ao salvar TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Erro ao salvar tema"
@@ -4621,6 +5484,21 @@ msgid "Error importing"
msgstr "Erro ao importar"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nova Pasta..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Abrir um Arquivo"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Salvar Como..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importar Tema"
@@ -4633,6 +5511,10 @@ msgid " Class Reference"
msgstr " Referência de Classes"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -4661,8 +5543,9 @@ msgid "File"
msgstr "Arquivo"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Novo"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Ver Arquivos"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4689,6 +5572,11 @@ msgid "History Next"
msgstr "Próximo no Histórico"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Recarregar Tema"
@@ -4722,11 +5610,6 @@ msgstr "Alternar Painel de Scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Localizar..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Localizar próximo"
@@ -4780,10 +5663,6 @@ msgid "Discard"
msgstr "Descartar"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Criar Script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4804,6 +5683,16 @@ msgid "Debugger"
msgstr "Depurador"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Pesquisar Ajuda"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Pesquisar Classes"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4811,40 +5700,56 @@ msgstr ""
"carregada"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linha:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Apenas recursos do sistema de arquivos podem ser soltos."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Completar Símbolo"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Escolher Cor"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Converter Maíusculas/Minúsculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Maiúscula"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Minúscula"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Capitalizar"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Recortar"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copiar"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4932,8 +5837,9 @@ msgid "Find Previous"
msgstr "Encontrar Anterior"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Substituir..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrar Arquivos..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4951,129 +5857,42 @@ msgstr "Ajuda Contextual"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Alterar Constante Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Alterar Constante Vet"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Alterar Constante RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Alterar Operador Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Alterar Operador Vet"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Alterar Operador Vet Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Alterar Operador RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Alternar Rotação Somente"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Alterar Função Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Alterar Função Vet"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Alterar Uniforme Escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Alterar Uniforme Vet"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Alterar Uniforme RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Alterar Valor Padrão"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Alterar Uniforme XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Alterar Uniforme da Textura"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Alterar Uniforme do Cubemap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Alterar Comentário"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Adicionar/Remover para Curva de Cores"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Adicionar/Remover para Curve Map"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Modificar Curve Map"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Alterar Nome da Entrada"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Conectar Nodes de Grafos"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Desconectar Nodes de Grafos"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Remover Nó de Shader Graph"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Esqueleto..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Mover Nó de Shader Graph"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Duplicar Nó(s) de Grafo(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Deletar Nó(s) de Shader Graph(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Criar Malha de Navegação"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Erro: Vínculo de Conexão Cíclico"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Esqueleto..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Erro: Faltando as Conexões da Entrada"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Criar solução C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Adicionar Nó de Shader Graph"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Tocar"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5200,10 +6019,6 @@ msgid "Align with view"
msgstr "Alinhar com Visão"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Sem pai onde instanciar um filho."
@@ -5212,6 +6027,11 @@ msgid "This operation requires a single selected node."
msgstr "Essa operação requer um único nó selecionado."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Visualizar Informações"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Exibição Normal"
@@ -5256,6 +6076,11 @@ msgid "Doppler Enable"
msgstr "Habilitar Doppler"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Criando Previsualizações das Malhas"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Visão Livre Esquerda"
@@ -5386,6 +6211,11 @@ msgid "Tool Scale"
msgstr "Ferramenta Escalar"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Encaixar na grade"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Alternar Visão Livre"
@@ -5394,6 +6224,10 @@ msgid "Transform"
msgstr "Transformação"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Diálogo Transformação..."
@@ -5422,6 +6256,11 @@ msgid "4 Viewports"
msgstr "4 Viewports"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Visualizar Gizmos"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Ver Origem"
@@ -5435,10 +6274,6 @@ msgid "Settings"
msgstr "Configurações"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Visibilidade do Gizmo de Esqueleto"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Configurações do Snap"
@@ -5498,6 +6333,53 @@ msgstr "Pré"
msgid "Post"
msgstr "Pós"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Caminho de salvamento vazio!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Converter Para %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Criar Malha de Contorno"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Snap (Pixels):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Visualização do Atlas"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Configurações"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ERRO: Não foi possível carregar recurso de quadro!"
@@ -5566,14 +6448,6 @@ msgstr "Mover (Depois)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "Pré-Visualização do StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Definir Retângulo de Região"
@@ -5599,28 +6473,22 @@ msgid "Auto Slice"
msgstr "Auto Fatiar"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Deslocamento:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Passo:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Separação:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Região da Textura"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Editor de Região da Textura"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Não pôde salvar tema ao arquivo:"
@@ -5634,11 +6502,6 @@ msgid "Add All"
msgstr "Adicionar Todos"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover Item"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Remover Todos os Itens"
@@ -5710,10 +6573,6 @@ msgstr "Tem"
msgid "Many"
msgstr "Muitas"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opções"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Tem,Muitas,Opções"
@@ -5738,7 +6597,7 @@ msgstr "Tipo de Dados:"
msgid "Icon"
msgstr "Ãcone"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Estilo"
@@ -5751,14 +6610,19 @@ msgid "Color"
msgstr "Cor"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+msgid "Constant"
+msgstr "Constante"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Apagar Seleção"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nome Inválido."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Pintar TileMap"
@@ -5779,11 +6643,8 @@ msgid "Erase TileMap"
msgstr "Apagar TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Apagar Seleção"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Localizar tile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5807,6 +6668,11 @@ msgid "Pick Tile"
msgstr "Pegar Tile"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Remover Seleção"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Rotacionar 0 degraus"
@@ -5823,68 +6689,122 @@ msgid "Rotate 270 degrees"
msgstr "Rotacionar 270 degraus"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Não se pôde achar tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Adicionar Nó(s) a Partir da Ãrvore"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nome ou ID do item:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Remover a entrada atual"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Criar a partir de cena?"
+msgid "Create from Scene"
+msgstr "Criar a partir de Cena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Fundir a partir de cena?"
+msgid "Merge from Scene"
+msgstr "Fundir a partir de Cena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Selecione o sub-tile para usar como ícone, isso também vai ser usado em "
+"vinculamentos de autotiles inválidos."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Criar a partir de Cena"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Fundir a partir de Cena"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Erro"
+#: 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?"
+msgstr "Criar a partir de cena?"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr "Autotiles"
+msgid "Merge from scene?"
+msgstr "Fundir a partir de cena?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Selecione o sub-tile para usar como ícone, isso também vai ser usado em "
-"vinculamentos de autotiles inválidos."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"LMB: ligar bit.\n"
"RMB: desligar bit."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Selecione o sub-tile editado atual."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Selecione o sub-tile para usar como ícone, isso também vai ser usado em "
+"vinculamentos de autotiles inválidos."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Selecione o sub-tile para alterar sua prioridade."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Cancelar"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Essa operação não pode ser realizada sem uma cena."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Tile Set"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vértices"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Fragmento"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Direita"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5899,10 +6819,10 @@ msgid "Delete preset '%s'?"
msgstr "Excluir definição '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
"Modelos de exportação para esta plataforma não foram encontrados/estão "
-"corrompidos: "
+"corrompidos:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5979,12 +6899,6 @@ 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 "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 With Debug"
msgstr "Exportar Com Depuração"
@@ -5993,14 +6907,25 @@ msgid "The path does not exist."
msgstr "O caminho não existe."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Por favor, escolha um arquivo 'project.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
+"Por favor, escolha uma pasta que não contenha um arquivo 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Por favor, escolha uma pasta vazia."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Por favor, escolha um arquivo 'project.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Projeto Importado"
@@ -6089,6 +7014,11 @@ msgid "Project Path:"
msgstr "Caminho do Projeto:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Caminho do Projeto:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Navegar"
@@ -6208,9 +7138,10 @@ msgid "Mouse Button"
msgstr "Botão do Mous"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Nome de ação inválido. Ele não pode estar vazio ou conter '/', ':', '=', "
"'\\' ou '\"'."
@@ -6224,9 +7155,23 @@ msgid "Rename Input Action Event"
msgstr "Renomear Evento de Ação de Entrada"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Alterar Nome da Animação:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Adicionar Evento de Ação de Entrada"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Dispositivo"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Dispositivo"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6268,20 +7213,24 @@ msgid "Wheel Down Button"
msgstr "Roda para Baixo"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Botão 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Roda para Cima"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Botão 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Botão Direito"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Botão 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Botão 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Botão 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Botão 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6308,10 +7257,6 @@ msgid "Add Event"
msgstr "Adicionar VEvento"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Dispositivo"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Botão"
@@ -6356,6 +7301,14 @@ msgid "Delete Item"
msgstr "Excluir Item"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Nome de ação inválido. Ele não pode estar vazio ou conter '/', ':', '=', "
+"'\\' ou '\"'."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Já existe"
@@ -6427,6 +7380,10 @@ msgstr "Propriedade:"
msgid "Override For..."
msgstr "Sobrescrever Para..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Mapa de Entrada"
@@ -6436,6 +7393,14 @@ msgid "Action:"
msgstr "Ação:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Ação"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Dispositivo:"
@@ -6496,10 +7461,6 @@ msgid "AutoLoad"
msgstr "AutoLoad"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Escolha uma Viewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Ease In"
@@ -6536,34 +7497,10 @@ msgid "Select Node"
msgstr "Selecionar Nó"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Novo Script"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Novo %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Tornar Único"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Mostrar em Arquivos"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Converter Para %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Erro ao carregar arquivo: Não é um recurso!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "O nó selecionado não é uma Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Escolha um Nó"
@@ -6572,18 +7509,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, val %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Ativo"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Vazio]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Set"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Propriedades:"
@@ -6607,6 +7532,134 @@ msgstr "Não se pôde executar a ferramenta PVRTC:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "Não se pôde carregar de volta imagem convertida por PVRTC:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Renomear"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opções da Encaixe"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nome do nó:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Localizar Tipo de Nó"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Cena Atual"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Nome do Nó Raíz:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Passo:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Alterar Expressão"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Script de Pós-Processamento:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Manter"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Minúscula"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Maiúscula"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Redefinir Ampliação"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Erro"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Reparentar Nó"
@@ -6643,11 +7696,6 @@ msgstr "Argumentos da Cena Principal:"
msgid "Scene Run Settings"
msgstr "Configurações de Carregamento da Cena"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Sem nó pai onde instanciar as cenas."
@@ -6669,6 +7717,10 @@ msgid "Instance Scene(s)"
msgstr "Instanciar Cena(s)"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Remover Script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Esta operação não pode ser feita na raiz da árvore."
@@ -6709,12 +7761,33 @@ msgid "Load As Placeholder"
msgstr "Carregar como Substituto"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Descartar Instanciação"
+msgid "Make Local"
+msgstr "Tornar Local"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Faz Sentido!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Criar Nó"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Cena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Cena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Limpar Herança"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Recortar Nodes"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6725,6 +7798,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Não é possível operar em nós que a cena atual herda!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Adicionar Script"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Remover Nó(s)"
@@ -6769,18 +7846,15 @@ msgid "Change Type"
msgstr "Mudar Tipo"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Adicionar Script"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Remover Script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Nova Raiz de Cena"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Fundir a Partir de Cena"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Salvar Ramo como Cena"
@@ -6805,10 +7879,6 @@ msgstr ""
"existir um nó raiz."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrar nós"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Adicionar um script novo ou existente para o nó selecionado."
@@ -6828,25 +7898,19 @@ msgstr "Local"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Limpar Herança? (Irreversível!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Limpar!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Alternar Spatial Visível"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Alternar CanvasItem Visível"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Alternar Visibilidade"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Aviso de configuração de nó:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"O nó tem conexão(ões) e grupo(s)\n"
@@ -6868,22 +7932,25 @@ msgstr ""
"O nó está em grupo(s).\n"
"Clique para mostrar o painel de grupos."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Abrir script"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"O nó está travado.\n"
"Clique para destravar"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Os filhos não são selecionáveis.\n"
"Clique para fazê-los selecionáveis"
@@ -6893,6 +7960,12 @@ msgid "Toggle Visibility"
msgstr "Alternar Visibilidade"
#: 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 "Nome de nó inválido, os seguintes caracteres não são permitidos:"
@@ -6929,6 +8002,11 @@ msgid "N/A"
msgstr "N/D"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Abrir Editor de Scripts"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "O caminho está vazio"
@@ -7165,10 +8243,23 @@ msgid "Change Camera Size"
msgstr "Alterar Tamanho da Câmera"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Alterar a Dimensão do Notificador"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Alterar o AABB das Partículas"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Alterar a Extensão da Sonda"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Alterar Raio da Forma da Esfera"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Alterar Dimensões da Forma da Caixa"
@@ -7181,20 +8272,38 @@ msgid "Change Capsule Shape Height"
msgstr "Alterar a Altura da Forma da Cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Alterar o Comprimento da Forma do Raio"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Alterar o Raio da Forma da Cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Alterar a Dimensão do Notificador"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Alterar a Altura da Forma da Cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Alterar o AABB das Partículas"
+msgid "Change Ray Shape Length"
+msgstr "Alterar o Comprimento da Forma do Raio"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Alterar a Extensão da Sonda"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Alterar Raio da Luz"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Alterar a Altura da Forma da Cápsula"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Alterar Raio da Forma da Esfera"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Alterar Raio da Luz"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7249,16 +8358,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Argumento de tipo inválido para convert(), use constantes TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "o argumento step é zero!"
@@ -7325,6 +8424,11 @@ msgid "GridMap Delete Selection"
msgstr "Excluir Seleção do Gridap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Excluir Seleção do Gridap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "Duplicar Seleção do GridMap"
@@ -7405,6 +8509,11 @@ msgid "Clear Selection"
msgstr "Limpar Seleção"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Toda a seleção"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Configurações do GridMap"
@@ -7465,14 +8574,77 @@ msgid "Warnings"
msgstr "Avisos"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Ver Arquivos"
+msgstr "Ver registro"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Fim da pilha de rastreamento de exceção interna"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Precalcular!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Preparar a malha de navegação."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Apagar a malha de navegação."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Preparando Configuração..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Calculando tamanho da grade..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Criando mapa de altura..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Marcando triângulos caminháveis..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Construindo um mapa de altura compacto..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Erodindo área caminhável..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Particionando..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Criando contornos..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Criando polimalha..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Convertando para malha de navegação nativa..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Configuração do Gerador de Malha de Navegação:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Analisando Geometria..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Pronto!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7530,10 +8702,6 @@ msgid "Set Variable Type"
msgstr "Definir o Tipo da Variável"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funções:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variáveis:"
@@ -7646,36 +8814,14 @@ msgid "Connect Nodes"
msgstr "Conectar Nodes"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condição"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sequence"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Switch"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterator"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "While"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Return"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Call"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Conectar Nodes"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Obter"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Conectar Nodes"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7702,26 +8848,18 @@ msgid "Remove Function"
msgstr "Remover Função"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Editar Variável"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Remover Variável"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Editar Sinal"
+msgid "Editing Variable:"
+msgstr "Editando Variável:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Remover Sinal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Editando Variável:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Editando Sinal:"
@@ -7765,6 +8903,11 @@ msgstr "Recortar Nodes"
msgid "Paste Nodes"
msgstr "Colar Nodes"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Membros"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Tipo de entrada não iterável: "
@@ -7823,6 +8966,19 @@ msgstr ""
"Valor de retorno da _step() inválido, deve ser um inteiro (seq out), ou "
"string (erro)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Remover Nó VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Obter"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Rodar no Navegador"
@@ -7873,9 +9029,10 @@ msgstr ""
"ignorados."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Este nó não possui filhos com formas, então não pode interagir com o "
@@ -7986,6 +9143,19 @@ msgstr ""
"A propriedade \"Caminho\" deve apontar para um nó Node2D válido para "
"funcionar."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8051,9 +9221,10 @@ msgid "Lighting Meshes: "
msgstr "Iluminando Malhas: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Este nó não possui filhos com formas, então não pode interagir com o "
@@ -8150,6 +9321,21 @@ msgstr ""
"Este WorldEnvironment está sendo ignorado. Adicione uma Camera (para cenas "
"3D) ou defina o Background Mode deste ambiente para Canvas (para cenas 2D)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Alterações de tamanho no RigidBody (nos modos Character e Rigid) serão "
+"sobrescritas pelo motor de física ao executar.\n"
+"Ao invés disso, altere o tamanho nas formas de colisão filhas."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8166,6 +9352,47 @@ msgstr ""
"VehiceWheel serve para fornecer um sistema de rodas para um VehicleBody. Por "
"favor, use ele como um filho de um VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Ferramentas de Animação"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERRO: Nome de animação inválido!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Desconectar '%s' do '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Selecione um AnimationPlayer da Ãrvore de Cena para editar animações."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Ãrvore de Animação é inválida."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Modo Bruto"
@@ -8246,12 +9473,376 @@ msgstr "Erro ao carregar fonte."
msgid "Invalid font size."
msgstr "Tamanho de fonte inválido."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Guia anterior"
+msgid "Input"
+msgstr "Adicionar Entrada"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Nenhum>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Origem inválida!"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Alterar Constante Escalar"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Alterar Constante Vet"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Alterar Constante RGB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Alterar Operador Escalar"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Alterar Operador Vet"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Alterar Operador Vet Escalar"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Alterar Operador RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Alternar Rotação Somente"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Alterar Função Escalar"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Alterar Função Vet"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Alterar Uniforme Escalar"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Alterar Uniforme Vet"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Alterar Uniforme RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Alterar Valor Padrão"
-#~ msgid "Next"
-#~ msgstr "Próximo"
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Alterar Uniforme XForm"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Alterar Uniforme da Textura"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Alterar Uniforme do Cubemap"
+
+#~ msgid "Change Comment"
+#~ msgstr "Alterar Comentário"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Adicionar/Remover para Curva de Cores"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modificar Curva de Cores"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Adicionar/Remover para Curve Map"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Modificar Curve Map"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Alterar Nome da Entrada"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Conectar Nodes de Grafos"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Desconectar Nodes de Grafos"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Remover Nó de Shader Graph"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Mover Nó de Shader Graph"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Duplicar Nó(s) de Grafo(s)"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Deletar Nó(s) de Shader Graph(s)"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Erro: Vínculo de Conexão Cíclico"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Erro: Faltando as Conexões da Entrada"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Adicionar Nó de Shader Graph"
+
+#~ msgid "Disabled"
+#~ msgstr "Desabilitado"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Mover Trilha para cima"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Mover Trilha para Baixo"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Definir Transições para:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Renomear Trilha na Anim"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Alterar Interpolação da Trilha"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Alterar Modo de Valor da Trilha"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Alterar Modo de Loop da Trilha de Animação"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Editar Curva do Nó"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Editar Curva da Seleção"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Adicionar Chave na Anim"
+
+#~ msgid "In"
+#~ msgstr "Em"
+
+#~ msgid "Out"
+#~ msgstr "Out"
+
+#~ msgid "In-Out"
+#~ msgstr "In-Out"
+
+#~ msgid "Out-In"
+#~ msgstr "Out-In"
+
+#~ msgid "Transitions"
+#~ msgstr "Transições"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Alterar Comprimento da Animação"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Alterar Loop da Animação"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Criar Chave com Valor Definido"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Adicionar Trilha de Chamada"
+
+#~ msgid "Length (s):"
+#~ msgstr "Duração (s):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Passo (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Passo de snap do cursor (em segundos)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Habilitar/Desabilitar loop de animação."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Adicionar novas trilhas."
+
+#~ msgid "Move current track up."
+#~ msgstr "Mover a trilha atual para cima."
+
+#~ msgid "Move current track down."
+#~ msgstr "Mover a trilha atual para baixo."
+
+#~ msgid "Track tools"
+#~ msgstr "Ferramentas de trilha"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Habilitar edição de chaves individuais clicando nelas."
+
+#~ msgid "Key"
+#~ msgstr "Chave"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Chamar Funções em Qual Nó?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Obrigado!"
+
+#~ msgid "I see..."
+#~ msgstr "Entendo..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Não é possível abrir '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Ugh"
+
+#~ msgid "Run Script"
+#~ msgstr "Rodar Script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Salva o recurso editado atualmente."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Parar Profiling"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Iniciar Profiling"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Padrão (Mesma do Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Criar nova animação no player."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Carregar uma animação do disco."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Carregar uma animação do disco."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Salvar a animação atual"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Editar alvos dos tempos de mistura"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copiar Animação"
+
+#~ msgid "Fetching:"
+#~ msgstr "Procurando:"
+
+#~ msgid "prev"
+#~ msgstr "ant"
+
+#~ msgid "next"
+#~ msgstr "prox"
+
+#~ msgid "last"
+#~ msgstr "ult"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Editar Cadeia de IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Arrastar o pivô para a posição do mouse"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Colocar o pivô na posição do mouse"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Adicionar/Remover Ponto na Curva de Cor"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Visibilidade do Gizmo de Esqueleto"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "Pré-Visualização do StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "Separação:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Editor de Região da Textura"
+
+#~ msgid "Erase selection"
+#~ msgstr "Apagar Seleção"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Não se pôde achar tile:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nome ou ID do item:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Autotiles"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Modelos de exportação para esta plataforma não foram encontrados/estão "
+#~ "corrompidos: "
+
+#~ msgid "Button 7"
+#~ msgstr "Botão 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Botão 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Botão 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Descartar Instanciação"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "Faz Sentido!"
+
+#~ msgid "Clear!"
+#~ msgstr "Limpar!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Alternar Spatial Visível"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Alternar CanvasItem Visível"
+
+#~ msgid "Condition"
+#~ msgstr "Condição"
+
+#~ msgid "Sequence"
+#~ msgstr "Sequence"
+
+#~ msgid "Switch"
+#~ msgstr "Switch"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterator"
+
+#~ msgid "While"
+#~ msgstr "While"
+
+#~ msgid "Return"
+#~ msgstr "Return"
+
+#~ msgid "Call"
+#~ msgstr "Call"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Editar Variável"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Editar Sinal"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Ação Inválida (qualquer coisa serve, exceto '/' ou ':')."
@@ -8269,10 +9860,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Can't write file."
#~ msgstr "Não foi possível escrever o arquivo."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Por favor, escolha uma pasta que não contenha um arquivo 'project.godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Não foi possível encontrar project.godot no caminho do projeto."
@@ -8397,9 +9984,6 @@ msgstr "Tamanho de fonte inválido."
#~ "O nó Viewport definido na propriedade \"Caminho\" deve ser marcado como "
#~ "\"destino de render\" para que este sprite funcione."
-#~ msgid "Filter:"
-#~ msgstr "Filtro:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' falha no processamento de configurações."
@@ -8439,9 +10023,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "Cena Atual só deve ser salva para re-importação."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Salvar e Re-Importar"
-
#~ msgid "Re-Importing"
#~ msgstr "Re-Importando"
@@ -8474,9 +10055,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "Não foi possível renomear dependências para:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "Erro ao mover arquivo:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Escolha Novo Nome e Localização Para:"
@@ -8501,9 +10079,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Target path must exist."
#~ msgstr "Caminho destino deve existir."
-#~ msgid "Save path is empty!"
-#~ msgstr "Caminho de salvamento vazio!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Importar Máscara de Bits"
@@ -8616,15 +10191,9 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Max Angle"
#~ msgstr "Ângulo Máximo"
-#~ msgid "Clips"
-#~ msgstr "Clipes"
-
#~ msgid "Start(s)"
#~ msgstr "Início(s)"
-#~ msgid "End(s)"
-#~ msgstr "Fim(ns)"
-
#~ msgid "Filters"
#~ msgstr "Filtros"
@@ -8655,18 +10224,12 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Target Texture Folder:"
#~ msgstr "Pasta Destino para Textura:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Script de Pós-Processamento:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Tipo Personalizado de Nó Raiz:"
#~ msgid "Auto"
#~ msgstr "Auto"
-#~ msgid "Root Node Name:"
-#~ msgstr "Nome do Nó Raíz:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Os Seguintes Arquivos estão Faltando:"
@@ -8724,9 +10287,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Importar Texturas para Atlas (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Tamanho da Célula:"
-
#~ msgid "Large Texture"
#~ msgstr "Textura Grande"
@@ -8809,9 +10369,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Não se pôde salvar textura convertida:"
-#~ msgid "Invalid source!"
-#~ msgstr "Origem inválida!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Origem de tradução inválida!"
@@ -8851,9 +10408,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Translation"
#~ msgstr "Tradução"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "Analisando %d Triângulos:"
-
#~ msgid "Triangle #"
#~ msgstr "Triângulo nº"
@@ -8878,24 +10432,12 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "Redefinir o processo \"octree baking\" do lightmap (recomeçar)."
-#~ msgid "Zoom (%):"
-#~ msgstr "Ampliação (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Esqueleto..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Restaurar Ampliação"
-
#~ msgid "Zoom Set..."
#~ msgstr "Definir Ampliação..."
#~ msgid "Set a Value"
#~ msgstr "Defina um Valor"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Snap (Pixels):"
-
#~ msgid "Parse BBCode"
#~ msgstr "Analisar BBCode"
@@ -8973,15 +10515,9 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Resource Tools"
#~ msgstr "Ferramentas de Recurso"
-#~ msgid "Make Local"
-#~ msgstr "Tornar Local"
-
#~ msgid "Edit Groups"
#~ msgstr "Editar Grupos"
-#~ msgid "Edit Connections"
-#~ msgstr "Editar Conexões"
-
#~ msgid "GridMap Paint"
#~ msgstr "Pintura GridMap"
@@ -9083,9 +10619,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Ambient Light Color:"
#~ msgstr "Cor de Luz Ambiente:"
-#~ msgid "Couldn't load image"
-#~ msgstr "Não pôde carregar a imagem"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Nome de classe pai inválido"
@@ -9101,9 +10634,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Parent class name is invalid!"
#~ msgstr "O nome da classe pai é inválido!"
-#~ msgid "Invalid path!"
-#~ msgstr "Caminho inválido!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "A propriedade Caminho deve apontar a um nó Particles2D para funcionar."
@@ -9187,9 +10717,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Delete Image Group"
#~ msgstr "Excluir Imagem do Grupo"
-#~ msgid "Atlas Preview"
-#~ msgstr "Visualização do Atlas"
-
#~ msgid "Project Export Settings"
#~ msgstr "Configurações de Exportação de Projeto"
@@ -9202,9 +10729,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Export all files in the project directory."
#~ msgstr "Exportar todos os arquivos no diretório do projeto."
-#~ msgid "Action"
-#~ msgstr "Ação"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "Converter cenas em formato texto para binário ao exportar."
@@ -9232,9 +10756,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Compress Formats:"
#~ msgstr "Formatos de Compressão:"
-#~ msgid "Image Groups"
-#~ msgstr "Grupos de Imagens"
-
#~ msgid "Groups:"
#~ msgstr "Grupos:"
@@ -9274,9 +10795,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Modo de Conversão de Amostras (arquivos .wav):"
-#~ msgid "Keep"
-#~ msgstr "Manter"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Comprimir (RAM - IMA-ADPCM)"
@@ -9319,9 +10837,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance não contém um recurso BakedLight ."
-#~ msgid "Fragment"
-#~ msgstr "Fragmento"
-
#~ msgid "Lighting"
#~ msgstr "Iluminação"
@@ -9380,9 +10895,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Align with view (Ctrl+Shift+F)"
#~ msgstr "Alinhar com Visão (Ctrl+Shift+F)"
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "Mudar Interpolação do Loop da Animação"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "Habilitar/Desabilitar interpolação quando repetindo a animação."
@@ -9399,9 +10911,6 @@ msgstr "Tamanho de fonte inválido."
#~ "Sem textura nesse nó.\n"
#~ "Defina uma textura para poder editar essa região."
-#~ msgid "New Scene Root"
-#~ msgstr "Nova Raiz de Cena"
-
#~ msgid "Inherit Scene"
#~ msgstr "Herdar Cena"
@@ -9414,9 +10923,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Reload Tool Script (Soft)"
#~ msgstr "Recarregar Tool Script (suave)"
-#~ msgid "Edit Connections..."
-#~ msgstr "Editar Conexões..."
-
#~ msgid "Set Params"
#~ msgstr "Definir Parâmetros"
@@ -9432,12 +10938,6 @@ msgstr "Tamanho de fonte inválido."
#~ msgid "Group Editor"
#~ msgstr "Editor de Grupos"
-#~ msgid "Node Group(s)"
-#~ msgstr "Grupo(s) do Nó"
-
-#~ msgid "Plugin List:"
-#~ msgstr "Lista de Plugins:"
-
#~ msgid "Overwrite Existing Scene"
#~ msgstr "Sobrescrever Cena Existente"
diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po
index d111d1dd4b..9a4a70a1fc 100644
--- a/editor/translations/pt_PT.po
+++ b/editor/translations/pt_PT.po
@@ -26,332 +26,488 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.0\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Desativado"
+#: 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 "Tipo de argumento inválido para convert(), use constantes TYPE_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Toda Selecção"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+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 ""
+
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Nome de Propriedade índice '%s' inválido em Nó %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Nome de Propriedade índice '%s' inválido em Nó %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Argumento inválido de tipo: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Livre"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Espelho X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Inserir Chave"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplicar Seleção"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Apagar Selecionados"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Duplicar Chaves"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Eliminar Chaves"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Mudar Tempo do Keyframe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Mudar Transição"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Mudar Transformação"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Mudar Valor do Keyframe"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Mudar Chamada"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Adicionar Pista"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Propriedade:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Duplicar Chaves"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Tipo de transformação"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Subir Pista de Animação"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Descer Pista de Animação"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Remover Pista de Animação"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Parar reprodução da Animação. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Adicionar Pista"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Definir transições para:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Duração da Animação (em segundos)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim Renomear Pista"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom da Animação."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Pista Anim Mudar Interpolação"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funções:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Pista Anim Mudar Modo do Valor"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Audição de áudio"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Pista Anim Mudar Modo de Embrulho"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Editar curva do Nó"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Alternar modo livre de distrações."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Editar Curva da Seleção"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Eliminar Chaves"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nó Animation"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplicar Seleção"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplicar Transposto"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Remover Pista selecionada."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Remover Selecção"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tempo X-Fade (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Contínuo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discreto"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Gatilho"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Adicionar Chave"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Mover Chaves"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Escalar Selecção"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Escalar Partir do Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Ir Próximo Passo"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Características"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Ir Passo Anterior"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linear"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constante"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Dentro"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Fora"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Dentro-Fora"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Fora-Dentro"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Inserir Chave"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Transições"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplicar Nó(s)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Otimizar Animação"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Apagar Nó(s)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Limpar Animação"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Remover Pista de Animação"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Criar NOVA Pista para %s e inserir Chave?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Criar %d NOVAS Pistas e inserir Chaves?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Criar"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Inserir"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Criar & Inserir"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Inserir Pista & Chave"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Inserir Chave"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Mudar Duração da Animação"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Mudar Ciclo da Animação"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim Criar Chave de Valor Digitado"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Inserir"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet não encontrada no Script: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Mover Chaves"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Ãrea de Transferência está vazia!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Escalar Chaves"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim Adicionar Pista de chamada"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom da Animação."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Duração (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Duração da Animação (em segundos)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Passos (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Ajuste do Cursor (em segundos)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Ãrvore de Animação válida."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Ativar/Desativar repetição na Animação."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Editar"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Adicionar novas Pistas."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimationTree"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Mover Pista atual para cima."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copiar Parâmetros"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Mover Pista atual para baixo."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Colar Parâmetros"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Remover Pista selecionada."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Escalar Selecção"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Escalar Partir do Cursor"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Ferramentas da Pista"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplicar Seleção"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Ativar edição de Chaves individuais ao clicar nelas."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplicar Transposto"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Apagar Selecionados"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Ir Próximo Passo"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Ir Passo Anterior"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Otimizar Animação"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Limpar Animação"
+
+#: 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 "Anim. Optimizer"
msgstr "Otimizador de Anim."
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Máximo de Erros Lineares:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Máximo de Erros Angulares:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Angulo Máximo Otimizável:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Otimizar"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Selecionar um AnimationPlayer da Scene Tree para editar Animações."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Chave"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Transição"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Taxa de Escala:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Chamar funções em que Nó?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Remover Chaves inválidas"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Remover Pistas vazias ou não resolvidas"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Limpar todas as Animações"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Limpar Animação(ões) (DEFINITIVO!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Limpar"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Taxa de Escala:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copiar"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Redimensionar Array"
@@ -372,7 +528,7 @@ msgstr "Vai para linha"
msgid "Line Number:"
msgstr "Numero da linha:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Sem combinações"
@@ -388,7 +544,7 @@ msgstr "Caso de Compatibilidade"
msgid "Whole Words"
msgstr "Palavras inteiras"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Substituir"
@@ -400,18 +556,28 @@ msgstr "Substituir todos"
msgid "Selection Only"
msgstr "Apenas seleção"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoom In"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zoom Out"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Repor Zoom"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Avisos"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom In"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linha:"
@@ -443,7 +609,8 @@ msgid "Add"
msgstr "Adicionar"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -474,7 +641,7 @@ msgid "Oneshot"
msgstr "Oneshot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -496,11 +663,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Ligar '%s' a '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Ligar sinal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Desligar '%s' de '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Desligar '%s' de '%s'"
#: editor/connections_dialog.cpp
@@ -508,14 +676,48 @@ msgid "Connect..."
msgstr "Ligar..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Desligar"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Ligar sinal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Erro de Ligação"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Está seguro que quer executar mais do que um Projeto?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Sinais"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Desligar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Editar"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Métodos"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Mudar tipo %s"
@@ -538,22 +740,25 @@ msgstr "Favoritos:"
msgid "Recent:"
msgstr "Recente:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Procurar:"
#: editor/create_dialog.cpp editor/editor_help.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 "Correspondências:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Descrição:"
@@ -615,7 +820,9 @@ msgstr "Procurar recurso de substituição:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Abrir"
@@ -637,7 +844,7 @@ msgstr ""
"funcionem.\n"
"Remover mesmo assim? (sem anular)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Impossível remover:"
@@ -705,9 +912,13 @@ msgstr "Mudar o valor do dicionário"
msgid "Thanks from the Godot community!"
msgstr "Agradecimentos da Comunidade Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Obrigado!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -884,6 +1095,7 @@ msgid "Bus options"
msgstr "Opções de barramento"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicado"
@@ -952,7 +1164,8 @@ msgstr "Adicionar Barramento"
msgid "Create a new Bus Layout."
msgstr "Criar um novo Modelo de Barramento."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Carregar"
@@ -962,7 +1175,6 @@ msgid "Load an existing Bus Layout."
msgstr "Carregar um Modelo de Barramento existente."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Guardar Como"
@@ -1005,22 +1217,6 @@ msgstr ""
"existente."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Caminho inválido."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "O Ficheiro não existe."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Não está no Caminho do recurso."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Adicionar Carregamento Automático"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Carregamento Automático '%s' já existe!"
@@ -1048,6 +1244,22 @@ msgstr "Habilitar"
msgid "Rearrange Autoloads"
msgstr "Reorganizar Carregamentos Automáticos"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Caminho inválido."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "O Ficheiro não existe."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Não está no Caminho do recurso."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Adicionar Carregamento Automático"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1078,7 +1290,7 @@ msgstr "Armazenando alterações locais..."
msgid "Updating scene..."
msgstr "Atualizando a Cena..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[vazio]"
@@ -1140,6 +1352,12 @@ msgid "Copy Path"
msgstr "Copiar Caminho"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Mostrar no Gestor de Ficheiros"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Mostrar no Gestor de Ficheiros"
@@ -1176,7 +1394,7 @@ msgid "Open a File or Directory"
msgstr "Abrir um Ficheiro ou Diretoria"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Guardar"
@@ -1229,7 +1447,8 @@ msgstr "Ir para a pasta acima"
msgid "Directories & Files:"
msgstr "Diretorias e Ficheiros:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Visualização prévia:"
@@ -1381,20 +1600,28 @@ msgstr ""
"Atualmente não existe descrição para este Método. Por favor ajude-nos [color="
"$color][url=$url]contribuindo com uma[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Texto de Pesquisa"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Propriedade:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Encontrar"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Definir"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Saída:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1416,11 +1643,6 @@ msgstr "Erro ao guardar recurso!"
msgid "Save Resource As..."
msgstr "Guardar Recurso Como..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Eu vejo..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Impossível abrir o Ficheiro para escrita:"
@@ -1433,9 +1655,9 @@ msgstr "Formato do Ficheiro solicitado desconhecido:"
msgid "Error while saving."
msgstr "Erro ao guardar."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Impossível abrir '%s'."
+#: 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'."
@@ -1478,10 +1700,6 @@ msgstr ""
"heranças) não puderam ser satisfeitas."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Falha ao carregar recurso."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Impossível carregar MeshLibrary para fundir!"
@@ -1565,42 +1783,6 @@ msgstr ""
"entendimento deste fluxo de trabalho."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Expandir tudo"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Colapsar todas as Propriedades"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copiar Parâmetros"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Colar Parâmetros"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Colar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copiar Recurso"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Tornar incorporado"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Tornar sub-recursos únicos"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Abrir em Ajuda"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Não existe nenhuma Cena definida para executar."
@@ -1794,11 +1976,6 @@ msgstr ""
"Cena '%s' foi importada automaticamente, não podendo ser alterada.\n"
"Para fazer alterações, pode ser criada uma nova Cena herdada."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Ugh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1829,6 +2006,16 @@ msgid "Default"
msgstr "Padrão"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Executar a Cena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Fechar outros separadores"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Trocar Tab de Cena"
@@ -1950,10 +2137,6 @@ msgstr "Projeto"
msgid "Project Settings"
msgstr "Configurações de Projeto"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Executar Script"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportar"
@@ -1963,6 +2146,11 @@ msgid "Tools"
msgstr "Ferramentas"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Abrir Gestor de Projeto?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Sair para a lista de Projetos"
@@ -2072,6 +2260,20 @@ msgstr "Apresentação do Editor"
msgid "Toggle Fullscreen"
msgstr "Alternar Ecrã completo"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Configurações do Editor"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Configurações do Editor"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Gerir Modelos de Exportação"
@@ -2087,7 +2289,8 @@ msgstr "Classes"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Procurar"
@@ -2131,7 +2334,7 @@ msgstr "Pausar a Cena"
msgid "Stop the scene."
msgstr "Para a Cena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Parar"
@@ -2152,6 +2355,16 @@ msgid "Play Custom Scene"
msgstr "Executar Cena Customizada"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Guardar & Sair"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Roda quando a janela do Editor atualiza!"
@@ -2171,42 +2384,6 @@ msgstr "Desativar a roleta de atualização"
msgid "Inspector"
msgstr "Inspetor"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Crie um novo recurso em memória edite-o."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Carregue um recurso existente a partir do disco e edite-o."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Guarde o recurso editado."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Guardar Como..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Ir para o Objeto editado anteriormente no histórico."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Ir para o próximo Objeto editado no histórico."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Histórico de Objetos recentemente editados."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Propriedades do Objeto."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "As alterações podem ser perdidas!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2221,6 +2398,11 @@ msgid "FileSystem"
msgstr "Sistema de Ficheiros"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Expandir tudo"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Saída"
@@ -2297,19 +2479,24 @@ msgid "Thumbnail..."
msgstr "Miniatura..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Editar Polígono"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Plugins Instalados:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Atualizar"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versão:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2317,13 +2504,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Estado:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Parar análise"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Editar"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Começar análise"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Partida!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2369,6 +2559,105 @@ msgstr "Tempo"
msgid "Calls"
msgstr "Chamadas"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "On"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, val %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Vazio]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Atribuir"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Escolha uma Vista"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Novo Script"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Novo %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Fazer único"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Mostrar no Sistema de Ficheiros"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Colar"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Converter em %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Abrir no Editor"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Nó selecionado não é uma Vista!"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Size: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Novo nome:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Novo nome:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Remover item"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Selecionar dispositivo da lista"
@@ -2405,10 +2694,6 @@ msgstr "Não foi possível executar o Script:"
msgid "Did you forget the '_run' method?"
msgstr "Esqueceu-se do médodo '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Padrão (mesmo que o Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selecionar Nó(s) para importar"
@@ -2434,6 +2719,7 @@ msgid "(Installed)"
msgstr "(Instalado)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Download"
@@ -2458,7 +2744,8 @@ msgid "Can't open export templates zip."
msgstr "Impossível abrir o zip de Modelos."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Formato de version.txt inválido, dentro dos Modelos."
#: editor/export_template_manager.cpp
@@ -2520,6 +2807,12 @@ msgid "Download Complete."
msgstr "Download Completo."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Erro ao solicitar url: "
@@ -2598,7 +2891,8 @@ msgid "Download Templates"
msgstr "Transferir Modelos"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Selecionar servidor da lista: "
#: editor/file_type_cache.cpp
@@ -2612,11 +2906,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "'%s' não foi encontrado no Sistema de Ficheiros!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Visualizar itens como uma grelha de miniaturas"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Visualizar itens como uma lista"
#: editor/filesystem_dock.cpp
@@ -2689,7 +2985,7 @@ msgstr "Expandir tudo"
msgid "Collapse all"
msgstr "Colapsar tudo"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Renomear..."
@@ -2718,6 +3014,23 @@ msgid "Duplicate..."
msgstr "Duplicar..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Novo Script"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Guardar Recurso Como..."
+
+#: 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 "Renomear"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Diretoria anterior"
@@ -2730,14 +3043,29 @@ msgid "Re-Scan Filesystem"
msgstr "Carregar novamente o Sistema de Ficheiros"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Alternar a pasta de situação como Favorita"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Selecionar o sub-tile editado."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Procurar Classes"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2745,14 +3073,112 @@ msgstr ""
"A analisar Ficheiros,\n"
"Espere, por favor..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Mover"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Renomear"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Já existe uma pasta neste caminho com o nome indicado."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Criar Script"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Encontrar tile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Encontrar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Palavras inteiras"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Caso de Compatibilidade"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Modo de filtro:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Encontrar..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "Substituir..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Substituir"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Substituir todos"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "A guardar..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Texto de Pesquisa"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERRO: O nome da Animação já existe!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nome inválido."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupos"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Adicionar ao Grupo"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrar Nós"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Adicionar ao Grupo"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2762,6 +3188,11 @@ msgstr "Adicionar ao Grupo"
msgid "Remove from Group"
msgstr "Remover do Grupo"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupos"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importar como Cena única"
@@ -2803,7 +3234,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importar como Cenas e Materiais Múltiplos"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importar Cena"
@@ -2863,18 +3294,131 @@ msgstr "Predefinido..."
msgid "Reimport"
msgstr "Reimportar"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Falha ao carregar recurso."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Expandir tudo"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Colapsar todas as Propriedades"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Guardar Como..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copiar Parâmetros"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Colar Parâmetros"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Ãrea de transferência de recursos vazia!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copiar Recurso"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Tornar incorporado"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Tornar sub-recursos únicos"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Abrir em Ajuda"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Crie um novo recurso em memória edite-o."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Carregue um recurso existente a partir do disco e edite-o."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Ir para o Objeto editado anteriormente no histórico."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Ir para o próximo Objeto editado no histórico."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Histórico de Objetos recentemente editados."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Propriedades do Objeto."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrar Nós"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "As alterações podem ser perdidas!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Conjunto MultiNode"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupos"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Selecionar um Nó para editar sinais e grupos."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Editar Polígono"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Criar solução C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Plugins"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Linguagem"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Script inválido"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2920,6 +3464,149 @@ msgstr ""
msgid "Delete points"
msgstr "Apagar Pontos"
+#: 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 "Adicionar Animação"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Carregar"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Apagar Pontos"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Apagar Ponto."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Mover Ponto"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nó Animation"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Ação '%s' já existe!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Ajustar"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Editar filtros"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Adicionar Nó"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Editar filtros"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Filhos editáveis"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Alternar reprodução automática"
@@ -2946,11 +3633,13 @@ msgid "Remove Animation"
msgstr "Remover Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERRO: Nome de Animação inválido!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERRO: O nome da Animação já existe!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2959,11 +3648,6 @@ msgid "Rename Animation"
msgstr "Renomear Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Adicionar Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Misturar seguinte alterado"
@@ -2980,11 +3664,13 @@ msgid "Duplicate Animation"
msgstr "Duplicar Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ERRO: Sem Animação para copiar!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ERRO: nenhuma Animação na Ãrea de Transferência!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2996,7 +3682,8 @@ msgid "Paste Animation"
msgstr "Colar Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ERRO: Sem Animação para editar!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3029,20 +3716,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Escalar globalmente a reprodução da Animação para o Nó."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Criar uma nova Animação no reprodutor."
+msgid "Animation Tools"
+msgstr "Ferramentas de Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animação"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Abrir Animação do disco."
+msgid "New"
+msgstr "Novo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Carregar uma Animação do disco."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Transições"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Guardar a Animação atual"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Abrir no Editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3053,18 +3747,6 @@ msgid "Autoplay on Load"
msgstr "Reprodução automática no carregamento"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Editar tempos de mistura do alvo"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Ferramentas de Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copiar Animação"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Onion Skinning"
@@ -3113,6 +3795,11 @@ msgid "Include Gizmos (3D)"
msgstr "Incluir ferramentas (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Colar Animação"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Criar Nova Animação"
@@ -3122,6 +3809,7 @@ msgstr "Nome da Animação:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3139,161 +3827,213 @@ msgstr "Próximo (auto-fila):"
msgid "Cross-Animation Blend Times"
msgstr "Tempos de mistura de Animação cruzada"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animação"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Não está no Caminho do recurso."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Criar Novo %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Conectar Nós"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Remover Pista selecionada."
+
+#: 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 "Transição"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimationTree"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Novo nome:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Editar filtros"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Escala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Aparecer (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Desvanecer (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Misturar"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Combinar"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Reinício automático:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Reinício (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Reinício aleatório (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Partida!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Valor:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Mistura:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Mistura 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Mistura 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Tempo X-Fade (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Atual:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Adicionar entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Limpar avanço automático"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Definir avanço automático"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Apagar entrada"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Ãrvore de Animação válida."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Ãrvore de Animação inválida."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Nó Animation"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Nó OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Nó Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Nó Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Nó Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Nó Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Nó TimeScale"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Nó TimeSeek"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Nó Transition"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importar Animações..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Editar filtros de Nó"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtros..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimationTree"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Livre"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Conteúdos:"
@@ -3347,8 +4087,14 @@ msgid "Asset Download Error:"
msgstr "Erro na transferência de Ativo:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Em busca:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "A transferir"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "A transferir"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3375,20 +4121,22 @@ msgid "Download for this asset is already in progress!"
msgstr "A transferência deste Ativo já está em andamento!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "primeiro"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "anterior"
+#, fuzzy
+msgid "Previous"
+msgstr "Guia anterior"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "seguinte"
+msgid "Next"
+msgstr "Proximo"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "último"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3460,7 +4208,7 @@ msgid "Bake Lightmaps"
msgstr "Cozinhar Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Previsualização"
@@ -3469,12 +4217,10 @@ msgid "Configure Snap"
msgstr "Configurar Ajuste"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Compensação da grelha:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Passo da grelha:"
@@ -3487,14 +4233,6 @@ msgid "Rotation Step:"
msgstr "Passo da rotação:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Mover Eixo"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Mover ação"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Mover guia vertical"
@@ -3523,11 +4261,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Criar guias horizontal e vertical"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Editar corrente IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Mover Eixo"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Editar CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move anchor"
+msgstr "Mover ação"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Editar CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Editar CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3547,6 +4302,21 @@ msgid "Paste Pose"
msgstr "Colar Pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zoom Out"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Zoom Out"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoom In"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Modo seleção"
@@ -3593,7 +4363,8 @@ msgid "Pan Mode"
msgstr "Modo deslocamento"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Alternar Ajuste"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3601,7 +4372,8 @@ msgid "Use Snap"
msgstr "Usar Ajuste"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opções de Ajuste"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3642,6 +4414,11 @@ msgid "Snap to node sides"
msgstr "Ajustar aos lados do Nó"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Ajustar ao Nó âncora"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Ajustar a outros Nós"
@@ -3668,14 +4445,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Restaura a capacidade de selecionar os Objetos-filho."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Criar ossos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Apagar ossos"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Mostrar ossos"
@@ -3688,6 +4457,15 @@ msgid "Clear IK Chain"
msgstr "Apagar corrente IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Apagar ossos"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Ver"
@@ -3730,14 +4508,11 @@ msgid "Layout"
msgstr "Esquema"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Inserir Chaves"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Inserir Chave"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Inserir Chave (Pistas existentes)"
@@ -3750,14 +4525,6 @@ msgid "Clear Pose"
msgstr "Limpar pose"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Arrastar Eixo da posição do rato"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Definir Eixo na posição do rato"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multiplicar passo da grelha por 2"
@@ -3773,10 +4540,6 @@ msgstr "Adicionar %s"
msgid "Adding %s..."
msgstr "A adicionar %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Impossível instanciar nós múltiplos sem raiz."
@@ -3811,27 +4574,20 @@ msgstr "Criar Poly3D"
msgid "Set Handle"
msgstr "Definir handle"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Remover item %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Adicionar item"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Remover item selecionado"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partículas"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importar da Cena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Criar Pontos de emissão a partir da Mesh"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Atualizar da Cena"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Criar Pontos de emissão a partir do Nó"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3901,15 +4657,6 @@ msgstr "Pressione Shift para editar tangentes individualmente"
msgid "Bake GI Probe"
msgstr "Cozinhar a sonda GI"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Adicionar/remover Ponto da rampa de cores"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modificar rampa de cores"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Item %d"
@@ -3995,6 +4742,7 @@ msgid "No mesh to debug."
msgstr "Nenhuma Mesh para depurar."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "O Modelo não tem UV neste Layer"
@@ -4062,6 +4810,27 @@ msgstr "Criar Mesh contorno"
msgid "Outline Size:"
msgstr "Tamanho do contorno:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Remover item %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Adicionar item"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Remover item selecionado"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importar da Cena"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Atualizar da Cena"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Não há fonte de Mesh (nem MultiMesh no Nó)."
@@ -4162,70 +4931,6 @@ msgstr "Escala aleatória:"
msgid "Populate"
msgstr "Povoar"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Cozinhar!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Cozinhar a Mesh de navegação."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Limpar a Mesh de navegação."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "A ajustar configuração..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "A calcular tamanho da grelha..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "A criar heightfield..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "A marcar triângulos caminháveis..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "A construir heightfield compacto..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "A corroer a Ãrea caminhável..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "A segmentar..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "A criar contornos..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "A criar polymesh..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "A converter para Mesh de navegação nativa..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Configuração do gerador da Mesh de navegação:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "A analisar geometria..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Feito!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Criar Polígono de navegação"
@@ -4286,18 +4991,6 @@ msgid "Emission Colors"
msgstr "Cores de emissão"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "O Nó não contêm geometria."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "O Nó não contêm geometria (faces)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "É necessário um Material processador do tipo 'ParticlesMaterial'."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "As faces não contêm Ãrea!"
@@ -4306,16 +4999,12 @@ msgid "No faces!"
msgstr "Sem faces!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Gerar AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Criar Pontos de emissão a partir da Mesh"
+msgid "Node does not contain geometry."
+msgstr "O Nó não contêm geometria."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Criar Pontos de emissão a partir do Nó"
+msgid "Node does not contain geometry (faces)."
+msgstr "O Nó não contêm geometria (faces)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4342,6 +5031,19 @@ msgid "Emission Source: "
msgstr "Fonte de emissão: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "É necessário um Material processador do tipo 'ParticlesMaterial'."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Gerar AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Converter em maiúsculas"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Gerar visibilidade AABB"
@@ -4418,6 +5120,22 @@ msgstr "Apagar Ponto"
msgid "Close Curve"
msgstr "Fechar curva"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Opções"
+
+#: 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 "Ponto da curva #"
@@ -4450,19 +5168,95 @@ msgstr "Remover Ponto Out-Control"
msgid "Remove In-Control Point"
msgstr "Remover Ponto In-Control"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Mover Ponto"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Mostrar ossos"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Criar mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Criar Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Ação '%s' já existe!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Adicionar Ponto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Caminho inválido"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Remover Ponto"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Transformar mapa UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Editor UV de Polígono 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Editar Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Separar Caminho"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Criar ossos"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Criar Polígono"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Mover Ponto"
@@ -4491,12 +5285,25 @@ msgid "Scale Polygon"
msgstr "Escalar Polígono"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Editar"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Selecione primeiro um item de configuração!"
+
+#: 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 "Polygon->UV"
@@ -4511,9 +5318,9 @@ msgid "Clear UV"
msgstr "Limpar UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Ajustar"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Configurações do GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4523,6 +5330,36 @@ msgstr "Ativar Ajuste"
msgid "Grid"
msgstr "Grelha"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configurar Ajuste"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Compensação da grelha:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Compensação da grelha:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Passo da grelha:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Passo da grelha:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Escalar Polígono"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ERRO: Não foi possível carregar recurso!"
@@ -4545,6 +5382,10 @@ msgid "Resource clipboard is empty!"
msgstr "Ãrea de transferência de recursos vazia!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Colar Recurso"
+
+#: 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"
@@ -4566,16 +5407,18 @@ msgid "Load Resource"
msgstr "Carregar recurso"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Colar"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "ResourcePreloader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Ãrvore de Animação inválida."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Limpar Ficheiros recentes"
@@ -4585,6 +5428,21 @@ msgid "Close and save changes?"
msgstr "Fechar e guardar alterações?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Erro ao guardar TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Erro - Impossível criar Script no Sistema de Ficheiros."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Erro ao guardar TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Erro ao guardar tema"
@@ -4601,6 +5459,21 @@ msgid "Error importing"
msgstr "Erro ao importar"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nova Diretoria..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Abrir um Ficheiro"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Guardar Como..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Importar tema"
@@ -4613,6 +5486,10 @@ msgid " Class Reference"
msgstr " Referência de classe"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Ordenar"
@@ -4641,8 +5518,9 @@ msgid "File"
msgstr "Ficheiro"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Novo"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Ver Ficheiros"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4669,6 +5547,11 @@ msgid "History Next"
msgstr "Histórico seguinte"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Recarregar tema"
@@ -4702,11 +5585,6 @@ msgstr "Alternar painel de Scripts"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Encontrar..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Encontrar seguinte"
@@ -4760,10 +5638,6 @@ msgid "Discard"
msgstr "Descartar"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Criar Script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4784,6 +5658,16 @@ msgid "Debugger"
msgstr "Depurador"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Procurar em Ajuda"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Procurar Classes"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4791,40 +5675,56 @@ msgstr ""
"carregada"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linha:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Só podem ser largados recursos do Sistema de Ficheiros ."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Completar símbolo"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Escolher cor"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Converter maiúsculas/minúsculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Maiúsculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Minúsculas"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Capitalizar"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Cortar"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copiar"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4912,8 +5812,9 @@ msgid "Find Previous"
msgstr "Encontrar anterior"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Substituir..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrar Ficheiro..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4931,129 +5832,42 @@ msgstr "Ajuda contextual"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Mudar constante escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Mudar constante vetorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Mudar constante RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Mudar operador escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Mudar operador vetorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Mudar operador escalar/vetorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Mudar operador RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Alternar só rotação"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Mudar Função escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Mudar Função vetorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Mudar uniforme escalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Mudar uniforme vetorial"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Mudar uniforme RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Mudar valor padrão"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Mudar uniforme XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Mudar uniforme textura"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Mudar uniforme Cubemap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Mudar comentário"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Adicionar/remover da rampa de cores"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Adicionar/remover do mapa de curva"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Modificar mapa de curva"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Mudar nome de entrada"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Conectar Nós do gráfico"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Desconectar Nós do gráfico"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Remover Nó Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Instância única"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Mover Nó Shader"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Duplicar Nó(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Apagar Nó(s) Shader"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Criar Mesh de navegação"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Erro: conexão cíclica"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Instância única"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Erro: Faltam conexões de entrada"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Criar solução C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Adicionar Nó Shader"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Executar"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5180,10 +5994,6 @@ msgid "Align with view"
msgstr "Alinhar com a vista"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Sem parente para criar instância de filho."
@@ -5192,6 +6002,11 @@ msgid "This operation requires a single selected node."
msgstr "Esta operação requer um único Nó selecionado."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Ver informação"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Vista normal"
@@ -5236,6 +6051,11 @@ msgid "Doppler Enable"
msgstr "Efeito doppler"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "A criar pré-visualizações de Mesh"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Vista livre esquerda"
@@ -5366,6 +6186,11 @@ msgid "Tool Scale"
msgstr "Ferramenta escalar"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Ajustar à grelha"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Alternar Freelook"
@@ -5374,6 +6199,10 @@ msgid "Transform"
msgstr "Transformar"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Diálogo de transformação..."
@@ -5402,6 +6231,11 @@ msgid "4 Viewports"
msgstr "4 vistas"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Ver ferramentas"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Ver origem"
@@ -5415,10 +6249,6 @@ msgid "Settings"
msgstr "Configuração"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "Visibilidade do Skeleton Gizmo"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Configuração do Ajuste"
@@ -5478,6 +6308,52 @@ msgstr "Pré"
msgid "Post"
msgstr "Pós"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "A Mesh está vazia!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Converter em %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Criar Mesh contorno"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Previsualização"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Configuração"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ERRO: Recurso de Frame não carregado!"
@@ -5546,14 +6422,6 @@ msgstr "Mover (depois)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "Pré-visualização StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Definir região Rect"
@@ -5579,28 +6447,22 @@ msgid "Auto Slice"
msgstr "Corte automático"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Compensação:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Passo:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Separação:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Região de textura"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Editor da região de textura"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Impossível guardar tema para Ficheiro:"
@@ -5614,11 +6476,6 @@ msgid "Add All"
msgstr "Adicionar tudo"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Remover item"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Remover todos os itens"
@@ -5690,10 +6547,6 @@ msgstr "Tem"
msgid "Many"
msgstr "Muitos"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Opções"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Tem,Muitas,Opções"
@@ -5718,7 +6571,7 @@ msgstr "Tipo de dados:"
msgid "Icon"
msgstr "Ãcone"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Estilo"
@@ -5731,14 +6584,19 @@ msgid "Color"
msgstr "Cor"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Tema"
+msgid "Constant"
+msgstr "Constante"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Apagar seleção"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nome inválido."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Pintar TileMap"
@@ -5759,11 +6617,8 @@ msgid "Erase TileMap"
msgstr "Apagar TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Apagar seleção"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Encontrar tile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5787,6 +6642,11 @@ msgid "Pick Tile"
msgstr "Escolher tile"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Remover Selecção"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Rodar 0 graus"
@@ -5803,68 +6663,122 @@ msgid "Rotate 270 degrees"
msgstr "Rodar 270 graus"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Tile não encontrado:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Adicionar Nó da Ãrvore"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Nome ou ID do item:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Remover Entrada atual"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Criar a partir da Cena?"
+msgid "Create from Scene"
+msgstr "Criar a partir da Cena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Fundir a partir da Cena?"
+msgid "Merge from Scene"
+msgstr "Fundir a partir da Cena"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Conjunto de tiles"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Selecionar sub-tile para usar como ícone, também será usado em ligações "
+"inválidas autotile."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Criar a partir da Cena"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Fundir a partir da Cena"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Erro"
+#: 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?"
+msgstr "Criar a partir da Cena?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr "Fundir a partir da Cena?"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr "Tiles automáticos"
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Selecionar sub-tile para usar como ícone, também será usado em ligações "
-"inválidas autotile."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"LMB: definir bit on.\n"
"RMB: definir bit off."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Selecionar o sub-tile editado."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Selecionar sub-tile para usar como ícone, também será usado em ligações "
+"inválidas autotile."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Selecionar sub-tile para alterar a sua prioridade."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Cancelar"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Esta operação não pode ser efetuada sem uma Cena."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Conjunto de tiles"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Vértices"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Direita"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5879,9 +6793,9 @@ msgid "Delete preset '%s'?"
msgstr "Apagar predefinição '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
-"Modelos de exportação para esta plataforma estão ausentes/corrompidos: "
+"Modelos de exportação para esta plataforma estão ausentes/corrompidos :"
#: editor/project_export.cpp
msgid "Presets"
@@ -5958,11 +6872,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Não existem Modelos de exportação para esta plataforma:"
#: 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 With Debug"
msgstr "Exportar com depuração"
@@ -5971,14 +6880,24 @@ msgid "The path does not exist."
msgstr "O Caminho não existe."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Escolha um Ficheiro 'project.godot'."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "Escolha uma pasta que não contenha um Ficheiro 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Por favor escolha uma pasta vazia."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Escolha um Ficheiro 'project.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Projeto importado"
@@ -6067,6 +6986,11 @@ msgid "Project Path:"
msgstr "Caminho do Projeto:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Caminho do Projeto:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Navegar"
@@ -6185,9 +7109,10 @@ msgid "Mouse Button"
msgstr "Botão do rato"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Nome de ação inválido. Não pode ser vazio nem conter '/', ':', '=', '\\' ou "
"'\"'."
@@ -6201,9 +7126,23 @@ msgid "Rename Input Action Event"
msgstr "Renomear evento ação de entrada"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Mudar o Nome da Animação:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Adicionar evento ação de entrada"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Dispositivo"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Dispositivo"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6245,20 +7184,24 @@ msgid "Wheel Down Button"
msgstr "Botão roda para baixo"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Botão 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Botão roda para cima"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Botão 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Botão direito"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Botão 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Botão 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Botão 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Botão 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6285,10 +7228,6 @@ msgid "Add Event"
msgstr "Adicionar evento"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Dispositivo"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Botão"
@@ -6333,6 +7272,14 @@ msgid "Delete Item"
msgstr "Apagar item"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Nome de ação inválido. Não pode ser vazio nem conter '/', ':', '=', '\\' ou "
+"'\"'."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Já existe"
@@ -6404,6 +7351,10 @@ msgstr "Propriedade:"
msgid "Override For..."
msgstr "Sobrepor por..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Mapa de entrada"
@@ -6413,6 +7364,15 @@ msgid "Action:"
msgstr "Ação:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Ação:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Dispositivo:"
@@ -6473,10 +7433,6 @@ msgid "AutoLoad"
msgstr "Carregamento automático"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Escolha uma Vista"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Ease In"
@@ -6513,34 +7469,10 @@ msgid "Select Node"
msgstr "Selecionar Nó"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Novo Script"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Novo %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Fazer único"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Mostrar no Sistema de Ficheiros"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Converter em %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Erro ao carregar Ficheiro: Não é um recurso!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Nó selecionado não é uma Vista!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Escolha um Nó"
@@ -6549,18 +7481,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, val %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "On"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Vazio]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Definir"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Propriedades:"
@@ -6584,6 +7504,133 @@ msgstr "Impossível executar ferramenta PVRTC:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "Impossível carregar imagem convertida com a ferramenta PVRTC:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Renomear"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opções de Ajuste"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nome do Nó:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Encontrar tipo de Nó"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Cena atual"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Renomear"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Passo:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Mudar Expressão"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Minúsculas"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Maiúsculas"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Repor Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Erro"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Recolocar Nó"
@@ -6620,11 +7667,6 @@ msgstr "Argumentos da Cena principal:"
msgid "Scene Run Settings"
msgstr "Configurações de execução da Cena"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Nenhum parente para instanciar a Cena."
@@ -6646,6 +7688,10 @@ msgid "Instance Scene(s)"
msgstr "Cena(s) da Instância"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Limpar Script"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Esta operação não pode ser feita na raiz da árvore."
@@ -6686,12 +7732,34 @@ msgid "Load As Placeholder"
msgstr "Carregar como marcador de posição"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Descartar instância"
+#, fuzzy
+msgid "Make Local"
+msgstr "Local"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Criar Nó"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Faz sentido!"
+#, fuzzy
+msgid "2D Scene"
+msgstr "Cena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Cena"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Limpar herança"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Cortar Nós"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6702,6 +7770,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Impossível operar em Nós herdados pela Cena atual!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Anexar Script"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Remover Nó(s)"
@@ -6746,18 +7818,15 @@ msgid "Change Type"
msgstr "Mudar tipo"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Anexar Script"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Limpar Script"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Faz sentido!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Fundir a partir da Cena"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Guardar ramo como Cena"
@@ -6782,10 +7851,6 @@ msgstr ""
"raiz."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrar Nós"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Anexar Script novo ou existente ao Nó selecionado."
@@ -6805,25 +7870,19 @@ msgstr "Local"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Limpar herança? (Sem retrocesso!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Limpo!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Alternar visibilidade espacial"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Alternar visibilidade do CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Alternar visibilidade"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Aviso de configuração do Nó:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Nó tem conexões e grupo(s).\n"
@@ -6845,22 +7904,25 @@ msgstr ""
"Nó está em grupo(s).\n"
"Clique para mostrar doca dos grupos."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Abrir Script"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Nó está bloqueado.\n"
"Clique para desbloquear"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Filhos não são selecionáveis.\n"
"Clique para os tornar selecionáveis"
@@ -6870,6 +7932,12 @@ msgid "Toggle Visibility"
msgstr "Alternar visibilidade"
#: 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 "Nome de Nó inválido, os carateres seguintes não são permitidos:"
@@ -6906,6 +7974,11 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Abrir Editor de Scripts"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Caminho está vazio"
@@ -7142,10 +8215,23 @@ msgid "Change Camera Size"
msgstr "Mudar tamanho da câmara"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Mudar extensões de notificador"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Mudar partículas AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Mudar extensões de sonda"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Mudar raio da forma esfera"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Mudar medidas da forma caixa"
@@ -7158,20 +8244,38 @@ msgid "Change Capsule Shape Height"
msgstr "Mudar altura da forma cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Mudar comprimento da forma raio"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Mudar raio da forma cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Mudar extensões de notificador"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Mudar altura da forma cápsula"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Mudar partículas AABB"
+msgid "Change Ray Shape Length"
+msgstr "Mudar comprimento da forma raio"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Mudar extensões de sonda"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Mudar raio da luz"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Mudar altura da forma cápsula"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Mudar raio da forma esfera"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Mudar raio da luz"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7226,17 +8330,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Tipo de argumento inválido para convert(), use constantes TYPE_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-"Número de bytes insuficientes para descodificar, ou o formato é inválido."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "o argumento \"step\" é zero!"
@@ -7303,6 +8396,11 @@ msgid "GridMap Delete Selection"
msgstr "Apagar seleção GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Apagar seleção GridMap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "Seleção duplicada de GridMap"
@@ -7383,6 +8481,11 @@ msgid "Clear Selection"
msgstr "Limpar Seleção"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Toda Selecção"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "Configurações do GridMap"
@@ -7451,6 +8554,70 @@ msgstr "Ver Ficheiros"
msgid "End of inner exception stack trace"
msgstr "Fim do stack trace de exceção interna"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Cozinhar!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Cozinhar a Mesh de navegação."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Limpar a Mesh de navegação."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "A ajustar configuração..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "A calcular tamanho da grelha..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "A criar heightfield..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "A marcar triângulos caminháveis..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "A construir heightfield compacto..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "A corroer a Ãrea caminhável..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "A segmentar..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "A criar contornos..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "A criar polymesh..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "A converter para Mesh de navegação nativa..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Configuração do gerador da Mesh de navegação:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "A analisar geometria..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Feito!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7508,10 +8675,6 @@ msgid "Set Variable Type"
msgstr "Definir tipo de variável"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funções:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variáveis:"
@@ -7624,36 +8787,14 @@ msgid "Connect Nodes"
msgstr "Conectar Nós"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Condição"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Sequência"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Trocar"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Iterador"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Enquanto"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Voltar"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Chamar"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Conectar Nós"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Obter"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Conectar Nós"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7680,26 +8821,18 @@ msgid "Remove Function"
msgstr "Remover Função"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Editar variável"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Remover Variável"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Editar sinal"
+msgid "Editing Variable:"
+msgstr "A editar Variável:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Remover Sinal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "A editar Variável:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "A editar Sinal:"
@@ -7743,6 +8876,11 @@ msgstr "Cortar Nós"
msgid "Paste Nodes"
msgstr "Colar Nós"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Membros"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Tipo de Input não iterável: "
@@ -7799,6 +8937,19 @@ msgstr ""
"Valor de retorno from _step() inválido, tem de ser inteiro (seq out), ou "
"string (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Remover Nó VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Obter"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Executar no Navegador"
@@ -7849,9 +9000,10 @@ msgstr ""
"ignorado."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Este nó não tem formas filhos, não conseguindo assim interagir com o "
@@ -7962,6 +9114,19 @@ msgstr ""
"Para funcionar, a Propriedade Caminho tem de apontar para um Nó Node2D "
"válido."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8027,9 +9192,10 @@ msgid "Lighting Meshes: "
msgstr "A iluminar Meshes: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Este nó não tem formas filhos, não conseguindo assim interagir com o "
@@ -8128,6 +9294,21 @@ msgstr ""
"Este WorldEnvironment Ä— ignorado. Pode adicionar uma Camera (para cenas 3D) "
"ou definir o Modo Background deste ambiente como Canvas (para cenas 2D)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Mudanças no tamanho do RigidBody (em modos caráter ou rígido) serão "
+"reescritas pelo motor de física na execução.\n"
+"Mude antes o tamanho das formas de colisão filhas."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8144,6 +9325,47 @@ msgstr ""
"VehicleWheel fornece um sistema de rodas a um VehicleBody. Use-o como um "
"filho de VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Ferramentas de Animação"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERRO: Nome de Animação inválido!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Desligar '%s' de '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Selecionar um AnimationPlayer da Scene Tree para editar Animações."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Ãrvore de Animação inválida."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Modo Raw"
@@ -8224,12 +9446,366 @@ msgstr "Erro ao carregar letra."
msgid "Invalid font size."
msgstr "Tamanho de letra inválido."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Adicionar entrada"
+
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Guia anterior"
+msgid "None"
+msgstr "<Nenhum>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Tamanho de letra inválido."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Mudar constante escalar"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Mudar constante vetorial"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Mudar constante RGB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Mudar operador escalar"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Mudar operador vetorial"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Mudar operador escalar/vetorial"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Mudar operador RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Alternar só rotação"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Mudar Função escalar"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Mudar Função vetorial"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Mudar uniforme escalar"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Mudar uniforme vetorial"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Mudar uniforme RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Mudar valor padrão"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Mudar uniforme XForm"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Mudar uniforme textura"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Mudar uniforme Cubemap"
+
+#~ msgid "Change Comment"
+#~ msgstr "Mudar comentário"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Adicionar/remover da rampa de cores"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modificar rampa de cores"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Adicionar/remover do mapa de curva"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Modificar mapa de curva"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Mudar nome de entrada"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Conectar Nós do gráfico"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Desconectar Nós do gráfico"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Remover Nó Shader"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Mover Nó Shader"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Duplicar Nó(s)"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Apagar Nó(s) Shader"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Erro: conexão cíclica"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Erro: Faltam conexões de entrada"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Adicionar Nó Shader"
+
+#~ msgid "Disabled"
+#~ msgstr "Desativado"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Subir Pista de Animação"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Descer Pista de Animação"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Definir transições para:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim Renomear Pista"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Pista Anim Mudar Interpolação"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Pista Anim Mudar Modo do Valor"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Pista Anim Mudar Modo de Embrulho"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Editar curva do Nó"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Editar Curva da Seleção"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Adicionar Chave"
+
+#~ msgid "In"
+#~ msgstr "Dentro"
+
+#~ msgid "Out"
+#~ msgstr "Fora"
+
+#~ msgid "In-Out"
+#~ msgstr "Dentro-Fora"
+
+#~ msgid "Out-In"
+#~ msgstr "Fora-Dentro"
-#~ msgid "Next"
-#~ msgstr "Proximo"
+#~ msgid "Change Anim Len"
+#~ msgstr "Mudar Duração da Animação"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Mudar Ciclo da Animação"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim Criar Chave de Valor Digitado"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim Adicionar Pista de chamada"
+
+#~ msgid "Length (s):"
+#~ msgstr "Duração (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Ajuste do Cursor (em segundos)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Ativar/Desativar repetição na Animação."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Adicionar novas Pistas."
+
+#~ msgid "Move current track up."
+#~ msgstr "Mover Pista atual para cima."
+
+#~ msgid "Move current track down."
+#~ msgstr "Mover Pista atual para baixo."
+
+#~ msgid "Track tools"
+#~ msgstr "Ferramentas da Pista"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Ativar edição de Chaves individuais ao clicar nelas."
+
+#~ msgid "Key"
+#~ msgstr "Chave"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Chamar funções em que Nó?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Obrigado!"
+
+#~ msgid "I see..."
+#~ msgstr "Eu vejo..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Impossível abrir '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Ugh"
+
+#~ msgid "Run Script"
+#~ msgstr "Executar Script"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Guarde o recurso editado."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Parar análise"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Começar análise"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Padrão (mesmo que o Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Criar uma nova Animação no reprodutor."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Abrir Animação do disco."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Carregar uma Animação do disco."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Guardar a Animação atual"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Editar tempos de mistura do alvo"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copiar Animação"
+
+#~ msgid "Fetching:"
+#~ msgstr "Em busca:"
+
+#~ msgid "prev"
+#~ msgstr "anterior"
+
+#~ msgid "next"
+#~ msgstr "seguinte"
+
+#~ msgid "last"
+#~ msgstr "último"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Editar corrente IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Arrastar Eixo da posição do rato"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Definir Eixo na posição do rato"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Adicionar/remover Ponto da rampa de cores"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "Visibilidade do Skeleton Gizmo"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "Pré-visualização StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "Separação:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Editor da região de textura"
+
+#~ msgid "Erase selection"
+#~ msgstr "Apagar seleção"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Tile não encontrado:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Nome ou ID do item:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Tiles automáticos"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Modelos de exportação para esta plataforma estão ausentes/corrompidos: "
+
+#~ msgid "Button 7"
+#~ msgstr "Botão 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Botão 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Botão 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Descartar instância"
+
+#~ msgid "Clear!"
+#~ msgstr "Limpo!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Alternar visibilidade espacial"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Alternar visibilidade do CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "Condição"
+
+#~ msgid "Sequence"
+#~ msgstr "Sequência"
+
+#~ msgid "Switch"
+#~ msgstr "Trocar"
+
+#~ msgid "Iterator"
+#~ msgstr "Iterador"
+
+#~ msgid "While"
+#~ msgstr "Enquanto"
+
+#~ msgid "Return"
+#~ msgstr "Voltar"
+
+#~ msgid "Call"
+#~ msgstr "Chamar"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Editar variável"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Editar sinal"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Ação inválida (tudo menos '/' ou ':')."
@@ -8247,9 +9823,6 @@ msgstr "Tamanho de letra inválido."
#~ msgid "Can't write file."
#~ msgstr "Impossível escrever o Ficheiro."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "Escolha uma pasta que não contenha um Ficheiro 'project.godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Impossível encontrar project.godot no Caminho do Projeto."
diff --git a/editor/translations/ro.po b/editor/translations/ro.po
index c5a4e35903..f668c20d96 100644
--- a/editor/translations/ro.po
+++ b/editor/translations/ro.po
@@ -6,11 +6,12 @@
# Filip <filipanton@tutanota.com>, 2018.
# Nitroretro <nitroretro@protonmail.com>, 2018.
# TigerxWood <TigerxWood@gmail.com>, 2018.
+# Grigore Antoniuc <grisa181@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-06-20 20:43+0000\n"
-"Last-Translator: Calin Sopterean <csopterean@gmail.com>\n"
+"PO-Revision-Date: 2018-08-05 00:52+0000\n"
+"Last-Translator: Grigore Antoniuc <grisa181@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ro/>\n"
"Language: ro\n"
@@ -18,334 +19,483 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-"X-Generator: Weblate 3.1-dev\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Dezactivat"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Toată selecția"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Gratuit"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Eroare!"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Inserează Notă"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplicați Selecția"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Ştergeți fişierele selectate?"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Clonare Chei"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Ștergeți Cheile"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Schimbați Timpul Cadru Cheie"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Schimbați Tranziție"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Schimbare transformare"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Schimbare valoare cadre cheie"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Schimbare apelare"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Adăugați Pistă"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Clonare Chei"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Transformare hartă UV"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Mută Pista Anim Sus"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Mută Pista Anim Jos"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Elimină Pista Anim"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Setează Tranziții la:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Oprește rularea animației. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Redenumește Pista Anim"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Adăugați Pistă"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim Schimbați Interpolarea Pistei"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Lungime Animație (în secunde)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Anim Schimbați Modul Valorii Pistei"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Zoom Animație."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim Schimbați Modul Învelirii Pistei"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Editați Curba Nodului"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Editați Curba Selecției"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Ștergeți Cheile"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Comutează modul fără distrageri."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplicați Selecția"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Duplicați Transpunerea"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Nod de Animație"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Elminați Selecția"
+#: 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 "Ștergeți pista selectată."
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Timp X-Decolorare (s):"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Continuu"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Discret"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Trăgaci"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Adaugați Cheie"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Mutați Cheie"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Scalați Selecția"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Scalați De La Cursor"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Mergeți la Pasul Următor"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Viitor"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Mergeți la Pasul Anterior"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linear"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Constant"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "ÃŽn"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Afară"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Înăuntru-Afară"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Afară-Înăuntru"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Inserează Notă"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Tranziții"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Anim Clonare Chei"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimizați Animația"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Anim Ștergeți Cheile"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Curățați Animația"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Elimină Pista Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Creați pistă NOUA pentru %s și inserați cheie?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Creați %d piste NOI și inserați cheie?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Creați"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Inserați"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Creați și Inserați"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Inserați Pistă și Cheie"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Inserați Cheie"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Schimbați Lung Anim"
+#: 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_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Schimbați Bucla Anim"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Anim Creați Cheie Valoare Typed"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Inserați"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Mutați Cheie"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Clip-board de resurse gol !"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Scalați Cheile"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Anim Adăugați Pistă Chemare"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Zoom Animație."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Lungime (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Lungime Animație (în secunde)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Pas (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Pas de Cursor Snap (în secunde)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Arborele Animației este valid."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Activați / Dezactivați Repetiția în Animație."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Modificare"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Adăugați piste noi."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "ArboreAnimație"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Mișcați pista curentă sus."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Copie Parametrii"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Mișcați pista curentă jos."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Lipiţi Parametrii"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Ștergeți pista selectată."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Scalați Selecția"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Unelte Pistă"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Scalați De La Cursor"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Activați editarea de chei individuale prin clic."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplicați Selecția"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Duplicați Transpunerea"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Centrează Selecția"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Mergeți la Pasul Următor"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Mergeți la Pasul Anterior"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimizați Animația"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Curățați Animația"
+
+#: 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 "Anim. Optimizer"
-msgstr "Anim. Optimizator"
+msgstr "Optimizator de animație"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Eroare Lineară Max:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Eroare Angulară Max:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Max Unghi Optimizabil:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimizați"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Selectați un Animator din Copacul Scenă să editați animații."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Cheie"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Tranziție"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Proporție Scalare:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Chemați Funcții în Care Nod?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Ștergeți chei inoperabile"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Ștergeți piste nerezolvate sau goale"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Curățați toate animațiile"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Curățați Animațiile (FĂRĂ ANULARE!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Curățați"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Proporție Scalare:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Redimensionați Array-ul"
@@ -366,7 +516,7 @@ msgstr "Duceți-vă la Linie"
msgid "Line Number:"
msgstr "Linia Numărul:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Nici o Potrivire"
@@ -382,7 +532,7 @@ msgstr "Potrivește Caz-ul"
msgid "Whole Words"
msgstr "Cuvinte Complete"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Înlocuiți"
@@ -394,18 +544,27 @@ msgstr "Înlocuiți Tot"
msgid "Selection Only"
msgstr "Numai Selecția"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zoom-ați În"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zoom-ați Afară"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Resetați Zoom-area"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zoom-ați În"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Linie:"
@@ -437,7 +596,8 @@ msgid "Add"
msgstr "Adăugați"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -465,10 +625,10 @@ msgstr "Amânat(ă)"
#: editor/connections_dialog.cpp
msgid "Oneshot"
-msgstr "Oneshot"
+msgstr "Tragere unică"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -490,11 +650,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Conectați '%s' la '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Conectați Semnal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Deconectați '%s' de la '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Deconectați '%s' de la '%s'"
#: editor/connections_dialog.cpp
@@ -502,14 +663,48 @@ msgid "Connect..."
msgstr "Conectați..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Deconectați"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Conectați Semnal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Eroare de Conexiune"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Ești sigur că vrei să execuți acel proiect?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Semnale"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Deconectați"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Modificare"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metode"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Schimbați Tipul %s"
@@ -532,22 +727,25 @@ msgstr "Favorite:"
msgid "Recent:"
msgstr "Recent:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Cautați:"
#: editor/create_dialog.cpp editor/editor_help.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 "Potriviri:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Descriere:"
@@ -609,7 +807,9 @@ msgstr "Cautați Înlocuitor Resursă:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Deschide"
@@ -631,7 +831,7 @@ msgstr ""
"sa funcționeze.\n"
"Ștergeți oricum? (fără anulare)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Nu se poate șterge:"
@@ -699,9 +899,13 @@ msgstr "Schimbaţi Valoarea Dicţionar"
msgid "Thanks from the Godot community!"
msgstr "Mulțumesc din partea comunităţii Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Mulţumiri!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -878,6 +1082,7 @@ msgid "Bus options"
msgstr "Opțiuni Pistă Audio"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicați"
@@ -946,7 +1151,8 @@ msgstr "Adaugați Pistă Audio"
msgid "Create a new Bus Layout."
msgstr "Creaţi o Schemă nouă de Pistă Audio."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Încărcați"
@@ -956,7 +1162,6 @@ msgid "Load an existing Bus Layout."
msgstr "Încărcaţi o Schemă de Pistă Audio existentă."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Salvați Ca"
@@ -998,22 +1203,6 @@ msgstr ""
"Nume nevalid. Nu trebuie să se lovească cu un nume ce constante globale."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Cale nevalidă."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Fișierul nu există."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Nu în calea de resurse."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Adaugați AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "AutoLoad '%s' există deja!"
@@ -1041,6 +1230,22 @@ msgstr "Activați"
msgid "Rearrange Autoloads"
msgstr "Rearanjați Autoload-urile"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Cale nevalidă."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Fișierul nu există."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Nu în calea de resurse."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Adaugați AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1057,7 +1262,7 @@ msgstr "Nume"
#: editor/editor_autoload_settings.cpp
msgid "Singleton"
-msgstr "Singleton"
+msgstr "Singleton (Unicat)"
#: editor/editor_data.cpp
msgid "Updating Scene"
@@ -1071,7 +1276,7 @@ msgstr "Modificările locale se stochează..."
msgid "Updating scene..."
msgstr "Scena se Actualizează..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[gol]"
@@ -1133,6 +1338,12 @@ msgid "Copy Path"
msgstr "Copiaţi Calea"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Arătați în Administratorul de Fișiere"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Arătați în Administratorul de Fișiere"
@@ -1169,7 +1380,7 @@ msgid "Open a File or Directory"
msgstr "Deschideți un Fişier sau Director"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Salvați"
@@ -1222,7 +1433,8 @@ msgstr "Accesați Directorul Părinte"
msgid "Directories & Files:"
msgstr "Directoare și Fişiere:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Previzualizați:"
@@ -1375,20 +1587,28 @@ msgstr ""
"Nu există în prezent nici o descriere pentru această metodă. Te rog ajută-ne "
"de prin a [color = $color] [url = $url] contribui cu una [/ URL] [/ color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Căutați Text"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Proprietăți"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Găsiți"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Afișare:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1410,11 +1630,6 @@ msgstr "Eroare la salvarea resursei!"
msgid "Save Resource As..."
msgstr "Salvați Resursa Ca..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Am înțeles..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Nu pot deschide fiÅŸierul pentru scris:"
@@ -1427,9 +1642,9 @@ msgstr "Formatul fiÅŸierului solicitat este necunoscut:"
msgid "Error while saving."
msgstr "Eroare la salvare."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Imposibil de deschis '%s'."
+#: 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'."
@@ -1472,10 +1687,6 @@ msgstr ""
"putut fi satisfăcute."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Încărcarea resursei a eșuat."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Imposibil de încărcat MeshLibrary pentru unire!"
@@ -1559,42 +1770,6 @@ msgstr ""
"mai bine acest mod de lucru."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Extinde toate proprietăţile"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Restrânge toate proprietăţile"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Copie Parametrii"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Lipiţi Parametrii"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Lipiți Resursa"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Copiați Resursa"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Faceți Încorporat"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Faceți Sub-Resursa Unică"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Deschideți în Ajutor"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Nu există nici o scenă definită pentru a execuție."
@@ -1788,11 +1963,6 @@ msgstr ""
"Scena '%s' nu a fost importată automat, deci ea nu poate fi modificată.\n"
"Ca să poți face modificări, o nouă scenă derivată poate fi creată."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Uh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1824,6 +1994,16 @@ msgid "Default"
msgstr "Implicit"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Rulează Scena"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Aproape"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Comutați între Scene"
@@ -1945,10 +2125,6 @@ msgstr "Proiect"
msgid "Project Settings"
msgstr "Setări ale Proiectului"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Execută Scriptul"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportare"
@@ -1958,6 +2134,11 @@ msgid "Tools"
msgstr "Unelte"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Deschizi Managerul de Proiect?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "ÃŽnchide spre Lista Proiectului"
@@ -2068,6 +2249,20 @@ msgstr "Schema Editorului"
msgid "Toggle Fullscreen"
msgstr "Comută în Ecran Complet"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Setări ale Editorului"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Setări ale Editorului"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Administrează Șabloanele de Export"
@@ -2083,7 +2278,8 @@ msgstr "Clase"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Căutare"
@@ -2127,7 +2323,7 @@ msgstr "Întrerupere Scenă"
msgid "Stop the scene."
msgstr "Oprește scena."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Oprește"
@@ -2148,6 +2344,16 @@ msgid "Play Custom Scene"
msgstr "Rulează Scena Personalizată"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Salvează și Închide"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Se rotește când ferestra editorului se recolorează!"
@@ -2167,42 +2373,6 @@ msgstr "Dezactivează Cercul de Actualizare"
msgid "Inspector"
msgstr "Inspector"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Creează o nouă resursă în memorie și editeaz-o."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Încarcă o resursă existentă de pe disc si editeaz-o."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Salvează resursa editată curentă."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Salvează Ca..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Mergi la un obiect din istoric editat anterior."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Mergi la următorul obiect editat din istoric."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Istoricul obiectelor editate recent."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Proprietățile obiectului."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Modificările pot fi pierdute!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2217,6 +2387,11 @@ msgid "FileSystem"
msgstr "Sistemul De Fișiere"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Extinde toate"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Ieșire"
@@ -2293,19 +2468,24 @@ msgid "Thumbnail..."
msgstr "Miniatură..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Editează Poligon"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Pluginuri instalate:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Actualizare"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Versiune:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Autor:"
@@ -2313,13 +2493,16 @@ msgstr "Autor:"
msgid "Status:"
msgstr "Stare:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Oprește Profilarea"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Modificare"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Pornește Profilarea"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Start!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2365,6 +2548,103 @@ msgstr "Timp"
msgid "Calls"
msgstr "Apeluri"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Deschidere în Editor"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Nume nou:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nume nou:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Selectează un dispozitiv din listă"
@@ -2402,10 +2682,6 @@ msgstr "Nu a putut fi executat scriptul:"
msgid "Did you forget the '_run' method?"
msgstr "Ai uitat cumva metoda '_run' ?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Implicit (Asemănător ca Editor)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Selectează Nodul(rile) pentru Importare"
@@ -2431,6 +2707,7 @@ msgid "(Installed)"
msgstr "(Instalat)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Descarcă"
@@ -2455,7 +2732,8 @@ msgid "Can't open export templates zip."
msgstr "Nu se pot deschide șabloanele de export zip."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Format nevalid versiune.txt în șabloane."
#: editor/export_template_manager.cpp
@@ -2517,6 +2795,12 @@ msgid "Download Complete."
msgstr "Descărcare Completă."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Eroare la solicitarea URL: "
@@ -2595,7 +2879,8 @@ msgid "Download Templates"
msgstr "Descarcă Șabloane"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Selectează oglinda din listă: "
#: editor/file_type_cache.cpp
@@ -2611,11 +2896,13 @@ msgstr ""
"fișiere!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Vizualizează articolele ca și o grilă de miniaturi"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Vizualizează articolele ca și o listă"
#: editor/filesystem_dock.cpp
@@ -2688,7 +2975,7 @@ msgstr "Extinde toate"
msgid "Collapse all"
msgstr "Restrânge toate"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Redenumește..."
@@ -2717,6 +3004,23 @@ msgid "Duplicate..."
msgstr "Duplicați..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Deschide un script rapid..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Salvați Resursa Ca..."
+
+#: 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 "Redenumește"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Directorul Anterior"
@@ -2729,14 +3033,28 @@ msgid "Re-Scan Filesystem"
msgstr "Rescanează Sistemul de Fișiere"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Marchează statutul directorului ca Favorit"
#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instanțiază scena(ele) selectată ca un copil al nodului selectat."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Căutare Clase"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2744,14 +3062,112 @@ msgstr ""
"Se Scanează Fișierele,\n"
"Te Rog Așteaptă..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Mută"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Redenumește"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Un fișier sau un director cu acest nume există deja."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d mai multe fișiere"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Găsiți"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Cuvinte Complete"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Potrivește Caz-ul"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtre..."
+
+#: 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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Înlocuiți"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Înlocuiți Tot"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Se Salvează..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Căutați Text"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "EROARE: Numele animației există deja!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Nume nevalid."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupuri"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Adaugă în Grup"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Adaugă în Grup"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2761,6 +3177,11 @@ msgstr "Adaugă în Grup"
msgid "Remove from Group"
msgstr "Elimină din Grup"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupuri"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Importă ca Scenă Simplă"
@@ -2802,7 +3223,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Importă ca Scene+Materiale Multiple"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importă Scena"
@@ -2862,18 +3283,129 @@ msgstr "Presetare..."
msgid "Reimport"
msgstr "Reimportă"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Încărcarea resursei a eșuat."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Bine"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Extinde toate proprietăţile"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Restrânge toate proprietăţile"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Salvează Ca..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Copie Parametrii"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Lipiţi Parametrii"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Clip-board de resurse gol !"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Copiați Resursa"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Faceți Încorporat"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Faceți Sub-Resursa Unică"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Deschideți în Ajutor"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Creează o nouă resursă în memorie și editeaz-o."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Încarcă o resursă existentă de pe disc si editeaz-o."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Mergi la un obiect din istoric editat anterior."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Mergi la următorul obiect editat din istoric."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Istoricul obiectelor editate recent."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Proprietățile obiectului."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Proprietățile obiectului."
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Modificările pot fi pierdute!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Set MultiNod"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupuri"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Selectează un Nod pentru a edita Semnalele și Grupurile."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Editează Poligon"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Crează Poligon"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Plugin-uri"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2919,6 +3451,147 @@ msgstr ""
msgid "Delete points"
msgstr "Șterge puncte"
+#: 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 "Adaugă Animația"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Încărcați"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Șterge puncte"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Șterge Punctul."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Deplasare punct"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Nod de Animație"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "EROARE: Numele animației există deja!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Aliniere"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Editează Filtrele"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Editează Filtrele"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Comutează Auto-Execuție"
@@ -2945,11 +3618,13 @@ msgid "Remove Animation"
msgstr "Elimină Animația"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "EROARE: Nume animație nevalid!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "EROARE: Numele animației există deja!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2958,11 +3633,6 @@ msgid "Rename Animation"
msgstr "Redenumește Animația"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Adaugă Animația"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Amestecă Următoarea Schimbare"
@@ -2979,11 +3649,13 @@ msgid "Duplicate Animation"
msgstr "Duplicare Animație"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "EROARE: Nicio copie a animației!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "EROARE: Nicio resursă de animație în clipboard!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2995,7 +3667,8 @@ msgid "Paste Animation"
msgstr "Lipește Animație"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "EROARE: Nicio animație pentru editare!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3027,20 +3700,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Redimensionează rularea animației pentru nod."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Creează o nouă animație în player."
+msgid "Animation Tools"
+msgstr "Unelte Animație"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Încarcă animație de pe disc."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animație"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Încarcă o animație de pe disc."
+msgid "New"
+msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Salvează actuala animație"
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Tranziții"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Deschidere în Editor"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3051,18 +3731,6 @@ msgid "Autoplay on Load"
msgstr "Auto-Execută la Încărcare"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Editează Timpul de Amestecare al Țintei"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Unelte Animație"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Copiză Animație"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Onion Skinning"
@@ -3108,7 +3776,12 @@ msgstr "Forțează Modulare Albă"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Include Gizmos (3D)"
-msgstr "Include Gizmos (3D)"
+msgstr "Include Gizmo-uri (3D)"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Lipește Animație"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
@@ -3120,6 +3793,7 @@ msgstr "Nume Animație:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3137,161 +3811,213 @@ msgstr "Următorul (Rând Automat):"
msgid "Cross-Animation Blend Times"
msgstr "Timpi de Amestecare Cross-Animație"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animație"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Nu în calea de resurse."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Creați %s Nou"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Conectați la Nod:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Ștergeți pista selectată."
+
+#: 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 "Tranziție"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "ArboreAnimație"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Nume nou:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Editează Filtrele"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Dimensiune:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Estompează (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Reliefează (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Amestec"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
-msgstr "Mix"
+msgstr "Amestecare"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Restartare Automată:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Restartare (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Restartare Aleatorie (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Start!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Cantitate:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Amestec:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Amestec 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Amestec 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Timp X-Decolorare (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Curent:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Adaugă Intrare(Input)"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Curăță Auto-Avansarea"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Setează Auto-Avansare"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Șterge Intrare(Input)"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Arborele Animației este valid."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Arborele Animației este nevalid."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Nod de Animație"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Nod OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Nod de Amestecare"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Nod Amestec2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Nod Amestec3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Nod Amestec4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Nod DimensiuneTimp"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Nod CăutareTimp"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Nod Tranziție"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Importă Animații..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Editează Filtrele Nodurilor"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtre..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "ArboreAnimație"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Gratuit"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Conținut:"
@@ -3345,8 +4071,14 @@ msgid "Asset Download Error:"
msgstr "Eroare la Descărcarea Asset-ului:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Se Preia(u):"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Se Descarcă"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Se Descarcă"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3373,20 +4105,23 @@ msgid "Download for this asset is already in progress!"
msgstr "Descărcarea acestui asset rulează deja!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "primul"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "anterior"
+#, fuzzy
+msgid "Previous"
+msgstr "Fila anterioară"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "următorul"
+#, fuzzy
+msgid "Next"
+msgstr "Fila următoare"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "ultimul"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3460,7 +4195,7 @@ msgid "Bake Lightmaps"
msgstr "Procesează Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Previzualizare"
@@ -3469,12 +4204,10 @@ msgid "Configure Snap"
msgstr "Configurare Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Compensare Grilă:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Pas Grilă:"
@@ -3487,14 +4220,6 @@ msgid "Rotation Step:"
msgstr "Pas Rotație:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Mută Pivot"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Acțiune de Mutare"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Mută ghidul vertical"
@@ -3523,11 +4248,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Creează ghizi noi orizontal și vertical"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Editează Lanț IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Mută Pivot"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Editează ObiectulPânză"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Acțiune de Mutare"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Editează ObiectulPânză"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Editează ObiectulPânză"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3547,6 +4289,21 @@ msgid "Paste Pose"
msgstr "Lipește Postura"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zoom-ați Afară"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Zoom-ați Afară"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zoom-ați În"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Mod Selectare"
@@ -3594,7 +4351,8 @@ msgid "Pan Mode"
msgstr "Mod ÃŽn Jur"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Comutare snapping"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3602,7 +4360,8 @@ msgid "Use Snap"
msgstr "Utilizează Snap"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Opțiuni Snapping"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3643,6 +4402,11 @@ msgid "Snap to node sides"
msgstr "Snap pe fețele nodului"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Snap către ancora nodului"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Snap către alte noduri"
@@ -3669,14 +4433,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Restaurează abilitatea copiilor obiectului de a fi selectați."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Creează Oase"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Curăță Oasele"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Arată Oasele"
@@ -3689,6 +4445,15 @@ msgid "Clear IK Chain"
msgstr "Curăță Lanțul IK"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Curăță Oasele"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Perspectivă"
@@ -3731,14 +4496,11 @@ msgid "Layout"
msgstr "Schemă"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Inserează Note"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Inserează Notă"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Inserează Notă (Melodii existente)"
@@ -3751,14 +4513,6 @@ msgid "Clear Pose"
msgstr "Curăță Postura"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Trage pivotul de la poziția mouse-ului"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Setează pivotul la poziția mouse-ului"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Multiplică pasul pe grilă cu 2"
@@ -3774,10 +4528,6 @@ msgstr "Adaugă %s"
msgid "Adding %s..."
msgstr "Se adaugă %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Bine"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Nu se pot instanția noduri multiple fără o rădacină."
@@ -3812,27 +4562,20 @@ msgstr "Creează Poligon3D"
msgid "Set Handle"
msgstr "Setează Mâner"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Elimini obiectul %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Adaugă Obiect"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Elimină Obiectul Selectat"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Particule"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Importă din Scenă"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Creează Puncte de Emisie Din Mesh"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Actualizează din Scenă"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Creare Puncte de Emisie din Nod"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3902,15 +4645,6 @@ msgstr "Ține apăsat Shift pentru a edita individual tangentele"
msgid "Bake GI Probe"
msgstr "Procesează Sonda GI"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Adaugă/Elimină Punctul Rampei de Culori"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Modifică Rampa de Culori"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Obiect %d"
@@ -3996,6 +4730,7 @@ msgid "No mesh to debug."
msgstr "Niciun mesh de depanat."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Modelul nu are UV în acest strat"
@@ -4063,6 +4798,27 @@ msgstr "Creează Mesh de Contur"
msgid "Outline Size:"
msgstr "Dimensiunea Conturului:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Elimini obiectul %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Adaugă Obiect"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Elimină Obiectul Selectat"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Importă din Scenă"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Actualizează din Scenă"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Niciun mesh sursă specificată (și niciun MultiMesh setat în nod)."
@@ -4145,15 +4901,15 @@ msgstr "Axa-Z"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh Up Axis:"
-msgstr ""
+msgstr "Axă plasă sus:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Rotation:"
-msgstr ""
+msgstr "Rotație aleatorie:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Tilt:"
-msgstr ""
+msgstr "ÃŽnclinare aleatorie:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Scale:"
@@ -4161,100 +4917,38 @@ msgstr "Dimensiune Aleatorie:"
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Procesează mesh-ul de navigare."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Curăță mesh-ul de navigare."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Se convertește în mesh nativ de navigare..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Setup Generare Mesh de Navigare:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
+msgstr "Populare"
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
-msgstr ""
+msgstr "Creare Poligon de Navigare"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Generating AABB"
-msgstr ""
+msgstr "Generare AABB"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Can only set point into a ParticlesMaterial process material"
msgstr ""
+"Definirea unui punct este posibilă doar într-un material de proces "
+"ParticlesMaterial"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Error loading image:"
-msgstr ""
+msgstr "Eroare la încărcarea imaginii:"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "No pixels with transparency > 128 in image..."
-msgstr ""
+msgstr "Nici un pixel cu transparența > 128 în imagine..."
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generate Visibility Rect"
-msgstr ""
+msgstr "Generare Dreptunghi de Vizibilitate"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Load Emission Mask"
-msgstr ""
+msgstr "Încărcare Mască de Emisie"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Clear Emission Mask"
@@ -4263,217 +4957,305 @@ msgstr "Curăță Masca de Emisie"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Particles"
-msgstr ""
+msgstr "Particule"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Generated Point Count:"
-msgstr ""
+msgstr "Număr de Puncte Generate:"
#: editor/plugins/particles_2d_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp
msgid "Generation Time (sec):"
-msgstr ""
+msgstr "Timp de Generare (sec):"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Mask"
-msgstr ""
+msgstr "Mască de Emisie"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Capture from Pixel"
-msgstr ""
+msgstr "Capturare din Pixel"
#: editor/plugins/particles_2d_editor_plugin.cpp
msgid "Emission Colors"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
+msgstr "Culori de Emisie"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
-msgstr ""
+msgstr "Unele fețe nu conțin zonă!"
#: editor/plugins/particles_editor_plugin.cpp
msgid "No faces!"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
+msgstr "Nici o zonă!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Creează Puncte de Emisie Din Mesh"
+msgid "Node does not contain geometry."
+msgstr "Nodul nu conține geometrie."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr ""
+msgid "Node does not contain geometry (faces)."
+msgstr "Nodul nu conține geometrie (fețe)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
-msgstr ""
+msgstr "Creare Emițător"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Emission Points:"
-msgstr ""
+msgstr "Puncte de Emisie:"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points"
-msgstr ""
+msgstr "Puncte de suprafață"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Surface Points+Normal (Directed)"
-msgstr ""
+msgstr "Puncte de suprafață+Normală (Dirijat)"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Volume"
-msgstr ""
+msgstr "Volum"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Emission Source: "
+msgstr "Sursă de Emisie: "
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Este necesar un material procesor de tip 'ParticlesMaterial'."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Generare AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
-msgstr ""
+msgstr "Generare Vizibilitate AABB"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Point from Curve"
-msgstr ""
+msgstr "Ștergere Punt din Curbă"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Out-Control from Curve"
-msgstr ""
+msgstr "Eliminare Out-Control de pe Curbă"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove In-Control from Curve"
-msgstr ""
+msgstr "Eliminare In-Control de pe Curbă"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Add Point to Curve"
-msgstr ""
+msgstr "Adăugare punct pe curbă"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Point in Curve"
-msgstr ""
+msgstr "Deplasare punct pe curbă"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move In-Control in Curve"
-msgstr ""
+msgstr "Deplasare In-Control pe curbă"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Out-Control in Curve"
-msgstr ""
+msgstr "Deplasare Out-Control pe curbă"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Select Points"
-msgstr ""
+msgstr "Selectare puncte"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Shift+Drag: Select Control Points"
-msgstr ""
+msgstr "Shift+Trage: Selectare puncte de control"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Click: Add Point"
-msgstr ""
+msgstr "Click: Adăugare punct"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Right Click: Delete Point"
-msgstr ""
+msgstr "Click Drept: Ștergere punct"
#: editor/plugins/path_2d_editor_plugin.cpp
msgid "Select Control Points (Shift+Drag)"
-msgstr ""
+msgstr "Selectare puncte de control (Shift+Tragere)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Add Point (in empty space)"
-msgstr ""
+msgstr "Adăugare punct (într-un spațiu gol)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Segment (in curve)"
-msgstr ""
+msgstr "Divizare segment (pe curbă)"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Delete Point"
-msgstr ""
+msgstr "Stergere punct"
#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
msgid "Close Curve"
+msgstr "Închidere curbă"
+
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
-msgid "Curve Point #"
+msgid "Mirror Handle Angles"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
#: editor/plugins/path_editor_plugin.cpp
-msgid "Set Curve Point Position"
+msgid "Mirror Handle Lengths"
msgstr ""
#: editor/plugins/path_editor_plugin.cpp
+msgid "Curve Point #"
+msgstr "Punct de curbă #"
+
+#: editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Point Position"
+msgstr "Setare poziție punct de curbă"
+
+#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve In Position"
-msgstr ""
+msgstr "Setare poziție de intrare a curbei"
#: editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Out Position"
-msgstr ""
+msgstr "Setare poziție de ieșire a curbei"
#: editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
-msgstr ""
+msgstr "Divizare cale"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Path Point"
-msgstr ""
+msgstr "Ștergere punct cale"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove Out-Control Point"
-msgstr ""
+msgstr "Ștergere punct de Control-Ieșire"
#: editor/plugins/path_editor_plugin.cpp
msgid "Remove In-Control Point"
+msgstr "Ștergere punct de Control-Intrare"
+
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Deplasare punct"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Arată Oasele"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
+msgstr "Creare hartă UV"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Crează Poligon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "AutoLoad '%s' există deja!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Adaugă punct"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Cale nevalidă."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Elimină punct"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
+msgstr "Transformare hartă UV"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
+msgstr "Editor UV de poligoane 2D"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Editează Poligon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Divizare cale"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Creează Oase"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Crează Poligon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
-msgstr ""
+msgstr "Deplasare punct"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Ctrl: Rotate"
-msgstr ""
+msgstr "Ctrl: Rotație"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift: Move All"
-msgstr ""
+msgstr "Shift: Deplasați tot"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift+Ctrl: Scale"
@@ -4481,79 +5263,125 @@ msgstr "Shift+Ctrl: Dimensiune"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Polygon"
-msgstr ""
+msgstr "Deplasare poligon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Rotate Polygon"
-msgstr ""
+msgstr "Rotație poligon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Scale Polygon"
msgstr "Redimensionează Poligon"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "Polygon->UV"
+msgid "Select a split to erase it"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-msgid "UV->Polygon"
+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 "Polygon->UV"
+msgstr "Poligon->UV"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->Polygon"
+msgstr "UV->Poligon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Clear UV"
-msgstr "Curăță UV"
+msgstr "Ștergere UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Snap"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Setări ale Editorului"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
-msgstr "Activează Snap"
+msgstr "Activează aliniere"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid"
-msgstr ""
+msgstr "Grilă"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Configurare Snap"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Compensare Grilă:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Compensare Grilă:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Pas Grilă:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Pas Grilă:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Redimensionează Poligon"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
-msgstr ""
+msgstr "EROARE: Resursă imposibil de încărcat !"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Add Resource"
-msgstr ""
+msgstr "Adăugare resursă"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Rename Resource"
-msgstr ""
+msgstr "Re-numire resursă"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Delete Resource"
-msgstr ""
+msgstr "Ștergere resursă"
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Resource clipboard is empty!"
-msgstr ""
+msgstr "Clip-board de resurse gol !"
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Lipiți Resursa"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
-msgstr ""
+msgstr "Deschidere în Editor"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_editor.cpp
msgid "Instance:"
-msgstr ""
+msgstr "Instanță :"
#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp
@@ -4567,16 +5395,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
msgstr ""
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Arborele Animației este nevalid."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "Curăță Fișierele Recente"
@@ -4586,6 +5416,21 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Eroare la salvarea TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Directorul nu a putut fi creat."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Eroare la salvarea TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4602,6 +5447,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Director Nou..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Deschideți un Fișier"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Salvează Ca..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4614,6 +5474,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4642,8 +5506,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "Vizualizează Fișierele"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4670,6 +5535,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4703,11 +5573,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4761,10 +5626,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4783,45 +5644,70 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Căutați în Ajutor"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Căutare Clase"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linie:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4909,8 +5795,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtrează fișierele..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4928,129 +5815,41 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Singleton (Unicat)"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Creează un Mesh de Navigare"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton (Unicat)"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Rulează"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5177,10 +5976,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5189,6 +5984,11 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Curăță Rotația Cursorului"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5230,7 +6030,12 @@ msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Doppler Enable"
-msgstr ""
+msgstr "Activare mod Doppler"
+
+#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Se creează Previzualizările Mesh-ului"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
@@ -5360,6 +6165,11 @@ msgid "Tool Scale"
msgstr "Unealtă Dimensiune"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Snap pe grilă"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5368,6 +6178,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5396,6 +6210,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5409,10 +6227,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Setări Snap"
@@ -5472,6 +6286,50 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Mesh-ul este gol!"
+
+#: 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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Creează Mesh de Contur"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Previzualizare"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Setări Snap"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5540,14 +6398,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5562,7 +6412,7 @@ msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Pixel Snap"
-msgstr "Pixel Snap"
+msgstr "Conectare prin pixeli"
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Snap"
@@ -5573,26 +6423,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5608,11 +6451,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5684,10 +6522,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5712,7 +6546,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5725,14 +6559,19 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Permanent"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Nume nevalid."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5753,12 +6592,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Găsiți"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5781,6 +6617,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Elminați Selecția"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5797,63 +6638,106 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Această operație nu se poate face fără o scenă."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5869,7 +6753,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5943,10 +6827,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5955,7 +6835,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5963,6 +6843,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6049,6 +6937,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6165,8 +7057,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6178,9 +7070,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Schimbă Numele Animației:"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6222,19 +7127,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6262,10 +7167,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6310,6 +7211,12 @@ 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 "Already existing"
msgstr ""
@@ -6381,6 +7288,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6390,6 +7301,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Acțiune de Mutare"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6450,10 +7370,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6490,75 +7406,163 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Redenumește"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Opțiuni Snapping"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Nume Nod:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Nume Nod:"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Scena curentă nu este salvată. Deschizi oricum?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Redenumește"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "Pas (s):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "Resetați Zoom-area"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6597,11 +7601,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr "Setările de Execuție ale Scenei"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6621,6 +7620,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Curăță Scriptul"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6661,12 +7664,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr ""
+#, fuzzy
+msgid "Make Local"
+msgstr "Creează Oase"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr ""
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Creează Nod"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scenă"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scenă"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Curăță Derivarea"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Creează Nod"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6677,6 +7702,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6719,18 +7748,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Curăță Scriptul"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Salvează Scena"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6753,10 +7779,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6776,17 +7798,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr "Curăță Derivarea? (Fără Întoarcere)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Curăță!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Comutați Fișiere Ascunse"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6794,7 +7809,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6810,20 +7825,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "Execută Scriptul"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6831,6 +7847,12 @@ 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 ""
@@ -6867,6 +7889,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Deschide Editorul de Scripturi"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7103,10 +8130,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7119,19 +8158,34 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Schimbă Timpul Amestecului"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Schimbă Timpul Amestecului"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Modifică Ancorele și Limitele"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7187,16 +8241,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7234,7 +8278,7 @@ msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Next Plane"
-msgstr ""
+msgstr "Planul următor"
#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "Previous Plane"
@@ -7261,6 +8305,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Toată selecția"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7341,6 +8390,11 @@ msgid "Clear Selection"
msgstr "Curăță Selecția"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Toată selecția"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7401,14 +8455,77 @@ msgid "Warnings"
msgstr ""
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "Vizualizează Fișierele"
+msgstr "Vizualizează fișiere log"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Coacere!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Procesează mesh-ul de navigare."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Curăță mesh-ul de navigare."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Inițializarea configurației..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Calcularea mărimii grilei..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Crearea câmpului de înălțare..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Marcarea triunghiurilor traversabile..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Construcție câmp de înălțare compact..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Reducerea zonei traversabile..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Partiționare..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Crearea conturilor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Crearea plasei de contur..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Se convertește în mesh nativ de navigare..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Setup Generare Mesh de Navigare:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Analiza geometriei..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Efectuat!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7460,10 +8577,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7572,36 +8685,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Conectați la Nod:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Conectați la Nod:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7628,15 +8719,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7644,10 +8731,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7691,6 +8774,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Membri"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7745,6 +8833,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Curăță Scriptul"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Execută în Browser"
@@ -7791,8 +8892,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7873,6 +8974,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7933,8 +9047,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8007,6 +9121,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8019,6 +9144,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Unelte Animație"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "EROARE: Nume animație nevalid!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Deconectați '%s' de la '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Selectați un Animator din Copacul Scenă să editați animații."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Arborele Animației este nevalid."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8087,10 +9253,186 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Fila anterioară"
+msgid "Input"
+msgstr "Adaugă Intrare(Input)"
-#, fuzzy
-#~ msgid "Next"
-#~ msgstr "Fila următoare"
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Modifică Rampa de Culori"
+
+#~ msgid "Disabled"
+#~ msgstr "Dezactivat"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Mută Pista Anim Sus"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Mută Pista Anim Jos"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Setează Tranziții la:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Redenumește Pista Anim"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim Schimbați Interpolarea Pistei"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Anim Schimbați Modul Valorii Pistei"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim Schimbați Modul Învelirii Pistei"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Editați Curba Nodului"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Editați Curba Selecției"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Adaugați Cheie"
+
+#~ msgid "In"
+#~ msgstr "ÃŽn"
+
+#~ msgid "Out"
+#~ msgstr "Afară"
+
+#~ msgid "In-Out"
+#~ msgstr "Înăuntru-Afară"
+
+#~ msgid "Out-In"
+#~ msgstr "Afară-Înăuntru"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Schimbați Lung Anim"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Schimbați Bucla Anim"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Anim Creați Cheie Valoare Typed"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Anim Adăugați Pistă Chemare"
+
+#~ msgid "Length (s):"
+#~ msgstr "Lungime (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Pas de Cursor Snap (în secunde)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Activați / Dezactivați Repetiția în Animație."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Adăugați piste noi."
+
+#~ msgid "Move current track up."
+#~ msgstr "Mișcați pista curentă sus."
+
+#~ msgid "Move current track down."
+#~ msgstr "Mișcați pista curentă jos."
+
+#~ msgid "Track tools"
+#~ msgstr "Unelte Pistă"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Activați editarea de chei individuale prin clic."
+
+#~ msgid "Key"
+#~ msgstr "Cheie"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Chemați Funcții în Care Nod?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Mulţumiri!"
+
+#~ msgid "I see..."
+#~ msgstr "Am înțeles..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Imposibil de deschis '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Uh"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Salvează resursa editată curentă."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Oprește Profilarea"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Pornește Profilarea"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Implicit (Asemănător ca Editor)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Creează o nouă animație în player."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Încarcă animație de pe disc."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Încarcă o animație de pe disc."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Salvează actuala animație"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Editează Timpul de Amestecare al Țintei"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Copiză Animație"
+
+#~ msgid "Fetching:"
+#~ msgstr "Se Preia(u):"
+
+#~ msgid "prev"
+#~ msgstr "anterior"
+
+#~ msgid "next"
+#~ msgstr "următorul"
+
+#~ msgid "last"
+#~ msgstr "ultimul"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Editează Lanț IK"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Trage pivotul de la poziția mouse-ului"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Setează pivotul la poziția mouse-ului"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Adaugă/Elimină Punctul Rampei de Culori"
+
+#~ msgid "Clear!"
+#~ msgstr "Curăță!"
diff --git a/editor/translations/ru.po b/editor/translations/ru.po
index 1c888d3330..117fff72c3 100644
--- a/editor/translations/ru.po
+++ b/editor/translations/ru.po
@@ -20,12 +20,13 @@
# Aleksey Terentyev <terentjew.alexey@ya.ru>, 2018.
# Игорь Д <protorian.di@gmail.com>, 2018.
# Егор Бураков <fend.q@mail.ru>, 2018.
+# Grigore Antoniuc <grisa181@gmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2018-07-22 04:43+0000\n"
-"Last-Translator: Егор Бураков <fend.q@mail.ru>\n"
+"PO-Revision-Date: 2018-08-06 07:41+0000\n"
+"Last-Translator: Aleksey Terentyev <terentjew.alexey@ya.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
"Language: ru\n"
@@ -34,334 +35,491 @@ 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 3.1-dev\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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_* конÑтанты."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Ð’Ñе выбранные Ñлементы"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Ðеправильный Ð¸Ð½Ð´ÐµÐºÑ ÑвойÑтва имени '%s' в узле %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Ðеправильный Ð¸Ð½Ð´ÐµÐºÑ ÑвойÑтва имени '%s' в узле %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": ÐедопуÑтимый аргумент типа: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "ОÑвободить"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Зеркально по X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Ð’Ñтавить ключ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Дублировать выделенное"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Изменить переход"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Изменить положение"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Измененить значение ключевого кадра"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Изменить вызов анимации"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Добавить новую дорожку"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Параметр:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Дублировать ключи"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Тип преобразованиÑ"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Передвинуть дорожку вверх"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Передвинуть дорожку вниз"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Удалить дорожку"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "ОÑтановить воÑпроизведение анимации. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Добавить новую дорожку"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "УÑтановить переход на:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Длина анимации (в Ñекундах)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Переименовать дорожку"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "МаÑштаб анимации."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Изменить интерполÑцию"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Функции:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Изменить режим значений"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "ПроÑлушиватель звука"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Изменить режим цикла"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Дорожки"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Редактировать кривую узла"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Переключить режим без отвлечениÑ."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Редактировать выбранную кривую"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Удалить ключи"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animation узел"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Дублировать выделенное"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Дублировать и перемеÑтить"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Удалить выделенную дорожку."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Удалить выделенное"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Ð’Ñ€ÐµÐ¼Ñ X-Fade (Ñек.):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "ÐепрерывнаÑ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "ДиÑкретнаÑ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Триггер"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Добавить ключ"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "ПеремеÑтить ключи"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "МаÑштабировать выбранное"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "МаÑштабировать от курÑора"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Перейти к Ñледующему шагу"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "ОÑобенноÑти"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Перейти к предыдущему шагу"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Линейный"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "ПоÑтоÑнный"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Ð’"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Из"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "Изменена интерполÑÑ†Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "В-Из"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Из-В"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Ð’Ñтавить ключ"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Переходы"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Дублировать узел(узлы)"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Оптимизировать анимацию"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Удалить узел(узлы)"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "ПодчиÑтить анимацию"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Удалить дорожку"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Создать новую дорожку Ð´Ð»Ñ %s и вÑтавить ключ?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Создать %d новые дорожки и вÑтавить ключи?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Создать"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Ð’Ñтавить"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Создать и Ð’Ñтавить"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Ð’Ñтавить Дорожку и Ключ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Ð’Ñтавить ключ"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Изменить длину анимации"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-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_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Создать ключ Ñ Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼ значением"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Ð’Ñтавить"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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_editor.cpp
+#: 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 "Method not found in object: "
+msgstr "VariableGet не найден в Ñкрипте: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "ПеремеÑтить ключи"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Буфер обмена пуÑÑ‚!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "МаÑштабировать ключи"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-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 "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "МаÑштаб анимации."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Длина (Ñек.):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "ПривÑзка (пикÑели):"
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Длина анимации (в Ñекундах)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Дерево анимации дейÑтвительно."
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Шаг (Ñек.):"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Перемена"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Шаг привÑзки курÑора (в Ñекундах)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Дерево анимации"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Включить/отключить зацикливание в анимации."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Копировать параметры"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Добавить новые дорожки."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Ð’Ñтавить параметры"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Передвинуть текущую дорожку вверх."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "МаÑштабировать выбранное"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Передвинуть текущую дорожку вниз."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "МаÑштабировать от курÑора"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Удалить выделенную дорожку."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Дублировать выделенное"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Дублировать и перемеÑтить"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "ИнÑтрументы дорожек"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Удалить выделенное"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Включить редактирование ключей, ÐºÐ»Ð¸ÐºÐ°Ñ Ð¿Ð¾ ним."
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Перейти к Ñледующему шагу"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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 "Anim. Optimizer"
msgstr "Оптимизатор анимации"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "МакÑ. Линейные погрешноÑти:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "МакÑ. Угловые погрешноÑти:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "МакÑимальный оптимизируемый угол:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Оптимизировать"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Выберите AnimationPlayer из дерева Ñцены Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¹."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Ключ"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Переход"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "КоÑффициент маÑштабированиÑ:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Из какого узла вызвать функцию?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Удалить недопуÑтимые ключи"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Удалить неразрешённые и пуÑтые дорожки"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "ПодчиÑтить вÑе анимации"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "ПодчиÑтить анимацию(и) (ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Копировать"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Изменить размер МаÑÑива"
@@ -382,7 +540,7 @@ msgstr "Перейти к Ñтроке"
msgid "Line Number:"
msgstr "Ðомер Ñтроки:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Ðет Ñовпадений"
@@ -398,7 +556,7 @@ msgstr "Учитывать региÑтр"
msgid "Whole Words"
msgstr "Целые Ñлова"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Заменить"
@@ -410,18 +568,28 @@ msgstr "Заменить вÑÑ‘"
msgid "Selection Only"
msgstr "Только выделÑть"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Приблизить"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Отдалить"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "СброÑить приближение"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "ПредупреждениÑ"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "МаÑштаб (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Строка:"
@@ -453,7 +621,8 @@ msgid "Add"
msgstr "Добавить"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -484,7 +653,7 @@ msgid "Oneshot"
msgstr "Один раз"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -506,11 +675,12 @@ msgid "Connect '%s' to '%s'"
msgstr "ПриÑоединить '%s' к '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Подключение Ñигнала:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Отключить '%s' от '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Отключить '%s' от '%s'"
#: editor/connections_dialog.cpp
@@ -518,14 +688,48 @@ msgid "Connect..."
msgstr "ПриÑоединить..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "ОтÑоединить"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Подключение Ñигнала:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Редактировать ÑвÑзи"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Ð’Ñ‹ уверены, что хотите запуÑтить более одного проекта?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Сигналы"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "ОтÑоединить"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Перемена"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Методы"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Изменить тип %s"
@@ -548,22 +752,25 @@ msgstr "Избранное:"
msgid "Recent:"
msgstr "Ðедавнее:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "ПоиÑк:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "ОпиÑание:"
@@ -625,7 +832,9 @@ msgstr "Ðайти заменÑемый реÑурÑ:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Открыть"
@@ -646,7 +855,7 @@ msgstr ""
"УдалÑемый файл требуетÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¹ работы других реÑурÑов.\n"
"Ð’ÑÑ‘ равно удалить его? (ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ!)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Ðе удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ:"
@@ -714,9 +923,13 @@ msgstr "Изменить значение ÑловарÑ"
msgid "Thanks from the Godot community!"
msgstr "СпаÑибо от ÑообщеÑтва Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "СпаÑибо!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Ок"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -893,6 +1106,7 @@ msgid "Bus options"
msgstr "Параметры шины"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Дублировать"
@@ -961,7 +1175,8 @@ msgstr "Добавить"
msgid "Create a new Bus Layout."
msgstr "Создать новую раÑкладку шины."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Загрузить"
@@ -971,7 +1186,6 @@ msgid "Load an existing Bus Layout."
msgstr "Загрузить ÑущеÑтвующую раÑкладку шины."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Сохранить как"
@@ -1014,22 +1228,6 @@ msgstr ""
"конÑтанты."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "ÐедопуÑтимый путь."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Файл не ÑущеÑтвует."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Ðе в пути реÑурÑов."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Добавить автозагрузку"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Ðвтозагрузка '%s' уже ÑущеÑтвует!"
@@ -1057,6 +1255,22 @@ msgstr "Включить"
msgid "Rearrange Autoloads"
msgstr "ПереÑтановка автозагрузок"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "ÐедопуÑтимый путь."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Файл не ÑущеÑтвует."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Ðе в пути реÑурÑов."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Добавить автозагрузку"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1087,7 +1301,7 @@ msgstr "Сохранение локальных изменений..."
msgid "Updating scene..."
msgstr "Обновление Ñцены..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[пуÑто]"
@@ -1149,6 +1363,12 @@ msgid "Copy Path"
msgstr "Копировать путь"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "ПроÑмотреть в проводнике"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "ПроÑмотреть в проводнике"
@@ -1185,7 +1405,7 @@ msgid "Open a File or Directory"
msgstr "Открыть каталог или файл"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Сохранить"
@@ -1238,7 +1458,8 @@ msgstr "Перейти к родительÑкой папке"
msgid "Directories & Files:"
msgstr "Каталоги и файлы:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "ПредпроÑмотр:"
@@ -1390,20 +1611,28 @@ msgstr ""
"Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚ÑутÑтвует опиÑание Ñтого метода. ПожалуйÑта [color="
"$color][url=$url]помогите нам[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "ИÑкать текÑÑ‚"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Параметр:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Ðайти"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Задать"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Вывод:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1425,11 +1654,6 @@ msgstr "Ошибка при Ñохранении реÑурÑа!"
msgid "Save Resource As..."
msgstr "Сохранить реÑÑƒÑ€Ñ ÐºÐ°Ðº..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "ЯÑно..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Ðевозможно открыть файл Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи:"
@@ -1442,9 +1666,9 @@ msgstr "ÐеизвеÑтный формат запрашиваемого файÐ
msgid "Error while saving."
msgstr "Ошибка при Ñохранении."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ '%s'."
+#: 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'."
@@ -1487,10 +1711,6 @@ msgstr ""
"унаÑледованные) не могли быть удовлетворены."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Ðе удалоÑÑŒ загрузить реÑурÑ."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Ðевозможно загрузить библиотеку полиÑеток Ð´Ð»Ñ ÑлиÑниÑ!"
@@ -1572,42 +1792,6 @@ msgstr ""
"понÑть Ñтот процеÑÑ."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Развернуть вÑе ÑвойÑтва"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Свернуть вÑе ÑвойÑтва"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Копировать параметры"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Ð’Ñтавить параметры"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Ð’Ñтавить параметры"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Копировать параметры"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Сделать вÑтроенным"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Сделать вложенные реÑурÑÑ‹ уникальными"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Открыть в Ñправке"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Ðет определённой Ñцены, чтобы работать."
@@ -1799,11 +1983,6 @@ msgstr ""
"может.\n"
"Чтобы её изменить нужно Ñоздать новую унаÑледованную Ñцену."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "ЯÑно"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1835,6 +2014,16 @@ msgid "Default"
msgstr "По умолчанию"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "ЗапуÑтить Ñцену"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Закрыть другие вкладки"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Переключить вкладку Ñцены"
@@ -1956,10 +2145,6 @@ msgstr "Проект"
msgid "Project Settings"
msgstr "Параметры проекта"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "ЗапуÑтить Ñкрипт"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "ЭкÑпорт"
@@ -1969,6 +2154,11 @@ msgid "Tools"
msgstr "ИнÑтрументы"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Открыть менеджер проектов?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Выйти в ÑпиÑок проектов"
@@ -2079,6 +2269,20 @@ msgstr "Макет редактора"
msgid "Toggle Fullscreen"
msgstr "Переключить полноÑкранный режим"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "ÐаÑтройки редактора"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "ÐаÑтройки редактора"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Управление шаблонами ÑкÑпорта"
@@ -2094,7 +2298,8 @@ msgstr "КлаÑÑÑ‹"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "ПоиÑк"
@@ -2138,7 +2343,7 @@ msgstr "ПриоÑтановить Ñцену"
msgid "Stop the scene."
msgstr "ОÑтановить Ñцену."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "ОÑтановить"
@@ -2159,6 +2364,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Сохранить и переимпортировать"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "ВращаетÑÑ, когда окно редактора перериÑовываетÑÑ!"
@@ -2178,42 +2393,6 @@ msgstr "Отключить Ñчётчик обновлений"
msgid "Inspector"
msgstr "ИнÑпектор"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Создать новый реÑÑƒÑ€Ñ Ð² памÑти, и редактировать его."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Загрузить ÑущеÑтвующий реÑÑƒÑ€Ñ Ñ Ð´Ð¸Ñка и редактировать его."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Сохранить текущий редактируемый реÑурÑ."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Сохранить как..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Перейти к предыдущему редактируемому объекту в иÑтории."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Перейти к Ñледующему редактируемому объекту в иÑтории."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð¾Ñледних отредактированных объектов."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "СвойÑтва объекта."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть потерÑны!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2228,6 +2407,11 @@ msgid "FileSystem"
msgstr "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Развернуть вÑе"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Вывод"
@@ -2304,19 +2488,24 @@ msgid "Thumbnail..."
msgstr "Миниатюра..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Редактировать полигон"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "УÑтановленные плагины:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Обновление"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "ВерÑиÑ:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Ðвтор:"
@@ -2324,13 +2513,16 @@ msgstr "Ðвтор:"
msgid "Status:"
msgstr "СтатуÑ:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "ОÑтановить профилирование"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Перемена"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "ЗапуÑтить профилирование"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "ЗапуÑк!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2376,6 +2568,106 @@ msgstr "ВремÑ"
msgid "Calls"
msgstr "Вызовы"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Вкл"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Бит %d, значение %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[ПуÑто]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Ðазначить"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Выберите Viewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Ðовый Ñкрипт"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Ðовый %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Сделать уникальным"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Показать в файловой ÑиÑтеме"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Ð’Ñтавить"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Преобразовать в %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Открыть в редакторе"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Выбранный узел не Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Размер Ñчейки:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Ðовое имÑ:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Ðовое имÑ:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Удалить Ñлемент"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Выберите уÑтройÑтво из ÑпиÑка"
@@ -2412,10 +2704,6 @@ msgstr "Ðевозможно запуÑтить Ñкрипт:"
msgid "Did you forget the '_run' method?"
msgstr "Быть может вы забыли метод _run()?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "По умолчанию (как редактор)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Выберите Узел(узлы) Ð´Ð»Ñ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°"
@@ -2441,6 +2729,7 @@ msgid "(Installed)"
msgstr "(УÑтановлено)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Загрузка"
@@ -2465,7 +2754,8 @@ msgid "Can't open export templates zip."
msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ архив шаблонов ÑкÑпорта."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Ðеверный формат version.txt файла внутри шаблонов."
#: editor/export_template_manager.cpp
@@ -2527,6 +2817,12 @@ msgid "Download Complete."
msgstr "Загрузка завершена."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Ошибка запроÑа адреÑа ÑÑылки: "
@@ -2605,7 +2901,8 @@ msgid "Download Templates"
msgstr "Загрузить Шаблоны"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Выберите зеркало из ÑпиÑка "
#: editor/file_type_cache.cpp
@@ -2620,11 +2917,13 @@ msgstr ""
"Ðе удаетÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ к '%s', так как он не был найден в файловой ÑиÑтеме!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "ПроÑмотр Ñлементов в виде миниатюр"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "ПроÑмотр Ñлементов в виде ÑпиÑка"
#: editor/filesystem_dock.cpp
@@ -2697,7 +2996,7 @@ msgstr "Развернуть вÑе"
msgid "Collapse all"
msgstr "Свернуть вÑе"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Переименовать..."
@@ -2726,6 +3025,23 @@ msgid "Duplicate..."
msgstr "Дублировать..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Ðовый Ñкрипт"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "Предыдущий каталог"
@@ -2738,14 +3054,29 @@ msgid "Re-Scan Filesystem"
msgstr "ПереÑканировать файловую ÑиÑтему"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Переключить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð°Ð¿ÐºÐ¸ как избранной"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Выберите текущий редактированный вложенный тайл."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Добавить выбранную Ñцену(Ñ‹), в качеÑтве потомка выбранного узла."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "ПоиÑк клаÑÑов"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2753,14 +3084,112 @@ msgstr ""
"Сканирование файлов,\n"
"пожалуйÑта, подождите..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "ПеремеÑтить"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Переименовать"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "По Ñтому пути уже ÑущеÑтвует папка Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Создать Ñкрипт"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Ðайти тайл"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Ðайти"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Целые Ñлова"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Учитывать региÑтр"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Отмена"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Заменить"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Заменить вÑÑ‘"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Сохранение..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "ИÑкать текÑÑ‚"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ОШИБКÐ: Такое название анимации уже ÑущеÑтвует!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "ÐедопуÑтимое имÑ."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Группы"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Группа(ы) нода"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ ÑƒÐ·Ð»Ð¾Ð²"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Группа(ы) нода"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2770,6 +3199,11 @@ msgstr "Добавить в группу"
msgid "Remove from Group"
msgstr "Удалить из группы"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Группы изображений"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Импорт в виде единой Ñцены"
@@ -2811,7 +3245,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Импортировать как неÑколько Ñцен и материалов"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Импортировать Ñцену"
@@ -2871,18 +3305,131 @@ msgstr "ПредуÑтановка..."
msgid "Reimport"
msgstr "Переимпортировать"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Ðе удалоÑÑŒ загрузить реÑурÑ."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ок"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Развернуть вÑе ÑвойÑтва"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Свернуть вÑе ÑвойÑтва"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Сохранить как..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Копировать параметры"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Ð’Ñтавить параметры"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Ðет реÑурÑа в буфере обмена!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Копировать параметры"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Сделать вÑтроенным"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Сделать вложенные реÑурÑÑ‹ уникальными"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "СвойÑтва объекта."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
-msgstr "Группы"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Выберите узел Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñигналов и групп."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Редактировать полигон"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Создать C# решение"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "СпиÑок плагинов:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Язык"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Скрипт корректен"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2928,6 +3475,150 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Удалить точку"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "ПКМ: Удалить точку."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animation узел"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "ДейÑтвие '%s' уже ÑущеÑтвует!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "ПарÑинг %d треугольников:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Добавить узел"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Редактировать фильтры"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Редактируемые потомки"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Переключить автовоÑпроизведение"
@@ -2954,11 +3645,13 @@ msgid "Remove Animation"
msgstr "Удалить анимацию"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ОШИБКÐ: ÐедопуÑтимое название анимации!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ОШИБКÐ: Такое название анимации уже ÑущеÑтвует!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2967,11 +3660,6 @@ msgid "Rename Animation"
msgstr "Переименовать анимацию"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Добавить анимацию"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Изменена поÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ"
@@ -2988,11 +3676,13 @@ msgid "Duplicate Animation"
msgstr "Дублировать анимацию"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ОШИБКÐ: Ðет анимации Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ОШИБКÐ: Ðет анимации в буфере обмена!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3004,7 +3694,8 @@ msgid "Paste Animation"
msgstr "Ð’Ñтавить анимацию"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ОШИБКÐ: Ðет анимации Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3039,20 +3730,27 @@ msgid "Scale animation playback globally for the node."
msgstr "СкороÑть воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Создать новую анимацию."
+msgid "Animation Tools"
+msgstr "ИнÑтрументы анимации"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "ÐнимациÑ"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Загрузить анимацию Ñ Ð´Ð¸Ñка."
+msgid "New"
+msgstr "Ðовый"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Загрузить Ñту анимацию Ñ Ð´Ð¸Ñка."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Изменить ÑвÑзи..."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Сохранить текущую анимацию"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Открыть в редакторе"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3063,18 +3761,6 @@ msgid "Autoplay on Load"
msgstr "ÐвтовоÑпроизведение"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Редактировать Ð²Ñ€ÐµÐ¼Ñ \"ÑмешиваниÑ\""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "ИнÑтрументы анимации"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Копировать анимацию"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Режим кальки"
@@ -3123,6 +3809,11 @@ msgid "Include Gizmos (3D)"
msgstr "Включать 3D гизмо"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Ð’Ñтавить анимацию"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Создать новую анимацию"
@@ -3132,6 +3823,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3149,161 +3841,214 @@ msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ (автоматичеÑкий пер
msgid "Cross-Animation Blend Times"
msgstr "Межанимационный инÑтрумент ÑмешиваниÑ"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "ÐнимациÑ"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Кон(Ñ.)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Создать %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "ПриÑоединить узлы"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Редактировать фильтры"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "МаÑштаб:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "ПроÑвление (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "ИÑчезновение (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Смешивание"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Сочетание"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "ÐвтоперезапуÑк:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "ПерезапуÑк (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "СлучайноÑть реÑтарта (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "ЗапуÑк!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Величина:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Смешивание:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Смешивание 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Смешивание 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Ð’Ñ€ÐµÐ¼Ñ X-Fade (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Выбранный:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Добавить вход"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "ÐвтоматичеÑÐºÐ°Ñ Ð¾Ñ‡Ð¸Ñтка"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "ÐвтоматичеÑÐºÐ°Ñ ÑƒÑтановка"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Удалить вход"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Дерево анимации дейÑтвительно."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Дерево анимации не дейÑтвительно."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animation узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "OneShot узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Mix узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Blend2 узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Blend3 узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Blend4 узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "TimeScale узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TimeSeek узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Transition узел"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Импортировать анимации..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Редактировать фильтры узла"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Фильтры..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "Дерево анимации"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "ОÑвободить"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Содержание:"
@@ -3357,8 +4102,14 @@ msgid "Asset Download Error:"
msgstr "Ошибка Загрузки Шаблона:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Извлечение:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Загрузка"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Загрузка"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3385,20 +4136,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Загрузка Ñтого шаблона уже идёт!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "первый"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "предыдущий"
+#, fuzzy
+msgid "Previous"
+msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "далее"
+msgid "Next"
+msgstr "Следующий"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "поÑледний"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3471,7 +4224,7 @@ msgid "Bake Lightmaps"
msgstr "Запекать карты оÑвещениÑ"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "ПредпроÑмотр"
@@ -3480,12 +4233,10 @@ msgid "Configure Snap"
msgstr "ÐаÑтроить привÑзку"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "ОтÑтуп Ñетки:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Шаг Ñетки:"
@@ -3498,14 +4249,6 @@ msgid "Rotation Step:"
msgstr "Шаг поворота:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "ПеремеÑтить точку вращениÑ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "ПеремеÑтить дейÑтвие"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Перемещение вертикальной направлÑющей"
@@ -3534,11 +4277,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Создание новых горизонтальных и вертикальных направлÑющих"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Редактировать цепь ИК"
+#, fuzzy
+msgid "Move pivot"
+msgstr "ПеремеÑтить точку вращениÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Редактировать CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "ПеремеÑтить дейÑтвие"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Редактировать CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Редактировать CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3558,6 +4318,21 @@ msgid "Paste Pose"
msgstr "Ð’Ñтавить позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Отдалить"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "СброÑить маÑштаб"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Приблизить"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Режим выделениÑ"
@@ -3605,7 +4380,8 @@ msgid "Pan Mode"
msgstr "Режим оÑмотра"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Переключение прилипаниÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3613,7 +4389,8 @@ msgid "Use Snap"
msgstr "ИÑпользовать привÑзку"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Параметры прилипаниÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3654,6 +4431,11 @@ msgid "Snap to node sides"
msgstr "ПривÑзка к Ñторонам узла"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "ПривÑзка к Ñкорю узла"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "ПривÑзка к другим узлам"
@@ -3680,14 +4462,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "ВоÑÑтанавливает возможноÑть выбора потомков объекта."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Создать коÑти"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "ОчиÑтить коÑти"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Показать коÑти"
@@ -3700,6 +4474,15 @@ msgid "Clear IK Chain"
msgstr "ОчиÑтить цепь ИК"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "ОчиÑтить коÑти"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Обзор"
@@ -3742,14 +4525,11 @@ msgid "Layout"
msgstr "Макет"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Ð’Ñтавить ключи"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Ð’Ñтавить ключ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Ð’Ñтавить ключ (ÑущеÑтвующие треки)"
@@ -3762,14 +4542,6 @@ msgid "Clear Pose"
msgstr "ОчиÑтить позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Перетащить точку Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð· Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ñ‹ÑˆÐ¸"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "УÑтановить точку Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° меÑте ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¼Ñ‹ÑˆÐ¸"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Умножить шаг Ñетки на 2"
@@ -3785,10 +4557,6 @@ msgstr "Добавить %s"
msgid "Adding %s..."
msgstr "Добавление %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ок"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Ðе удаетÑÑ Ñоздать неÑколько узлов без корнÑ."
@@ -3823,27 +4591,20 @@ msgstr "Создан Poly3D"
msgid "Set Handle"
msgstr "УÑтановить обработчик"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Удалить Ñлемент %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Добавить Ñлемент"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Удалить выбранный Ñлемент"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "ЧаÑтицы"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Импортировать из Ñцены"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Создать излучатель из полиÑетки"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3913,15 +4674,6 @@ msgstr "Удерживайте Shift, чтобы изменить каÑател
msgid "Bake GI Probe"
msgstr "Запечь GI пробу"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Добавить/Удалить точку Color Ramp"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Редактировать Color Ramp"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Элемент %d"
@@ -4007,6 +4759,7 @@ msgid "No mesh to debug."
msgstr "Ðет полиÑетки Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "У модели нет UV в Ñтом Ñлое"
@@ -4074,6 +4827,27 @@ msgstr "Создать полиÑетку обводки"
msgid "Outline Size:"
msgstr "Размер обводки:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Удалить Ñлемент %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "Импортировать из Ñцены"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Обновить из Ñцены"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Ðе указан иÑточник полиÑетки (и MultiMesh не указана в узле)."
@@ -4174,70 +4948,6 @@ msgstr "Случайный размер:"
msgid "Populate"
msgstr "Заполнить"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Запечь!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Создать полиÑетку навигации."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "ОчиÑтить полиÑетку навигации."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "ÐаÑтройка конфигурации..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "РаÑчёт размера Ñетки..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Создание карты выÑот..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Маркировка проходимых треугольников..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "ПоÑтроение компактной карты выÑот..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Размытие проходимого района..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Разбиение..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Создание контуров..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Создание полиÑетки..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Преобразование в ÑобÑтвенную навигационную полиÑетку..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "ÐаÑтройка генератора навигационной полиÑетки:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Ðнализ геометрии..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Сделано!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Создать Navigation Polygon"
@@ -4298,18 +5008,6 @@ msgid "Emission Colors"
msgstr "Цвета излучениÑ"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Узел не Ñодержит геометрии."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Узел не Ñодержит геометрии (грани)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "ТребуетÑÑ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð» типа 'ParticlesMaterial'."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Грани не Ñодержат зоны!"
@@ -4318,16 +5016,12 @@ msgid "No faces!"
msgstr "Ðет граней!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Генерировать AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Создать излучатель из полиÑетки"
+msgid "Node does not contain geometry."
+msgstr "Узел не Ñодержит геометрии."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Создать излучатель из узла"
+msgid "Node does not contain geometry (faces)."
+msgstr "Узел не Ñодержит геометрии (грани)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4354,6 +5048,19 @@ msgid "Emission Source: "
msgstr "ИÑточник излучениÑ: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "ТребуетÑÑ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð» типа 'ParticlesMaterial'."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Генерировать AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Конвертировать в ВЕРХÐИЙ РЕГИСТР"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Генерировать AABB"
@@ -4430,6 +5137,22 @@ msgstr "Удалить точку"
msgid "Close Curve"
msgstr "Сомкнуть кривую"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "Точка Кривой #"
@@ -4462,19 +5185,95 @@ msgstr "Удалить выходную контрольную точку"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Показать коÑти"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Создать UV карту"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Создан полигон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "ДейÑтвие '%s' уже ÑущеÑтвует!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Добавить точку"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "ÐедопуÑтимый путь!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Удалить точку"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Преобразовать UV карту"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon 2D UV редактор"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Редактировать полигон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Разделить путь"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Создать коÑти"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Создан полигон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Передвинуть точку"
@@ -4503,12 +5302,25 @@ msgid "Scale Polygon"
msgstr "МаÑштабировать полигон"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Редактировать"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4523,9 +5335,9 @@ msgid "Clear UV"
msgstr "ОчиÑтить UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "ПривÑзка"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "GridMap Параметры"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4535,6 +5347,36 @@ msgstr "Ðктивировать привÑзку"
msgid "Grid"
msgstr "Сетка"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "ÐаÑтроить привÑзку"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "ОтÑтуп Ñетки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "ОтÑтуп Ñетки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Шаг Ñетки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Шаг Ñетки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "МаÑштабировать полигон"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ОШИБКÐ: Ðевозможно загрузить реÑурÑ!"
@@ -4557,6 +5399,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Открыть в редакторе"
@@ -4578,16 +5424,18 @@ msgid "Load Resource"
msgstr "Загрузить реÑурÑ"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Ð’Ñтавить"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Дерево анимации не дейÑтвительно."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "ОчиÑтить Ðедавние Файлы"
@@ -4597,6 +5445,21 @@ msgid "Close and save changes?"
msgstr "Закрыть и Ñохранить изменениÑ?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Ошибка Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Ðевозможно загрузить изображение"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ð±Ð¾Ñ€Ð° тайлов!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Ошибка во Ð²Ñ€ÐµÐ¼Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ¼Ñ‹"
@@ -4613,6 +5476,21 @@ msgid "Error importing"
msgstr "Ошибка импортированиÑ"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Открыть файл"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Сохранить как..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Импортировать тему"
@@ -4625,6 +5503,10 @@ msgid " Class Reference"
msgstr " СÑылка на КлаÑÑ"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Сортировать"
@@ -4653,8 +5535,9 @@ msgid "File"
msgstr "Файл"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Ðовый"
+#, fuzzy
+msgid "New TextFile"
+msgstr "ПроÑмотр Файлов"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4681,6 +5564,11 @@ msgid "History Next"
msgstr "Следующий файл"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Тема"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Перезагрузить тему"
@@ -4714,11 +5602,6 @@ msgstr "Переключить панель Ñкриптов"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Ðайти..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Ðайти Ñледующее"
@@ -4772,10 +5655,6 @@ msgid "Discard"
msgstr "СброÑ"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Создать Ñкрипт"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4796,6 +5675,16 @@ msgid "Debugger"
msgstr "Отладчик"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Помощь"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "ПоиÑк клаÑÑов"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4803,40 +5692,56 @@ msgstr ""
"принадлежат, загружена"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Строка:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Можно перетащить только реÑÑƒÑ€Ñ Ð¸Ð· файловой ÑиÑтемы."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "СпиÑок автозавершениÑ"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Выбрать цвет"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Переключить региÑтр"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "ВЕРХÐИЙ РЕГИСТР"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "нижний региÑтр"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Вырезать"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Копировать"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4924,8 +5829,9 @@ msgid "Find Previous"
msgstr "Ðайти предыдущее"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Заменить..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "ОтÑортировать файлы..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4943,129 +5849,42 @@ msgstr "КонтекÑÑ‚Ð½Ð°Ñ Ñправка"
msgid "Shader"
msgstr "Шейдер"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Изменить чиÑловую конÑтанту"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Изменить векторную конÑтанту"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Изменить RGB конÑтанту"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Изменить чиÑловой оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Изменить векторный оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Изменить векторно-чиÑловой оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Изменить RGB оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Переключить - только поворот"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Изменить чиÑловую функцию"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Изменить векторную функцию"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Изменить чиÑловую единицу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Изменить векторную единицу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Изменить RGB единицу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Изменить значение по умолчанию"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Изменить XForm единицу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Изменить текÑтурную единицу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Изменить единицу кубичеÑкой карты"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Изменить комментарий"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Добавить/Удалить в Color Ramp"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Добавить/Удалить в Curve Map"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Редактировать карту кривой"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Изменить Ð¸Ð¼Ñ Ð²Ñ…Ð¾Ð´Ð°"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Соединить узлы графа"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Разъединить узлы графа"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Удалить узел графа шейдера"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Скелет..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Передвинуть узел графа шейдера"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Дублировать узел(ы) графа"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Удалить узел(ы) графа шейдера"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Создать полиÑетку навигации"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Ошибка: ЦикличеÑкое подключение"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Скелет..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Ошибка: ОтÑутÑтвует входное подключение"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Создать C# решение"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Добавить узел графа шейдера"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "ВоÑпроизвеÑти"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5192,10 +6011,6 @@ msgid "Align with view"
msgstr "СовмеÑтить Ñ Ð²Ð¸Ð´Ð¾Ð¼"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Ок :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Ðе выбран родитель Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ°."
@@ -5204,6 +6019,11 @@ msgid "This operation requires a single selected node."
msgstr "Эта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ одного выбранного узла."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "ИнформациÑ"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Режим нормалей"
@@ -5248,6 +6068,11 @@ msgid "Doppler Enable"
msgstr "ДоплеровÑкий режим"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Создание предпроÑмотра"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Обзор налево"
@@ -5378,6 +6203,11 @@ msgid "Tool Scale"
msgstr "ИнÑтрумент маÑштаб"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "ПривÑзка к Ñетке"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Переключить Ñвободный обзор"
@@ -5386,6 +6216,10 @@ msgid "Transform"
msgstr "Преобразование"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Окно преобразованиÑ..."
@@ -5414,6 +6248,11 @@ msgid "4 Viewports"
msgstr "4 Окна"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Гизмо"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Отображать начало координат"
@@ -5427,10 +6266,6 @@ msgid "Settings"
msgstr "ÐаÑтройки"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "ВидимоÑть гизмо Ñкелета"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Параметры привÑзки"
@@ -5490,6 +6325,53 @@ msgstr "До"
msgid "Post"
msgstr "ПоÑле"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "Спрайт кадры"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Преобразовать в %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Создать полиÑетку обводки"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "ПривÑзка (пикÑели):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Предварительный проÑмотр атлаÑа"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "ÐаÑтройки"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ОШИБКÐ: Ðевозможно загрузить кадр!"
@@ -5558,14 +6440,6 @@ msgstr "ПеремеÑтить (поÑле)"
msgid "SpriteFrames"
msgstr "Спрайт кадры"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "ПредпроÑмотр StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Задать регион"
@@ -5591,28 +6465,22 @@ msgid "Auto Slice"
msgstr "ÐвтоматичеÑки"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "ОтÑтуп:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Шаг:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Разделение:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "ОблаÑть текÑтуры"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Редактор облаÑти текÑтуры"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Ðевозможно Ñохранить тему в файл:"
@@ -5626,11 +6494,6 @@ msgid "Add All"
msgstr "Добавить вÑе"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Удалить Ñлемент"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Удалить вÑе Ñлементы"
@@ -5702,10 +6565,6 @@ msgstr "Имеет"
msgid "Many"
msgstr "Много"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Параметры"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "ЕÑть,Много,Вариантов"
@@ -5730,7 +6589,7 @@ msgstr "Тип информации:"
msgid "Icon"
msgstr "Иконка"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Стиль"
@@ -5743,14 +6602,19 @@ msgid "Color"
msgstr "Цвет"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Тема"
+msgid "Constant"
+msgstr "ПоÑтоÑнный"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "ОчиÑтить выделенное"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "ÐедопуÑтимое имÑ."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "РиÑовать карту тайлов"
@@ -5771,11 +6635,8 @@ msgid "Erase TileMap"
msgstr "ОчиÑтить карту тайлов"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "ОчиÑтить выделенное"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Ðайти тайл"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5799,6 +6660,11 @@ msgid "Pick Tile"
msgstr "Выбрать тайл"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Удалить выделенное"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Поворот на 0 градуÑов"
@@ -5815,68 +6681,122 @@ msgid "Rotate 270 degrees"
msgstr "Поворот на 270 градуÑов"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Ðевозможно найти тайл:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Добавить узел(узлы) из дерева"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "ID или Ð¸Ð¼Ñ Ñлемента:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Удалить текущее поле"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Создать из Ñцены?"
+msgid "Create from Scene"
+msgstr "Создать из Ñцены"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "СлиÑние из Ñцены?"
+msgid "Merge from Scene"
+msgstr "СлиÑние из Ñцены"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Ðабор тайлов"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Выберите плитку Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² качеÑтве значка, она также будет "
+"иÑпользоватьÑÑ Ð¿Ñ€Ð¸ неверных привÑзках автотайлов."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Создать из Ñцены"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "СлиÑние из Ñцены"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-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 "Autotiles"
-msgstr "Ðвтотайлы"
+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 " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Выберите плитку Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² качеÑтве значка, она также будет "
-"иÑпользоватьÑÑ Ð¿Ñ€Ð¸ неверных привÑзках автотайлов."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"ЛКМ: уÑтановить бит.\n"
"ПКМ: ÑнÑть бит."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Выберите текущий редактированный вложенный тайл."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Выберите вложенный тайл, Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ приоритета."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Отмена"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Эта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ может быть выполнена без Ñцены."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Ðабор тайлов"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Вершины"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Фрагмент"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Право"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Шейдер"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5891,8 +6811,8 @@ msgid "Delete preset '%s'?"
msgstr "Удалить '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют/повреждены: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют/повреждены:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5967,10 +6887,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют/повреждены:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "ЭкÑпорт в режиме отладки"
@@ -5979,14 +6895,24 @@ msgid "The path does not exist."
msgstr "Путь не ÑущеÑтвует."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "ПожалуйÑта, выберите 'project.godot' файл."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "ПожалуйÑта, выберите папку, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ Ñодержит файл 'project.godot'."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "ПожалуйÑта, выберите пуÑтую папку."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "ПожалуйÑта, выберите 'project.godot' файл."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Импортированный проект"
@@ -6075,6 +7001,11 @@ msgid "Project Path:"
msgstr "Путь к проекту:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Путь к проекту:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Обзор"
@@ -6193,9 +7124,10 @@ msgid "Mouse Button"
msgstr "Кнопка мыши"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"ÐедопуÑтимое Ð¸Ð¼Ñ Ð´ÐµÐ¹ÑтвиÑ. Оно не может быть пуÑтым или Ñодержать '/', ':', "
"'=', '\\' или '\"'."
@@ -6209,9 +7141,23 @@ msgid "Rename Input Action Event"
msgstr "Переименовать дейÑтвие"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Изменить Ð¸Ð¼Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Добавить дейÑтвие"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "УÑтройÑтво"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "УÑтройÑтво"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6253,20 +7199,24 @@ msgid "Wheel Down Button"
msgstr "КолёÑико вниз"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Кнопка 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "КолёÑико вверх"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Кнопка 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° мыши"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Кнопка 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Кнопка 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Кнопка 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Кнопка 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6293,10 +7243,6 @@ msgid "Add Event"
msgstr "Добавить Ñобытие"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "УÑтройÑтво"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Кнопка"
@@ -6341,6 +7287,14 @@ 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 "Already existing"
msgstr "Уже ÑущеÑтвует"
@@ -6412,6 +7366,10 @@ msgstr "Параметр:"
msgid "Override For..."
msgstr "Переопределить длÑ..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "СпиÑок дейÑтвий"
@@ -6421,6 +7379,14 @@ msgid "Action:"
msgstr "ДейÑтвие:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "ДейÑтвие"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "УÑтройÑтво:"
@@ -6481,10 +7447,6 @@ msgid "AutoLoad"
msgstr "Ðвтозагрузка"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Выберите Viewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Переход В"
@@ -6521,34 +7483,10 @@ msgid "Select Node"
msgstr "Выбрать узел"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Ðовый Ñкрипт"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Ðовый %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Сделать уникальным"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Показать в файловой ÑиÑтеме"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Преобразовать в %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Ошибка загрузки файла: Это не реÑурÑ!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Выбранный узел не Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Выберите узел"
@@ -6557,18 +7495,6 @@ msgid "Bit %d, val %d."
msgstr "Бит %d, значение %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Вкл"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[ПуÑто]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Задать"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "СвойÑтва:"
@@ -6594,6 +7520,134 @@ msgstr ""
"Ðе возможно загрузить обратно конвертированное изображение иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ PVRTC "
"инÑтрумент:"
+#: 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
+#, fuzzy
+msgid "Advanced options"
+msgstr "Параметры прилипаниÑ"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Ð˜Ð¼Ñ Ð£Ð·Ð»Ð°:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Ðайти тип узла"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñцена"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "Шаг:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Изменить выражение"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "Скрипт поÑÑ‚-процеÑÑа:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "ОÑтавить оригинал"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "нижний региÑтр"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "ВЕРХÐИЙ РЕГИСТР"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "СброÑить приближение"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Ошибка"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Переподчинить узел"
@@ -6630,11 +7684,6 @@ msgstr "Ðргументы главной Ñцены:"
msgid "Scene Run Settings"
msgstr "Параметры запуÑка Ñцены"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Ок"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Ðет Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñюда Ñцены."
@@ -6656,6 +7705,10 @@ msgid "Instance Scene(s)"
msgstr "Дополнить Ñценой(ами)"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Убрать Ñкрипт"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Эта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ может быть произведена над корнем дерева."
@@ -6696,12 +7749,33 @@ msgid "Load As Placeholder"
msgstr "Загрузить как заполнитель"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "ОтброÑить инÑтанÑинг"
+msgid "Make Local"
+msgstr "Сделать локальным"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Создать узел"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Сцена"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Имеет ÑмыÑл!"
+#, fuzzy
+msgid "3D Scene"
+msgstr "Сцена"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "ОчиÑтить наÑледование"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Вырезать узлы"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6712,6 +7786,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Ðевозможно работать Ñ ÑƒÐ·Ð»Ð°Ð¼Ð¸, от которых унаÑледована Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ñцена!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Прикрепить Ñкрипт"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Удалить узел(узлы)"
@@ -6756,18 +7834,15 @@ msgid "Change Type"
msgstr "Изменить тип"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Прикрепить Ñкрипт"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Убрать Ñкрипт"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Ðовый корень Ñцены"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Соединить Ñо Ñценой"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Сохранить ветку, как Ñцену"
@@ -6792,10 +7867,6 @@ msgstr ""
"не ÑущеÑтвует."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Ð¤Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ ÑƒÐ·Ð»Ð¾Ð²"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Прикрепить новый или ÑущеÑтвующий Ñкрипт к выбранному узлу."
@@ -6815,25 +7886,19 @@ msgstr "Локальный"
msgid "Clear Inheritance? (No Undo!)"
msgstr "ОчиÑтить наÑледование? (ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "ОчиÑтить!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Переключить видимоÑть Spatial"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Переключить видимоÑть CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Переключить видимоÑть"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Конфигурации узла, предупреждение:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Узел Ñодержит ÑвÑзи и группы\n"
@@ -6855,22 +7920,25 @@ msgstr ""
"Узел принадлежит к группе.\n"
"Ðажмите, чтобы показать панель групп."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Открыть Ñкрипт"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Узел заблокирован.\n"
"Ðажмите чтобы разблокировать"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Потомки не выделÑÑŽÑ‚ÑÑ.\n"
"Ðажмите чтобы выделÑлиÑÑŒ"
@@ -6880,6 +7948,12 @@ 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 "Ðекорректное Ð¸Ð¼Ñ ÑƒÐ·Ð»Ð°, Ñледующие Ñимволы недопуÑтимы:"
@@ -6916,6 +7990,11 @@ msgid "N/A"
msgstr "Ð/Д"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Открыть редактор Ñкриптов"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Ðе указан путь"
@@ -7153,10 +8232,23 @@ msgid "Change Camera Size"
msgstr "Изменить размер камеры"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Изменить границы уведомителÑ"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Изменить AABB чаÑтиц"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Изменить Probe Extents"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Изменить Ñ€Ð°Ð´Ð¸ÑƒÑ Ñферы"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Изменить границы прÑмоугольника"
@@ -7169,20 +8261,38 @@ msgid "Change Capsule Shape Height"
msgstr "Изменить выÑоту капÑулы"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Изменить длину луча"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Изменить Ñ€Ð°Ð´Ð¸ÑƒÑ ÐºÐ°Ð¿Ñулы"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Изменить границы уведомителÑ"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Изменить выÑоту капÑулы"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Изменить AABB чаÑтиц"
+msgid "Change Ray Shape Length"
+msgstr "Изменить длину луча"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Изменить Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Изменить Ñ€Ð°Ð´Ð¸ÑƒÑ Ñвета"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Изменить выÑоту капÑулы"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Изменить Ñ€Ð°Ð´Ð¸ÑƒÑ Ñферы"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Изменить Ñ€Ð°Ð´Ð¸ÑƒÑ Ñвета"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7234,17 +8344,7 @@ msgstr "Библиотеки: "
#: modules/gdnative/register_types.cpp
msgid "GDNative"
-msgstr "GDNative"
-
-#: 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_* конÑтанты."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Ðе хватает байтов Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð², или неверный формат."
+msgstr ""
#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
@@ -7312,6 +8412,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr "Дублировать выделенную Ñетку"
@@ -7392,6 +8497,11 @@ 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 "GridMap Параметры"
@@ -7452,14 +8562,77 @@ msgid "Warnings"
msgstr "ПредупреждениÑ"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "ПроÑмотр Файлов"
+msgstr "ПроÑмотр журнала"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Конец траÑÑировки внутреннего Ñтека иÑключений"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Запечь!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Создать полиÑетку навигации."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "ОчиÑтить полиÑетку навигации."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "ÐаÑтройка конфигурации..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "РаÑчёт размера Ñетки..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Создание карты выÑот..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Маркировка проходимых треугольников..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "ПоÑтроение компактной карты выÑот..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Размытие проходимого района..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Разбиение..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Создание контуров..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Создание полиÑетки..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Преобразование в ÑобÑтвенную навигационную полиÑетку..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "ÐаÑтройка генератора навигационной полиÑетки:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Ðнализ геометрии..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Сделано!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7517,10 +8690,6 @@ msgid "Set Variable Type"
msgstr "УÑтановить тип переменной"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Функции:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Переменные:"
@@ -7633,36 +8802,14 @@ msgid "Connect Nodes"
msgstr "ПриÑоединить узлы"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "УÑловие"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "ПоÑледовательноÑть"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Переключатель"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Итератор"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Пока"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Возвращение"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Вызов"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "ПриÑоединить узлы"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Получить"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "ПриÑоединить узлы"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7689,26 +8836,18 @@ msgid "Remove Function"
msgstr "Удалить функцию"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Редактировать переменную"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Удалить переменную"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Редактировать Ñигнал"
+msgid "Editing Variable:"
+msgstr "Редактирование переменной:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Удалить Ñигнал"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Редактирование переменной:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Редактирование Ñигнала:"
@@ -7752,6 +8891,11 @@ msgstr "Вырезать узлы"
msgid "Paste Nodes"
msgstr "Ð’Ñтавить узлы"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "СвойÑтва"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Входной тип не итерируемый: "
@@ -7809,6 +8953,19 @@ msgstr ""
"ÐедопуÑтимое значение, возвращаемое _step(), должно быть целое чиÑло(seq "
"out) или Ñтрока (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Удалить узел VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Получить"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "ЗапуÑтить в браузере"
@@ -7858,9 +9015,10 @@ msgstr ""
"Ñцен). Будет работать первый Ñозданный, оÑтальные будут проигнорированы."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Этот узел не имеет дочерних форм, поÑтому он не может взаимодейÑтвовать Ñ "
@@ -7973,6 +9131,19 @@ msgstr ""
"Ð”Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ работы ÑвойÑтво Path должно указывать на дейÑтвующий узел "
"Node2D."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8038,9 +9209,10 @@ msgid "Lighting Meshes: "
msgstr "ОÑвещение полиÑетки: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Этот узел не имеет дочерних форм, поÑтому он не может взаимодейÑтвовать Ñ "
@@ -8135,6 +9307,21 @@ msgstr ""
"Этот WorldEnvironment игнорируетÑÑ. Либо добавьте Camera (Ð´Ð»Ñ 3D-Ñцен), либо "
"уÑтановите в Environment реÑурÑе Background режим в Canvas (Ð´Ð»Ñ 2D Ñцен)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° RigidBody (в режиме character или rigid) будут "
+"переопределены движком при запуÑке.\n"
+"Измените размер дочерней формы коллизии."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8151,6 +9338,47 @@ msgstr ""
"VehicleWheel Ñлужит колеÑом Ð´Ð»Ñ VehicleBody. ПожалуйÑта, иÑпользуйте его как "
"ребенка VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "ИнÑтрументы анимации"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ОШИБКÐ: ÐедопуÑтимое название анимации!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Отключить '%s' от '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Выберите AnimationPlayer из дерева Ñцены Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¹."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Дерево анимации не дейÑтвительно."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "RAW режим"
@@ -8234,12 +9462,371 @@ msgstr "Ошибка загрузки шрифта."
msgid "Invalid font size."
msgstr "ÐедопуÑтимый размер шрифта."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°"
+msgid "Input"
+msgstr "Добавить вход"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Ðет>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Изменить чиÑловую конÑтанту"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Изменить векторную конÑтанту"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Изменить RGB конÑтанту"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Изменить чиÑловой оператор"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Изменить векторный оператор"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Изменить векторно-чиÑловой оператор"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Изменить RGB оператор"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Переключить - только поворот"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Изменить чиÑловую функцию"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Изменить векторную функцию"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Изменить чиÑловую единицу"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Изменить векторную единицу"
-#~ msgid "Next"
-#~ msgstr "Следующий"
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Изменить RGB единицу"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Изменить значение по умолчанию"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Изменить XForm единицу"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Изменить текÑтурную единицу"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Изменить единицу кубичеÑкой карты"
+
+#~ msgid "Change Comment"
+#~ msgstr "Изменить комментарий"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Добавить/Удалить в Color Ramp"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Редактировать Color Ramp"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Добавить/Удалить в Curve Map"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Редактировать карту кривой"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Изменить Ð¸Ð¼Ñ Ð²Ñ…Ð¾Ð´Ð°"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Соединить узлы графа"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Разъединить узлы графа"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Удалить узел графа шейдера"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Передвинуть узел графа шейдера"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Дублировать узел(ы) графа"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Удалить узел(ы) графа шейдера"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Ошибка: ЦикличеÑкое подключение"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Ошибка: ОтÑутÑтвует входное подключение"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Добавить узел графа шейдера"
+
+#~ msgid "Disabled"
+#~ msgstr "Отключено"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Передвинуть дорожку вверх"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Передвинуть дорожку вниз"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "УÑтановить переход на:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Переименовать дорожку"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Изменить интерполÑцию"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Изменить режим значений"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Изменить режим цикла"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Редактировать кривую узла"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Редактировать выбранную кривую"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Добавить ключ"
+
+#~ msgid "In"
+#~ msgstr "Вход"
+
+#~ msgid "Out"
+#~ msgstr "Выход"
+
+#~ msgid "In-Out"
+#~ msgstr "В-Из"
+
+#~ msgid "Out-In"
+#~ msgstr "Из-В"
+
+#~ msgid "Transitions"
+#~ msgstr "Переходы"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Изменить длину анимации"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Изменить зацикливание анимации"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Создать ключ Ñ Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼ значением"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Добавить дорожку вызова"
+
+#~ msgid "Length (s):"
+#~ msgstr "Длина (Ñек.):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Шаг (Ñек.):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Шаг привÑзки курÑора (в Ñекундах)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Включить/отключить зацикливание в анимации."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Добавить новые дорожки."
+
+#~ msgid "Move current track up."
+#~ msgstr "Передвинуть текущую дорожку вверх."
+
+#~ msgid "Move current track down."
+#~ msgstr "Передвинуть текущую дорожку вниз."
+
+#~ msgid "Track tools"
+#~ msgstr "ИнÑтрументы дорожек"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Включить редактирование ключей, ÐºÐ»Ð¸ÐºÐ°Ñ Ð¿Ð¾ ним."
+
+#~ msgid "Key"
+#~ msgstr "Ключ"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Из какого узла вызвать функцию?"
+
+#~ msgid "Thanks!"
+#~ msgstr "СпаÑибо!"
+
+#~ msgid "I see..."
+#~ msgstr "ЯÑно..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Ðе удаётÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "ЯÑно"
+
+#~ msgid "Run Script"
+#~ msgstr "ЗапуÑтить Ñкрипт"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Сохранить текущий редактируемый реÑурÑ."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "ОÑтановить профилирование"
+
+#~ msgid "Start Profiling"
+#~ msgstr "ЗапуÑтить профилирование"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "По умолчанию (как редактор)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Создать новую анимацию."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Загрузить анимацию Ñ Ð´Ð¸Ñка."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Загрузить Ñту анимацию Ñ Ð´Ð¸Ñка."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Сохранить текущую анимацию"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Редактировать Ð²Ñ€ÐµÐ¼Ñ \"ÑмешиваниÑ\""
+
+#~ msgid "Copy Animation"
+#~ msgstr "Копировать анимацию"
+
+#~ msgid "Fetching:"
+#~ msgstr "Извлечение:"
+
+#~ msgid "prev"
+#~ msgstr "предыдущий"
+
+#~ msgid "next"
+#~ msgstr "далее"
+
+#~ msgid "last"
+#~ msgstr "поÑледний"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Редактировать цепь ИК"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Перетащить точку Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð· Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ñ‹ÑˆÐ¸"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "УÑтановить точку Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° меÑте ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¼Ñ‹ÑˆÐ¸"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Добавить/Удалить точку Color Ramp"
+
+#~ msgid "OK :("
+#~ msgstr "Ок :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "ВидимоÑть гизмо Ñкелета"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "ПредпроÑмотр StyleBox:"
+
+#~ msgid "Separation:"
+#~ msgstr "Разделение:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Редактор облаÑти текÑтуры"
+
+#~ msgid "Erase selection"
+#~ msgstr "ОчиÑтить выделенное"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Ðевозможно найти тайл:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "ID или Ð¸Ð¼Ñ Ñлемента:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Ðвтотайлы"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют/повреждены: "
+
+#~ msgid "Button 7"
+#~ msgstr "Кнопка 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Кнопка 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Кнопка 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "ОтброÑить инÑтанÑинг"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "Имеет ÑмыÑл!"
+
+#~ msgid "Clear!"
+#~ msgstr "ОчиÑтить!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Переключить видимоÑть Spatial"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Переключить видимоÑть CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "УÑловие"
+
+#~ msgid "Sequence"
+#~ msgstr "ПоÑледовательноÑть"
+
+#~ msgid "Switch"
+#~ msgstr "Переключатель"
+
+#~ msgid "Iterator"
+#~ msgstr "Итератор"
+
+#~ msgid "While"
+#~ msgstr "Пока"
+
+#~ msgid "Return"
+#~ msgstr "Возвращение"
+
+#~ msgid "Call"
+#~ msgstr "Вызов"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Редактировать переменную"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Редактировать Ñигнал"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "ÐедопуÑтимое название дейÑÑ‚Ð²Ð¸Ñ (подойдёт вÑÑ‘ кроме '/' или ':')."
@@ -8257,10 +9844,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Can't write file."
#~ msgstr "Ðе удалоÑÑŒ запиÑать файл."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "ПожалуйÑта, выберите папку, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ Ñодержит файл 'project.godot'."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "ОтÑутÑтвует project.godot в папке проекта."
@@ -8384,9 +9967,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ "ОблаÑти проÑмотра уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² ÑвойÑтве path должна быть назначена "
#~ "\"целью визуализации\" Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ñтот Ñпрайт работал."
-#~ msgid "Filter:"
-#~ msgstr "Фильтр:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' анализ конфигурации не удалÑÑ."
@@ -8426,9 +10006,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñцена должна быть Ñохранена Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ импорта."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Сохранить и переимпортировать"
-
#~ msgid "Re-Importing"
#~ msgstr "Переимпортировать"
@@ -8460,9 +10037,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Can't rename deps for:\n"
#~ msgstr "Ðе могу переименовать завиÑимоÑти длÑ:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "Ошибка Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Выберете новое Ð¸Ð¼Ñ Ð¸ раÑположение длÑ:"
@@ -8487,9 +10061,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Target path must exist."
#~ msgstr "Конечный путь должен ÑущеÑтвовать."
-#~ msgid "Save path is empty!"
-#~ msgstr "Путь ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿ÑƒÑÑ‚!"
-
#~ msgid "Import BitMasks"
#~ msgstr "Импорт битовой маÑки"
@@ -8602,15 +10173,9 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Max Angle"
#~ msgstr "МакÑ. угол"
-#~ msgid "Clips"
-#~ msgstr "Дорожки"
-
#~ msgid "Start(s)"
#~ msgstr "Ðач(Ñ.)"
-#~ msgid "End(s)"
-#~ msgstr "Кон(Ñ.)"
-
#~ msgid "Filters"
#~ msgstr "Фильтры"
@@ -8641,18 +10206,12 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Target Texture Folder:"
#~ msgstr "Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ° текÑтуры:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "Скрипт поÑÑ‚-процеÑÑа:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "ПользовательÑкий тип корневого узла:"
#~ msgid "Auto"
#~ msgstr "Ðвто"
-#~ msgid "Root Node Name:"
-#~ msgstr "Ð˜Ð¼Ñ ÐºÐ¾Ñ€Ð½ÐµÐ²Ð¾Ð³Ð¾ узла:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "ОтÑутÑтвуют Ñледующие файлы:"
@@ -8712,9 +10271,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Импортировать текÑтуры Ð´Ð»Ñ Ð°Ñ‚Ð»Ð°Ñа (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "Размер Ñчейки:"
-
#~ msgid "Large Texture"
#~ msgstr "Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‚ÐµÐºÑтура"
@@ -8797,9 +10353,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Ðевозможно Ñохранить конвертированную текÑтуру:"
-#~ msgid "Invalid source!"
-#~ msgstr "Ðеверный иÑточник!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Ðеверный иÑточник перевода!"
@@ -8839,9 +10392,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Translation"
#~ msgstr "Перевод"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "ПарÑинг %d треугольников:"
-
#~ msgid "Triangle #"
#~ msgstr "Треугольник #"
@@ -8866,24 +10416,12 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "Ð¡Ð±Ñ€Ð¾Ñ Ð·Ð°Ð¿ÐµÐºÐ°Ð½Ð¸Ñ Ñвета (начать Ñначала)."
-#~ msgid "Zoom (%):"
-#~ msgstr "МаÑштаб (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "Скелет..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "СброÑить маÑштаб"
-
#~ msgid "Zoom Set..."
#~ msgstr "УÑтановить маÑштаб..."
#~ msgid "Set a Value"
#~ msgstr "УÑтановить значение"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "ПривÑзка (пикÑели):"
-
#~ msgid "Parse BBCode"
#~ msgstr "ПарÑить BB Код"
@@ -8959,15 +10497,9 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Resource Tools"
#~ msgstr "ИнÑтрументы реÑурÑов"
-#~ msgid "Make Local"
-#~ msgstr "Сделать локальным"
-
#~ msgid "Edit Groups"
#~ msgstr "Редактировать группы"
-#~ msgid "Edit Connections"
-#~ msgstr "Редактировать ÑвÑзи"
-
#~ msgid "GridMap Paint"
#~ msgstr "РиÑование Ñетки"
@@ -9107,9 +10639,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Ambient Light Color:"
#~ msgstr "Цвет окружающего Ñвета:"
-#~ msgid "Couldn't load image"
-#~ msgstr "Ðевозможно загрузить изображение"
-
#~ msgid "Invalid parent class name"
#~ msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ Ð²Ñ‹ÑˆÐµÑтоÑщего клаÑÑа"
@@ -9125,9 +10654,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Ð˜Ð¼Ñ Ð²Ñ‹ÑˆÐµÑтоÑщего клаÑÑа ÑвлÑетÑÑ Ð½ÐµÐ´ÐµÐ¹Ñтвительным!"
-#~ msgid "Invalid path!"
-#~ msgstr "ÐедопуÑтимый путь!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "Ð”Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ работы ÑвойÑтво Path должно указывать на дейÑтвующий узел "
@@ -9229,9 +10755,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Delete Image Group"
#~ msgstr "Удалено изображение группы"
-#~ msgid "Atlas Preview"
-#~ msgstr "Предварительный проÑмотр атлаÑа"
-
#~ msgid "Project Export Settings"
#~ msgstr "Параметры ÑкÑпорта проекта"
@@ -9244,9 +10767,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Export all files in the project directory."
#~ msgstr "ЭкÑпортировать вÑе файлы в папке проекта."
-#~ msgid "Action"
-#~ msgstr "ДейÑтвие"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "Преобразовать текÑтовые Ñцены в двоичные при ÑкÑпорте."
@@ -9274,9 +10794,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Compress Formats:"
#~ msgstr "Формат Ð´Ð»Ñ ÑжатиÑ:"
-#~ msgid "Image Groups"
-#~ msgstr "Группы изображений"
-
#~ msgid "Groups:"
#~ msgstr "Группы:"
@@ -9316,9 +10833,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Режим Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑмплов (.wav файлы):"
-#~ msgid "Keep"
-#~ msgstr "ОÑтавить оригинал"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Сжать (RAM - IMA-ADPCM)"
@@ -9361,9 +10875,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance не Ñодержит BakedLight реÑурÑ."
-#~ msgid "Fragment"
-#~ msgstr "Фрагмент"
-
#~ msgid "Lighting"
#~ msgstr "ОÑвещение"
@@ -9436,9 +10947,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Align with view (Ctrl+Shift+F)"
#~ msgstr "СовмеÑтите Ñ Ð²Ð¸Ð´Ð¾Ð¼ (Ctrl+Shift+F)"
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "Изменена интерполÑÑ†Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸"
-
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "Включить/отключить интерполÑцию при зацикливании анимации."
@@ -9455,9 +10963,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ "Ð’ Ñтом узле нет текÑтуры.\n"
#~ "Выберите текÑтуру, чтобы редактировать облаÑть."
-#~ msgid "New Scene Root"
-#~ msgstr "Ðовый корень Ñцены"
-
#~ msgid "Inherit Scene"
#~ msgstr "УнаÑледовать Ñцену"
@@ -9470,9 +10975,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Reload Tool Script (Soft)"
#~ msgstr "Перезагрузить инÑтрум. Ñкрипт (мÑгко)"
-#~ msgid "Edit Connections..."
-#~ msgstr "Изменить ÑвÑзи..."
-
#~ msgid "Set Params"
#~ msgstr "Ðазначить параметры"
@@ -9488,12 +10990,6 @@ msgstr "ÐедопуÑтимый размер шрифта."
#~ msgid "Group Editor"
#~ msgstr "Редактор групп"
-#~ msgid "Node Group(s)"
-#~ msgstr "Группа(ы) нода"
-
-#~ msgid "Plugin List:"
-#~ msgstr "СпиÑок плагинов:"
-
#~ msgid "Overwrite Existing Scene"
#~ msgstr "ПерезапиÑать ÑущеÑтвующую Ñцену"
diff --git a/editor/translations/sk.po b/editor/translations/sk.po
index 94b6c137d0..fd3f69f1d2 100644
--- a/editor/translations/sk.po
+++ b/editor/translations/sk.po
@@ -17,335 +17,466 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.0.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Vypnuté"
+#: 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 "Chybný argument convert(), použite TYPE_* konštanty."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Všetky vybrané"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Nedostatok bajtov na dekódovanie, možný chybný formát."
+
+#: 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
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr "Chybný argument convert(), použite TYPE_* konštanty."
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+msgid "Insert Key Here"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplikovať výber"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Animácia Zmeniť Keyframe Čas"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animácia zmeniť prechod"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Animácia Zmeniť Keyframe Hodnotu"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Call"
msgstr "Animácia Zmeniť Hovor"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Nastaviť prechody na:"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
+#: editor/animation_track_editor.cpp
+msgid "Add Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Upraviť výber krivky"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplikovať výber"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Odstrániť výber"
+#: 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 "Všetky vybrané"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Priebežný"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Zmeniť veľkosť výberu"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Zmeniť veľkosť od kurzora"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "PrejsÅ¥ na Äalší krok"
-
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Prejsť na predchádzajúci krok"
-
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "V"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Von"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "In-Out"
-msgstr "V-Von"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Out-In"
-msgstr "Von-V"
-
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Prechody"
+msgid "Duplicate Key(s)"
+msgstr "Duplikovať výber"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Všetky vybrané"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Vložiť"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Zmeniť veľkosť výberu"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Zmeniť veľkosť od kurzora"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplikovať výber"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Všetky vybrané"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "PrejsÅ¥ na Äalší krok"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Prejsť na predchádzajúci krok"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: 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_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopírovať"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -366,7 +497,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -382,7 +513,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -394,18 +525,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -435,7 +574,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -466,7 +606,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -488,11 +628,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -500,14 +640,44 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Všetky vybrané"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Upraviť výber krivky"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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 ""
@@ -531,22 +701,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Popis:"
@@ -604,7 +777,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Otvoriť"
@@ -623,7 +798,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -691,8 +866,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -870,6 +1049,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -938,7 +1118,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -949,7 +1130,6 @@ msgid "Load an existing Bus Layout."
msgstr "Popis:"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -986,47 +1166,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1059,7 +1239,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1122,6 +1302,12 @@ msgid "Copy Path"
msgstr ""
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Otvoriť súbor"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1159,7 +1345,7 @@ msgid "Open a File or Directory"
msgstr "OtvoriÅ¥ súbor / prieÄinok"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Uložiť"
@@ -1212,7 +1398,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr "PrieÄinky a Súbory:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1362,20 +1549,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1398,11 +1592,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1415,8 +1604,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1458,10 +1647,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1528,42 +1713,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1739,11 +1888,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1772,6 +1916,14 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1895,10 +2047,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1908,6 +2056,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1999,6 +2151,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2014,7 +2178,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2058,7 +2223,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2079,6 +2244,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Uložiť súbor"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr ""
@@ -2098,42 +2273,6 @@ msgstr ""
msgid "Inspector"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2148,6 +2287,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2227,19 +2370,24 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Signály:"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2247,12 +2395,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2299,6 +2448,102 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+#, fuzzy
+msgid "New Script"
+msgstr "Popis:"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Vložiť"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Otvorit prieÄinok"
+
+#: 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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2333,10 +2578,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2362,6 +2603,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2386,7 +2628,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2446,6 +2688,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2526,7 +2774,7 @@ msgid "Download Templates"
msgstr "Všetky vybrané"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2538,11 +2786,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2613,7 +2861,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2643,6 +2891,23 @@ msgid "Duplicate..."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Popis:"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Vytvoriť adresár"
+
+#: 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 "Previous Directory"
msgstr ""
@@ -2655,26 +2920,125 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Vytvoriť adresár"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filter:"
+
+#: 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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+#, fuzzy
+msgid "Filter nodes"
+msgstr "Filter:"
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2685,6 +3049,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2726,7 +3094,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2787,16 +3155,124 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filter:"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr ""
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr ""
#: editor/node_dock.cpp
-msgid "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Vytvoriť adresár"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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
@@ -2841,6 +3317,144 @@ msgstr ""
msgid "Delete points"
msgstr "Všetky vybrané"
+#: 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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Všetky vybrané"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Všetky vybrané"
+
+#: 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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filters"
+msgstr "Súbor:"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Súbor:"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr ""
@@ -2867,11 +3481,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2880,11 +3494,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2901,11 +3510,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2917,7 +3526,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2949,39 +3558,34 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Prechody"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Otvorit prieÄinok"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3035,6 +3639,10 @@ 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 ""
@@ -3044,6 +3652,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3061,162 +3670,211 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
#, fuzzy
-msgid "Edit Filters"
-msgstr "Súbor:"
+msgid "Create new nodes."
+msgstr "Vytvoriť adresár"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Connect nodes."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Odstrániť výber"
+
+#: 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 "Prechody"
#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Contents:"
@@ -3272,7 +3930,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3300,19 +3962,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3380,7 +4042,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3389,12 +4051,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3407,14 +4067,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3446,11 +4098,24 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Všetky vybrané"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3470,6 +4135,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3513,7 +4190,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3521,7 +4198,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3562,6 +4239,10 @@ 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 ""
@@ -3588,23 +4269,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3650,11 +4331,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3670,15 +4347,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "Všetky vybrané"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3694,10 +4362,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3730,26 +4394,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3824,15 +4480,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3916,6 +4563,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3985,6 +4633,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4085,70 +4754,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4209,59 +4814,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4341,6 +4942,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4377,19 +4994,89 @@ msgstr "Všetky vybrané"
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Všetky vybrané"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Signály:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Nesprávna veľkosť písma."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Všetky vybrané"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Vytvoriť adresár"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4418,11 +5105,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4438,8 +5137,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4450,6 +5148,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4472,6 +5194,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4493,16 +5219,17 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Vložiť"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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 ""
@@ -4512,6 +5239,18 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4528,6 +5267,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Vytvoriť adresár"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Otvoriť súbor"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Uložiť súbor"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4540,6 +5294,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4569,8 +5327,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "Súbor:"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4597,6 +5356,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4630,11 +5394,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4688,10 +5447,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4710,45 +5465,67 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopírovať"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4836,7 +5613,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4855,128 +5632,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5104,10 +5789,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5116,6 +5797,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5161,6 +5846,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5291,6 +5980,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5299,6 +5992,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5327,6 +6024,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5340,10 +6041,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5403,6 +6100,47 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Vytvoriť adresár"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5472,14 +6210,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5505,27 +6235,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Separation:"
-msgstr "Popis:"
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5541,11 +6263,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "Všetky vybrané"
@@ -5619,10 +6336,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5647,7 +6360,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5660,7 +6373,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5669,6 +6382,10 @@ msgid "Erase Selection"
msgstr "Všetky vybrané"
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5689,11 +6406,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5717,6 +6430,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Odstrániť výber"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5733,65 +6451,108 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Všetky vybrané"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "Súbor:"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Vytvoriť adresár"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "Súbor:"
+
+#: 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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5807,7 +6568,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5881,10 +6642,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5893,7 +6650,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5901,6 +6658,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5991,6 +6756,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6100,8 +6869,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6113,9 +6882,22 @@ 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
+#, fuzzy
+msgid "All Devices"
+msgstr "Zariadenie"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Zariadenie"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6157,20 +6939,22 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "TlaÄidlo"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "TlaÄidlo"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6198,10 +6982,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Zariadenie"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "TlaÄidlo"
@@ -6246,6 +7026,12 @@ 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 "Already existing"
msgstr ""
@@ -6317,6 +7103,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6326,6 +7116,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Všetky vybrané"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6387,10 +7186,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6427,77 +7222,156 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: editor/property_editor.cpp
#, fuzzy
-msgid "New Script"
-msgstr "Popis:"
+msgid "Pick a Node"
+msgstr "Vložiť"
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Show in File System"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Pick a Node"
-msgstr "Vložiť"
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+msgid "Batch Rename"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6536,11 +7410,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6560,6 +7429,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Clear Script"
+msgstr "Popis:"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6600,14 +7474,32 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Vytvoriť adresár"
+
+#: 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 "Custom Node"
+msgstr "Vložiť"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6616,6 +7508,11 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Attach Script"
+msgstr "Popis:"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6658,20 +7555,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Attach Script"
-msgstr "Popis:"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "Popis:"
+msgid "Make Scene Root"
+msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6694,11 +7585,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "Filter:"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6719,16 +7605,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6737,7 +7615,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6753,21 +7631,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "Popis:"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6775,6 +7653,12 @@ 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 ""
@@ -6811,6 +7695,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7053,10 +7941,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7069,19 +7969,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7138,16 +8050,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Chybný argument convert(), použite TYPE_* konštanty."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Nedostatok bajtov na dekódovanie, možný chybný formát."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "argument \"step\"/krok je nulový!"
@@ -7213,6 +8115,11 @@ msgid "GridMap Delete Selection"
msgstr "Všetky vybrané"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Všetky vybrané"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7295,6 +8202,11 @@ msgid "Clear Selection"
msgstr "Všetky vybrané"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Všetky vybrané"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7363,6 +8275,70 @@ msgstr "Súbor:"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7414,10 +8390,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7529,35 +8501,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7587,17 +8535,12 @@ msgid "Remove Function"
msgstr "Všetky vybrané"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "Signály:"
+msgid "Editing Variable:"
+msgstr ""
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
@@ -7605,10 +8548,6 @@ msgid "Remove Signal"
msgstr "Všetky vybrané"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Editing Signal:"
msgstr "Signály:"
@@ -7654,6 +8593,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr "Vložiť"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Súbor:"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7708,6 +8652,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Vložiť"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7755,8 +8712,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7844,6 +8801,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7904,8 +8874,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7978,6 +8948,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7990,6 +8971,43 @@ msgid ""
"it as a child of a VehicleBody."
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_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "Nesprávna veľkosť písma."
+
+#: scene/animation/animation_tree.cpp
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8058,6 +9076,59 @@ msgstr ""
msgid "Invalid font size."
msgstr "Nesprávna veľkosť písma."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Nesprávna veľkosť písma."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Vypnuté"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Nastaviť prechody na:"
+
+#~ msgid "In"
+#~ msgstr "V"
+
+#~ msgid "Out"
+#~ msgstr "Von"
+
+#, fuzzy
+#~ msgid "In-Out"
+#~ msgstr "V-Von"
+
+#, fuzzy
+#~ msgid "Out-In"
+#~ msgstr "Von-V"
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Všetky vybrané"
+
+#, fuzzy
+#~ msgid "Separation:"
+#~ msgstr "Popis:"
+
#, fuzzy
#~ msgid "Can't write file."
#~ msgstr "Popis:"
@@ -8065,9 +9136,6 @@ msgstr "Nesprávna veľkosť písma."
#~ msgid "Meta+"
#~ msgstr "Meta+"
-#~ msgid "Filter:"
-#~ msgstr "Filter:"
-
#~ msgid "Ctrl+"
#~ msgstr "Ctrl+"
diff --git a/editor/translations/sl.po b/editor/translations/sl.po
index 66e3c43bee..707fc575e7 100644
--- a/editor/translations/sl.po
+++ b/editor/translations/sl.po
@@ -21,333 +21,484 @@ msgstr ""
"%100==4 ? 2 : 3;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "OnemogoÄen"
+#: 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 "Neveljavena vrsta argumenta za convert(), uporabite TYPE_* konstanto."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Celotna izbira"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Ni dovolj pomnilnika za dekodiranje bajtov, ali neveljaven format."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Neveljaven indeks lastnosti imena '%s' v vozliÅ¡Äu %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Neveljaven indeks lastnosti imena '%s' v vozliÅ¡Äu %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Neveljaven argument od tipa: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Prosto"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Napaka!"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "V Animacijo Vstavi KljuÄ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Podvoji izbrano"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Izbriši Izbrano"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Animacija Podvoji kljuÄe"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Animacija IzbriÅ¡i kljuÄe"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Animacija Spremeni Äas kljuÄne slike"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animacija Spremeni prehod"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animacija Spremeni transformacijo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Animacija Spremeni vrednost kljuÄne slike"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animacija Spremeni klic"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animacija Dodaj sled"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Animacija Podvoji kljuÄe"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Preoblikovanje"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Premakni animacijsko sled gor"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Premakni animacijsko sled dol"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Odstrani animacijsko sled"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Nastavi prehode na:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Ustavi predvajanje animacije. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Animacija Preimenuj sled"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animacija Dodaj sled"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Animacija Spremeni interpolacijo sledi"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Dolžina animacije (v sekundah)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Animacija Spremeni naÄin vrednosti sledi"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Približaj animacijo."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Animacija Spremeni naÄin ovijanja sledi"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funkcije:"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Uredi krivuljo vozliÅ¡Äa"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Uredi Krivulje izbora"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Animacija IzbriÅ¡i kljuÄe"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Preklop naÄin pisanja brez motenj."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Podvoji izbrano"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Podvoji transponirano"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animacijski Gradnik"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Odstrani izbrano"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Odstrani izbrano sled."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "ÄŒas X-Bledenja (s):"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Neprekinjeno"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskretno"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Sprožilec"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Animacija Dodaj kljuÄ"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Animacija Premakni kljuÄ"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "PoveÄaj izbiro"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "PoveÄaj iz kazalca"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Pojdi na naslednji korak"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Prihodnost"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Pojdi na prejšnji korak"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linearno"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstanta"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "V"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Ven"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Prehodi"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Animacija Podvoji kljuÄe"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimiziraj Animacijo"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Animacija IzbriÅ¡i kljuÄe"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "PoÄisti Animacijo"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Odstrani animacijsko sled"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Ustvarim NOVO sled za %s in vstavim kljuÄ?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Ustvarim %d NOVO sled in vstavim kljuÄe?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Ustvari"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Vstavi Animacijo"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Ustvari & Vstavi Animacijo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "V Animacijo Vstavi Sled & KljuÄ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "V Animacijo Vstavi KljuÄ"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Spremeni Dolžino Animacije"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Spremeni Zanko Animacije"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "V Animaciji Ustvari Vneseno Vrednost KljuÄa"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Vstavi Animacijo"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet ni najden v skripti: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Animacija Premakni kljuÄ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Spremeni Obseg KljuÄev"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Dodaj KlicajoÄo Sled v Animacijo"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Približaj animacijo."
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Dolžina (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Dolžina animacije (v sekundah)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Korak (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Korak postavitve kazalca (v sekundah)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Drevo animacije je veljavno."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "OmogoÄi/OnemogoÄi zankanje v animaciji."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Uredi"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Dodaj Novo Sled."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimacijskoDrevo"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Trenutno sled premakni gor."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopiraj Parametre"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Trenutno sled premakni dol."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Prilepi Parametre"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Odstrani izbrano sled."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "PoveÄaj izbiro"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Orodja sledi"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "PoveÄaj iz kazalca"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "S klikom na posamezne kljuÄe omogoÄite njihovo urejanje."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Podvoji izbrano"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Podvoji transponirano"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Izbriši Izbrano"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Pojdi na naslednji korak"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Pojdi na prejšnji korak"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimiziraj Animacijo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "PoÄisti Animacijo"
+
+#: 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 "Anim. Optimizer"
msgstr "Optimizacija Animacije"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimiziraj"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Če želite urediti animacije, izberite AnimationPlayer iz drevesa scene."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "ÄŒrka"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Prehod"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Razmerje Obsega:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Klic funkcije v katerem gradniku?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Odstrani nedovoljene ÄŒrke"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Odstrani nedoloÄene in prazne sledi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Pobriši vse animacije"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Izbriši Animacijo/e (BREZ VRNITVE!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "PoÄisti"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Razmerje Obsega:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "PoveÄaj Niz"
@@ -368,7 +519,7 @@ msgstr "Pojdi na Vrstico"
msgid "Line Number:"
msgstr "Å tevilka Vrste:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Ni Zadetkov"
@@ -384,7 +535,7 @@ msgstr "Ujemanje Velikih ÄŒrk"
msgid "Whole Words"
msgstr "Cele Besede"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Zamenjaj"
@@ -396,18 +547,27 @@ msgstr "Zamenjaj Vse"
msgid "Selection Only"
msgstr "Samo Izbira"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Približaj"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Oddalji"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Ponastavi PoveÄavo/PomanjÅ¡avo"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Približaj"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Vrstica:"
@@ -439,7 +599,8 @@ msgid "Add"
msgstr "Dodaj"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -470,7 +631,7 @@ msgid "Oneshot"
msgstr "En Poizkus"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -492,11 +653,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Poveži '%s' v '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Povezovanje Signala:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Odklopite '%s' iz '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Odklopite '%s' iz '%s'"
#: editor/connections_dialog.cpp
@@ -504,14 +666,47 @@ msgid "Connect..."
msgstr "Poveži..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Odklopi"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Povezovanje Signala:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Napaka Pri Povezavi"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Signali"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Odklopi"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Uredi"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metode"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Spremeni Tip %s"
@@ -534,22 +729,25 @@ msgstr "Priljubljene:"
msgid "Recent:"
msgstr "Nedavni:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Iskanje:"
#: editor/create_dialog.cpp editor/editor_help.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 "Zadetki:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Opis:"
@@ -611,7 +809,9 @@ msgstr "Iskanje Nadomestnih Virov:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Odpri"
@@ -632,7 +832,7 @@ msgstr ""
"Izbrisane datoteke so potrebne za delovanje drugih virov.\n"
"Ali jih vseeno odstranim? (brez vrnitve)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Ni mogoÄe odstraniti:"
@@ -700,9 +900,13 @@ msgstr "Spremeni Slovarsko Vrednost"
msgid "Thanks from the Godot community!"
msgstr "Zahvaljujemo se vam iz skupnosti Godota!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Hvala!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -879,6 +1083,7 @@ msgid "Bus options"
msgstr "Možnosti Vodila"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Podvoji"
@@ -947,7 +1152,8 @@ msgstr "Dodaj Vodilo"
msgid "Create a new Bus Layout."
msgstr "Ustvari novo Postavitev Vodila."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Naloži"
@@ -957,7 +1163,6 @@ msgid "Load an existing Bus Layout."
msgstr "Naloži obstojeÄo Postavitev Vodila."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Shrani Kot"
@@ -996,22 +1201,6 @@ msgstr ""
"Neveljavno ime. Ne sme se prekrivati z obstojeÄim imenom globalne konstante."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Neveljavna Pot."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Datoteka ne obstaja."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Ni na poti virov."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Dodaj SamodejnoNalaganje"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "SamodejnoNalaganje '%s' že obstaja!"
@@ -1039,6 +1228,22 @@ msgstr "OmogoÄi"
msgid "Rearrange Autoloads"
msgstr "Preuredi SamodejnoNalaganje"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Neveljavna Pot."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Datoteka ne obstaja."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Ni na poti virov."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Dodaj SamodejnoNalaganje"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1069,7 +1274,7 @@ msgstr "Shranjevanje lokalnih sprememb..."
msgid "Updating scene..."
msgstr "Posodabljanje scene..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[prazno]"
@@ -1131,6 +1336,12 @@ msgid "Copy Path"
msgstr "Kopiraj Pot"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Pokaži V Upravitelju Datotek"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Pokaži V Upravitelju Datotek"
@@ -1167,7 +1378,7 @@ msgid "Open a File or Directory"
msgstr "Odpri Datoteko ali Mapo"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Shrani"
@@ -1220,7 +1431,8 @@ msgstr "Pojdi v nadrejeno mapo"
msgid "Directories & Files:"
msgstr "Mape & Datoteke:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Predogled:"
@@ -1371,20 +1583,28 @@ msgstr ""
"Trenutno ni opisa za to metodo. Pomagajte nam s [color=$color][url="
"$url]prispevkom[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "IÅ¡Äi Besedilo"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Lastnosti"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Najdi"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Izhod:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1406,11 +1626,6 @@ msgstr "Napaka pri shranjevanju virov!"
msgid "Save Resource As..."
msgstr "Shrani Vire Kot..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Vidim..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Datoteke ni mogoÄe odpreti za pisanje:"
@@ -1423,9 +1638,9 @@ msgstr "Zahtevan format datoteke ni znan:"
msgid "Error while saving."
msgstr "Napaka med shranjevanjem."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Ni mogoÄe odpreti '%s'."
+#: 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'."
@@ -1468,10 +1683,6 @@ msgstr ""
"ne morejo biti izpolnjene."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Napaka pri nalaganju vira."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Knjižnice Modelov ni mogoÄe naložiti za združitev!"
@@ -1549,42 +1760,6 @@ msgstr ""
"Za boljÅ¡e razumevanje preberi dokumentacijo namenjeno razhroÅ¡Äevanju."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Razširi vse lastnosti"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "SkrÄi vse lastnosti"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Kopiraj Parametre"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Prilepi Parametre"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Prilepi Vir"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kopiraj Vir"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Naredi Vgrajeno"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Naredi Pod-Vire Samostojne"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Odpri v PomoÄi"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Ni doloÄene scene za zagon."
@@ -1778,11 +1953,6 @@ msgstr ""
"Scena '%s' je bila samodejno uvožena, zato je ni mogoÄe spremeniti.\n"
"Če želite narediti spremembe, lahko ustvarite novo podedovano sceno."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Uh"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1813,6 +1983,16 @@ msgid "Default"
msgstr "Prevzeto"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Zaženi Prizor"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Zapri"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Preklopi na zavihek Prizor"
@@ -1934,10 +2114,6 @@ msgstr "Projekt"
msgid "Project Settings"
msgstr "Nastavitve Projekta"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Zaženi Skripto"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Izvozi"
@@ -1947,6 +2123,11 @@ msgid "Tools"
msgstr "Orodja"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Odprem Upravljalnik Projekta?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Zapri na Seznam Projektov"
@@ -2055,6 +2236,20 @@ msgstr "Postavitev Urejevalnika"
msgid "Toggle Fullscreen"
msgstr "Preklopi na Celozaslonski NaÄin"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Nastavitve Urejevalnika"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Nastavitve Urejevalnika"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Upravljaj Izvozne Predloge"
@@ -2070,7 +2265,8 @@ msgstr "Razredi"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Iskanje"
@@ -2114,7 +2310,7 @@ msgstr "Zaustavi prizor"
msgid "Stop the scene."
msgstr "Ustavi Prizor."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Ustavi"
@@ -2135,6 +2331,16 @@ msgid "Play Custom Scene"
msgstr "Zaženi Prizor po Meri"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Shrani & Zapri"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Vrti se ob spremembi okna urejevalnika!"
@@ -2154,42 +2360,6 @@ msgstr "OnemogoÄi Posodobitve Kolesca"
msgid "Inspector"
msgstr "Nadzornik"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Ustvari nov vir v pomnilniku in ga uredi."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Naloži obstojeÄi vir iz spomina in ga uredi."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Shrani trenutno urejani vir."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Shrani Kot..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Pojdi na prejšnji urejani objekt v zgodovini."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Pojdi na naslednji urejani objekt v zgodovini."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "Zgodovina nedavno urejanih objektov."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Lastnosti objekta."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Spremembe se lahko izgubijo!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2204,6 +2374,11 @@ msgid "FileSystem"
msgstr "DatoteÄniSistem"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Razširi vse"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Izhod"
@@ -2280,19 +2455,24 @@ msgid "Thumbnail..."
msgstr "SliÄica..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Uredi Poligon"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "NameÅ¡Äeni VtiÄniki:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Posodobi"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "RazliÄica:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Avtor:"
@@ -2300,13 +2480,16 @@ msgstr "Avtor:"
msgid "Status:"
msgstr "Stanje:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Ustavi Modeliranje"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Uredi"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "ZaÄni Modeliranje"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Zaženi!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2352,6 +2535,103 @@ msgstr "ÄŒas"
msgid "Calls"
msgstr "Klici"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Prazen]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Odpri 2D Urejevalnik"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Novo ime:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Novo ime:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Izberite napravo s seznama"
@@ -2388,10 +2668,6 @@ msgstr "Ni mogoÄe zagnati skripte:"
msgid "Did you forget the '_run' method?"
msgstr "Ali si pozabil metodo '_run' ?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Privzeto (Enako kot Urejevalnik)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Izberi Gradnik(e) za Uvoz"
@@ -2417,6 +2693,7 @@ msgid "(Installed)"
msgstr "(NameÅ¡Äeno)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Prenesi"
@@ -2441,7 +2718,8 @@ msgid "Can't open export templates zip."
msgstr "Ne morem odpreti zip izvozne predloge."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Neveljaven format version.txt znotraj predloge."
#: editor/export_template_manager.cpp
@@ -2503,6 +2781,12 @@ msgid "Download Complete."
msgstr "Prenos je DokonÄan."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Napaka pri zahtevi URL-ja: "
@@ -2581,7 +2865,8 @@ msgid "Download Templates"
msgstr "Prenesi Predloge"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Izberi vire s seznama: "
#: editor/file_type_cache.cpp
@@ -2597,11 +2882,13 @@ msgstr ""
"sistemu!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Oglejte si elemente, kot mrežo sliÄic"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Oglejte si elemente v seznamu"
#: editor/filesystem_dock.cpp
@@ -2673,7 +2960,7 @@ msgstr "Razširi vse"
msgid "Collapse all"
msgstr "SkrÄi vse"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Preimenuj..."
@@ -2702,6 +2989,23 @@ msgid "Duplicate..."
msgstr "Podvoji..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Hitro Odpri Skripto..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Shrani Vire Kot..."
+
+#: 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 "Preimenuj"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Prejšna Mapa"
@@ -2714,15 +3018,30 @@ msgid "Re-Scan Filesystem"
msgstr "Ponovno Preglej DatoteÄni Sistem"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Nastavi mapo status kot Priljubljeno"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Izberi trenutno pod-ploÅ¡Äo v urejanju."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
"Naredi primer iz izbranih prizorov, ki bo naslednik izbranega gradnika."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "IÅ¡Äi Razrede"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2730,14 +3049,112 @@ msgstr ""
"Pregledovanje Datotek,\n"
"Prosimo, PoÄakajte..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Premakni"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Preimenuj"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Datoteka ali mapa s tem imenom že obstaja."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d veÄ datotek"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Najdi"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Cele Besede"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Ujemanje Velikih ÄŒrk"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtri..."
+
+#: 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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "PrekliÄi"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Zamenjaj"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Zamenjaj Vse"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Shranjevanje..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "IÅ¡Äi Besedilo"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "NAPAKA: Animacija s tem imenom že obstaja!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Neveljavno ime."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Skupine"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Dodaj v Skupino"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Dodaj v Skupino"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2747,6 +3164,11 @@ msgstr "Dodaj v Skupino"
msgid "Remove from Group"
msgstr "Odstrani iz Skupine"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Skupine"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Uvozi kot En Prizor"
@@ -2788,7 +3210,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Uvozi kot VeÄkratnik Prizorov+Materialov"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Uvozi Prizor"
@@ -2848,18 +3270,130 @@ msgstr "Prednastavitev..."
msgid "Reimport"
msgstr "Ponovno Uvozi"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Napaka pri nalaganju vira."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Razširi vse lastnosti"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "SkrÄi vse lastnosti"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Shrani Kot..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Kopiraj Parametre"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Prilepi Parametre"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "NAPAKA: Ni animacije virov na odložiÅ¡Äu!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kopiraj Vir"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Naredi Vgrajeno"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Naredi Pod-Vire Samostojne"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Odpri v PomoÄi"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Ustvari nov vir v pomnilniku in ga uredi."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Naloži obstojeÄi vir iz spomina in ga uredi."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Pojdi na prejšnji urejani objekt v zgodovini."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Pojdi na naslednji urejani objekt v zgodovini."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "Zgodovina nedavno urejanih objektov."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Lastnosti objekta."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Lastnosti objekta."
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Spremembe se lahko izgubijo!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "Niz VeÄkratnih Gradnikov"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Skupine"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Za urejanje Signalov in Skupin izberi Gradnik."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Uredi Poligon"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Ustvarite Poligon"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "VtiÄniki"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Language:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Ime Projekta:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2905,6 +3439,147 @@ msgstr ""
msgid "Delete points"
msgstr "IzbriÅ¡i toÄke"
+#: 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 "Dodaj Animacijo"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Naloži"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "IzbriÅ¡i toÄke"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "IzbriÅ¡i toÄke"
+
+#: 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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animacijski Gradnik"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "NAPAKA: Animacija s tem imenom že obstaja!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Uredi Filtre"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Dodaj vozliÅ¡Äe"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Uredi Filtre"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+msgid "Enable filtering"
+msgstr ""
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Preklop funkcije Samodejno Predvajanje"
@@ -2931,11 +3606,13 @@ msgid "Remove Animation"
msgstr "Odstrani Animacijo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "Napaka: Neveljavno ime animacije!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "NAPAKA: Animacija s tem imenom že obstaja!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2944,11 +3621,6 @@ msgid "Rename Animation"
msgstr "Preimenuj Animacijo"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Dodaj Animacijo"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Naslednjo Mešanje se je Spremenilo"
@@ -2965,11 +3637,13 @@ msgid "Duplicate Animation"
msgstr "Podvoji Animacijo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "NAPAKA: Ni animacije za kopiranje!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "NAPAKA: Ni animacije virov na odložiÅ¡Äu!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2981,7 +3655,8 @@ msgid "Paste Animation"
msgstr "Prilepi animacijo"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "NAPAKA: Ni animacije za urejanje!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3013,20 +3688,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Spremeni velikost predvajanja za gradnike globalno."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Ustvari novo animacijo v predvajalniku."
+msgid "Animation Tools"
+msgstr "Animacijska Orodja"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Naloži animacijo z diska."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animacija"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Naloži animacijo z diska."
+msgid "New"
+msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Shrani trenutno animacijo"
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Prehodi"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Nadzornik"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3037,18 +3719,6 @@ msgid "Autoplay on Load"
msgstr "Samodejno predvajaj ob nalaganju"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Uredi Äas meÅ¡anice cilja"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Animacijska Orodja"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Kopiraj Animacijo"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Lupljenje ÄŒebule"
@@ -3097,6 +3767,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Prilepi animacijo"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Ustvari Novo Animacijo"
@@ -3106,6 +3781,7 @@ msgstr "Ime Animacije:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3123,161 +3799,213 @@ msgstr "Naprej (Samodejna Razvrstitev):"
msgid "Cross-Animation Blend Times"
msgstr "Navzkrižna Animacija Časa Mešanice"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animacija"
+#: 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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Ni na poti virov."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Ustvari Nov %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Poveži se z Gradnikom:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Odstrani izbrano sled."
+
+#: 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 "Prehod"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimacijskoDrevo"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Novo ime:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Uredi Filtre"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Prilagodi Velikost:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Postopno Prikazovanje (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Postopno Izginevanje (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Zmešaj"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Mešaj"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Samodejni Ponovni Zagon:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Znova Zaženi (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "NakljuÄno Zaženi (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Zaženi!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "KoliÄina:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Zmešaj:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Zmešaj 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Zmešaj 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "ÄŒas X-Bledenja (s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Trenutno:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Dodaj Vnos"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Nastavi Samodejno-Napredovanje"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Izbriši Vnos"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Drevo animacije je veljavno."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Drevo animacije ni veljavno."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animacijski Gradnik"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Gradnik EnPoizkus"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Gradnik Mešanica"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Gradnik Zmešaj2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Gradnik Zmešaj3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Gradnik Zmešaj4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Gradnik ÄŒasovnoMerilo"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Gradnik ÄŒasovniIskalnik"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Gradnik Prehod"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Uvozi Animacije..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Uredi Gradnike Filtri"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Filtri..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimacijskoDrevo"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Prosto"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Vsebina:"
@@ -3331,8 +4059,14 @@ msgid "Asset Download Error:"
msgstr "Napaka pri prenosu sredstev:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Pridobivanje:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Prenašanje"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Prenašanje"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3359,20 +4093,23 @@ msgid "Download for this asset is already in progress!"
msgstr "Prenos za ta dodatek je že v teku!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "prvi"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "prejšnji"
+#, fuzzy
+msgid "Previous"
+msgstr "Prejšnji zavihek"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "naslednji"
+#, fuzzy
+msgid "Next"
+msgstr "Naslednji zavihek"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "zadnji"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3445,7 +4182,7 @@ msgid "Bake Lightmaps"
msgstr "ZapeÄi Svetlobne karte"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Predogled"
@@ -3454,12 +4191,10 @@ msgid "Configure Snap"
msgstr "Nastavi Zaskok"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Mrežni Zamik:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Mrežni Korak:"
@@ -3472,14 +4207,6 @@ msgid "Rotation Step:"
msgstr "Rotacijski Korak:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Premakni ToÄko"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Premakni Dejanje"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Premakni navpiÄni vodnik"
@@ -3508,11 +4235,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Ustvari nov vodoravni in navpiÄni vodnik"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Uredi Verigo IK"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Premakni ToÄko"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Uredi Platno Stvari"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Premakni Dejanje"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Uredi Platno Stvari"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Uredi Platno Stvari"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3532,6 +4276,21 @@ msgid "Paste Pose"
msgstr "Prilepi Pozicijo"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Oddalji"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Oddalji"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Približaj"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Izberi NaÄin"
@@ -3579,7 +4338,8 @@ msgid "Pan Mode"
msgstr "NaÄin PloÅ¡Äe"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Preklopi pripenjanje"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3587,7 +4347,8 @@ msgid "Use Snap"
msgstr "Uporabi Pripenjanje"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Možnosti pripenjanja"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3628,6 +4389,11 @@ msgid "Snap to node sides"
msgstr "Pripni na gradnik strani"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Pripni na gradnik vodilo"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Pripni na druge gradnike"
@@ -3654,24 +4420,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Zaženi Prizor po Meri"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3716,12 +4483,9 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "V Animacijo Vstavi KljuÄ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3736,14 +4500,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Nastavite toÄko na položaj miÅ¡ke"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3759,10 +4515,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3795,26 +4547,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3885,15 +4629,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3977,6 +4712,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4044,6 +4780,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4144,70 +4901,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4268,59 +4961,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4400,6 +5089,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4432,19 +5137,92 @@ msgstr "Odstrani ToÄko Izven Nadzora"
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Odstrani toÄko"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Ustvarite Poligon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "SamodejnoNalaganje '%s' že obstaja!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Dodaj toÄko"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Neveljavna Pot"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Odstrani toÄko"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Uredi Poligon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Ustvarite Poligon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4473,12 +5251,25 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Uredi"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Izberite Mapo za Skeniranje"
+
+#: 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 "Polygon->UV"
@@ -4493,9 +5284,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Nastavitve Urejevalnika"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4505,6 +5296,35 @@ msgstr ""
msgid "Grid"
msgstr ""
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Nastavi Zaskok"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Mrežni Zamik:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Mrežni Zamik:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Mrežni Korak:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Mrežni Korak:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Sync Bones to Polygon"
+msgstr ""
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4527,6 +5347,10 @@ msgid "Resource clipboard is empty!"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Prilepi Vir"
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4548,16 +5372,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
msgstr ""
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Drevo animacije ni veljavno."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr ""
@@ -4567,6 +5393,21 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Napaka pri shranjevanju PloÅ¡ÄnegaNiza!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Mape ni mogoÄe ustvariti."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Napaka pri shranjevanju PloÅ¡ÄnegaNiza!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4583,6 +5424,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Nova Mapa..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Odpri v Datoteki"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Shrani Kot..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4595,6 +5451,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4623,8 +5483,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "Ogled datotek"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4651,6 +5512,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4684,11 +5550,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4742,10 +5603,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4764,45 +5621,70 @@ msgid "Debugger"
msgstr "RazhroÅ¡Äevalnik"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "IÅ¡Äi PomoÄ"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "IÅ¡Äi Razrede"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Vrstica:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4890,8 +5772,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "Filtriraj datoteke..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4909,129 +5792,40 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Posameznik"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Posameznik"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Zaženi"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5158,10 +5952,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5170,6 +5960,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5214,6 +6008,11 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Ustvari Predogled Modela"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5344,6 +6143,11 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Pripni na mrežo"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Preklopi Svobodni Pregled"
@@ -5352,6 +6156,10 @@ msgid "Transform"
msgstr "Preoblikovanje"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Preoblikovanje Dialoga..."
@@ -5380,6 +6188,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5393,10 +6205,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Nastavitve ZaskoÄenja"
@@ -5456,6 +6264,50 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Model je prazen!"
+
+#: 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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Ustvari Nov %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Predogled"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Nastavitve ZaskoÄenja"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5524,14 +6376,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5557,26 +6401,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5592,11 +6429,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Odstrani Vse Stvari"
@@ -5668,10 +6500,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5696,7 +6524,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5709,14 +6537,19 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Konstanta"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Neveljavno ime."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5737,12 +6570,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Najdi"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5765,6 +6595,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Odstrani izbrano"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5781,64 +6616,110 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Dodaj Gradnik(e) iz Drevesa"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Odstrani trenutni vnos"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Izberi trenutno pod-ploÅ¡Äo v urejanju."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "PrekliÄi"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Ta operacija ni mogoÄa brez scene."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -5853,7 +6734,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5927,10 +6808,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5939,14 +6816,23 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Izberite datoteko 'projekt.godot'."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr ""
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Izberite prazno mapo."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Izberite datoteko 'projekt.godot'."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6033,6 +6919,11 @@ msgid "Project Path:"
msgstr "Pot Projekta:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Pot Projekta:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Brskaj"
@@ -6143,8 +7034,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6156,9 +7047,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Spremeni Ime Animacije:"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6200,19 +7104,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6240,10 +7144,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6288,6 +7188,12 @@ msgid "Delete Item"
msgstr "Izbriši Predmet"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr ""
@@ -6359,6 +7265,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6368,6 +7278,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Premakni Dejanje"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6428,10 +7347,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6468,75 +7383,163 @@ msgid "Select Node"
msgstr "Izberi Gradnik"
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
+msgstr "Izberi Lastnost"
+
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Preimenuj"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Prazen]"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Možnosti pripenjanja"
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Ime Gradnika:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
-msgstr "Izberi Lastnost"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "PoiÅ¡Äi tip vozliÅ¡Äa"
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Trenutna scena ni shranjena. Vseeno odprem?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Preimenuj"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "Korak (s):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "Ponastavi PoveÄavo/PomanjÅ¡avo"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6575,11 +7578,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6599,6 +7597,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6639,14 +7641,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Ustvarite Mapo"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Prizor"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Prizor"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Gradnik Prehod"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6655,6 +7677,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6697,18 +7723,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Shrani Prizor"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6731,10 +7754,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6754,17 +7773,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Preklopi na Skrite Datoteke"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6772,7 +7784,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6788,20 +7800,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "Zaženi Skripto"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6809,6 +7822,12 @@ 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 ""
@@ -6845,6 +7864,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Odpri Urejevalnik Skript"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7081,10 +8105,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7097,19 +8133,34 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Spremeni Mešalni Čas"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Spremeni Mešalni Čas"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Spremeni SidriÅ¡Äa in Robove"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7165,16 +8216,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr "Neveljavena vrsta argumenta za convert(), uporabite TYPE_* konstanto."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Ni dovolj pomnilnika za dekodiranje bajtov, ali neveljaven format."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "stopnja argumenta je niÄ!"
@@ -7240,6 +8281,11 @@ msgid "GridMap Delete Selection"
msgstr "GridMap Izbriši Izbor"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "GridMap Izbriši Izbor"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7320,6 +8366,11 @@ msgid "Clear Selection"
msgstr "PoÄisti izbrano"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Celotna izbira"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7388,6 +8439,70 @@ msgstr "Ogled datotek"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7446,10 +8561,6 @@ msgid "Set Variable Type"
msgstr "Nastavite Tip Spremenljivke"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funkcije:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Spremenljivke:"
@@ -7558,36 +8669,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Poveži se z Gradnikom:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Poveži se z Gradnikom:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7614,26 +8703,18 @@ msgid "Remove Function"
msgstr "Odstrani Funkcijo"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Uredi Spremenljivko"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Odstrani Spremenljivko"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Uredi Signal"
+msgid "Editing Variable:"
+msgstr "Urejanje Spremenljivke:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Odstrani Signal"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Urejanje Spremenljivke:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Urejanje Signala:"
@@ -7677,6 +8758,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "ÄŒlani"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Vhodni tip ni spremenljiv: "
@@ -7733,6 +8819,19 @@ msgstr ""
"Neveljavna vrnitev vrednosti od _step(), mora biti število (seq out), ali "
"string (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Odstrani Gradnik VizualnaSkripta"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7783,8 +8882,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7873,6 +8972,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7933,8 +9045,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8007,6 +9119,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8019,6 +9142,48 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animacijska Orodja"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "Napaka: Neveljavno ime animacije!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Odklopite '%s' iz '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Če želite urediti animacije, izberite AnimationPlayer iz drevesa scene."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Drevo animacije ni veljavno."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Neobdelan naÄin"
@@ -8090,13 +9255,178 @@ msgstr "Napaka nalaganja pisave."
msgid "Invalid font size."
msgstr "Neveljavna velikost pisave."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Prejšnji zavihek"
+msgid "Input"
+msgstr "Dodaj Vnos"
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Next"
-#~ msgstr "Naslednji zavihek"
+msgid "Invalid source for shader."
+msgstr "Neveljavna velikost pisave."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "OnemogoÄen"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Premakni animacijsko sled gor"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Premakni animacijsko sled dol"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Nastavi prehode na:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Animacija Preimenuj sled"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Animacija Spremeni interpolacijo sledi"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Animacija Spremeni naÄin vrednosti sledi"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Animacija Spremeni naÄin ovijanja sledi"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Uredi krivuljo vozliÅ¡Äa"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Uredi Krivulje izbora"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Animacija Dodaj kljuÄ"
+
+#~ msgid "In"
+#~ msgstr "V"
+
+#~ msgid "Out"
+#~ msgstr "Ven"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Spremeni Dolžino Animacije"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Spremeni Zanko Animacije"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "V Animaciji Ustvari Vneseno Vrednost KljuÄa"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Dodaj KlicajoÄo Sled v Animacijo"
+
+#~ msgid "Length (s):"
+#~ msgstr "Dolžina (s):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Korak postavitve kazalca (v sekundah)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "OmogoÄi/OnemogoÄi zankanje v animaciji."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Dodaj Novo Sled."
+
+#~ msgid "Move current track up."
+#~ msgstr "Trenutno sled premakni gor."
+
+#~ msgid "Move current track down."
+#~ msgstr "Trenutno sled premakni dol."
+
+#~ msgid "Track tools"
+#~ msgstr "Orodja sledi"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "S klikom na posamezne kljuÄe omogoÄite njihovo urejanje."
+
+#~ msgid "Key"
+#~ msgstr "ÄŒrka"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Klic funkcije v katerem gradniku?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Hvala!"
+
+#~ msgid "I see..."
+#~ msgstr "Vidim..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Ni mogoÄe odpreti '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Uh"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Shrani trenutno urejani vir."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Ustavi Modeliranje"
+
+#~ msgid "Start Profiling"
+#~ msgstr "ZaÄni Modeliranje"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Privzeto (Enako kot Urejevalnik)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Ustvari novo animacijo v predvajalniku."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Naloži animacijo z diska."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Naloži animacijo z diska."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Shrani trenutno animacijo"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Uredi Äas meÅ¡anice cilja"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Kopiraj Animacijo"
+
+#~ msgid "Fetching:"
+#~ msgstr "Pridobivanje:"
+
+#~ msgid "prev"
+#~ msgstr "prejšnji"
+
+#~ msgid "next"
+#~ msgstr "naslednji"
+
+#~ msgid "last"
+#~ msgstr "zadnji"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Uredi Verigo IK"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Nastavite toÄko na položaj miÅ¡ke"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Uredi Spremenljivko"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Uredi Signal"
#~ msgid "Not found!"
#~ msgstr "Ni Zadetka!"
diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po
index 9998a16e3a..aa41c3e609 100644
--- a/editor/translations/sr_Cyrl.po
+++ b/editor/translations/sr_Cyrl.po
@@ -19,334 +19,484 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.18-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Све одабрано"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Слободно"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Огледало X оÑе"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Убаци кључеве"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Дуплирај одабрано"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Time"
msgstr "Промени вредноÑÑ‚"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Промени прелаз"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Промени положај"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "Промени вредноÑÑ‚"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Промени позив анимације"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Додај нову траку"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Дуплирај кључеве"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Тип транÑформације"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Помери траку горе"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Помери траку доле"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Обриши траку анимације"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "ПоÑтави прелаз на:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "ЗауÑтави анимацију. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Измени име анимације"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Додај нову траку"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Измени интерполацију"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Дужина анимације (у Ñекундама)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Измени режим вредноÑти"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Скала анимације."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Измени режим цикла"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Измени криву чвора"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Звучни Ñлушалац"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Измени одабрану криву"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Уколни кључеве"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Укљ./ИÑкљ. режим без Ñметње."
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Дуплирај одабрано"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Дуплирај транÑпоновану"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Ðнимациони чвор"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-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
+#, fuzzy
+msgid "Time (s): "
+msgstr "X-Fade време (Ñек.):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Трајан"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Одвојен"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Окидач"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Уметни кључ"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Помери кључеве"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Увећај одабрано"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Увећај од курÑора"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Идите на Ñледећи корак"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "КарактериÑтике"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Идите на претходни корак"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Линеаран"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "КонÑтантан"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Улаз"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Из"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "У-Из"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Из-У"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Убаци кључеве"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Прелази"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Дуплирај кључеве"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Оптимизуј анимацију"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Уколни кључеве"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "ОчиÑтите анимацију"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Обриши траку анимације"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Ðаправите нову траку за %s и убаците кључ?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Ðаправите %d нових трака и убаците кључеве?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Ðаправи"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Ðалепи"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Ðаправи анимацију и убаци"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Уметни траку и кључ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Уметни кључ"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-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_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Измени лупинг анимације"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Ðаправи кључ Ñа почетном вредношћу"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Ðалепи"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Track path is invalid, so can't add a method 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
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Ðема реÑурÑа за копирање!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Увећај кључеве"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Додај позивну траку"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-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_editor.cpp
-msgid "Length (s):"
-msgstr "Дужина (Ñек.):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Дужина анимације (у Ñекундама)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Један корак (Ñек.):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Поравнавање корака курÑора (у Ñекундама)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Ðнимационо дрво је важеће."
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Уреди"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Укључи/иÑкључи понављање анимације."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Ðнимација"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Додај нове траке."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Копирај параметре"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Помери траку горе."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Ðалепи параметре"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Помери траку доле."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Увећај одабрано"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Обриши одабрану траку."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Увећај од курÑора"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Ðлатке за траке"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Дуплирај одабрано"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Омогућите уређивање индивидуалних кључева кликом на њих."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Дуплирај транÑпоновану"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Центрирај одабрано"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Идите на Ñледећи корак"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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 "Anim. Optimizer"
msgstr "Оптимизатор анимација"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "МакÑимална линеарна грешка:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "МакÑимална угаона грешка:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "МакÑимални оптимизован угао:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Оптимизуј"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Одабери AnimationPlayer из дрвета Ñцене за уређивање анимација."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Кључ"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Померај"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Размера Ñкале:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Позови функције у којем чвору?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Обриши неважеће кључеве"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Обриши необјашњене и празне траке"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "ОчиÑти Ñве анимације"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "ОчиÑти анимацију(е) (ÐЕМРОПОЗИВÐЊÐ!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Копирај"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Промени величину низа"
@@ -367,7 +517,7 @@ msgstr "Иди на линију"
msgid "Line Number:"
msgstr "Број линије:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Ðема подудара"
@@ -383,7 +533,7 @@ msgstr "Подударање великих и малих Ñлова"
msgid "Whole Words"
msgstr "Целе речи"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Замени"
@@ -395,18 +545,27 @@ msgstr "Замени Ñве"
msgid "Selection Only"
msgstr "Само одабрано"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Увеличај"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Умањи"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "РеÑетуј увеличање"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Увеличај"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Линија:"
@@ -438,7 +597,8 @@ msgid "Add"
msgstr "Додај"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -469,7 +629,7 @@ msgid "Oneshot"
msgstr "Једном"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -491,12 +651,13 @@ msgid "Connect '%s' to '%s'"
msgstr "Повежи '%s' Ñа '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Везујући Ñигнал:"
+#, fuzzy
+msgid "Disconnect '%s' from '%s'"
+msgstr "Повежи '%s' Ñа '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "Повежи '%s' Ñа '%s'"
#: editor/connections_dialog.cpp
@@ -504,14 +665,47 @@ msgid "Connect..."
msgstr "Повежи..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "ИÑкопчати"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Везујући Ñигнал:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Повезивање не уÑпешно"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Сигнали"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "ИÑкопчати"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Уреди"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Методе"
+
#: editor/create_dialog.cpp
#, fuzzy
msgid "Change %s Type"
@@ -536,22 +730,25 @@ msgstr "Омиљене:"
msgid "Recent:"
msgstr "ЧеÑте:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Тражи:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "ОпиÑ:"
@@ -613,7 +810,9 @@ msgstr "Потражи замену за реÑурÑ:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Отвори"
@@ -634,7 +833,7 @@ msgstr ""
"Жељене датотеке за бриÑање Ñу потребне за рад других реÑурÑа.\n"
"Ипак их обриши? (ÐЕМРОПОЗИВÐЊÐ)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "Ðе може Ñе обриÑати:\n"
@@ -703,9 +902,13 @@ msgstr "Промени вредноÑÑ‚ речника"
msgid "Thanks from the Godot community!"
msgstr "Хвала од Godot заједнице!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Хвала!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -884,6 +1087,7 @@ msgid "Bus options"
msgstr "ПоÑтавке баÑа"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Дуплирај"
@@ -952,7 +1156,8 @@ msgstr "Додај баÑ"
msgid "Create a new Bus Layout."
msgstr "Ðаправи нови Ð±Ð°Ñ Ñ€Ð°Ñпоред."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Учитај"
@@ -962,7 +1167,6 @@ msgid "Load an existing Bus Layout."
msgstr "Учитај поÑтојећи Ð±Ð°Ñ Ñ€Ð°Ñпоред."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Сачувај као"
@@ -999,22 +1203,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "Ðеважеће име. Име је резервиÑано за поÑтојећу глобалну конÑтанту."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ðеважећи пут."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Датотека не поÑтоји."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Ðије на пут реÑурÑа."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Додај аутоматÑко учитавање"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "ÐутоматÑко учитавање '%s' већ поÑтоји!"
@@ -1042,6 +1230,22 @@ msgstr "Укључи"
msgid "Rearrange Autoloads"
msgstr "Преуреди аутоматÑка учитавања"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ðеважећи пут."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Датотека не поÑтоји."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Ðије на пут реÑурÑа."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Додај аутоматÑко учитавање"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1072,7 +1276,7 @@ msgstr "Чувам локалне промене..."
msgid "Updating scene..."
msgstr "Ðжурирам Ñцену..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
#, fuzzy
msgid "[empty]"
msgstr "(празно)"
@@ -1136,6 +1340,12 @@ msgid "Copy Path"
msgstr "Копирај пут"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Покажи у менаџеру датотека"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Покажи у менаџеру датотека"
@@ -1172,7 +1382,7 @@ msgid "Open a File or Directory"
msgstr "Отвори датотеку или директоријум"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Сачувај"
@@ -1225,7 +1435,8 @@ msgstr "Иди у родитељÑки директоријум"
msgid "Directories & Files:"
msgstr "Директоријуми и датотеке:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Преглед:"
@@ -1378,20 +1589,28 @@ msgstr ""
"Тренутно нема опиÑа ове методе. Молимо помозите нама тако што ћете [color="
"$color][url=$url]напиÑати једну[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Потражи текÑÑ‚"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "ОÑобине"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Ðађи"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Излаз:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1414,11 +1633,6 @@ msgstr "Грешка при чувању реÑурÑа!"
msgid "Save Resource As..."
msgstr "Сачувај реÑÑƒÑ€Ñ ÐºÐ°Ð¾..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Разумем..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Ðе могу отворити датотеку за пиÑање:"
@@ -1431,9 +1645,9 @@ msgstr "Тражени формат датотеке је непознат:"
msgid "Error while saving."
msgstr "Грешка при чувању."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Ðе могу отворити '%s'."
+#: 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'."
@@ -1475,10 +1689,6 @@ msgid ""
msgstr "Ðе могу Ñачувати Ñцену. Вероватно завиÑноÑти ниÑу задовољене."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Грешка при учитавању реÑурÑа."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Ðе могу учитати MeshLibrary за Ñпајање!"
@@ -1559,42 +1769,6 @@ msgstr ""
"начин рада."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Прошири Ñве"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Умањи Ñве"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Копирај параметре"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Ðалепи параметре"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Ðалепи реÑурÑе"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Копирај реÑурÑе"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Ðаправи уграђеним"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Ðаправи под-реÑÑƒÑ€Ñ Ñ˜ÐµÐ´Ð¸Ð½Ñтвеним"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Отвори у прозору за помоћ"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Ðе поÑтоји дефиниÑана Ñцена за покретање."
@@ -1785,11 +1959,6 @@ msgstr ""
"Сцена „%s“ је аутоматÑки увезена, тако да Ñе не може мењати.\n"
"За извршавања измена, направите нову наÑлеђену Ñцену."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Уф"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1821,6 +1990,16 @@ msgid "Default"
msgstr "Уобичајено"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Покрени Ñцену"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Затвори оÑтале зупчанике"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Промени ÑценÑки таб"
@@ -1942,10 +2121,6 @@ msgstr "Пројекат"
msgid "Project Settings"
msgstr "ПоÑтавке пројекта"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Покрени Ñкриптицу"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Извоз"
@@ -1955,6 +2130,11 @@ msgid "Tools"
msgstr "Ðлати"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Отвори менаџер пројекта?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Изађи у лиÑту пројекта"
@@ -2065,6 +2245,20 @@ msgstr "РаÑпоред уредника"
msgid "Toggle Fullscreen"
msgstr "Укљ./ИÑкљ. режим целог екрана"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "ПоÑтавке уредника"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "ПоÑтавке уредника"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Управљај извозним шаблонима"
@@ -2080,7 +2274,8 @@ msgstr "КлаÑе"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Тражи"
@@ -2124,7 +2319,7 @@ msgstr "Паузирај Ñцену"
msgid "Stop the scene."
msgstr "ЗауÑави Ñцену."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "ЗауÑтави"
@@ -2145,6 +2340,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Сачувај и изађи"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Окрене Ñе кад Ñе едиторÑки прозор поново обоји!"
@@ -2164,42 +2369,6 @@ msgstr "ИÑкључи индикатор ажурирања"
msgid "Inspector"
msgstr "ИнÑпектор"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Ðаправи нови реÑÑƒÑ€Ñ Ñƒ меморији и измени га."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Учитај поÑтојећи реÑÑƒÑ€Ñ Ñа диÑка и измени га."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Сачувај тренутно измењени реÑурÑ."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Сачувај као..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Иди на претходно измењен објекат у иÑторијату."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Иди на Ñледећи измењени објекат у иÑторијату."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "ИÑторијат недавно измењених објеката."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "ПоÑтавке објекта."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Промене Ñе могу изгубити!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2214,6 +2383,11 @@ msgid "FileSystem"
msgstr "Датотечни ÑиÑтем"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Прошири Ñве"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Излаз"
@@ -2290,19 +2464,24 @@ msgid "Thumbnail..."
msgstr "Сличица..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Измени полигон"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "ИнÑталирани прикључци:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Ðжурирај"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Верзија:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Ðутор:"
@@ -2310,13 +2489,16 @@ msgstr "Ðутор:"
msgid "Status:"
msgstr "СтатуÑ:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "ЗауÑтави профилирање"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Уреди"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Покрени профилирање"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Започни!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2364,6 +2546,104 @@ msgstr "Време:"
msgid "Calls"
msgstr "Позиви цртања"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "[Empty]"
+msgstr "Додај празан"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Ðалепи"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Отвори 2Д уредник"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Ðово име:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Ðово име:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Обриши Ñтавку"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Одабери уређај Ñа лиÑте"
@@ -2400,10 +2680,6 @@ msgstr "ÐеуÑпех при покретању Ñкриптице:"
msgid "Did you forget the '_run' method?"
msgstr "Да ли Ñте заборавили методу „_run“?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Уобичајено (као и уредник)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Одабери чвор/ове за увоз"
@@ -2429,6 +2705,7 @@ msgid "(Installed)"
msgstr "(инÑталирано)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Преучми"
@@ -2453,7 +2730,8 @@ msgid "Can't open export templates zip."
msgstr "Ðе могу отворити ZIP датотеку Ñа извозним шаблонима."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Ðеважећи формат датотеке version.txt унутар шаблона."
#: editor/export_template_manager.cpp
@@ -2517,6 +2795,12 @@ msgid "Download Complete."
msgstr "Преузимање уÑпешно."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Грешка при захтеву url: "
@@ -2596,7 +2880,8 @@ msgid "Download Templates"
msgstr "Преузми шаблоне"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Одабери одредиште Ñа лиÑте: "
#: editor/file_type_cache.cpp
@@ -2610,11 +2895,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "ÐеуÑпех навигације у „%s“ пошто није пронађен у датотечном ÑиÑтему!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Прикажи Ñтвари као мрежа Ñличица"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Прикажи Ñтвари као лиÑта"
#: editor/filesystem_dock.cpp
@@ -2695,7 +2982,7 @@ msgstr "Прошири Ñве"
msgid "Collapse all"
msgstr "Умањи Ñве"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Преименуј..."
@@ -2726,6 +3013,23 @@ msgid "Duplicate..."
msgstr "Дуплирај"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Брзо отварање Ñкриптице..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "Претодни директоријум"
@@ -2738,14 +3042,29 @@ msgid "Re-Scan Filesystem"
msgstr "Поново Ñкенирај датотеке"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Директоријум као омиљени"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Сачувај тренутно измењени реÑурÑ."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Ðаправи Ñледећу Ñцену/е као дете одабраног чвора."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Потражи клаÑе"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2753,14 +3072,112 @@ msgstr ""
"Скенирање датотека,\n"
"Молим Ñачекајте..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Помери"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Преименуј"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Датотека или директоријум Ñа овим именом већ поÑтоји."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Ðаправи Ñкриптицу"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Ðађи плочицу"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Ðађи"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Целе речи"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Подударање великих и малих Ñлова"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Замени"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Замени Ñве"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Чување..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Потражи текÑÑ‚"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "Грешка: име анимације већ поÑтоји!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ðеважеће име."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Групе"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Додај у групу"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Додај у групу"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2770,6 +3187,11 @@ msgstr "Додај у групу"
msgid "Remove from Group"
msgstr "Обриши из групе"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Групе"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Увези као једна Ñцена"
@@ -2811,7 +3233,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Увези као више Ñцена и материјала"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Увези Ñцену"
@@ -2873,18 +3295,129 @@ msgstr "ПоÑтавке..."
msgid "Reimport"
msgstr "Поново увези"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Грешка при учитавању реÑурÑа."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Прошири Ñве"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Умањи Ñве"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Сачувај као..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Копирај параметре"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Ðалепи параметре"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Ðема реÑурÑа за копирање!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Копирај реÑурÑе"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Ðаправи уграђеним"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Ðаправи под-реÑÑƒÑ€Ñ Ñ˜ÐµÐ´Ð¸Ð½Ñтвеним"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "ПоÑтавке објекта."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "ПоÑтавке објекта."
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "Промене Ñе могу изгубити!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "ПоÑтави MultiNode"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Групе"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Одабери чвор за мењање Ñигнала и група."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Измени полигон"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Ðаправи ивице"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Прикључци"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2930,6 +3463,147 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Обриши тачке"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "ДеÑни таÑтер миша: обриши тачку."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Ðнимациони чвор"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+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 "Укљ./ИÑкљ. аутоматÑко покретање"
@@ -2956,11 +3630,13 @@ msgid "Remove Animation"
msgstr "Обриши анимацију"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "Грешка: неважеће име анимације!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "Грешка: име анимације већ поÑтоји!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2969,11 +3645,6 @@ msgid "Rename Animation"
msgstr "Преименуј анимацију"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Додај анимацију"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Промена Ñледеће анимације"
@@ -2990,11 +3661,13 @@ msgid "Duplicate Animation"
msgstr "Дуплирај анимацију"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "Грешка: нема анимације за копирање!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "Грешка: нема анимације у таблици за копирање!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3006,7 +3679,8 @@ msgid "Paste Animation"
msgstr "Ðалепи анимацију"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "Грешка: нема анимације за измену!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3038,20 +3712,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Глобално убрзај анимацију за чвор."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Ðаправи нову анимацију у плејеру."
+msgid "Animation Tools"
+msgstr "Ðнимационе алатке"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Ðнимација"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Учитај анимацију Ñа диÑка."
+msgid "New"
+msgstr "Ðова"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Учитај анимацију Ñа диÑка."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Прелази"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Сачувај тренутну анимацију"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "ИнÑпектор"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3062,18 +3743,6 @@ msgid "Autoplay on Load"
msgstr "ÐутоматÑко пуштање након учитавања"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Уреди времена циљаног мешања"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Ðнимационе алатке"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Копирај анимацију"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr ""
@@ -3122,6 +3791,11 @@ msgid "Include Gizmos (3D)"
msgstr "Убаци 3Д Ñправице"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Ðалепи анимацију"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Ðаправи нову анимацију"
@@ -3131,6 +3805,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3148,162 +3823,214 @@ msgstr "Следећа (Ðутоматки ред):"
msgid "Cross-Animation Blend Times"
msgstr "Вишеанимационо време мешања"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Ðаправи нов"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Повежи Ñа чвором:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "AnimationTree"
+msgstr "Ðнимација"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Ðово име:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Уреди филтере"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Скала:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Појављивање (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "ÐеÑтанак (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Мешање"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "МикÑ"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "ÐутоматÑко реÑтартовање:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "РеÑтартовање (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "ÐаÑумично реÑтартовање (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Започни!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "Количина:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Мешавина:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Мешавина 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Мешавина 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "X-Fade време (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Тренутно:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Додај улаз"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Обриши аутоматÑки напредак"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "ПоÑтави аутоматÑки напредак"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Обриши улаз"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Ðнимационо дрво је важеће."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Ðнимационо дрво није важеће."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Ðнимациони чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "OneShot чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "ÐœÐ¸ÐºÑ Ñ‡Ð²Ð¾Ñ€"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Мешање2 чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Мешање3 чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Мешање4 чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "TimeScale чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TimeSeek чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Transition чвор"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Увези анимације..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Измени филтере чвора"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Филтери..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Ðнимација"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Слободно"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "Садржај:"
@@ -3357,8 +4084,14 @@ msgid "Asset Download Error:"
msgstr "Преузимање реÑурÑа неуÑпешно:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Преузимање:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Преузимање у току"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Преузимање у току"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3385,20 +4118,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Преузимање овог реÑурÑа је у току!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "први"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "претходни"
+#, fuzzy
+msgid "Previous"
+msgstr "Претходни таб"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "Ñледећи"
+msgid "Next"
+msgstr "Следеће"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "задњи"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3465,7 +4200,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Преглед"
@@ -3474,12 +4209,10 @@ msgid "Configure Snap"
msgstr "Конфигурација лепљења"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "ОфÑет мреже:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Корак мреже:"
@@ -3492,14 +4225,6 @@ msgid "Rotation Step:"
msgstr "Ротације корака:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Помери пивот"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Помери акцију"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Помери вертикални водич"
@@ -3528,11 +4253,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Ðаправи нови хоризонтални и вертикални водич"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Измени IK ланац"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Помери пивот"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Уреди CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Помери акцију"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Уреди CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Уреди CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3552,6 +4294,21 @@ msgid "Paste Pose"
msgstr "Ðалепи позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Умањи"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Умањи"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Увеличај"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Одабери режим"
@@ -3598,7 +4355,8 @@ msgid "Pan Mode"
msgstr "Режим инÑпекције"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Укљ./ИÑкљ. лепљења"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3606,7 +4364,8 @@ msgid "Use Snap"
msgstr "КориÑти лепљење"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "ПоÑтавке залепљавања"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3647,6 +4406,11 @@ msgid "Snap to node sides"
msgstr "Лепи за Ñтране чвора"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Лепи за Ñидро чвора"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Лепи за оÑтале чворове"
@@ -3673,14 +4437,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Врати могућноÑÑ‚ бирања деце објекта."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Ðаправи коÑти"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Обриши коÑти"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Покажи коÑти"
@@ -3693,6 +4449,15 @@ msgid "Clear IK Chain"
msgstr "ОчиÑти IK ланац"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Обриши коÑти"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Поглед"
@@ -3737,11 +4502,8 @@ msgid "Layout"
msgstr "РаÑпоред"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr "Убаци кључеве"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+#, fuzzy
+msgid "Insert keys."
msgstr "Убаци кључеве"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3757,14 +4519,6 @@ msgid "Clear Pose"
msgstr "Обриши позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Превуци пивот Ñа позицијом миша"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "ПоÑтави пивот на позицију миша"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Помножи корак мреже Ñа 2"
@@ -3780,10 +4534,6 @@ msgstr "Додај %s"
msgid "Adding %s..."
msgstr "Додавање %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3818,27 +4568,20 @@ msgstr "Ðаправи Poly3D"
msgid "Set Handle"
msgstr "ПоÑтави дршку"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Обриши Ñтвар %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Додај Ñтвар"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Обриши одабрану Ñтвар"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "ЧеÑтице"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Увези из Ñцене"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Ðаправи тачке емиÑије од мреже"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3908,15 +4651,6 @@ msgstr "Држи Shift за уређивање појединачних танг
msgid "Bake GI Probe"
msgstr "ИÑпечи Ñонде глобалног оÑветљења (GI)"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Додај/обриши тачку бојне рампе"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Измени рампу боје"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Ствар %d"
@@ -4002,6 +4736,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4071,6 +4806,27 @@ msgstr "Ðаправи ивичну мрежу"
msgid "Outline Size:"
msgstr "Величина ивице:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Обриши Ñтвар %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "Увези из Ñцене"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Ðжурирај из Ñцене"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Извор мреже није наведен (и MultiMesh није поÑтављен у чвору)."
@@ -4171,71 +4927,6 @@ msgstr "ÐаÑумична величина:"
msgid "Populate"
msgstr "Попуни"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "ИÑпеци!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-#, fuzzy
-msgid "Bake the navigation mesh."
-msgstr "ИÑпеци навигациону мрежу.\n"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Обриши навигациону мрежу."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Подешавање конфигурације..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Израчунавање величине мреже..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Прављење виÑинÑког поља..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Маркирање проходних троуглова..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "КонÑтруиÑање компактног виÑинÑког поља..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Ерозија проходне површине..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Партиционирање..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Прављење контура..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Прављење полигонÑке мреже..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Конвертовање у природну навигациону мрежу..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "ПоÑтавке генератора навигационе мреже:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Ðнализирање геометрије..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Готово!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Ðаправи навигациони полигон"
@@ -4296,18 +4987,6 @@ msgid "Emission Colors"
msgstr "Боје емиÑије"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Чвор не Ñадржи геометрију."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Чвор не Ñадржи геометрију (Ñтране)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "ПроцеÑор материјала типа „ParticlesMaterial“ је неопходан."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Стране не Ñадрже облаÑÑ‚!"
@@ -4316,16 +4995,12 @@ msgid "No faces!"
msgstr "Ðема Ñтрана!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Генериши оÑно поравнан гранични оквир (AABB)"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Ðаправи тачке емиÑије од мреже"
+msgid "Node does not contain geometry."
+msgstr "Чвор не Ñадржи геометрију."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Ðаправи тачке емиÑије од чвора"
+msgid "Node does not contain geometry (faces)."
+msgstr "Чвор не Ñадржи геометрију (Ñтране)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4352,6 +5027,19 @@ msgid "Emission Source: "
msgstr "Извор емиÑије: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "ПроцеÑор материјала типа „ParticlesMaterial“ је неопходан."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Генериши оÑно поравнан гранични оквир (AABB)"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Претвори у велика Ñлова"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Генериши оÑно поравнан гранични оквир (AABB) видљивоÑти"
@@ -4428,6 +5116,22 @@ msgstr "Обриши тачку"
msgid "Close Curve"
msgstr "Затвори криву"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "Тачка криве #"
@@ -4460,19 +5164,95 @@ msgstr "Обриши тачку контроле излаза"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Покажи коÑти"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Ðаправи UV мапу"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Ðаправи полигон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "ÐутоматÑко учитавање '%s' већ поÑтоји!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Додај тачку"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ðеважећи пут."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Обриши тачку"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "ТранÑформиши UV мапу"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Уредник UV 2Д полигона"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Измени полигон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Раздели пут"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Ðаправи коÑти"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Ðаправи полигон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Помери тачку"
@@ -4501,12 +5281,24 @@ msgid "Scale Polygon"
msgstr "Скалирај полигон"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Уреди"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4521,9 +5313,9 @@ msgid "Clear UV"
msgstr "ОчиÑти UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Залепи"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "ПоÑтавке"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4533,6 +5325,36 @@ msgstr "Укључи лепљење"
msgid "Grid"
msgstr "Мрежа"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Конфигурација лепљења"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "ОфÑет мреже:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "ОфÑет мреже:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Корак мреже:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Корак мреже:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Скалирај полигон"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "Грешка: неуÑпех при учитавању реÑурÑа!"
@@ -4555,6 +5377,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4576,17 +5402,19 @@ msgid "Load Resource"
msgstr "Учитај реÑурÑ"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Ðалепи"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Ðнимационо дрво није важеће."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "ОчиÑти недавно отворене датотеке"
@@ -4599,6 +5427,21 @@ msgstr ""
"\""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Грешка при чувању TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "ÐеуÑпех при тражењу плочице:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Грешка при чувању TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Грешка при чувању теме"
@@ -4615,6 +5458,21 @@ msgid "Error importing"
msgstr "Грешка при увозу"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Ðови директоријум..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Отвори датотеку"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Сачувај као..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Увези тему"
@@ -4627,6 +5485,10 @@ msgid " Class Reference"
msgstr " референца клаÑе"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Сортирање"
@@ -4655,8 +5517,9 @@ msgid "File"
msgstr "Датотека"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Ðова"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Погледај датотеке"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4685,6 +5548,12 @@ msgid "History Next"
msgstr "ИÑторија Ñледеће"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme"
+msgstr "Сачувај тему"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Поново учитај тему"
@@ -4718,11 +5587,6 @@ msgstr "Прикажи панел Ñкриптица"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Тражи..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Тражи Ñледећи"
@@ -4776,10 +5640,6 @@ msgid "Discard"
msgstr "Одбаци"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Ðаправи Ñкриптицу"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4800,6 +5660,16 @@ msgid "Debugger"
msgstr "Дебагер"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Потражи помоћ"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Потражи клаÑе"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4807,40 +5677,56 @@ msgstr ""
"припадају"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Линија:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Само реÑурÑи из датотечног ÑиÑтема Ñе могу убацити."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Потпун Ñимбол"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Одабери боју"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Конвертуј Ñлова"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Велика Ñлова"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Мала Ñлова"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "ИÑеци"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Копирај"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4929,8 +5815,9 @@ msgid "Find Previous"
msgstr "Ðађи претходни"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Замени..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Филтрирај датотеке..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4948,129 +5835,42 @@ msgstr "КонтекÑтуална помоћ"
msgid "Shader"
msgstr "Шејдер"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Промени Ñкаларну конÑтанту"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Промени векторÑку конÑтанту"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Промени RGB конÑтанту"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Промени Ñкаларни оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Промени векторÑки оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Промени векторÑко-Ñкаларни оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Промени RGB оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Само ротација"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Промени Ñкаларну функцију"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Промени векторÑку функцију"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Промени Ñкаларну униформу (uniform)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Промени векторÑку униформу (uniform)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Промени RGB униформу (uniform)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Промени уобичајену вредноÑÑ‚"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Промени XForm униформу (uniform)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Промени текÑтурну униформу (uniform)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Промени Cubemap униформу (uniform)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Промени коментар"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Додај/обириши из рампе боје"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Додај/обриши из мапе криве"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Модификуј мапу криве"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Промени улазно име"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Повежи чворове графа"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "ИÑкључи чворове графа"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Обриши чвор графа шејдера"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Синглетон"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Помери чвор графа шејдера"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Дуплирај чвор/ове графа"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Обриши чвор/ове графа шејдера"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Ðаправи навигациону мрежу"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Грешка: пронађена циклична веза"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Синглетон"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Грешка: недоÑтаје улазна конекција"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Ðаправи ивице"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Додај чвор графа шејдера"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Покрени"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5197,10 +5997,6 @@ msgid "Align with view"
msgstr "Поравнавање Ñа погледом"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "ОК :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Ðема родитеља за прављење Ñина."
@@ -5209,6 +6005,11 @@ msgid "This operation requires a single selected node."
msgstr "Ова операција захтева један изабран чвор."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Прикажи информације"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Прикажи нормалу"
@@ -5253,6 +6054,11 @@ msgid "Doppler Enable"
msgstr "„Doppler“ режим"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Ðаправи приказ мрежа"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Слободан поглед лево"
@@ -5386,6 +6192,11 @@ msgid "Tool Scale"
msgstr "Ðлат Ñкалирања"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Залепи за мрежу"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Укљ./ИÑкљ. режим Ñлободног гледања"
@@ -5394,6 +6205,10 @@ msgid "Transform"
msgstr "ТранÑформација"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Прозор транÑформације..."
@@ -5422,6 +6237,11 @@ msgid "4 Viewports"
msgstr "4 прозора"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Прикажи Ñправице"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Прикажи центар"
@@ -5435,10 +6255,6 @@ msgid "Settings"
msgstr "ПоÑтавке"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "ПоÑтавке лепљења"
@@ -5498,6 +6314,52 @@ msgstr "Пре"
msgid "Post"
msgstr "ПоÑле"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "Ðалепи оквир"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Претвори у велика Ñлова"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Ðаправи ивичну мрежу"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Преглед"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "ПоÑтавке"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "Грешка: неуÑпех при учитавању реÑурÑа оквира!"
@@ -5568,15 +6430,6 @@ msgstr "Помери (иÑпред)"
msgid "SpriteFrames"
msgstr "Ðалепи оквир"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "StyleBox преглед:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-#, fuzzy
-msgid "StyleBox"
-msgstr "Стил"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "ПоÑтави правоугаони регион"
@@ -5602,28 +6455,22 @@ msgid "Auto Slice"
msgstr "ÐутоматÑки рез"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "ОфÑет:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Корак:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "ОдвојеноÑÑ‚:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Регион текÑтуре"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Уредник региона текÑтуре"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "ÐеуÑпех при чувању теме:"
@@ -5637,11 +6484,6 @@ msgid "Add All"
msgstr "Додај Ñве"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Обриши Ñтавку"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Обриши Ñве Ñтавке"
@@ -5717,10 +6559,6 @@ msgstr "Има"
msgid "Many"
msgstr "Много"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Опција"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5748,7 +6586,7 @@ msgstr "Тип податка:"
msgid "Icon"
msgstr "Икона"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Стил"
@@ -5761,15 +6599,19 @@ msgid "Color"
msgstr "Боја"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Theme"
-msgstr "Сачувај тему"
+msgid "Constant"
+msgstr "КонÑтантан"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Обриши одабрано"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ðеважеће име."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Цртај TileMap"
@@ -5791,11 +6633,8 @@ msgid "Erase TileMap"
msgstr "Обриши TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Обриши одабрано"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Ðађи плочицу"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5819,6 +6658,11 @@ msgid "Pick Tile"
msgstr "Одабери плочицу"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Обриши одабрано"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Ротирај 0 Ñтепени"
@@ -5835,12 +6679,40 @@ msgid "Rotate 270 degrees"
msgstr "Ротирај 270 Ñтепени"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "ÐеуÑпех при тражењу плочице:"
+msgid "Add Texture(s) to TileSet"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Обриши тачку криве"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr "Ðаправи од Ñцене"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Merge from Scene"
+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."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Име Ñтавке или идентификатор (ID):"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Selected Textue and ALL TILES wich uses 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?"
@@ -5852,53 +6724,71 @@ msgid "Merge from scene?"
msgstr "Споји из Ñцене?"
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid " file(s) was not added because was already on the list."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Ðаправи од Ñцене"
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Merge from Scene"
-msgstr "Споји од Ñцене"
-
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Грешка"
+msgid ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Autotiles"
-msgstr "ÐутоматÑки рез"
+msgid ""
+"Select current edited sub-tile.\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."
+"bindings.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
-"LMB: set bit on.\n"
-"RMB: set bit off."
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
-msgstr "Сачувај тренутно измењени реÑурÑ."
+msgid "This property can't be changed."
+msgstr "Ова операција Ñе не може обавити без Ñцене."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
-msgstr ""
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Тачке"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
msgstr ""
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "деÑно"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Шејдер"
+
#: editor/project_export.cpp
msgid "Runnable"
msgstr "Покретљива"
@@ -5913,8 +6803,8 @@ msgid "Delete preset '%s'?"
msgstr "Обриши поÑтавку „%s“?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Извозни шаблони за ову платформу Ñу или иÑкварени или непоÑтојећи: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "Извозни шаблони за ову платформу или ниÑу пронађени или Ñу иÑкварене:"
#: editor/project_export.cpp
#, fuzzy
@@ -5993,10 +6883,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Извозни шаблони за ову платформу ниÑу пронађени:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "Извозни шаблони за ову платформу или ниÑу пронађени или Ñу иÑкварене:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -6005,7 +6891,7 @@ msgid "The path does not exist."
msgstr "Путања не поÑтоји."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -6013,6 +6899,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6104,6 +6998,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6212,8 +7110,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6225,9 +7123,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6269,19 +7180,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6310,10 +7221,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6358,6 +7265,12 @@ 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 "Already existing"
msgstr ""
@@ -6429,6 +7342,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6438,6 +7355,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Помери акцију"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6498,10 +7424,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6538,78 +7460,167 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Преименуј"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
#, fuzzy
-msgid "[Empty]"
-msgstr "Додај празан"
+msgid "Advanced options"
+msgstr "ПоÑтавке залепљавања"
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Име чвора:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Име чвора:"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Тренутна Ñцена није Ñачувана. Ипак отвори?"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Преименуј"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "Корак:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
msgstr ""
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Мала Ñлова"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Велика Ñлова"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "РеÑетуј увеличање"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Грешка"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6646,11 +7657,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6670,6 +7676,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6710,14 +7720,35 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr ""
+#, fuzzy
+msgid "Make Local"
+msgstr "Ðаправи коÑти"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Ðаправи чвор"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "2D Scene"
+msgstr "Сцена"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Сцена"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Ðаправи чвор"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6726,6 +7757,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6769,18 +7804,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Сачувај Ñцену"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6803,10 +7835,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6826,17 +7854,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Прикажи Ñакривене датотеке"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6844,7 +7865,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6860,20 +7881,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "Покрени Ñкриптицу"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6881,6 +7903,12 @@ 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 ""
@@ -6917,6 +7945,11 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Отвори уредник Ñкриптица"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7154,10 +8187,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7170,19 +8215,34 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Промени време мешања"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Промени време мешања"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Промени Ñидра и ивице"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7239,16 +8299,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7315,6 +8365,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7395,6 +8450,11 @@ 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 ""
@@ -7470,6 +8530,71 @@ msgstr "Погледај датотеке"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "ИÑпеци!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+#, fuzzy
+msgid "Bake the navigation mesh."
+msgstr "ИÑпеци навигациону мрежу.\n"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Обриши навигациону мрежу."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Подешавање конфигурације..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Израчунавање величине мреже..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Прављење виÑинÑког поља..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Маркирање проходних троуглова..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "КонÑтруиÑање компактног виÑинÑког поља..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Ерозија проходне површине..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Партиционирање..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Прављење контура..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Прављење полигонÑке мреже..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Конвертовање у природну навигациону мрежу..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "ПоÑтавке генератора навигационе мреже:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Ðнализирање геометрије..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Готово!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7521,10 +8646,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7633,36 +8754,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Повежи Ñа чвором:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Повежи Ñа чвором:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7689,15 +8788,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7705,10 +8800,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7752,6 +8843,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Чланови"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7806,6 +8902,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Потражи помоћ"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7858,8 +8967,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7940,6 +9049,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8000,8 +9122,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8074,6 +9196,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8086,6 +9219,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Ðнимационе алатке"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "Грешка: неважеће име анимације!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Повежи '%s' Ñа '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Одабери AnimationPlayer из дрвета Ñцене за уређивање анимација."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Ðнимационо дрво није важеће."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8154,12 +9328,310 @@ msgstr ""
msgid "Invalid font size."
msgstr "Ðеважећа величина фонта."
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "Додај улаз"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Ðиједан>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Промени Ñкаларну конÑтанту"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Промени векторÑку конÑтанту"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Промени RGB конÑтанту"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Промени Ñкаларни оператор"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Промени векторÑки оператор"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Промени векторÑко-Ñкаларни оператор"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Промени RGB оператор"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Само ротација"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Промени Ñкаларну функцију"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Промени векторÑку функцију"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Промени Ñкаларну униформу (uniform)"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Промени векторÑку униформу (uniform)"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Промени RGB униформу (uniform)"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Промени уобичајену вредноÑÑ‚"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Промени XForm униформу (uniform)"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Промени текÑтурну униформу (uniform)"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Промени Cubemap униформу (uniform)"
+
+#~ msgid "Change Comment"
+#~ msgstr "Промени коментар"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Додај/обириши из рампе боје"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Измени рампу боје"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Додај/обриши из мапе криве"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Модификуј мапу криве"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Промени улазно име"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Повежи чворове графа"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "ИÑкључи чворове графа"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Обриши чвор графа шејдера"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Помери чвор графа шејдера"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Дуплирај чвор/ове графа"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Обриши чвор/ове графа шејдера"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Грешка: пронађена циклична веза"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Грешка: недоÑтаје улазна конекција"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Додај чвор графа шејдера"
+
+#~ msgid "Disabled"
+#~ msgstr "Онемогућено"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Помери траку горе"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Помери траку доле"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "ПоÑтави прелаз на:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Измени име анимације"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Измени интерполацију"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Измени режим вредноÑти"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Измени режим цикла"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Измени криву чвора"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Измени одабрану криву"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Уметни кључ"
+
+#~ msgid "In"
+#~ msgstr "Улаз"
+
+#~ msgid "Out"
+#~ msgstr "Из"
+
+#~ msgid "In-Out"
+#~ msgstr "У-Из"
+
+#~ msgid "Out-In"
+#~ msgstr "Из-У"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Измени дужину анимације"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Измени лупинг анимације"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Ðаправи кључ Ñа почетном вредношћу"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Додај позивну траку"
+
+#~ msgid "Length (s):"
+#~ msgstr "Дужина (Ñек.):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Поравнавање корака курÑора (у Ñекундама)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Укључи/иÑкључи понављање анимације."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Додај нове траке."
+
+#~ msgid "Move current track up."
+#~ msgstr "Помери траку горе."
+
+#~ msgid "Move current track down."
+#~ msgstr "Помери траку доле."
+
+#~ msgid "Track tools"
+#~ msgstr "Ðлатке за траке"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Омогућите уређивање индивидуалних кључева кликом на њих."
+
+#~ msgid "Key"
+#~ msgstr "Кључ"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Позови функције у којем чвору?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Хвала!"
+
+#~ msgid "I see..."
+#~ msgstr "Разумем..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Ðе могу отворити '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Уф"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Сачувај тренутно измењени реÑурÑ."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "ЗауÑтави профилирање"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Покрени профилирање"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Уобичајено (као и уредник)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Ðаправи нову анимацију у плејеру."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Учитај анимацију Ñа диÑка."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Учитај анимацију Ñа диÑка."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Сачувај тренутну анимацију"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Уреди времена циљаног мешања"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Копирај анимацију"
+
+#~ msgid "Fetching:"
+#~ msgstr "Преузимање:"
+
+#~ msgid "prev"
+#~ msgstr "претходни"
+
+#~ msgid "next"
+#~ msgstr "Ñледећи"
+
+#~ msgid "last"
+#~ msgstr "задњи"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Измени IK ланац"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Превуци пивот Ñа позицијом миша"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "ПоÑтави пивот на позицију миша"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Додај/обриши тачку бојне рампе"
+
+#~ msgid "OK :("
+#~ msgstr "ОК :("
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "StyleBox преглед:"
+
+#, fuzzy
+#~ msgid "StyleBox"
+#~ msgstr "Стил"
+
+#~ msgid "Separation:"
+#~ msgstr "ОдвојеноÑÑ‚:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Уредник региона текÑтуре"
+
+#~ msgid "Erase selection"
+#~ msgstr "Обриши одабрано"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Име Ñтавке или идентификатор (ID):"
+
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Претходни таб"
+#~ msgid "Autotiles"
+#~ msgstr "ÐутоматÑки рез"
-#~ msgid "Next"
-#~ msgstr "Следеће"
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Извозни шаблони за ову платформу Ñу или иÑкварени или непоÑтојећи: "
#~ msgid ""
#~ "Invalid version.txt format inside templates. Revision is not a valid "
diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po
index 4d293a592d..d0458037ba 100644
--- a/editor/translations/sr_Latn.po
+++ b/editor/translations/sr_Latn.po
@@ -19,332 +19,465 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.0-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Onemogućeno"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Sve sekcije"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Animacija dodaj kljuÄ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Uduplaj Selekciju"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Animacija Uduplaj KljuÄeve"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Animacija ObriÅ¡i KljuÄeve"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Animacija Promjeni Vrijeme KljuÄnog Kadra"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animacija Promjeni Tranziciju"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animacija Promjeni Transformaciju"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Animacija Promjeni Vrijednost KljuÄnog Kadra"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animacija Promjeni Poziv"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animacija Dodaj Kanal"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Animacija Uduplaj KljuÄeve"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Pomjeri Kanal Animacije Gore"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Pomjeri Kanal Animacije Dole"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Odstrani Kanal Animacije"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Postavi tranzicije na:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animacija Dodaj Kanal"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Animacija Preimenuj Kanal"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Animacija Promjeni Interpolaciju Kanala"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Animacija Promjeni Vrijednosni Režim Kanala"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Animacija Promjeni Režim Omotavanja Kanala"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Izmjeni Krivulju ÄŒvora"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Izmjeni Selekciju Krivulje"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Animacija ObriÅ¡i KljuÄeve"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Uduplaj Selekciju"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Obriši Selekciju"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Odstrani Kanal Animacije"
+
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Neprekidna"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskretna"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "OkidaÄ"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Animacija Dodaj KljuÄ"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Animacija Pomjeri KljuÄeve"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Skaliraj Selekciju"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skaliraj od Kursora"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Otiđi Na Sljedeći Korak"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Otiđi Na Prethodni Korak"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linearna"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Kontanta"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "U"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Izvan"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "U-Izvan"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Izvan-U"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Tranzicije"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Animacija Uduplaj KljuÄeve"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimizuj Animaciju"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Animacija ObriÅ¡i KljuÄeve"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "PoÄisti Animaciju"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Odstrani Kanal Animacije"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Napravi Novi kanal za %s i dodaj kljuÄ?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Napravi %d novih kanala i dodaj kljuÄeve?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Napravi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Animacija Umetni"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Animacija Napravi i Dodaj"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Animacija Dodaj kanal i kljuÄ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Animacija dodaj kljuÄ"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Promijeni Dužinu Animacije"
-
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Animacija Napravit Tip Vrijednosni KljuÄ"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Animacija Umetni"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
-msgstr "Animacija Skaliraj KljuÄeve"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Animacija Pomjeri KljuÄeve"
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
+msgstr "Animacija Skaliraj KljuÄeve"
+
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Skaliraj Selekciju"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skaliraj od Kursora"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Uduplaj Selekciju"
+
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Uduplaj Selekciju"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Otiđi Na Sljedeći Korak"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Otiđi Na Prethodni Korak"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimizuj Animaciju"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "PoÄisti Animaciju"
+
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -365,7 +498,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -381,7 +514,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -393,18 +526,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -434,7 +575,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -465,7 +607,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -487,11 +629,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -499,14 +641,43 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+msgid "Connect Signal: "
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Izmjeni Selekciju Krivulje"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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 ""
@@ -529,22 +700,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -602,7 +776,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -621,7 +797,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -689,8 +865,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -864,6 +1044,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -932,7 +1113,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -942,7 +1124,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -979,47 +1160,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1052,7 +1233,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1114,6 +1295,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1150,7 +1336,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1203,7 +1389,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1348,20 +1535,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1383,11 +1577,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1400,8 +1589,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1443,10 +1632,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1513,42 +1698,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1722,11 +1871,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1755,6 +1899,14 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1876,10 +2028,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1889,6 +2037,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1980,6 +2132,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -1995,7 +2159,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2039,7 +2204,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2060,59 +2225,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2129,6 +2267,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2205,19 +2347,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2225,12 +2371,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2277,6 +2424,100 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2311,10 +2552,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2340,6 +2577,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2364,7 +2602,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2424,6 +2662,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2502,7 +2746,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2514,11 +2758,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2589,7 +2833,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2618,6 +2862,21 @@ msgid "Duplicate..."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2630,7 +2889,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2638,18 +2901,110 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2660,6 +3015,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2701,7 +3060,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2761,16 +3120,122 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: 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
+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
@@ -2814,6 +3279,142 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Napravi"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Optimizuj Animaciju"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+msgid "Triangle already exists"
+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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2840,11 +3441,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2853,11 +3454,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2874,11 +3470,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2890,7 +3486,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2922,39 +3518,33 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Tranzicije"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3006,6 +3596,10 @@ 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 ""
@@ -3015,6 +3609,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3032,161 +3627,210 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"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
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Obriši Selekciju"
+
+#: 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 "Tranzicije"
+
#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3240,7 +3884,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3268,19 +3916,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3348,7 +3996,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3357,12 +4005,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3375,14 +4021,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3411,11 +4049,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3435,6 +4085,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3478,7 +4140,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3486,7 +4148,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3527,6 +4189,10 @@ 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 ""
@@ -3553,23 +4219,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3615,12 +4281,9 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "Animacija dodaj kljuÄ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3635,14 +4298,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3658,10 +4313,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3694,26 +4345,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3784,15 +4427,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3876,6 +4510,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3943,6 +4578,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4043,70 +4699,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4167,59 +4759,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4299,6 +4887,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4331,19 +4935,86 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Obriši Selekciju"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Napravi"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4372,11 +5043,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4392,8 +5075,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4404,6 +5086,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4426,6 +5132,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4447,14 +5157,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4466,6 +5177,18 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4482,6 +5205,18 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+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 "Import Theme"
msgstr ""
@@ -4494,6 +5229,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4522,7 +5261,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4550,6 +5289,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4583,11 +5327,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4641,10 +5380,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4663,45 +5398,68 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Linearna"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4789,7 +5547,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4808,128 +5566,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5057,10 +5723,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5069,6 +5731,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5113,6 +5779,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5240,6 +5910,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5248,6 +5922,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5276,6 +5954,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5289,10 +5971,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5352,6 +6030,47 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Napravi"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5420,14 +6139,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5453,26 +6164,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5488,11 +6192,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5564,10 +6263,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5592,7 +6287,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5605,14 +6300,18 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Kontanta"
#: 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
msgid "Paint TileMap"
msgstr ""
@@ -5633,11 +6332,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5661,6 +6356,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Obriši Selekciju"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5677,63 +6377,105 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+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 " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+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 "Select current edited sub-tile."
+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."
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5749,7 +6491,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5823,10 +6565,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5835,7 +6573,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5843,6 +6581,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5929,6 +6675,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6037,8 +6787,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6050,9 +6800,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Promijeni Dužinu Animacije"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6094,19 +6857,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6134,10 +6897,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6182,6 +6941,12 @@ 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 "Already existing"
msgstr ""
@@ -6253,6 +7018,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6262,6 +7031,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Sve sekcije"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6322,10 +7100,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6362,75 +7136,156 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Animacija Preimenuj Kanal"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6469,11 +7324,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6493,6 +7343,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6533,11 +7387,27 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Create Root Node:"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+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 "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6549,6 +7419,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6591,18 +7465,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6625,10 +7495,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6648,16 +7514,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6666,7 +7524,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6682,20 +7540,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6703,6 +7561,12 @@ 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 ""
@@ -6739,6 +7603,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -6975,10 +7843,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -6991,19 +7871,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7059,16 +7951,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7133,6 +8015,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Sve sekcije"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7213,6 +8100,11 @@ msgid "Clear Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Sve sekcije"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7280,6 +8172,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7331,10 +8287,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7443,35 +8395,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7499,15 +8427,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7515,10 +8439,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7562,6 +8482,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7616,6 +8540,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7662,8 +8598,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7744,6 +8680,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7804,8 +8753,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7878,6 +8827,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7890,6 +8850,42 @@ msgid ""
"it as a child of a VehicleBody."
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_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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -7957,3 +8953,69 @@ msgstr ""
#: scene/resources/dynamic_font.cpp
msgid "Invalid font size."
msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Onemogućeno"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Pomjeri Kanal Animacije Gore"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Pomjeri Kanal Animacije Dole"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Postavi tranzicije na:"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Animacija Promjeni Interpolaciju Kanala"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Animacija Promjeni Vrijednosni Režim Kanala"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Animacija Promjeni Režim Omotavanja Kanala"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Izmjeni Krivulju ÄŒvora"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Animacija Dodaj KljuÄ"
+
+#~ msgid "In"
+#~ msgstr "U"
+
+#~ msgid "Out"
+#~ msgstr "Izvan"
+
+#~ msgid "In-Out"
+#~ msgstr "U-Izvan"
+
+#~ msgid "Out-In"
+#~ msgstr "Izvan-U"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Animacija Napravit Tip Vrijednosni KljuÄ"
diff --git a/editor/translations/sv.po b/editor/translations/sv.po
index f9e65bb600..c9f39bdd5d 100644
--- a/editor/translations/sv.po
+++ b/editor/translations/sv.po
@@ -8,360 +8,506 @@
# . <grenoscar@gmail.com>, 2018.
# Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>, 2018.
# Magnus Helander <helander@fastmail.net>, 2018.
+# Daniel K <danielkimblad@hotmail.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
-"PO-Revision-Date: 2018-07-24 12:44+0000\n"
-"Last-Translator: Magnus Helander <helander@fastmail.net>\n"
+"PO-Revision-Date: 2018-08-06 18:43+0000\n"
+"Last-Translator: Daniel K <danielkimblad@hotmail.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/"
"godot/sv/>\n"
"Language: sv\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.1-dev\n"
+"X-Generator: Weblate 3.1.1\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Avaktiverad"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Alla urval"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Spegla X"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Anim Infoga Nyckel"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Duplicera urval"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Ta bort valda filer?"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Duplicera Nycklar"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Ta Bort Nycklar"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Ändra Nyckelram Tid"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Anim Ändra Övergång"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Anim Ändra Transformation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Ändra Värde På Tidsnyckeln"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Anim Ändra Anrop"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Anim Lägg till spår"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Anim Duplicera Nycklar"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Transformera"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Flytta Anim Spåra Uppåt"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Flytta Anim Spår Neråt"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Ta bort Anim spår"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Ange övergångar:"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Anim Lägg till spår"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Anim Byt Namn På Spår"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animation längd (i sekunder)."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animation zoom."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim Ändra Spårets Interpolation"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Funktioner:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Ändra Anim Spårets Värde Läge"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Ljud-Lyssnare"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Anim Spåra Ändra Linda om Läge"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Redigera Nodkurva"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Växla distraktionsfritt läge."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Redigera Urvalsurva"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Anim Ta Bort Nycklar"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animations-Node"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Duplicera urval"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Duplicate Transposed"
-msgstr "Duplicera Transponerade"
+msgid "Remove this track."
+msgstr "Ta bort valt spår."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Ta bort Urval"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Tid:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Kontinuerlig"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Diskret"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Trigger"
msgstr "Trigger"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Anim Lägg Till Nyckel"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Anim Flytta Nycklar"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Skala urval"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Skala Från Muspekare"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Gå Till Nästa Steg"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Ge Till Föregående Steg"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Linjär"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Konstant"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "In"
-msgstr "In"
-
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Ut"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "In-Ut"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Ut-In"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Övergångar"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Optimera Animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Duplicera Nod(er)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Clean-Up Animation"
-msgstr "Städa upp Animation"
+msgid "Delete Key(s)"
+msgstr "Ta bort Nod(er)"
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Ta bort Anim spår"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Skapa NYTT spår för %s och infoga nyckel?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Skapa %d NYA spår och infoga nycklar?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Skapa"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Anim Infoga"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Anim Skapa & Infoga"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Anim Infoga Spår & Nyckel"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Anim Infoga Nyckel"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Ändra Anim Längd"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Ändra Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Anim Infoga"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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_editor.cpp
+#: 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 "Method not found in object: "
+msgstr "VariableGet hittades inte i Skript: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Flytta Nycklar"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Sökvägen är tom"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Anim Skala Nycklar"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animation zoom."
-
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Längd (s):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animation längd (i sekunder)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Steg (s):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animation"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Aktivera/Inaktivera looping i animation."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Redigera"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Lägg till nya spår."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Animation"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Flytta nuvarande spår upp."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Kopiera Params"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Flytta nuvarande spår ner."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Klistra in Params"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Ta bort valt spår."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Skala urval"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Skala Från Muspekare"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Duplicera urval"
+
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Track tools"
-msgstr "Spårverktyg"
+msgid "Duplicate Transposed"
+msgstr "Duplicera Transponerade"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Aktivera editering av individuella nycklar genom att klicka på dem."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Duplicera urval"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Gå Till Nästa Steg"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Ge Till Föregående Steg"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Optimera Animation"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clean-Up Animation"
+msgstr "Städa upp Animation"
+
+#: 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 "Anim. Optimizer"
msgstr "Anim. Optimerare"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Max. Linear Error:"
msgstr "Max. Linjärt fel:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Max. Angular Error:"
msgstr "Max. Vinkel-fel:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Max Optimizable Angle:"
msgstr "Max Optimerbar vinkel:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Optimera"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Välj en AnimationPlayer från Scenträdet för att redigera animationer."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Nyckel"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Övergång"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Scale Ratio:"
-msgstr "Skalnings förhållande:"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Call Functions in Which Node?"
-msgstr "Anropa funktioner i vilken Node?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Ta bort ogiltiga nycklar"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Remove unresolved and empty tracks"
msgstr "Ta bort olösta och tomma spår"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Clean-up all animations"
msgstr "Städa upp alla animationer"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Städa upp Animation(er) (GÅR INTE ÅNGRA!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Clean-Up"
msgstr "Städa upp"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Scale Ratio:"
+msgstr "Skalnings förhållande:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Kopiera"
+
#: editor/array_property_edit.cpp
#, fuzzy
msgid "Resize Array"
@@ -385,7 +531,7 @@ msgstr "GÃ¥ till Rad"
msgid "Line Number:"
msgstr "Radnummer:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
#, fuzzy
msgid "No Matches"
msgstr "Inga matchningar"
@@ -403,7 +549,7 @@ msgstr "Matcha gemener/versaler"
msgid "Whole Words"
msgstr "Hela Ord"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Ersätt"
@@ -416,18 +562,28 @@ msgstr "Ersätt Alla"
msgid "Selection Only"
msgstr "Endast Urval"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Zooma In"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Zooma Ut"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Återställ Zoom"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Varning"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Zooma In"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Rad:"
@@ -461,7 +617,8 @@ msgid "Add"
msgstr "Lägg till"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -497,7 +654,7 @@ msgid "Oneshot"
msgstr "Oneshot"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -520,12 +677,12 @@ msgstr "Anslut '%s' till '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Connecting Signal:"
-msgstr "Ansluter Signal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Anslut '%s' till '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "Anslut '%s' till '%s'"
#: editor/connections_dialog.cpp
@@ -533,15 +690,48 @@ msgid "Connect..."
msgstr "Anslut..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Koppla från"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Ansluter Signal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Anslutningsfel"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
#, fuzzy
msgid "Signals"
msgstr "Signaler"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Koppla från"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Redigera"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metoder"
+
#: editor/create_dialog.cpp
#, fuzzy
msgid "Change %s Type"
@@ -568,23 +758,26 @@ msgstr "Favoriter:"
msgid "Recent:"
msgstr "Senaste:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Sök:"
#: editor/create_dialog.cpp editor/editor_help.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
#, fuzzy
msgid "Matches:"
msgstr "Matchar:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Beskrivning:"
@@ -655,7 +848,9 @@ msgstr "Sök Ersättningsresurs:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.cpp
+#: editor/quick_open.cpp editor/script_create_dialog.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
+#: scene/gui/file_dialog.cpp
#, fuzzy
msgid "Open"
msgstr "Öppen"
@@ -679,7 +874,7 @@ msgstr ""
"Filerna som tas bort krävs av andra resurser för att de ska fungera.\n"
"Ta bort dem ändå? (går inte ångra)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "Kan inte ta bort:\n"
@@ -760,9 +955,13 @@ msgstr "Ändra Ordboksvärde"
msgid "Thanks from the Godot community!"
msgstr "Tack från Godot-gemenskapen!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Tack!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
#, fuzzy
@@ -971,6 +1170,7 @@ msgid "Bus options"
msgstr "Buss-alternativ"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Duplicera"
@@ -1053,7 +1253,8 @@ msgstr "Lägg till Buss"
msgid "Create a new Bus Layout."
msgstr "Skapa en ny Buss-Layout."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
#, fuzzy
msgid "Load"
@@ -1065,7 +1266,6 @@ msgid "Load an existing Bus Layout."
msgstr "Ladda en befintlig Buss-Layout."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Spara Som"
@@ -1113,25 +1313,6 @@ msgstr ""
#: editor/editor_autoload_settings.cpp
#, fuzzy
-msgid "Invalid Path."
-msgstr "Ogiltig Sökväg."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Fil existerar inte."
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Not in resource path."
-msgstr "Inte i resursens sökväg."
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Add AutoLoad"
-msgstr "Lägg till AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' finns redan!"
@@ -1164,6 +1345,25 @@ msgstr "Aktivera"
msgid "Rearrange Autoloads"
msgstr "Ändra ordning på Autoloads"
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Invalid Path."
+msgstr "Ogiltig Sökväg."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Fil existerar inte."
+
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Not in resource path."
+msgstr "Inte i resursens sökväg."
+
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Add AutoLoad"
+msgstr "Lägg till AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
#, fuzzy
@@ -1198,7 +1398,7 @@ msgstr "Lagrar lokala ändringar..."
msgid "Updating scene..."
msgstr "Uppdaterar scen..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
#, fuzzy
msgid "[empty]"
msgstr "(tom)"
@@ -1270,6 +1470,12 @@ msgstr "Kopiera Sökvägen"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
#, fuzzy
+msgid "Open In File Manager"
+msgstr "Visa I Filhanteraren"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
+#, fuzzy
msgid "Show In File Manager"
msgstr "Visa I Filhanteraren"
@@ -1308,7 +1514,7 @@ msgid "Open a File or Directory"
msgstr "Öppna en Fil eller Katalog"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Spara"
@@ -1365,7 +1571,8 @@ msgstr "Gå till överordnad mapp"
msgid "Directories & Files:"
msgstr "Kataloger & Filer:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Förhandsvisning:"
@@ -1539,22 +1746,29 @@ msgstr ""
"Det finns för närvarande ingen beskrivning för denna metod. Snälla hjälp oss "
"genom att [color=$color][url=$url]bidra med en[/url][/color]!"
-#: editor/editor_help.cpp
+#: editor/editor_inspector.cpp
#, fuzzy
-msgid "Search Text"
-msgstr "Söktext"
+msgid "Property: "
+msgstr "Egenskaper"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Hitta"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
#, fuzzy
msgid "Output:"
msgstr "Output:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
#, fuzzy
@@ -1579,11 +1793,6 @@ msgstr "Fel vid sparande av resurs!"
msgid "Save Resource As..."
msgstr "Spara Resurs Som..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Jag förstår..."
-
#: editor/editor_node.cpp
#, fuzzy
msgid "Can't open file for writing:"
@@ -1599,9 +1808,9 @@ msgstr "Efterfrågade filformat okänt:"
msgid "Error while saving."
msgstr "Fel vid sparande."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Kan inte öppna '%s'."
+#: 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
#, fuzzy
@@ -1651,10 +1860,6 @@ msgstr ""
"uppfyllas."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Misslyckades att ladda resurs."
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Can't load MeshLibrary for merging!"
msgstr "Kan inte ladda MeshLibrary för sammanslagning!"
@@ -1746,47 +1951,6 @@ msgstr ""
"detta arbetsflöde."
#: editor/editor_node.cpp
-#, fuzzy
-msgid "Expand all properties"
-msgstr "Expandera alla"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Copy Params"
-msgstr "Kopiera Params"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Paste Params"
-msgstr "Klistra in Params"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Klistra in Resurs"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kopiera Resurs"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Make Built-In"
-msgstr "Gör Inbyggd"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Make Sub-Resources Unique"
-msgstr "Gör Under-resurser Unika"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Öppna i Hjälp"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Det finns ingen definierad scen att köra."
@@ -2008,12 +2172,6 @@ msgstr ""
"Scen '%s' var automatiskt importerad, så den kan inte bli modifierad.\n"
"För att kunna göra ändringar till den så kan en ärvd scen skapas."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Ugh"
-msgstr "Ugh"
-
#: editor/editor_node.cpp
#, fuzzy
msgid ""
@@ -2049,6 +2207,16 @@ msgstr "Standard"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Play This Scene"
+msgstr "Spela Scen"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Stänga Övriga Flikar"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Switch Scene Tab"
msgstr "Byt Scen-flik"
@@ -2180,11 +2348,6 @@ msgstr "Projekt"
msgid "Project Settings"
msgstr "Projektinställningar"
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Run Script"
-msgstr "Kör Skript"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Exportera"
@@ -2195,6 +2358,11 @@ msgstr "Verktyg"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Öppna Projekthanteraren?"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Quit to Project List"
msgstr "Avsluta till Projektlistan"
@@ -2289,6 +2457,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2305,7 +2485,8 @@ msgstr "Klasser"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Sök"
@@ -2324,9 +2505,8 @@ msgid "Issue Tracker"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Community"
-msgstr "Gemenskap"
+msgstr "Community"
#: editor/editor_node.cpp
msgid "About"
@@ -2352,7 +2532,7 @@ msgstr "Pausa Scen"
msgid "Stop the scene."
msgstr "Stanna scenen."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
#, fuzzy
msgid "Stop"
msgstr "Stanna"
@@ -2375,6 +2555,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Spara & Avsluta"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr ""
@@ -2397,43 +2587,6 @@ msgstr ""
msgid "Inspector"
msgstr "Inspektör"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Spara Som..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Object properties."
-msgstr "Objektegenskaper."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2448,6 +2601,11 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Expandera alla"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2528,19 +2686,24 @@ msgid "Thumbnail..."
msgstr "Miniatyr..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Redigera Polygon"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Uppdatera"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Version:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Författare:"
@@ -2548,12 +2711,14 @@ msgstr "Författare:"
msgid "Status:"
msgstr "Status:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr ""
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Redigera"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2601,6 +2766,107 @@ msgstr "Tid:"
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "On"
+msgstr "PÃ¥"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Tilldela"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+#, fuzzy
+msgid "New Script"
+msgstr "Nytt Skript"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Show in File System"
+msgstr "Visa i Filsystemet"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Klistra in"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Konvertera till %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Öppna Skript-Redigerare"
+
+#: 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
+#, fuzzy
+msgid "New Key:"
+msgstr "Nytt namn:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Nytt namn:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
#, fuzzy
msgid "Select device from the list"
@@ -2639,10 +2905,6 @@ msgstr "Kunde inte köra Skript:"
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
#, fuzzy
msgid "Select Node(s) to Import"
@@ -2671,6 +2933,7 @@ msgid "(Installed)"
msgstr "(Installerad)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Ladda ner"
@@ -2697,7 +2960,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2761,6 +3024,12 @@ msgid "Download Complete."
msgstr "Nedladdning Klar."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2851,7 +3120,7 @@ msgid "Download Templates"
msgstr "Ladda Ner Mallar"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2863,11 +3132,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2947,7 +3216,7 @@ msgstr "Expandera alla"
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Rename..."
msgstr "Byt namn..."
@@ -2982,6 +3251,23 @@ msgid "Duplicate..."
msgstr "Duplicera"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Nytt Skript"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Spara Resurs Som..."
+
+#: 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 "Byt namn"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr ""
@@ -2994,8 +3280,14 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
-msgstr ""
+#, fuzzy
+msgid "Toggle folder status as Favorite."
+msgstr "Växla Favorit"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Skapa Mapp"
#: editor/filesystem_dock.cpp
#, fuzzy
@@ -3003,19 +3295,129 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Instansiera valda scen(er) som barn till vald Node."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Sök Klasser"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Flytta"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Byt namn"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "En fil eller mapp med detta namn finns redan."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Skapa Skript"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "%d fler filer"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Hitta"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Hela Ord"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Matcha gemener/versaler"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Filtrera noder"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Find..."
+msgstr "Hitta..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Replace..."
+msgstr "Ersätt..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+#, fuzzy
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Ersätt"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Ersätt Alla"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Sparar..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Söktext"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ERROR: Animationsnamn finns redan!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ogiltigt namn."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Grupper"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Lägg till i Grupp"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Filtrera noder"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Lägg till i Grupp"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -3025,6 +3427,11 @@ msgstr "Lägg till i Grupp"
msgid "Remove from Group"
msgstr "Ta bort från Grupp"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Grupper"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -3069,7 +3476,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Importera Scen"
@@ -3131,20 +3538,138 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Misslyckades att ladda resurs."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Expand all properties"
+msgstr "Expandera alla"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Spara Som..."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Copy Params"
+msgstr "Kopiera Params"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Paste Params"
+msgstr "Klistra in Params"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Resurs"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kopiera Resurs"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Make Built-In"
+msgstr "Gör Inbyggd"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Make Sub-Resources Unique"
+msgstr "Gör Under-resurser Unika"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Öppna i Hjälp"
+
+#: 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 "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
+#, fuzzy
+msgid "Object properties."
+msgstr "Objektegenskaper."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Filtrera noder"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr ""
+
#: editor/multi_node_edit.cpp
#, fuzzy
msgid "MultiNode Set"
msgstr "MultiNode Ange"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Grupper"
-
-#: editor/node_dock.cpp
#, fuzzy
msgid "Select a Node to edit Signals and Groups."
msgstr "Välj en Node för att redigera Signaler och Grupper."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Redigera Polygon"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Skapa Prenumeration"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Språk"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Skript giltigt"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -3187,6 +3712,149 @@ msgstr ""
msgid "Delete points"
msgstr "Radera punkter"
+#: 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 "Lägg till Animation"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Ladda"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Radera punkter"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "Radera punkter"
+
+#: 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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animations-Node"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "ERROR: Animationsnamn finns redan!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filters"
+msgstr "Redigera Filter"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Lägg Till Node"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Redigera Filter"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Redigerbara Barn"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr ""
@@ -3213,11 +3881,13 @@ msgid "Remove Animation"
msgstr "Ta bort Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ERROR: Ogiltigt animationsnamn!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ERROR: Animationsnamn finns redan!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3226,11 +3896,6 @@ msgid "Rename Animation"
msgstr "Byt namn på Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Lägg till Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -3247,12 +3912,14 @@ msgid "Duplicate Animation"
msgstr "Duplicera Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
-msgstr ""
+#, fuzzy
+msgid "No animation to copy!"
+msgstr "Animation zoom."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr "Inte i resursens sökväg."
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
@@ -3265,8 +3932,9 @@ msgid "Paste Animation"
msgstr "Klistra in Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
-msgstr ""
+#, fuzzy
+msgid "No animation to edit!"
+msgstr "Animations-Node"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
@@ -3297,45 +3965,38 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
+#, fuzzy
+msgid "Animation Tools"
+msgstr "Animeringsverktyg"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr ""
+msgid "New"
+msgstr "Ny"
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
-msgid "Save the current animation"
-msgstr "Spara den nuvarande animationen"
+msgid "Edit Transitions..."
+msgstr "Övergångar"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Inspektör"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Animation Tools"
-msgstr "Animeringsverktyg"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Copy Animation"
-msgstr "Kopiera Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr ""
@@ -3387,6 +4048,11 @@ msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Klistra in Animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
msgid "Create New Animation"
msgstr "Skapa Ny Animation"
@@ -3396,6 +4062,7 @@ 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
#: editor/script_create_dialog.cpp
#, fuzzy
@@ -3414,171 +4081,222 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
+msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
#, fuzzy
-msgid "New name:"
-msgstr "Nytt namn:"
+msgid "No playback resource set at path: %s."
+msgstr "Inte i resursens sökväg."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: 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
#, fuzzy
-msgid "Edit Filters"
-msgstr "Redigera Filter"
+msgid "Create new nodes."
+msgstr "Skapa Ny"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Anslut Noder"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Ta bort valt spår."
+
+#: 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 "Övergång"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "AnimationTree"
+msgstr "Animation"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+msgid "New name:"
+msgstr "Nytt namn:"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
#, fuzzy
msgid "Scale:"
msgstr "Skala:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Current:"
msgstr "Nuvarande:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Animation Node"
msgstr "Animations-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "OneShot-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Mix Node"
msgstr "Mix-Node"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Import Animations..."
msgstr "Importera Animationer..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Edit Node Filters"
msgstr "Redigera Node-Filter"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#, fuzzy
msgid "Filters..."
msgstr "Filter..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "Animation"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
msgid "Contents:"
@@ -3633,8 +4351,14 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr ""
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "Laddar ner"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "Laddar ner"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3662,20 +4386,20 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
-msgid "prev"
-msgstr "förhandsgranska"
+msgid "Previous"
+msgstr "Föregående flik"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+msgid "Next"
+msgstr "Nästa"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3744,7 +4468,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
#, fuzzy
msgid "Preview"
msgstr "Förhandsgranska"
@@ -3754,12 +4478,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3772,14 +4494,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3808,11 +4522,25 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Flytta Upp"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move anchor"
+msgstr "Flytta Ner"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3832,6 +4560,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Zooma Ut"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Zooma Ut"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Zooma In"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3875,7 +4618,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3883,8 +4626,9 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
-msgstr ""
+#, fuzzy
+msgid "Snapping Options"
+msgstr "Alternativ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to grid"
@@ -3924,6 +4668,10 @@ 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 ""
@@ -3952,23 +4700,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Återställer objektets barns egenskap att väljas."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -4014,12 +4762,9 @@ msgid "Layout"
msgstr "Layout"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "Anim Infoga Nyckel"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -4034,14 +4779,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -4057,10 +4794,6 @@ msgstr "Lägg till %s"
msgid "Adding %s..."
msgstr "Lägger till %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -4097,30 +4830,21 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Partiklar"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#, fuzzy
-msgid "Import from Scene"
-msgstr "Importera från Scen"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#, fuzzy
-msgid "Update from Scene"
-msgstr "Uppdatera från scen"
-
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
msgstr ""
@@ -4190,15 +4914,6 @@ msgstr "Håll Skift för att redigera tangenter individuellt"
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -4285,6 +5000,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4354,6 +5070,29 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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
+#, fuzzy
+msgid "Import from Scene"
+msgstr "Importera från Scen"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#, fuzzy
+msgid "Update from Scene"
+msgstr "Uppdatera från scen"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4459,72 +5198,6 @@ msgstr "Slumpmässig Skala:"
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Partitioning..."
-msgstr "Partitionerar..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Creating contours..."
-msgstr "Skapar konturer..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Klar!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4586,18 +5259,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4606,15 +5267,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4643,6 +5300,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Konvertera till Versaler"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4719,6 +5389,23 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+#, fuzzy
+msgid "Options"
+msgstr "Alternativ"
+
+#: 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 ""
@@ -4751,19 +5438,91 @@ msgstr ""
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Flytta Ner"
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Autoload '%s' finns redan!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Lägg till Signal"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ogiltig Sökväg"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Ta Bort Mall"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Redigera Polygon"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Skapa Prenumeration"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4792,12 +5551,25 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Redigera"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Välj en mapp att skanna"
+
+#: 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 "Polygon->UV"
@@ -4812,9 +5584,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Inställningar"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4824,6 +5596,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4846,6 +5642,10 @@ msgid "Resource clipboard is empty!"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Klistra in Resurs"
+
+#: editor/plugins/resource_preloader_editor_plugin.cpp
#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4869,17 +5669,18 @@ msgid "Load Resource"
msgstr "Ladda Resurs"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Klistra in"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
msgstr "Resurs"
+#: 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 ""
@@ -4892,6 +5693,21 @@ msgstr ""
"\""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Fel vid sparande av TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Fel - Kunde inte skapa Skript i filsystemet."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Fel vid sparande av TileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4910,6 +5726,21 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
+msgid "New TextFile..."
+msgstr "Ny Mapp..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Öppna en Fil"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Spara Som..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
msgid "Import Theme"
msgstr "Importera Tema"
@@ -4923,6 +5754,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "Sortera"
@@ -4956,8 +5791,9 @@ msgid "File"
msgstr "Fil"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Ny"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Visa Filer"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4986,6 +5822,12 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Theme"
+msgstr "Spara Tema"
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Reload Theme"
msgstr "Ladda om Tema"
@@ -5024,12 +5866,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
#, fuzzy
-msgid "Find..."
-msgstr "Hitta..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#, fuzzy
msgid "Find Next"
msgstr "Hitta Nästa"
@@ -5084,10 +5920,6 @@ msgid "Discard"
msgstr "Kasta"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Skapa Skript"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -5108,50 +5940,75 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Sök Hjälp"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Sök Klasser"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Rad:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Lookup Symbol"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
#, fuzzy
msgid "Pick Color"
msgstr "Välj Färg"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
#, fuzzy
msgid "Convert Case"
msgstr "Konvertera gemener/versaler"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
#, fuzzy
msgid "Uppercase"
msgstr "Versaler"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
#, fuzzy
msgid "Lowercase"
msgstr "Gemener"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
#, fuzzy
msgid "Cut"
msgstr "Klipp"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Kopiera"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
#, fuzzy
@@ -5245,8 +6102,8 @@ msgstr ""
#: editor/plugins/script_text_editor.cpp
#, fuzzy
-msgid "Replace..."
-msgstr "Ersätt..."
+msgid "Find in files..."
+msgstr "Filtrera Filer..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -5264,130 +6121,41 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
#, fuzzy
-msgid "Change Comment"
-msgstr "Ändra Kommentar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+msgid "Skeleton2D"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Singleton"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Skapa Prenumeration"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Spela"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5531,10 +6299,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
#, fuzzy
msgid "No parent to instance a child at."
msgstr "Ingen förälder att instansiera ett barn till."
@@ -5545,6 +6309,11 @@ msgid "This operation requires a single selected node."
msgstr "Åtgärden kräver en enstaka vald Node."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Visa Information"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5591,6 +6360,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5725,6 +6498,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5734,6 +6511,10 @@ msgid "Transform"
msgstr "Transformera"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5762,6 +6543,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5775,10 +6560,6 @@ msgid "Settings"
msgstr "Inställningar"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5838,6 +6619,51 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Sökvägen är tom"
+
+#: 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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Konvertera till %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Skapa Ny"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Förhandsgranska"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Inställningar"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5910,15 +6736,6 @@ msgstr "Flytta (efter)"
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-#, fuzzy
-msgid "StyleBox"
-msgstr "Stil"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5944,26 +6761,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5981,11 +6791,6 @@ msgid "Add All"
msgstr "Lägg till Alla"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -6060,11 +6865,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-#, fuzzy
-msgid "Options"
-msgstr "Alternativ"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -6091,7 +6891,7 @@ msgstr "Datatyp:"
msgid "Icon"
msgstr "Ikon"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
#, fuzzy
msgid "Style"
msgstr "Stil"
@@ -6106,15 +6906,19 @@ msgid "Color"
msgstr "Färg"
#: editor/plugins/theme_editor_plugin.cpp
-#, fuzzy
-msgid "Theme"
-msgstr "Spara Tema"
+msgid "Constant"
+msgstr "Konstant"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ogiltigt namn."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -6135,12 +6939,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Hitta Nästa"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -6165,6 +6966,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Ta bort Urval"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -6181,11 +6987,38 @@ msgid "Rotate 270 degrees"
msgstr "Rotera 270 grader"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Flytta nuvarande spår upp."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr "Skapa från Scen"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+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."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Selected Textue and ALL TILES wich uses 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
@@ -6197,52 +7030,68 @@ msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid " file(s) was not added because was already on the list."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Skapa från Scen"
+msgid ""
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid ""
+"LMB: set bit on.\n"
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-#, fuzzy
-msgid "Error"
-msgstr "Fel"
-
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr ""
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
+msgstr "Skapa Mapp"
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"Select sub-tile to use as icon, this will be also used on invalid autotile "
-"bindings."
+"bindings.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
-"LMB: set bit on.\n"
-"RMB: set bit off."
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
-msgstr "Skapa Mapp"
+msgid "This property can't be changed."
+msgstr "Åtgärden kan inte göras utan en scen."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vertex"
msgstr ""
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
#, fuzzy
-msgid "Cancel"
-msgstr "Avbryt"
+msgid "Light"
+msgstr "Höger"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
msgid "Runnable"
@@ -6257,7 +7106,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -6334,10 +7183,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -6347,7 +7192,7 @@ msgid "The path does not exist."
msgstr "Sökvägen finns inte."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -6355,6 +7200,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6454,6 +7307,11 @@ msgid "Project Path:"
msgstr "Sökväg till projektet:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Sökväg till projektet:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Bläddra"
@@ -6575,8 +7433,8 @@ msgstr "Musknapp"
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6588,9 +7446,24 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Ändra Animationsnamn:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Enhet"
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Device"
+msgstr "Enhet"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Skift+"
@@ -6633,20 +7506,22 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "Knapp"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "Knapp"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6674,11 +7549,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-#, fuzzy
-msgid "Device"
-msgstr "Enhet"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Knapp"
@@ -6723,6 +7593,12 @@ 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 "Already existing"
msgstr ""
@@ -6785,7 +7661,6 @@ msgid "Project Settings (project.godot)"
msgstr ""
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
-#, fuzzy
msgid "General"
msgstr "Allmänt"
@@ -6797,6 +7672,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6807,6 +7686,15 @@ msgstr ""
#: editor/project_settings_editor.cpp
#, fuzzy
+msgid "Action"
+msgstr "Funktion:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
+#, fuzzy
msgid "Device:"
msgstr "Enhet:"
@@ -6870,10 +7758,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6913,81 +7797,168 @@ msgid "Select Node"
msgstr "Välj Node"
#: editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: editor/property_editor.cpp
#, fuzzy
-msgid "New Script"
-msgstr "Nytt Skript"
+msgid "Pick a Node"
+msgstr "Välj en Node"
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
+#: 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/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Show in File System"
-msgstr "Visa i Filsystemet"
+msgid "Batch Rename"
+msgstr "Byt namn"
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Konvertera till %s"
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
#, fuzzy
-msgid "Pick a Node"
-msgstr "Välj en Node"
+msgid "Node name"
+msgstr "Node Namn:"
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_editor.cpp
+#: editor/rename_dialog.cpp
#, fuzzy
-msgid "On"
-msgstr "PÃ¥"
+msgid "Node type"
+msgstr "Node Namn:"
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Nuvarande Scen"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Byt namn"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "Steg (s):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Padding"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
msgstr ""
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Gemener"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Versaler"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Återställ Zoom"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+#, fuzzy
+msgid "Error"
+msgstr "Fel"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
#, fuzzy
msgid "Reparent Node"
@@ -7026,11 +7997,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -7051,6 +8017,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
#, fuzzy
msgid "This operation can't be done on the tree root."
msgstr "Åtgärden kan inte göras på trädroten."
@@ -7098,13 +8068,33 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+#, fuzzy
+msgid "Make Local"
+msgstr "Gör Patch"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Skapa Node"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Scen"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Scen"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Makes Sense!"
-msgstr "Vettigt!"
+msgid "Custom Node"
+msgstr "Klipp ut Noder"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -7116,6 +8106,11 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
+msgid "Attach Script"
+msgstr "Fäst Skript"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
msgid "Remove Node(s)"
msgstr "Ta bort Nod(er)"
@@ -7165,18 +8160,14 @@ msgstr "Ändra Typ"
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Attach Script"
-msgstr "Fäst Skript"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+msgid "Make Scene Root"
+msgstr "Vettigt!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -7201,10 +8192,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Filtrera noder"
-
-#: editor/scene_tree_dock.cpp
#, fuzzy
msgid "Attach a new or existing script for the selected node."
msgstr "Koppla på ett nytt eller befintligt Skript till vald Node."
@@ -7225,17 +8212,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Växla Dolda Filer"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -7243,7 +8223,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -7259,22 +8239,22 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "Öppna Skript"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Barn är inte valbara.\n"
"Klicka för att göra valbara"
@@ -7284,6 +8264,12 @@ 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 ""
@@ -7326,6 +8312,11 @@ msgstr ""
#: editor/script_create_dialog.cpp
#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Öppna Skript-Redigerare"
+
+#: editor/script_create_dialog.cpp
+#, fuzzy
msgid "Path is empty"
msgstr "Sökvägen är tom"
@@ -7582,10 +8573,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7598,19 +8601,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7671,16 +8686,6 @@ msgid "GDNative"
msgstr "GDNative"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7750,6 +8755,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Alla urval"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7834,6 +8844,11 @@ msgid "Clear Selection"
msgstr "Rensa Urval"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Alla urval"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7910,6 +8925,72 @@ msgstr "Visa Filer"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Partitioning..."
+msgstr "Partitionerar..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Creating contours..."
+msgstr "Skapar konturer..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Klar!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7961,10 +9042,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Funktioner:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Variabler:"
@@ -8083,39 +9160,13 @@ msgstr "Anslut Noder"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Condition"
-msgstr "Villkor"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Sequence"
-msgstr "Sekvens"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Switch"
-msgstr "Växla"
+msgid "Connect Node Data"
+msgstr "Anslut Noder"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Iterator"
-msgstr "Iterator"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+msgid "Connect Node Sequence"
+msgstr "Anslut Noder"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
@@ -8145,28 +9196,19 @@ msgstr "Ta bort Funktion"
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
-msgid "Edit Variable"
-msgstr "Redigera Variabel"
-
-#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
msgid "Remove Variable"
msgstr "Ta bort Variabeln"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr ""
+#, fuzzy
+msgid "Editing Variable:"
+msgstr "Redigerar Variabel:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Editing Variable:"
-msgstr "Redigerar Variabel:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -8214,6 +9256,11 @@ msgstr "Klipp ut Noder"
msgid "Paste Nodes"
msgstr "Klistra in Noder"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Medlemmar"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -8270,6 +9317,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Fäst Skript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Kör i Webbläsare"
@@ -8320,8 +9380,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -8421,6 +9481,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Sökvägs-egenskapen måste peka på en giltigt Node2D Node för att fungera."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8482,8 +9555,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8565,6 +9638,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8577,6 +9661,46 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animeringsverktyg"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ERROR: Ogiltigt animationsnamn!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Anslut '%s' till '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Välj en AnimationPlayer från Scenträdet för att redigera animationer."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
#, fuzzy
msgid "Raw Mode"
@@ -8654,12 +9778,171 @@ msgstr "Fel vid laddning av font."
msgid "Invalid font size."
msgstr "Ogiltig teckenstorlek."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Föregående flik"
+msgid "Invalid source for shader."
+msgstr "Ogiltig teckenstorlek."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Change Comment"
+#~ msgstr "Ändra Kommentar"
+
+#~ msgid "Disabled"
+#~ msgstr "Avaktiverad"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Flytta Anim Spåra Uppåt"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Flytta Anim Spår Neråt"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Ange övergångar:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Anim Byt Namn På Spår"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim Ändra Spårets Interpolation"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Ändra Anim Spårets Värde Läge"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Anim Spåra Ändra Linda om Läge"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Redigera Nodkurva"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Redigera Urvalsurva"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Anim Lägg Till Nyckel"
+
+#, fuzzy
+#~ msgid "In"
+#~ msgstr "In"
+
+#~ msgid "Out"
+#~ msgstr "Ut"
+
+#~ msgid "In-Out"
+#~ msgstr "In-Ut"
+
+#~ msgid "Out-In"
+#~ msgstr "Ut-In"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Ändra Anim Längd"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Ändra Anim Loop"
+
+#~ msgid "Length (s):"
+#~ msgstr "Längd (s):"
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Aktivera/Inaktivera looping i animation."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Lägg till nya spår."
+
+#~ msgid "Move current track up."
+#~ msgstr "Flytta nuvarande spår upp."
+
+#~ msgid "Move current track down."
+#~ msgstr "Flytta nuvarande spår ner."
-#~ msgid "Next"
-#~ msgstr "Nästa"
+#, fuzzy
+#~ msgid "Track tools"
+#~ msgstr "Spårverktyg"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Aktivera editering av individuella nycklar genom att klicka på dem."
+
+#~ msgid "Key"
+#~ msgstr "Nyckel"
+
+#, fuzzy
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Anropa funktioner i vilken Node?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Tack!"
+
+#~ msgid "I see..."
+#~ msgstr "Jag förstår..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Kan inte öppna '%s'."
+
+#, fuzzy
+#~ msgid "Ugh"
+#~ msgstr "Ugh"
+
+#, fuzzy
+#~ msgid "Run Script"
+#~ msgstr "Kör Skript"
+
+#, fuzzy
+#~ msgid "Save the current animation"
+#~ msgstr "Spara den nuvarande animationen"
+
+#, fuzzy
+#~ msgid "Copy Animation"
+#~ msgstr "Kopiera Animation"
+
+#, fuzzy
+#~ msgid "prev"
+#~ msgstr "förhandsgranska"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#, fuzzy
+#~ msgid "StyleBox"
+#~ msgstr "Stil"
+
+#, fuzzy
+#~ msgid "Condition"
+#~ msgstr "Villkor"
+
+#, fuzzy
+#~ msgid "Sequence"
+#~ msgstr "Sekvens"
+
+#, fuzzy
+#~ msgid "Switch"
+#~ msgstr "Växla"
+
+#, fuzzy
+#~ msgid "Iterator"
+#~ msgstr "Iterator"
+
+#, fuzzy
+#~ msgid "Edit Variable"
+#~ msgstr "Redigera Variabel"
#~ msgid "Not found!"
#~ msgstr "Hittades inte!"
diff --git a/editor/translations/ta.po b/editor/translations/ta.po
index d3d80facc3..c3084b15ba 100644
--- a/editor/translations/ta.po
+++ b/editor/translations/ta.po
@@ -18,334 +18,465 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.18\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
-#: editor/animation_editor.cpp
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+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 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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "மாறà¯à®±à®®à¯ அசைவூடà¯à®Ÿà¯"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "உரà¯à®®à®¾à®±à¯à®±à®®à¯ அசைவூடà¯à®Ÿà¯"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "மாறà¯à®± மதிபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "மாறà¯à®± அழைபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதை சேரà¯"
-
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "அசைவூடà¯à®Ÿà¯ போலிபசà¯à®šà®¾à®µà®¿à®•ளà¯"
-
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதையை மேலே நகரà¯à®¤à¯à®¤à¯"
-
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதையை கீழே நகரà¯à®¤à¯à®¤à¯"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதையை நீகà¯à®•à¯"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "மாறà¯à®±à®™à¯à®•ளை இதறà¯à®•௠அமை:"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதைகà¯à®•௠மறà¯à®ªà¯†à®¯à®°à¯ இடà¯"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதை [interpolation]யை மாறà¯à®±à¯"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதை மதிபà¯à®ªà¯[value] விதம௠மாறà¯à®±à¯"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "அசைவூடà¯à®Ÿà¯ பாதை மறை[wrap] விதம௠மாறà¯à®±à¯"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "அசைவூடà¯à®Ÿà¯ பாதை சேரà¯"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "கண௠வளைவை[Node Curve] திரà¯à®¤à¯à®¤à¯"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "தேரà¯à®µà¯ வளைவை [Selection Curve] திரà¯à®¤à¯à®¤à¯"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Continuous"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Discrete"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Trigger"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "அசைவூடà¯à®Ÿà¯ பாதையை நீகà¯à®•à¯"
+
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr ""
-
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "அசைவூடà¯à®Ÿà¯ போலிபசà¯à®šà®¾à®µà®¿à®•ளà¯"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
+#: editor/animation_track_editor.cpp
+msgid "Delete Key(s)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "அசைவூடà¯à®Ÿà¯ பாதையை நீகà¯à®•à¯"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method 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
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -366,7 +497,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -382,7 +513,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -394,18 +525,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -435,7 +574,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -466,7 +606,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -488,11 +628,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -500,14 +640,43 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+msgid "Connect Signal: "
+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 \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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 ""
@@ -530,22 +699,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -603,7 +775,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -622,7 +796,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -690,8 +864,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -865,6 +1043,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -933,7 +1112,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -943,7 +1123,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -980,47 +1159,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1053,7 +1232,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1115,6 +1294,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1151,7 +1335,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1204,7 +1388,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1349,20 +1534,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1384,11 +1576,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1401,8 +1588,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1444,10 +1631,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1514,42 +1697,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1723,11 +1870,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1756,6 +1898,14 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1877,10 +2027,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1890,6 +2036,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1981,6 +2131,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -1996,7 +2158,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2040,7 +2203,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2061,59 +2224,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2130,6 +2266,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2206,19 +2346,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2226,12 +2370,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2278,6 +2423,100 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2312,10 +2551,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2341,6 +2576,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2365,7 +2601,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2425,6 +2661,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2503,7 +2745,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2515,11 +2757,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2590,7 +2832,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2620,6 +2862,21 @@ msgid "Duplicate..."
msgstr "அசைவூடà¯à®Ÿà¯ போலிபசà¯à®šà®¾à®µà®¿à®•ளà¯"
#: editor/filesystem_dock.cpp
+msgid "New Script..."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2632,7 +2889,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2640,18 +2901,110 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2662,6 +3015,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2703,7 +3060,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2763,16 +3120,122 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: 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
+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
@@ -2816,6 +3279,140 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+msgid "Create points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2842,11 +3439,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2855,11 +3452,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2876,11 +3468,11 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+msgid "No animation resource on clipboard!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2892,7 +3484,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2924,39 +3516,33 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "மாறà¯à®±à®™à¯à®•ளை இதறà¯à®•௠அமை:"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3008,6 +3594,10 @@ 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 ""
@@ -3017,6 +3607,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3034,161 +3625,209 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
msgstr ""
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"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_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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3242,7 +3881,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3270,19 +3913,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3350,7 +3993,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3359,12 +4002,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3377,14 +4018,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3413,11 +4046,23 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+msgid "Move pivot"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3437,6 +4082,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3480,7 +4137,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3488,7 +4145,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3529,6 +4186,10 @@ 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 ""
@@ -3555,23 +4216,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3617,11 +4278,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3637,14 +4294,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3660,10 +4309,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3696,26 +4341,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3786,15 +4423,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3878,6 +4506,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3945,6 +4574,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4045,70 +4695,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4169,59 +4755,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4301,6 +4883,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4333,19 +4931,84 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Remove Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4374,11 +5037,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4394,8 +5069,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4406,6 +5080,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4428,6 +5126,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4449,14 +5151,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4468,6 +5171,18 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4484,6 +5199,18 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+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 "Import Theme"
msgstr ""
@@ -4496,6 +5223,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4524,7 +5255,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4552,6 +5283,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4585,11 +5321,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4643,10 +5374,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4665,45 +5392,67 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4791,7 +5540,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4810,128 +5559,36 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5059,10 +5716,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5071,6 +5724,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5115,6 +5772,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5242,6 +5903,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5250,6 +5915,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5278,6 +5947,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5291,10 +5964,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5354,6 +6023,46 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Create 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5422,14 +6131,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5455,26 +6156,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5490,11 +6184,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5566,10 +6255,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5594,7 +6279,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5607,7 +6292,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5615,6 +6300,10 @@ msgid "Erase Selection"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5635,11 +6324,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5663,6 +6348,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5679,63 +6369,105 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5751,7 +6483,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5825,10 +6557,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5837,7 +6565,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5845,6 +6573,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5931,6 +6667,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6039,8 +6779,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6052,9 +6792,21 @@ 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6096,19 +6848,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6136,10 +6888,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6184,6 +6932,12 @@ 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 "Already existing"
msgstr ""
@@ -6255,6 +7009,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6264,6 +7022,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6324,10 +7091,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6364,75 +7127,156 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "அசைவூடà¯à®Ÿà¯ பாதைகà¯à®•௠மறà¯à®ªà¯†à®¯à®°à¯ இடà¯"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6471,11 +7315,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6495,6 +7334,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6535,11 +7378,27 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Create Root Node:"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+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 "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6551,6 +7410,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6593,18 +7456,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6627,10 +7486,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6650,16 +7505,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6668,7 +7515,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6684,20 +7531,20 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+msgid "Open Script"
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6705,6 +7552,12 @@ 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 ""
@@ -6741,6 +7594,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -6977,10 +7834,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -6993,19 +7862,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7061,16 +7942,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7135,6 +8006,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7215,6 +8091,11 @@ 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 ""
@@ -7282,6 +8163,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7333,10 +8278,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7445,35 +8386,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7501,15 +8418,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7517,10 +8430,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7564,6 +8473,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7618,6 +8531,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7664,8 +8589,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7746,6 +8671,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7806,8 +8744,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7880,6 +8818,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7892,6 +8841,42 @@ msgid ""
"it as a child of a VehicleBody."
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_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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -7960,5 +8945,50 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "à®®à¯à®Ÿà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "அசைவூடà¯à®Ÿà¯ பாதையை மேலே நகரà¯à®¤à¯à®¤à¯"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "அசைவூடà¯à®Ÿà¯ பாதையை கீழே நகரà¯à®¤à¯à®¤à¯"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "அசைவூடà¯à®Ÿà¯ பாதை [interpolation]யை மாறà¯à®±à¯"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "அசைவூடà¯à®Ÿà¯ பாதை மதிபà¯à®ªà¯[value] விதம௠மாறà¯à®±à¯"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "அசைவூடà¯à®Ÿà¯ பாதை மறை[wrap] விதம௠மாறà¯à®±à¯"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "கண௠வளைவை[Node Curve] திரà¯à®¤à¯à®¤à¯"
+
#~ msgid "Move Add Key"
#~ msgstr "சேர௠மà¯à®•à¯à®•ியபà¯à®ªà¯à®³à¯à®³à®¿à®¯à¯ˆ நகரà¯à®¤à¯à®¤à¯"
diff --git a/editor/translations/th.po b/editor/translations/th.po
index 2393ca98a9..7828977638 100644
--- a/editor/translations/th.po
+++ b/editor/translations/th.po
@@ -19,332 +19,488 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2.20-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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_* เท่านั้น"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "เลือà¸à¸—ั้งหมด"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "ไม่พบคุณสมบัติ '%s' ในโหนด %s"
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "ไม่พบคุณสมบัติ '%s' ในโหนด %s"
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": ประเภทตัวà¹à¸›à¸£à¹„ม่ถูà¸à¸•้อง: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "ฟรี"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "สะท้อนซ้ายขวา"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "เพิ่มคีย์"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "ทำซ้ำที่เลือà¸"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "à¹à¸à¹‰à¹„ขทรานสิชันà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "เคลื่อนย้ายà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "à¹à¸à¹‰à¹„ขค่าคีย์เฟรมà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "เพิ่มà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "คุณสมบัติ:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "ทำซ้ำคีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "ประเภทà¸à¸²à¸£à¹€à¸„ลื่อนย้าย"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "เลื่อนà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸‚ึ้น"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "เลื่อนà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸¥à¸‡"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "ลบà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "หยุดà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "เพิ่มà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "à¸à¸³à¸«à¸™à¸”ทรานสิชันเป็น:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "ความยาวà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ (วินาที)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "เปลี่ยนชื่อà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "ซูมà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "เปลี่ยนโหมดà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "ตัวรับเสียง"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "เปลี่ยนโหมดวนซ้ำà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "คลิป"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "à¹à¸à¹‰à¹„ขเส้นโค้งโหนด"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "โหมดไร้สิ่งรบà¸à¸§à¸™"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "à¹à¸à¹‰à¹„ขเส้นโค้งà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "ลบคีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "โหนดà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "ทำซ้ำที่เลือà¸"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "ทำซ้ำเปลี่ยนà¹à¸—ร็à¸"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "ลบà¹à¸—ร็à¸à¸—ี่เลือà¸"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "ลบที่เลือà¸"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "ระยะเวลาเฟด (วิ):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "ต่อเนื่อง"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "ไม่ต่อเนื่อง"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "ทริà¸à¹€à¸à¸­à¸£à¹Œ"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "เพิ่มคีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "ย้ายคีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "ปรับอัตราส่วนเวลาคีย์ที่เลือà¸"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "ปรับอัตราส่วนเวลาตามเคอร์เซอร์"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "ถัดไป"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "ฟีเจอร์"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "เส้นตรง"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "คงที่"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "เข้า"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "ออà¸"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "เข้า-ออà¸"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "ออà¸-เข้า"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "เพิ่มคีย์"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "ทรานสิชัน"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "ทำซ้ำโหนด"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "เพิ่มประสิทธิภาพà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "ลบโหนด"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "เà¸à¹‡à¸šà¸à¸§à¸²à¸”à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "ลบà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "เพิ่มà¹à¸—ร็à¸à¹ƒà¸«à¸¡à¹ˆà¸ªà¸³à¸«à¸£à¸±à¸š %s à¹à¸¥à¸°à¹€à¸žà¸´à¹ˆà¸¡à¸„ีย์?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "เพิ่ม %d à¹à¸—ร็à¸à¹ƒà¸«à¸¡à¹ˆà¹à¸¥à¸°à¹€à¸žà¸´à¹ˆà¸¡à¸„ีย์?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "สร้าง"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "à¹à¸—รà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "สร้างà¹à¸¥à¸°à¹à¸—รà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "เพิ่มà¹à¸—ร็à¸à¹à¸¥à¸°à¸„ีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "à¹à¸—รà¸à¸„ีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "ปรับความยาวà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-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_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "สร้างคีย์ระบุประเภทà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "à¹à¸—รà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert 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 "Method not found in object: "
+msgstr "ไม่พบ VariableGet ในสคริปต์: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "ย้ายคีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "คลิปบอร์ดว่างเปล่า!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "ปรับคีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-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_editor.cpp
-msgid "Animation zoom."
-msgstr "ซูมà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "ความยาว (วิ):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "ความยาวà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ (วินาที)"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Snap (พิà¸à¹€à¸‹à¸¥):"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "ช่วง (วิ):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "ผังà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸–ูà¸à¸•้อง"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "เลื่อนเคอร์เซอร์ในช่วง (วินาที)"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "à¹à¸à¹‰à¹„ข"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "เปิด/ปิดà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸‚องà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "ผังà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "เพิ่มà¹à¸—ร็à¸à¹ƒà¸«à¸¡à¹ˆ"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "คัดลอà¸à¸•ัวà¹à¸›à¸£"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "เลื่อนà¹à¸—ร็à¸à¸‚ึ้น"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "วางตัวà¹à¸›à¸£"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "เลื่อนà¹à¸—ร็à¸à¸¥à¸‡"
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "ปรับอัตราส่วนเวลาคีย์ที่เลือà¸"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "ลบà¹à¸—ร็à¸à¸—ี่เลือà¸"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "ปรับอัตราส่วนเวลาตามเคอร์เซอร์"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "ทำซ้ำที่เลือà¸"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "เครื่องมือà¹à¸—ร็à¸"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "ทำซ้ำเปลี่ยนà¹à¸—ร็à¸"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "เปิดà¸à¸²à¸£à¹à¸à¹‰à¹„ขคีย์โดยà¸à¸²à¸£à¸„ลิà¸"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "ลบสิ่งที่เลือà¸"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "ถัดไป"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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 "Anim. Optimizer"
msgstr "ตัวเพิ่มประสิทธิภาพà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "คลาดเคลื่อนเชิงเส้นมาà¸à¸—ี่สุด:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "คลาดเคลื่อนเชิงมุมมาà¸à¸—ี่สุด:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "ปรับà¹à¸à¹‰à¹€à¸Šà¸´à¸‡à¸¡à¸¸à¸¡à¸¡à¸²à¸à¸—ี่สุด:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "เพิ่มประสิทธิภาพ"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "เลือภAnimationPlayer จาà¸à¸œà¸±à¸‡à¸‰à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹à¸à¹‰à¹„ขà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "คีย์"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "ทรานสิชัน"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "อัตราส่วนเวลา:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "เรียà¸à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸‚องโหนดใด?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "ลบคีย์ที่ผิดพลาด"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "ลบà¹à¸—ร็à¸à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "เà¸à¹‡à¸šà¸à¸§à¸²à¸”ทุà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "เà¸à¹‡à¸šà¸à¸§à¸²à¸”à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™ (ย้อนà¸à¸¥à¸±à¸šà¹„ม่ได้!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "คัดลอà¸"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "ปรับขนาดอาร์เรย์"
@@ -365,7 +521,7 @@ msgstr "ไปยังบรรทัด"
msgid "Line Number:"
msgstr "บรรทัดที่:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "ไม่พบ"
@@ -381,7 +537,7 @@ msgstr "ตรงตามอัà¸à¸©à¸£à¸žà¸´à¸¡à¸žà¹Œà¹€à¸¥à¹‡à¸-ใหà¸à¹
msgid "Whole Words"
msgstr "ทั้งคำ"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "à¹à¸—นที่"
@@ -393,18 +549,28 @@ msgstr "à¹à¸—นที่ทั้งหมด"
msgid "Selection Only"
msgstr "เฉพาะที่à¸à¸³à¸¥à¸±à¸‡à¹€à¸¥à¸·à¸­à¸"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "ขยาย"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "ย่อ"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "รีเซ็ตซูม"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "คำเตือน"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "ซูม (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "บรรทัด:"
@@ -434,7 +600,8 @@ msgid "Add"
msgstr "เพิ่ม"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -465,7 +632,7 @@ msgid "Oneshot"
msgstr "ครั้งเดียว"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -487,11 +654,12 @@ msgid "Connect '%s' to '%s'"
msgstr "เชื่อม '%s' à¸à¸±à¸š '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "เชื่อมโยงสัà¸à¸à¸²à¸“:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "ลบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยง '%s' à¸à¸±à¸š '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "ลบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยง '%s' à¸à¸±à¸š '%s'"
#: editor/connections_dialog.cpp
@@ -499,14 +667,48 @@ msgid "Connect..."
msgstr "เชื่อมโยง..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "ลบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยง"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "เชื่อมโยงสัà¸à¸à¸²à¸“:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยง"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "ยืนยันà¸à¸²à¸£à¸£à¸±à¸™à¹‚ปรเจà¸à¸•์มาà¸à¸à¸§à¹ˆà¸² 1 โปรเจà¸à¸•์?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "สัà¸à¸à¸²à¸“"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "ลบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยง"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "à¹à¸à¹‰à¹„ข"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "รายชื่อเมท็อด"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "เปลี่ยนประเภท %s"
@@ -529,22 +731,25 @@ msgstr "ที่ชื่นชอบ:"
msgid "Recent:"
msgstr "ล่าสุด:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "ค้นหา:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "รายละเอียด:"
@@ -606,7 +811,9 @@ msgstr "ค้นหารีซอร์สมาà¹à¸—นที่:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "เปิด"
@@ -627,7 +834,7 @@ msgstr ""
"มีรีซอร์สอื่นต้องà¸à¸²à¸£à¹„ฟล์ที่à¸à¸³à¸¥à¸±à¸‡à¸¥à¸š\n"
"ยืนยันจะลบหรือไม่? (ย้อนà¸à¸¥à¸±à¸šà¹„ม่ได้)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "ไม่สามารถลบ:"
@@ -695,9 +902,13 @@ msgstr "à¹à¸à¹‰à¹„ขค่าดิà¸à¸Šà¸±à¸™à¸™à¸²à¸£à¸µ"
msgid "Thanks from the Godot community!"
msgstr "ขอขอบคุณจาà¸à¸Šà¸¸à¸¡à¸Šà¸™à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰ Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "ขอบคุณ!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "ตà¸à¸¥à¸‡"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -873,6 +1084,7 @@ msgid "Bus options"
msgstr "ตัวเลือภBus"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "ทำซ้ำ"
@@ -941,7 +1153,8 @@ msgstr "เพิ่ม Bus"
msgid "Create a new Bus Layout."
msgstr "สร้างเลย์เอาต์ Bus ใหม่"
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "โหลด"
@@ -951,7 +1164,6 @@ msgid "Load an existing Bus Layout."
msgstr "โหลดเลย์เอาต์ Bus จาà¸à¸”ิสà¸à¹Œ"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "บันทึà¸à¹€à¸›à¹‡à¸™"
@@ -988,22 +1200,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "ชื่อผิดพลาด ต้องไม่ใช้ชื่อเดียวà¸à¸±à¸šà¸„่าคงที่"
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸œà¸´à¸”พลาด"
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "ไม่พบไฟล์"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "ไม่อยู่ในโฟลเดอร์รีซอร์ส"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "เพิ่มออโต้โหลด"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "มีออโต้โหลด '%s' อยู่à¹à¸¥à¹‰à¸§!"
@@ -1031,6 +1227,22 @@ msgstr "เปิด"
msgid "Rearrange Autoloads"
msgstr "จัดลำดับออโต้โหลด"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸œà¸´à¸”พลาด"
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "ไม่พบไฟล์"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "ไม่อยู่ในโฟลเดอร์รีซอร์ส"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "เพิ่มออโต้โหลด"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1061,7 +1273,7 @@ msgstr "เà¸à¹‡à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸ à¸²à¸¢à¹ƒà¸™...
msgid "Updating scene..."
msgstr "อัพเดทฉาà¸..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[ว่างเปล่า]"
@@ -1123,6 +1335,12 @@ msgid "Copy Path"
msgstr "คัดลอà¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "à¹à¸ªà¸”งในตัวจัดà¸à¸²à¸£à¹„ฟล์"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "à¹à¸ªà¸”งในตัวจัดà¸à¸²à¸£à¹„ฟล์"
@@ -1159,7 +1377,7 @@ msgid "Open a File or Directory"
msgstr "เปิดไฟล์หรือโฟลเดอร์"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "บันทึà¸"
@@ -1212,7 +1430,8 @@ msgstr "ไปยังโฟลเดอร์หลัà¸"
msgid "Directories & Files:"
msgstr "ไฟล์à¹à¸¥à¸°à¹‚ฟลเดอร์:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "ตัวอย่าง:"
@@ -1359,20 +1578,28 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr "เมท็อดนี้ยังไม่มีคำอธิบาย โปรดช่วย[color=$color][url=$url]à¹à¸à¹‰à¹„ข[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "ค้นหาคำ"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "คุณสมบัติ:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "ค้นหา"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "à¸à¸³à¸«à¸™à¸”"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "ข้อความ:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1394,11 +1621,6 @@ msgstr "บันทึà¸à¸£à¸µà¸‹à¸­à¸£à¹Œà¸ªà¸œà¸´à¸”พลาด!"
msgid "Save Resource As..."
msgstr "บันทึà¸à¸£à¸µà¸‹à¸­à¸£à¹Œà¸ªà¹€à¸›à¹‡à¸™..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "ตà¸à¸¥à¸‡..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "เปิดไฟล์เพื่อเขียนไม่ได้:"
@@ -1411,9 +1633,9 @@ msgstr "ไม่ทราบรูปà¹à¸šà¸šà¹„ฟล์ที่ร้อง
msgid "Error while saving."
msgstr "ผิดพลาดขณะบันทึà¸"
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "เปิด '%s' ไม่ได้"
+#: 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'."
@@ -1454,10 +1676,6 @@ msgid ""
msgstr "บันทึà¸à¸‰à¸²à¸à¹„ม่ได้ อาจจะมีà¸à¸²à¸£à¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¹„ม่สมบูรณ์ (อินสà¹à¸•นซ์หรือà¸à¸²à¸£à¸ªà¸·à¸šà¸—อด)"
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "โหลดรีซอร์สไม่ได้"
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "โหลด MeshLibrary เพื่อรวมไม่ได้!"
@@ -1533,42 +1751,6 @@ msgstr ""
"อ่านรายละเอียดเพิ่มเติมได้จาà¸à¸„ู่มือในส่วนของà¸à¸²à¸£à¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸­à¸‡"
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "ขยายคุณสมบัติทั้งหมด"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "ยุบคุณสมบัติทั้งหมด"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "คัดลอà¸à¸•ัวà¹à¸›à¸£"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "วางตัวà¹à¸›à¸£"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "วางรีซอร์ส"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "คัดลอà¸à¸£à¸µà¸‹à¸­à¸£à¹Œà¸ª"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "à¸à¸±à¸‡"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "ไม่ให้ใช้รีซอร์สร่วมà¸à¸±à¸šà¸§à¸±à¸•ถุอื่น"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "เปิดในคู่มือ"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "ยังไม่ได้เลือà¸à¸‰à¸²à¸à¸—ี่จะเล่น"
@@ -1751,11 +1933,6 @@ msgstr ""
"ฉาภ'%s' ถูà¸à¸™à¸³à¹€à¸‚้าโดยอัตโนมัติจึงไม่สามารถถูà¸à¹à¸à¹‰à¹„ข\n"
"สามารถสืบทอดไปยังฉาà¸à¹ƒà¸«à¸¡à¹ˆà¹€à¸žà¸·à¹ˆà¸­à¸—ำà¸à¸²à¸£à¹à¸à¹‰à¹„ข"
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "เออะ"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1786,6 +1963,16 @@ msgid "Default"
msgstr "ค่าเริ่มต้น"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "เล่น"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "ปิดà¹à¸—็บอื่น"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "สลับฉาà¸"
@@ -1907,10 +2094,6 @@ msgstr "โปรเจà¸à¸•์"
msgid "Project Settings"
msgstr "ตัวเลือà¸à¹‚ปรเจà¸à¸•์"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "รันสคริปต์"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "ส่งออà¸"
@@ -1920,6 +2103,11 @@ msgid "Tools"
msgstr "เครื่องมือ"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "เปิดตัวจัดà¸à¸²à¸£à¹‚ปรเจà¸à¸•์?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "ปิดà¹à¸¥à¸°à¸à¸¥à¸±à¸šà¸ªà¸¹à¹ˆà¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­à¹‚ปรเจà¸à¸•์"
@@ -2018,6 +2206,20 @@ msgstr "เลย์เอาต์โปรà¹à¸à¸£à¸¡"
msgid "Toggle Fullscreen"
msgstr "สลับเต็มจอ"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "ตัวเลือà¸à¹‚ปรà¹à¸à¸£à¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸à¸¡"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "ตัวเลือà¸à¹‚ปรà¹à¸à¸£à¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸à¸¡"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "จัดà¸à¸²à¸£à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸"
@@ -2033,7 +2235,8 @@ msgstr "คลาส"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "ค้นหา"
@@ -2077,7 +2280,7 @@ msgstr "หยุดชั่วคราว"
msgid "Stop the scene."
msgstr "หยุด"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "หยุด"
@@ -2098,6 +2301,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "บันทึà¸à¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าอีà¸à¸„รั้ง"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "หมุนเมื่อมีà¸à¸²à¸£à¸§à¸²à¸”หน้าต่างโปรà¹à¸à¸£à¸¡à¹ƒà¸«à¸¡à¹ˆ!"
@@ -2117,42 +2330,6 @@ msgstr "ปิดà¸à¸²à¸£à¸­à¸±à¸žà¹€à¸”ทตัวหมุน"
msgid "Inspector"
msgstr "คุณสมบัติ"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "สร้างรีซอร์สใหม่ในหน่วยความจำà¹à¸¥à¸°à¸—ำà¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•่ง"
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "โหลดรีซอร์สที่มีอยู่à¹à¸¥à¹‰à¸§à¹ƒà¸™à¸”ิสà¸à¹Œà¹à¸¥à¸°à¸—ำà¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•่ง"
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "บันทึà¸à¸£à¸µà¸‹à¸­à¸£à¹Œà¸ªà¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸›à¸£à¸±à¸šà¹à¸•่ง"
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "บันทึà¸à¹€à¸›à¹‡à¸™..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "ไปยังวัตถุที่ปรับà¹à¸•่งà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "ไปยังวัตถุที่ปรับà¹à¸•่งถัดไป"
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "ประวัติà¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•่งวัตถุ"
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "คุณสมบัติวัตถุ"
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ถูà¸à¸šà¸±à¸™à¸—ึà¸!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2167,6 +2344,11 @@ msgid "FileSystem"
msgstr "ระบบไฟล์"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "ขยายโฟลเดอร์"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "ข้อความ"
@@ -2243,19 +2425,24 @@ msgid "Thumbnail..."
msgstr "รูปตัวอย่าง..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "ปลั๊à¸à¸­à¸´à¸™à¸—ี่ติดตั้งà¹à¸¥à¹‰à¸§:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "อัพเดท"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "รุ่น:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "โดย:"
@@ -2263,13 +2450,16 @@ msgstr "โดย:"
msgid "Status:"
msgstr "สถานะ:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "หยุดบันทึà¸"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "à¹à¸à¹‰à¹„ข"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "เริ่มบันทึà¸"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "เริ่ม!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2315,6 +2505,106 @@ msgstr "เวลา"
msgid "Calls"
msgstr "จำนวนครั้ง"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "เปิด"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "บิต %d, ค่า %d"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[ว่างเปล่า]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "ระบุ"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "เลือภViewport"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "สคริปต์ใหม่"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "%s ใหม่"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "ไม่ใช้ร่วมà¸à¸±à¸šà¸§à¸±à¸•ถุอื่น"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "เปิดในตัวจัดà¸à¸²à¸£à¹„ฟล์"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "วาง"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "เปิดในโปรà¹à¸à¸£à¸¡à¹à¸à¹‰à¹„ข"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "โหนดที่เลือà¸à¹„ม่ใช่ Viewport!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "ขนาดเซลล์:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "ชื่อใหม่:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "ชื่อใหม่:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "ลบไอเทม"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "เลือà¸à¸­à¸¸à¸›à¸à¸£à¸“์จาà¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­"
@@ -2351,10 +2641,6 @@ msgstr "รันสคริปต์ไม่ได้:"
msgid "Did you forget the '_run' method?"
msgstr "ลืมใส่เมท็อด '_run' หรือไม่?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "ค่าเริ่มต้น (เหมือนà¸à¸±à¸šà¹‚ปรà¹à¸à¸£à¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸à¸¡)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "เลือà¸à¹‚หนดเพื่อนำเข้า"
@@ -2380,6 +2666,7 @@ msgid "(Installed)"
msgstr "(ติดตั้งà¹à¸¥à¹‰à¸§)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "ดาวน์โหลด"
@@ -2404,7 +2691,8 @@ msgid "Can't open export templates zip."
msgstr "เปิดไฟล์ zip à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¹„ม่ได้"
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "รูปà¹à¸šà¸šà¸‚อง version.txt ในà¹à¸¡à¹ˆà¹à¸šà¸šà¹„ม่ถูà¸à¸•้อง"
#: editor/export_template_manager.cpp
@@ -2464,6 +2752,12 @@ msgid "Download Complete."
msgstr "ดาวน์โหลดเสร็จสิ้น"
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "ผิดพลาดขณะร้องขอที่อยู่: "
@@ -2542,7 +2836,8 @@ msgid "Download Templates"
msgstr "ดาวน์โหลดà¹à¸¡à¹ˆà¹à¸šà¸š"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "เลือà¸à¸¥à¸´à¸‡à¸à¹Œà¸”าวน์โหลด: "
#: editor/file_type_cache.cpp
@@ -2554,11 +2849,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "ไม่สามารถไปยัง '%s' เนื่องจาà¸à¹„ม่พบในระบบ!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "à¹à¸ªà¸”งเป็นภาพตัวอย่าง"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "à¹à¸ªà¸”งเป็นรายชื่อไฟล์"
#: editor/filesystem_dock.cpp
@@ -2629,7 +2926,7 @@ msgstr "ขยายโฟลเดอร์"
msgid "Collapse all"
msgstr "ยุบโฟลเดอร์"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "เปลี่ยนชื่อ..."
@@ -2658,6 +2955,23 @@ msgid "Duplicate..."
msgstr "ทำซ้ำ..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "สคริปต์ใหม่"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "โฟลเดอร์à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
@@ -2670,14 +2984,29 @@ msgid "Re-Scan Filesystem"
msgstr "สà¹à¸à¸™à¸£à¸°à¸šà¸šà¹„ฟล์ใหม่"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "สลับà¸à¸²à¸£à¹€à¸›à¹‡à¸™à¹‚ฟลเดอร์ที่ชื่นชอบ"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "เลือà¸à¹„ทล์ย่อยที่à¸à¸³à¸¥à¸±à¸‡à¸›à¸£à¸±à¸šà¹à¸•่ง"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "อินสà¹à¸•นซ์ฉาà¸à¸—ี่เลือà¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¹‚หนดลูà¸à¸‚องโหนดที่เลือà¸"
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "ค้นหาคลาส"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2685,14 +3014,112 @@ msgstr ""
"à¸à¸³à¸¥à¸±à¸‡à¸ªà¹à¸à¸™à¹„ฟล์,\n"
"à¸à¸£à¸¸à¸“ารอ..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "ย้าย"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "เปลี่ยนชื่อ"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "มีโฟลเดอร์ชื่อเดียวà¸à¸±à¸™à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§"
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "สร้างสคริปต์"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "ค้นหา tile"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "ค้นหา"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "ทั้งคำ"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "ตรงตามอัà¸à¸©à¸£à¸žà¸´à¸¡à¸žà¹Œà¹€à¸¥à¹‡à¸-ใหà¸à¹ˆ"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "ยà¸à¹€à¸¥à¸´à¸"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "à¹à¸—นที่"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "à¹à¸—นที่ทั้งหมด"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸šà¸±à¸™à¸—ึà¸..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "ค้นหาคำ"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ผิดพลาด: มีชื่อà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸™à¸µà¹‰à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "ชื่อผิดพลาด"
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "à¸à¸¥à¸¸à¹ˆà¸¡"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "เพิ่มไปยังà¸à¸¥à¸¸à¹ˆà¸¡"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "ตัวà¸à¸£à¸­à¸‡"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "à¹à¸à¹‰à¹„ขà¸à¸¥à¸¸à¹ˆà¸¡"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2702,6 +3129,11 @@ msgstr "เพิ่มไปยังà¸à¸¥à¸¸à¹ˆà¸¡"
msgid "Remove from Group"
msgstr "ลบออà¸à¸ˆà¸²à¸à¸à¸¥à¸¸à¹ˆà¸¡"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "à¸à¸¥à¸¸à¹ˆà¸¡"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "นำเข้าเป็นฉาà¸à¹€à¸”ียว"
@@ -2743,7 +3175,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "นำเข้าเป็นหลายฉาà¸à¹à¸¥à¸°à¸§à¸±à¸ªà¸”ุ"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "นำเข้าฉาà¸"
@@ -2803,18 +3235,131 @@ msgstr "à¹à¸šà¸š..."
msgid "Reimport"
msgstr "นำเข้าใหม่"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "โหลดรีซอร์สไม่ได้"
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "ตà¸à¸¥à¸‡"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "ขยายคุณสมบัติทั้งหมด"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "ยุบคุณสมบัติทั้งหมด"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "บันทึà¸à¹€à¸›à¹‡à¸™..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "คัดลอà¸à¸•ัวà¹à¸›à¸£"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "วางตัวà¹à¸›à¸£"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "คลิปบอร์ดไม่มีรีซอร์ส!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "คัดลอà¸à¸£à¸µà¸‹à¸­à¸£à¹Œà¸ª"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "à¸à¸±à¸‡"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "ไม่ให้ใช้รีซอร์สร่วมà¸à¸±à¸šà¸§à¸±à¸•ถุอื่น"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "คุณสมบัติวัตถุ"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "ตัวà¸à¸£à¸­à¸‡"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ถูà¸à¸šà¸±à¸™à¸—ึà¸!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "à¸à¸³à¸«à¸™à¸” MultiNode"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "à¸à¸¥à¸¸à¹ˆà¸¡"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "เลือà¸à¹‚หนดเพื่อà¹à¸à¹‰à¹„ขสัà¸à¸à¸²à¸“à¹à¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡"
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "สร้าง C# solution"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "ปลั๊à¸à¸­à¸´à¸™"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "ภาษา"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "สคริปต์ถูà¸à¸•้อง"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2860,6 +3405,150 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "ลบจุด"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "คลิà¸à¸‚วา: ลบจุด"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "โหนดà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "มีà¸à¸²à¸£à¸à¸£à¸°à¸—ำ '%s' อยู่à¹à¸¥à¹‰à¸§!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "วิเคราะห์สามเหลี่ยม %d อัน:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "เพิ่มโหนด"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸­à¸‡"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "à¹à¸à¹‰à¹„ขโหนดลูà¸à¹„ด้"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "เปิดปิดà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™à¸­à¸±à¸•โนมัติ"
@@ -2886,11 +3575,13 @@ msgid "Remove Animation"
msgstr "ลบà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ผิดพลาด: ชื่อà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹„ม่ถูà¸à¸•้อง!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ผิดพลาด: มีชื่อà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸™à¸µà¹‰à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2899,11 +3590,6 @@ msgid "Rename Animation"
msgstr "เปลี่ยนชื่อà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "เพิ่มà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¸œà¸ªà¸²à¸™à¹„ปข้างหน้า"
@@ -2920,11 +3606,13 @@ msgid "Duplicate Animation"
msgstr "ทำซ้ำà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ผิดพลาด: ไม่มีà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸«à¹‰à¸„ัดลอà¸!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ผิดพลาด: ไม่มีà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸™à¸„ลิปบอร์ด!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2936,7 +3624,8 @@ msgid "Paste Animation"
msgstr "วางà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ผิดพลาด: ไม่มีà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸«à¹‰à¹à¸à¹‰à¹„ข!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2968,20 +3657,27 @@ msgid "Scale animation playback globally for the node."
msgstr "ปรับอัตราส่วนเวลาทุà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸‚องโหนด"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "สร้างà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸«à¸¡à¹ˆà¹ƒà¸™à¸•ัวเล่น"
+msgid "Animation Tools"
+msgstr "เครื่องมือà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "โหลดà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸ˆà¸²à¸à¸”ิสà¸à¹Œ"
+msgid "New"
+msgstr "ไฟล์ใหม่"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "โหลดà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸ˆà¸²à¸à¸”ิสà¸à¹Œ"
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "ทรานสิชัน"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "บันทึà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "เปิดในโปรà¹à¸à¸£à¸¡à¹à¸à¹‰à¹„ข"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -2992,18 +3688,6 @@ msgid "Autoplay on Load"
msgstr "เล่นอัตโนมัติเมื่อโหลด"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "à¹à¸à¹‰à¹„ขระยะเวลาà¸à¸²à¸£à¸œà¸ªà¸²à¸™à¹„ปยังเป้าหมาย"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "เครื่องมือà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "คัดลอà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "ภาพเงาà¸à¸²à¸£à¹€à¸„ลื่อนไหว"
@@ -3052,6 +3736,11 @@ msgid "Include Gizmos (3D)"
msgstr "รวมสัà¸à¸¥à¸±à¸à¸©à¸“์ (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "วางà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "สร้างà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸«à¸¡à¹ˆ"
@@ -3061,6 +3750,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3078,161 +3768,214 @@ msgstr "ถัดไป (คิวอัตโนมัติ):"
msgid "Cross-Animation Blend Times"
msgstr "ระยะเวลาà¸à¸²à¸£à¸œà¸ªà¸²à¸™ Cross-Animation"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "จบ"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "สร้าง %s ใหม่"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "เชื่อมโหนด"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸­à¸‡"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "อัตราส่วน:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "เฟดเข้า (วิ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "เฟดออภ(วิ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "ผสม"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "ร่วม"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "เริ่มใหม่อัตโนมัติ:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "เริ่มใหม่ (วิ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "สุ่มเริ่มใหม่ (วิ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "เริ่ม!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "จำนวน:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "ผสม:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "ผสม 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "ผสม 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "ระยะเวลาเฟด (วิ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "ปัจจุบัน:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "เพิ่มอินพุต"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "ลบ Auto-Advance"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "ตั้ง Auto-Advance"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "ลบอินพุต"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "ผังà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸–ูà¸à¸•้อง"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "ผังà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹„ม่ถูà¸à¸•้อง"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "โหนดà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "โหนด OneShot"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "โหนด Mix"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "โหนด Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "โหนด Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "โหนด Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "โหนดอัตราส่วนเวลา"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "โหนด TimeSeek"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "โหนดทรานสิชัน"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "นำเข้าà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "à¹à¸à¹‰à¹„ขตัวà¸à¸£à¸­à¸‡à¹‚หนด"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "ตัวà¸à¸£à¸­à¸‡..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "ผังà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "ฟรี"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "ประà¸à¸­à¸šà¸”้วย:"
@@ -3286,8 +4029,14 @@ msgid "Asset Download Error:"
msgstr "ดาวน์โหลดทรัพยาà¸à¸£à¸œà¸´à¸”พลาด:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸šà¸‚้อมูล:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸”าวน์โหลด"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸”าวน์โหลด"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3314,20 +4063,22 @@ msgid "Download for this asset is already in progress!"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸”าวน์โหลดไฟล์นี้อยู่à¹à¸¥à¹‰à¸§!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "à¹à¸£à¸à¸ªà¸¸à¸”"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+#, fuzzy
+msgid "Previous"
+msgstr "à¹à¸—็บà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "ถัดไป"
+msgid "Next"
+msgstr "ต่อไป"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "ท้ายสุด"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3397,7 +4148,7 @@ msgid "Bake Lightmaps"
msgstr "สร้าง Lightmaps"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "ตัวอย่าง"
@@ -3406,12 +4157,10 @@ msgid "Configure Snap"
msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "จุดà¸à¸³à¹€à¸™à¸´à¸”ตาราง:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "ระยะห่างเส้น:"
@@ -3424,14 +4173,6 @@ msgid "Rotation Step:"
msgstr "ช่วงองศา:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "ย้ายจุดหมุน"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "เคลื่อนย้าย"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "เลื่อนเส้นนำà¹à¸™à¸§à¸•ั้ง"
@@ -3460,11 +4201,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "สร้างเส้นนำà¹à¸™à¸§à¸•ั้งà¹à¸¥à¸°à¹à¸™à¸§à¸™à¸­à¸™"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "à¹à¸à¹‰à¹„ข IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "ย้ายจุดหมุน"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "à¹à¸à¹‰à¹„ข CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "เคลื่อนย้าย"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "à¹à¸à¹‰à¹„ข CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "à¹à¸à¹‰à¹„ข CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3484,6 +4242,21 @@ msgid "Paste Pose"
msgstr "วางท่าทาง"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "ย่อ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "รีเซ็ตà¸à¸²à¸£à¸‹à¸¹à¸¡"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "ขยาย"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "โหมดเลือà¸"
@@ -3529,7 +4302,8 @@ msgid "Pan Mode"
msgstr "โหมดมุมมอง"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "เปิด/ปิด à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3537,7 +4311,8 @@ msgid "Use Snap"
msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่อนย้าย"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "ตัวเลือà¸à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3578,6 +4353,11 @@ msgid "Snap to node sides"
msgstr "จำà¸à¸±à¸”ด้วยเส้นขอบของโหนด"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "จำà¸à¸±à¸”ด้วยจุดหมุนของโหนด"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "จำà¸à¸±à¸”ด้วยโหนดอื่น"
@@ -3604,14 +4384,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "ทำให้เลือà¸à¹‚หนดลูà¸à¹„ด้เหมือนเดิม"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "สร้างà¸à¸£à¸°à¸”ูà¸"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "ลบà¸à¸£à¸°à¸”ูà¸"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "à¹à¸ªà¸”งà¸à¸£à¸°à¸”ูà¸"
@@ -3624,6 +4396,15 @@ msgid "Clear IK Chain"
msgstr "ลบ IK Chain"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "ลบà¸à¸£à¸°à¸”ูà¸"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "มุมมอง"
@@ -3668,11 +4449,8 @@ msgid "Layout"
msgstr "เลย์เอาต์"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr "เพิ่มคีย์"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+#, fuzzy
+msgid "Insert keys."
msgstr "เพิ่มคีย์"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3688,14 +4466,6 @@ msgid "Clear Pose"
msgstr "ลบท่าทาง"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "เลื่อนจุดหมุนจาà¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸¡à¸²à¸ªà¹Œ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "à¸à¸³à¸«à¸™à¸”จุดหมุนที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸¡à¸²à¸ªà¹Œ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "เพิ่มความถี่เส้นตารางขึ้น 2 เท่า"
@@ -3711,10 +4481,6 @@ msgstr "เพิ่ม %s"
msgid "Adding %s..."
msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸žà¸´à¹ˆà¸¡ %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "ตà¸à¸¥à¸‡"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "อินสà¹à¸•นซ์หลาย ๆ โหนดโดยที่ไม่มีโหนดราà¸à¹„ม่ได้"
@@ -3749,27 +4515,20 @@ msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม 3D"
msgid "Set Handle"
msgstr "ปรับขนาดรูปร่าง"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "ลบไอเทม %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "เพิ่มไอเทม"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "ลบไอเทมที่เลือà¸"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "อนุภาค"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "นำเข้าจาà¸à¸‰à¸²à¸"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "สร้างจุดปะทุจาภMesh"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3839,15 +4598,6 @@ msgstr "à¸à¸” Shift ค้างเพื่อปรับเส้นสัà¸
msgid "Bake GI Probe"
msgstr "สร้าง GI Probe"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "เพิ่ม/ลบตำà¹à¸«à¸™à¹ˆà¸‡à¸ªà¸µ"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹„ล่สี"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "ไอเทม %d"
@@ -3933,6 +4683,7 @@ msgid "No mesh to debug."
msgstr "ไม่มีพื้นผิวให้à¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸­à¸‡"
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "โมเดลไม่มี UV ในชั้นนี้"
@@ -4000,6 +4751,27 @@ msgstr "สร้างเส้นขอบ Mesh"
msgid "Outline Size:"
msgstr "ขนาดเส้นรอบรูป:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "ลบไอเทม %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "นำเข้าจาà¸à¸‰à¸²à¸"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "อัพเดตจาà¸à¸‰à¸²à¸"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "ไม่ได้ระบุ mesh ต้นฉบับ (à¹à¸¥à¸°à¹„ม่ได้ระบุ MultiMesh ไว้ในโหนด)"
@@ -4100,70 +4872,6 @@ msgstr "สุ่มขนาด:"
msgid "Populate"
msgstr "สร้าง"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "สร้าง!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "สร้าง Mesh นำทาง"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "ล้าง Mesh นำทาง"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸±à¸”à¸à¸²à¸£à¹‚ครงร่าง..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸„ำนวณขนาดตาราง..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸™à¸²à¸¡à¸„วามสูง..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸à¸³à¸«à¸™à¸”พื้นผิวที่เดินผ่านได้..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸šà¸µà¸šà¸­à¸±à¸”สนามความสูง..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "บีบà¹à¸„บส่วนที่เดินผ่านได้..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¹à¸šà¹ˆà¸‡à¸ªà¹ˆà¸§à¸™..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸„อนทัวร์..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ Polymesh..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¹à¸›à¸¥à¸‡à¸à¸¥à¸±à¸šà¹€à¸›à¹‡à¸™ Mesh นำทาง..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "à¸à¸²à¸£à¸•ั้งค่าà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸žà¸·à¹‰à¸™à¸œà¸´à¸§à¸™à¸³à¸—าง:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "วิเคราะห์พื้นผิว..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "เสร็จสิ้น!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "สร้างรูปทรงนำทาง"
@@ -4224,18 +4932,6 @@ msgid "Emission Colors"
msgstr "สีà¸à¸²à¸£à¸›à¸°à¸—ุ"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "โหนดไม่มี geometry"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "โหนดไม่มี geometry (หน้า)"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "ต้องà¸à¸²à¸£à¸§à¸±à¸ªà¸”ุประเภท 'ParticlesMaterial'"
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "หน้าไม่มีพื้นที่!"
@@ -4244,16 +4940,12 @@ msgid "No faces!"
msgstr "ไม่มีหน้า!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "สร้างเส้นà¸à¸£à¸­à¸š"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "สร้างจุดปะทุจาภMesh"
+msgid "Node does not contain geometry."
+msgstr "โหนดไม่มี geometry"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "สร้างจุดปะทุจาà¸à¹‚หนด"
+msgid "Node does not contain geometry (faces)."
+msgstr "โหนดไม่มี geometry (หน้า)"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4280,6 +4972,19 @@ msgid "Emission Source: "
msgstr "à¹à¸«à¸¥à¹ˆà¸‡à¸›à¸°à¸—ุ: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "ต้องà¸à¸²à¸£à¸§à¸±à¸ªà¸”ุประเภท 'ParticlesMaterial'"
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "สร้างเส้นà¸à¸£à¸­à¸š"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™à¸•ัวพิมพ์ใหà¸à¹ˆ"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "สร้างเส้นà¸à¸£à¸­à¸šà¸à¸²à¸£à¸¡à¸­à¸‡à¹€à¸«à¹‡à¸™"
@@ -4356,6 +5061,22 @@ msgstr "ลบจุด"
msgid "Close Curve"
msgstr "ปิดเส้นโค้ง"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "จุดเส้นโค้ง #"
@@ -4388,19 +5109,95 @@ msgstr "ลบจุดควบคุมขาออà¸"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "à¹à¸ªà¸”งà¸à¸£à¸°à¸”ูà¸"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "สร้าง UV Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "สร้างรูปหลายเหลี่ยม"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "มีà¸à¸²à¸£à¸à¸£à¸°à¸—ำ '%s' อยู่à¹à¸¥à¹‰à¸§!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "เพิ่มจุด"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่อยู่ไม่ถูà¸à¸•้อง!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "ลบจุด"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "เคลื่อนย้าย UV Map"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "à¹à¸à¹‰à¹„ข UV รูปหลายเหลี่ยม 2D"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "à¹à¸à¹‰à¹„ขรูปหลายเหลี่ยม"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "ตัดเส้น"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "สร้างà¸à¸£à¸°à¸”ูà¸"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "สร้างรูปหลายเหลี่ยม"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "ย้ายจุด"
@@ -4429,12 +5226,25 @@ msgid "Scale Polygon"
msgstr "ปรับขนาดรูปหลายเหลี่ยม"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "à¹à¸à¹‰à¹„ข"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4449,9 +5259,9 @@ msgid "Clear UV"
msgstr "ลบ UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่อนย้าย"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "à¸à¸²à¸£à¸•ั้งค่า GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4461,6 +5271,36 @@ msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่อนย้าย"
msgid "Grid"
msgstr "เส้นตาราง"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "จุดà¸à¸³à¹€à¸™à¸´à¸”ตาราง:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "จุดà¸à¸³à¹€à¸™à¸´à¸”ตาราง:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "ระยะห่างเส้น:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "ระยะห่างเส้น:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "ปรับขนาดรูปหลายเหลี่ยม"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ผิดพลาด: โหลดรีซอร์สไม่ได้!"
@@ -4483,6 +5323,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "เปิดในโปรà¹à¸à¸£à¸¡à¹à¸à¹‰à¹„ข"
@@ -4504,16 +5348,18 @@ msgid "Load Resource"
msgstr "โหลดรีซอร์ส"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "วาง"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "ผังà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹„ม่ถูà¸à¸•้อง"
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "ล้างรายà¸à¸²à¸£à¹„ฟล์ล่าสุด"
@@ -4523,6 +5369,21 @@ msgid "Close and save changes?"
msgstr "ปิดà¹à¸¥à¸°à¸šà¸±à¸™à¸—ึà¸?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "ผิดพลาดขณะย้ายไฟล์:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "โหลดภาพไม่ได้"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "ผิดพลาดขณะบันทึภTileSet!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "ผิดพลาดขณะบันทึà¸à¸˜à¸µà¸¡"
@@ -4539,6 +5400,21 @@ msgid "Error importing"
msgstr "ผิดพลาดขณะนำเข้า"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "สร้างโฟลเดอร์..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "เปิดไฟล์"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "บันทึà¸à¹€à¸›à¹‡à¸™..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "นำเข้าธีม"
@@ -4551,6 +5427,10 @@ msgid " Class Reference"
msgstr " ตำราอ้างอิงคลาส"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "เรียง"
@@ -4579,8 +5459,9 @@ msgid "File"
msgstr "ไฟล์"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "ไฟล์ใหม่"
+#, fuzzy
+msgid "New TextFile"
+msgstr "ดูไฟล์"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4607,6 +5488,11 @@ msgid "History Next"
msgstr "ประวัติถัดไป"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "ธีม"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "โหลดธีมใหม่"
@@ -4640,11 +5526,6 @@ msgstr "เปิด/ปิดà¹à¸œà¸‡à¸ªà¸„ริปต์"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "ค้นหา..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "ค้นหาต่อไป"
@@ -4698,10 +5579,6 @@ msgid "Discard"
msgstr "ละทิ้ง"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "สร้างสคริปต์"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4722,45 +5599,71 @@ msgid "Debugger"
msgstr "ตัวà¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸­à¸‡"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "ค้นหาในคู่มือ"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "ค้นหาคลาส"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr "สคริปต์à¸à¸±à¸‡à¸ˆà¸°à¹à¸à¹‰à¹„ขได้ต่อเมื่อฉาà¸à¸—ี่à¸à¸±à¸‡à¸ªà¸„ริปต์นั้นถูà¸à¹€à¸›à¸´à¸”อยู่"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "บรรทัด:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "สามารถวางรีซอร์สจาà¸à¸£à¸°à¸šà¸šà¹„ฟล์ได้เท่านั้น"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "เสนอà¹à¸™à¸°à¸„ำเต็ม"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "เลือà¸à¸ªà¸µ"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "à¹à¸›à¸¥à¸‡à¸•ัวพิมพ์ใหà¸à¹ˆ-เล็à¸"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "ตัวพิมพ์ใหà¸à¹ˆ"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "ตัวพิมพ์เล็à¸"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "ตัด"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "คัดลอà¸"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4848,8 +5751,9 @@ msgid "Find Previous"
msgstr "ค้นหาà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "à¹à¸—นที่..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "คัดà¸à¸£à¸­à¸‡à¹„ฟล์..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4867,129 +5771,42 @@ msgstr "ค้นหาคำที่เลือà¸à¹ƒà¸™à¸„ู่มือ"
msgid "Shader"
msgstr "Shader"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "à¹à¸à¹‰à¹„ขค่าคงที่สเà¸à¸¥à¸²à¸£à¹Œ"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "à¹à¸à¹‰à¹„ขค่าคงที่เวà¸à¹€à¸•อร์"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "à¹à¸à¹‰à¹„ขค่าคงที่สี"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "à¹à¸à¹‰à¹„ขเครื่องหมายสเà¸à¸¥à¸²à¸£à¹Œ"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "à¹à¸à¹‰à¹„ขเครื่องหมายเวà¸à¹€à¸•อร์"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "à¹à¸à¹‰à¹„ขเครื่องหมายเวà¸à¹€à¸•อร์สเà¸à¸¥à¸²à¸£à¹Œ"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "à¹à¸à¹‰à¹„ขเครื่องหมาย RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "สลับเฉพาะà¸à¸²à¸£à¸«à¸¡à¸¸à¸™"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "à¹à¸à¹‰à¹„ขฟังà¸à¹Œà¸Šà¸±à¸™à¸ªà¹€à¸à¸¥à¸²à¸£à¹Œ"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "à¹à¸à¹‰à¹„ขฟังà¸à¹Œà¸Šà¸±à¸™à¹€à¸§à¸à¹€à¸•อร์"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "à¹à¸à¹‰à¹„ขสเà¸à¸¥à¸²à¸£à¹Œ Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "à¹à¸à¹‰à¹„ขเวà¸à¹€à¸•อร์ Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "à¹à¸à¹‰à¹„ข RGB Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "à¹à¸à¹‰à¹„ขค่าปริยาย"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "à¹à¸à¹‰à¹„ข XForm Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "à¹à¸à¹‰à¹„ข Texture Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "à¹à¸à¹‰à¹„ข Cubemap Uniform"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "เปลี่ยนข้อคิดเห็น"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "เพิ่ม/ลบในà¸à¸²à¸£à¹„ล่สี"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "เพิ่ม/ลบในเส้นโค้ง"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "à¹à¸à¹‰à¹„ขเส้นโค้ง"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "เปลี่ยนชื่ออินพุต"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "เชื่อมต่อโหนด"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "ตัดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อโหนด"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "ลบโหนด"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "โครงà¸à¸£à¸°à¸”ูà¸..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "ย้ายโหนด"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "ทำซ้ำโหนด"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "ลบโหนด"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "สร้าง Mesh นำทาง"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "ผิดพลาด: เชื่อมต่อเป็นวง"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "โครงà¸à¸£à¸°à¸”ูà¸..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "ผิดพลาด: ไม่มีขาเข้า"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "สร้าง C# solution"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "เพิ่มโหนด"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "เล่น"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5116,10 +5933,6 @@ msgid "Align with view"
msgstr "ย้ายมาที่à¸à¸¥à¹‰à¸­à¸‡"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "ตà¸à¸¥à¸‡ :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "ไม่พบโหนดà¹à¸¡à¹ˆà¸—ี่จะรับอินสà¹à¸•นซ์โหนดลูà¸"
@@ -5128,6 +5941,11 @@ msgid "This operation requires a single selected node."
msgstr "ต้องเลือà¸à¹€à¸žà¸µà¸¢à¸‡à¹‚หนดเดียว"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "à¹à¸ªà¸”งข้อมูล"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "à¹à¸ªà¸”งปà¸à¸•ิ"
@@ -5172,6 +5990,11 @@ msgid "Doppler Enable"
msgstr "เปิดดอปเพลอร์"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ à¸²à¸žà¸•ัวอย่าง Mesh"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "มุมมองอิสระ ไปซ้าย"
@@ -5302,6 +6125,11 @@ msgid "Tool Scale"
msgstr "เครื่องมือปรับขนาด"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "จำà¸à¸±à¸”ด้วยเส้นตาราง"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "เปิด/ปิดมุมมองอิสระ"
@@ -5310,6 +6138,10 @@ msgid "Transform"
msgstr "เคลื่อนย้าย"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "เครื่องมือเคลื่อนย้าย..."
@@ -5338,6 +6170,11 @@ msgid "4 Viewports"
msgstr "4 มุมมอง"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "à¹à¸ªà¸”งสัà¸à¸¥à¸±à¸à¸©à¸“์"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "à¹à¸ªà¸”งจุดà¸à¸³à¹€à¸™à¸´à¸”"
@@ -5351,10 +6188,6 @@ msgid "Settings"
msgstr "ตัวเลือà¸"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "à¹à¸ªà¸”งโครงà¸à¸£à¸°à¸”ูà¸"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”"
@@ -5414,6 +6247,53 @@ msgstr "à¸à¹ˆà¸­à¸™"
msgid "Post"
msgstr "หลัง"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "SpriteFrames"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "สร้างเส้นขอบ Mesh"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Snap (พิà¸à¹€à¸‹à¸¥):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "ตัวอย่าง Atlas"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "ตัวเลือà¸"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "ผิดพลาด: โหลดรีซอร์สเฟรมไม่ได้!"
@@ -5482,14 +6362,6 @@ msgstr "ย้าย (หลัง)"
msgid "SpriteFrames"
msgstr "SpriteFrames"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "ตัวอย่าง StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StyleBox"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "à¸à¸³à¸«à¸™à¸”ขอบเขต Texture"
@@ -5515,28 +6387,22 @@ msgid "Auto Slice"
msgstr "à¹à¸šà¹ˆà¸‡à¸­à¸±à¸•โนมัติ"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "เลื่อน:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "ขนาด:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "เว้น:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "ขอบเขต Texture"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹à¸šà¹ˆà¸‡à¸ªà¹ˆà¸§à¸™ Texture"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "บันทึà¸à¸˜à¸µà¸¡à¹„ม่ได้:"
@@ -5550,11 +6416,6 @@ msgid "Add All"
msgstr "เพิ่มทั้งหมด"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "ลบไอเทม"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "ลบทั้งหมด"
@@ -5628,10 +6489,6 @@ msgstr "มี"
msgid "Many"
msgstr "หลาย"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "ตัวเลือà¸"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5657,7 +6514,7 @@ msgstr "ชนิดข้อมูล:"
msgid "Icon"
msgstr "รูปย่อ"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "รูปà¹à¸šà¸š"
@@ -5670,14 +6527,19 @@ msgid "Color"
msgstr "สี"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "ธีม"
+msgid "Constant"
+msgstr "คงที่"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "ลบที่เลือà¸"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "ชื่อผิดพลาด"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "วาด TileMap"
@@ -5698,11 +6560,8 @@ msgid "Erase TileMap"
msgstr "ลบ TileMap"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "ลบที่เลือà¸"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "ค้นหา tile"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5726,6 +6585,11 @@ msgid "Pick Tile"
msgstr "เลือภTile"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "ลบที่เลือà¸"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "หมุน 0 องศา"
@@ -5742,66 +6606,119 @@ msgid "Rotate 270 degrees"
msgstr "หมุน 270 องศา"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "ไม่พบ tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "เพิ่มโหนดจาà¸à¸œà¸±à¸‡"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "ชื่อหรือ ID ไอเทม:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "ลบรายà¸à¸²à¸£"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "สร้างจาà¸à¸‰à¸²à¸?"
+msgid "Create from Scene"
+msgstr "สร้างจาà¸à¸‰à¸²à¸"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "รวมจาà¸à¸‰à¸²à¸?"
+msgid "Merge from Scene"
+msgstr "รวมจาà¸à¸‰à¸²à¸"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr "เลือà¸à¸£à¸¹à¸›à¸ à¸²à¸žà¸¢à¹ˆà¸­à¸¢à¹€à¸žà¸·à¹ˆà¸­à¸—ำเป็นไอคอน ภาพนี้จะใช้à¹à¸ªà¸”งเมื่อà¸à¸²à¸£"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "สร้างจาà¸à¸‰à¸²à¸"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "รวมจาà¸à¸‰à¸²à¸"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-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?"
+msgstr "สร้างจาà¸à¸‰à¸²à¸?"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr "Autotiles"
+msgid "Merge from scene?"
+msgstr "รวมจาà¸à¸‰à¸²à¸?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
-msgstr "เลือà¸à¸£à¸¹à¸›à¸ à¸²à¸žà¸¢à¹ˆà¸­à¸¢à¹€à¸žà¸·à¹ˆà¸­à¸—ำเป็นไอคอน ภาพนี้จะใช้à¹à¸ªà¸”งเมื่อà¸à¸²à¸£"
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"คลิà¸à¸‹à¹‰à¸²à¸¢: à¸à¸³à¸«à¸™à¸”ค่าบิต เปิด\n"
"คลิà¸à¸‚วา: à¸à¸³à¸«à¸™à¸”ค่าบิต ปิด"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "เลือà¸à¹„ทล์ย่อยที่à¸à¸³à¸¥à¸±à¸‡à¸›à¸£à¸±à¸šà¹à¸•่ง"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "เลือà¸à¹„ทล์ย่อยเพื่อจัดลำดับความสำคัà¸"
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "ยà¸à¹€à¸¥à¸´à¸"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "ทำไม่ได้ถ้าไม่มีฉาà¸"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Tile Set"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "มุมรูปทรง"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "ตัวà¹à¸›à¸£:"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "ขวา"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Shader"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5816,8 +6733,8 @@ msgid "Delete preset '%s'?"
msgstr "ลบ '%s'?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•ฟอร์มนี้สูà¸à¸«à¸²à¸¢/เสียหาย: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•ฟอร์มนี้สูà¸à¸«à¸²à¸¢/เสียหาย:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5890,10 +6807,6 @@ msgid "Export templates for this platform are missing:"
msgstr "ไม่พบà¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•ฟอร์มนี้:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•ฟอร์มนี้สูà¸à¸«à¸²à¸¢/เสียหาย:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "ส่งออà¸à¸žà¸£à¹‰à¸­à¸¡à¸à¸²à¸£à¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸­à¸‡"
@@ -5902,14 +6815,24 @@ msgid "The path does not exist."
msgstr "ไม่พบไฟล์"
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¹„ฟล์ 'project.godot'"
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¹‚ฟลเดอร์ที่ไม่มีไฟล์ 'project.godot'"
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¹‚ฟลเดอร์ว่างเปล่า"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¹„ฟล์ 'project.godot'"
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "นำเข้าโปรเจà¸à¸•์à¹à¸¥à¹‰à¸§"
@@ -5998,6 +6921,11 @@ msgid "Project Path:"
msgstr "ที่อยู่โปรเจà¸à¸•์:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "ที่อยู่โปรเจà¸à¸•์:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "เลือà¸"
@@ -6114,8 +7042,8 @@ msgstr "ปุ่มเมาส์"
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6127,9 +7055,23 @@ msgid "Rename Input Action Event"
msgstr "เปลี่ยนชื่อà¸à¸²à¸£à¸à¸£à¸°à¸—ำ"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "เปลี่ยนชื่อà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "เพิ่มปุ่มà¸à¸”ของà¸à¸²à¸£à¸à¸£à¸°à¸—ำ"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "อุปà¸à¸£à¸“์"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "อุปà¸à¸£à¸“์"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6171,20 +7113,24 @@ msgid "Wheel Down Button"
msgstr "ล้อเมาส์ลง"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "ปุ่ม 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "ล้อเมาส์ขึ้น"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "ปุ่ม 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "เมาส์ขวา"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "ปุ่ม 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "ปุ่ม 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "ปุ่ม 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "ปุ่ม 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6211,10 +7157,6 @@ msgid "Add Event"
msgstr "เพิ่มปุ่มà¸à¸”"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "อุปà¸à¸£à¸“์"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "ปุ่ม"
@@ -6259,6 +7201,12 @@ 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 "Already existing"
msgstr "มีอยู่à¸à¹ˆà¸­à¸™à¹à¸¥à¹‰à¸§"
@@ -6330,6 +7278,10 @@ msgstr "คุณสมบัติ:"
msgid "Override For..."
msgstr "à¸à¸³à¸«à¸™à¸”เฉพาะ..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "ปุ่มà¸à¸”"
@@ -6339,6 +7291,15 @@ msgid "Action:"
msgstr "à¸à¸²à¸£à¸à¸£à¸°à¸—ำ:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "à¸à¸²à¸£à¸à¸£à¸°à¸—ำ:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "อุปà¸à¸£à¸“์:"
@@ -6399,10 +7360,6 @@ msgid "AutoLoad"
msgstr "ออโต้โหลด"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "เลือภViewport"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "เข้านุ่มนวล"
@@ -6439,34 +7396,10 @@ msgid "Select Node"
msgstr "เลือà¸à¹‚หนด"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "สคริปต์ใหม่"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "%s ใหม่"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "ไม่ใช้ร่วมà¸à¸±à¸šà¸§à¸±à¸•ถุอื่น"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "เปิดในตัวจัดà¸à¸²à¸£à¹„ฟล์"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "à¹à¸›à¸¥à¸‡à¹€à¸›à¹‡à¸™ %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "ผิดพลาดขณะโหลดไฟล์: ไม่ใช่รีซอร์ส!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "โหนดที่เลือà¸à¹„ม่ใช่ Viewport!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "เลือà¸à¹‚หนด"
@@ -6475,18 +7408,6 @@ msgid "Bit %d, val %d."
msgstr "บิต %d, ค่า %d"
#: editor/property_editor.cpp
-msgid "On"
-msgstr "เปิด"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[ว่างเปล่า]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "à¸à¸³à¸«à¸™à¸”"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "คุณสมบัติ:"
@@ -6510,6 +7431,134 @@ msgstr "ใช้เครื่องมือ PVRTC ไม่ได้:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "โหลดรูปที่à¹à¸›à¸¥à¸‡à¹à¸¥à¹‰à¸§à¸”้วยเครื่องมือ PVRTC ไม่ได้:"
+#: 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
+#, fuzzy
+msgid "Advanced options"
+msgstr "ตัวเลือà¸à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "ชื่อโหนด:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "หาประเภทของโหนด"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "ฉาà¸à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "ขนาด:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "à¹à¸à¹‰à¹„ขสมà¸à¸²à¸£"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "สคริปต์หลังประมวลผล:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "เà¸à¹‡à¸š"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "ตัวพิมพ์เล็à¸"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "ตัวพิมพ์ใหà¸à¹ˆ"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "รีเซ็ตซูม"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "ผิดพลาด"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "หาโหนดà¹à¸¡à¹ˆà¹ƒà¸«à¸¡à¹ˆ"
@@ -6546,11 +7595,6 @@ msgstr "ตัวà¹à¸›à¸£à¸‰à¸²à¸à¸«à¸¥à¸±à¸:"
msgid "Scene Run Settings"
msgstr "ตัวเลือà¸à¸à¸²à¸£à¸£à¸±à¸™à¸‰à¸²à¸"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "ตà¸à¸¥à¸‡"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "ไม่มีโหนดà¹à¸¡à¹ˆà¹€à¸›à¹‡à¸™à¸—ี่อินสà¹à¸•นซ์ฉาà¸"
@@ -6570,6 +7614,10 @@ msgid "Instance Scene(s)"
msgstr "อินสà¹à¸•นซ์ฉาà¸"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "ลบสคริปต์"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "ทำà¸à¸±à¸šà¹‚หนดราà¸à¹„ม่ได้"
@@ -6610,12 +7658,34 @@ msgid "Load As Placeholder"
msgstr "โหลดเป็นตัวà¹à¸—น"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸­à¸´à¸™à¸ªà¹à¸•นซ์"
+#, fuzzy
+msgid "Make Local"
+msgstr "ระยะใà¸à¸¥à¹‰"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "เข้าใจ!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "สร้างโหนด"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "ฉาà¸"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "ฉาà¸"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "ลบà¸à¸²à¸£à¸ªà¸·à¸šà¸—อด"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "ตัดโหนด"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6626,6 +7696,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "ทำà¸à¸±à¸šà¹‚หนดที่ฉาà¸à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™à¸ªà¸·à¸šà¸—อดมาไม่ได้!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "เชื่อมสคริปต์"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "ลบโหนด"
@@ -6668,18 +7742,15 @@ msgid "Change Type"
msgstr "เปลี่ยนประเภท"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "เชื่อมสคริปต์"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "ลบสคริปต์"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "เข้าใจ!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "รวมจาà¸à¸‰à¸²à¸"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "บันทึà¸à¸à¸´à¹ˆà¸‡à¹€à¸›à¹‡à¸™à¸‰à¸²à¸"
@@ -6702,10 +7773,6 @@ msgid ""
msgstr "อินสà¹à¸•นซ์ฉาà¸à¹€à¸›à¹‡à¸™à¹‚หนด สร้างฉาà¸à¸ªà¸·à¸šà¸—อดถ้าไม่มีโหนดราà¸"
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "ตัวà¸à¸£à¸­à¸‡"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "เชื่อมสคริปต์ใหม่หรือที่มีอยู่เดิมให้à¸à¸±à¸šà¹‚หนดที่เลือà¸"
@@ -6725,25 +7792,19 @@ msgstr "ระยะใà¸à¸¥à¹‰"
msgid "Clear Inheritance? (No Undo!)"
msgstr "ลบà¸à¸²à¸£à¸ªà¸·à¸šà¸—อด? (ย้อนà¸à¸¥à¸±à¸šà¹„ม่ได้!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "ลบ!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "ซ่อน/à¹à¸ªà¸”งโหนด Spatial"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "ซ่อน/à¹à¸ªà¸”งโหนด CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "ซ่อน/à¹à¸ªà¸”ง"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "คำเตือนà¸à¸²à¸£à¸•ั้งค่าโหนด:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"โหนดมีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยงà¹à¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡\n"
@@ -6765,22 +7826,25 @@ msgstr ""
"โหนดอยู่ในà¸à¸¥à¸¸à¹ˆà¸¡\n"
"คลิà¸à¹€à¸žà¸·à¹ˆà¸­à¹à¸ªà¸”งà¹à¸œà¸‡à¸à¸¥à¸¸à¹ˆà¸¡"
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "เปิดสคริปต์"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"โหนดถูà¸à¸¥à¹‡à¸­à¸„\n"
"คลิà¸à¹€à¸žà¸·à¹ˆà¸­à¸›à¸¥à¸”ล็อค"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"โหนดลูà¸à¸–ูà¸à¸—ำให้เลือà¸à¹„ม่ได้\n"
"คลิà¸à¹€à¸žà¸·à¹ˆà¸­à¸—ำให้เลือà¸à¹„ด้"
@@ -6790,6 +7854,12 @@ 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 "ชื่อโหนดไม่ถูà¸à¸•้อง ใช้ตัวอัà¸à¸©à¸£à¸•่อไปนี้ไม่ได้:"
@@ -6826,6 +7896,11 @@ msgid "N/A"
msgstr "ไม่มี"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "เปิดตัวà¹à¸à¹‰à¹„ขสคริปต์"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่อยู่ว่างเปล่า"
@@ -7062,10 +8137,23 @@ msgid "Change Camera Size"
msgstr "ปรับขนาดà¸à¸¥à¹‰à¸­à¸‡"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "à¹à¸à¹‰à¹„ขขนาด Notifier"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "เปลี่ยนเส้นà¸à¸£à¸­à¸š Particles"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "à¹à¸à¹‰à¹„ขขนาด Probe"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "ปรับรัศมีทรงà¸à¸¥à¸¡"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "ปรับขนาดทรงสี่เหลี่ยม"
@@ -7078,20 +8166,38 @@ msgid "Change Capsule Shape Height"
msgstr "ปรับความสูงทรงà¹à¸„ปซูล"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "ปรับความยาวรังสี"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "ปรับรัศมีทรงà¹à¸„ปซูล"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "à¹à¸à¹‰à¹„ขขนาด Notifier"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "ปรับความสูงทรงà¹à¸„ปซูล"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "เปลี่ยนเส้นà¸à¸£à¸­à¸š Particles"
+msgid "Change Ray Shape Length"
+msgstr "ปรับความยาวรังสี"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "à¹à¸à¹‰à¹„ขขนาด Probe"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "ปรับรัศมีà¹à¸ªà¸‡"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "ปรับความสูงทรงà¹à¸„ปซูล"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "ปรับรัศมีทรงà¸à¸¥à¸¡"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "ปรับรัศมีà¹à¸ªà¸‡"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7146,16 +8252,6 @@ msgid "GDNative"
msgstr "GDNative"
#: 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_* เท่านั้น"
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "ไบต์ไม่ครบหรือผิดรูปà¹à¸šà¸š ไม่สามารถà¹à¸›à¸¥à¸‡à¸„่าได้"
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "ตัวà¹à¸›à¸£ step เป็นศูนย์!"
@@ -7220,6 +8316,11 @@ msgid "GridMap Delete Selection"
msgstr "ลบที่เลือà¸à¹ƒà¸™ GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "ลบที่เลือà¸à¹ƒà¸™ GridMap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "ทำซ้ำใน GridMap"
@@ -7300,6 +8401,11 @@ 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 "à¸à¸²à¸£à¸•ั้งค่า GridMap"
@@ -7368,6 +8474,70 @@ msgstr "ดูไฟล์"
msgid "End of inner exception stack trace"
msgstr "สิ้นสุดสà¹à¸•คข้อผิดพลาดภายใน"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "สร้าง!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "สร้าง Mesh นำทาง"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "ล้าง Mesh นำทาง"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸±à¸”à¸à¸²à¸£à¹‚ครงร่าง..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸„ำนวณขนาดตาราง..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸™à¸²à¸¡à¸„วามสูง..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸à¸³à¸«à¸™à¸”พื้นผิวที่เดินผ่านได้..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸šà¸µà¸šà¸­à¸±à¸”สนามความสูง..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "บีบà¹à¸„บส่วนที่เดินผ่านได้..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¹à¸šà¹ˆà¸‡à¸ªà¹ˆà¸§à¸™..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¸„อนทัวร์..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ Polymesh..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¹à¸›à¸¥à¸‡à¸à¸¥à¸±à¸šà¹€à¸›à¹‡à¸™ Mesh นำทาง..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "à¸à¸²à¸£à¸•ั้งค่าà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸žà¸·à¹‰à¸™à¸œà¸´à¸§à¸™à¸³à¸—าง:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "วิเคราะห์พื้นผิว..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "เสร็จสิ้น!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7420,10 +8590,6 @@ msgid "Set Variable Type"
msgstr "à¹à¸à¹‰à¹„ขประเภทตัวà¹à¸›à¸£"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "ตัวà¹à¸›à¸£:"
@@ -7532,36 +8698,14 @@ msgid "Connect Nodes"
msgstr "เชื่อมโหนด"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "เงื่อนไข"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "ลำดับ"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "ทางเลือà¸"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "ตัววนซ้ำ"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "ทำซ้ำถ้าเงื่อนไขเป็นจริง"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "คืนค่า"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "เรียà¸"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "เชื่อมโหนด"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "รับ"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "เชื่อมโหนด"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7588,26 +8732,18 @@ msgid "Remove Function"
msgstr "ลบฟังà¸à¹Œà¸Šà¸±à¸™"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "à¹à¸à¹‰à¹„ขตัวà¹à¸›à¸£"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "ลบตัวà¹à¸›à¸£"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "à¹à¸à¹‰à¹„ขสัà¸à¸à¸²à¸“"
+msgid "Editing Variable:"
+msgstr "à¹à¸à¹‰à¹„ขตัวà¹à¸›à¸£:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "ลบสัà¸à¸à¸²à¸“"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "à¹à¸à¹‰à¹„ขตัวà¹à¸›à¸£:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "à¹à¸à¹‰à¹„ขสัà¸à¸à¸²à¸“:"
@@ -7651,6 +8787,11 @@ msgstr "ตัดโหนด"
msgid "Paste Nodes"
msgstr "วางโหนด"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "ตัวà¹à¸›à¸£"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "ตัวà¹à¸›à¸£à¸›à¸£à¸°à¹€à¸ à¸—นี้ใช้วนซ้ำไม่ได้: "
@@ -7705,6 +8846,19 @@ msgid ""
"(error)."
msgstr "ค่าคืนจาภ_step() ผิดพลาด ต้องเป็นจำนวนเต็ม (ลำดับ) หรือสตริง (ข้อผิดพลาด)"
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "ลบโหนด"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "รับ"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "รันในเบราเซอร์"
@@ -7752,9 +8906,10 @@ msgstr ""
"โหนดà¹à¸£à¸à¹€à¸—่านั้นที่จะทำงานได้ปà¸à¸•ิ ที่เหลือจะไม่ทำงาน"
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"โหนดนี้ไม่มีโหนดรูปทรงเป็นโหนดลูภจึงไม่มีผลทางà¸à¸²à¸¢à¸ à¸²à¸ž\n"
@@ -7848,6 +9003,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "ต้องà¹à¸à¹‰à¹„ข Path ให้ชี้ไปยังโหนด Node2D จึงจะทำงานได้"
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7907,9 +9075,10 @@ msgid "Lighting Meshes: "
msgstr "ส่องà¹à¸ªà¸‡à¸šà¸™à¸žà¸·à¹‰à¸™à¸œà¸´à¸§: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"โหนดนี้ไม่มีโหนดรูปทรงเป็นโหนดลูภจึงไม่มีผลทางà¸à¸²à¸¢à¸ à¸²à¸ž\n"
@@ -7992,6 +9161,20 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
msgstr ""
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"ระบบฟิสิà¸à¸ªà¹Œà¸ˆà¸°à¸ˆà¸±à¸”à¸à¸²à¸£à¸‚นาดของ RigidBody (ในโหมด character หรือ rigid) เมื่อรันเà¸à¸¡\n"
+"à¸à¸£à¸¸à¸“าปรับขนาดของ Collision shape à¹à¸—น"
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8004,6 +9187,47 @@ msgid ""
"it as a child of a VehicleBody."
msgstr "VehicleWheel เป็นระบบล้อของ VehicleBody à¸à¸£à¸¸à¸“าใช้เป็นโหนดลูà¸à¸‚อง VehicleBody"
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "เครื่องมือà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ผิดพลาด: ชื่อà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹„ม่ถูà¸à¸•้อง!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "ลบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยง '%s' à¸à¸±à¸š '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "เลือภAnimationPlayer จาà¸à¸œà¸±à¸‡à¸‰à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹à¸à¹‰à¹„ขà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "ผังà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹„ม่ถูà¸à¸•้อง"
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "โหมด Raw"
@@ -8082,12 +9306,368 @@ msgstr "ผิดพลาดขณะโหลดฟอนต์"
msgid "Invalid font size."
msgstr "ขนาดฟอนต์ผิดพลาด"
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "เพิ่มอินพุต"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<ไม่มี>"
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "à¹à¸—็บà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "à¹à¸à¹‰à¹„ขค่าคงที่สเà¸à¸¥à¸²à¸£à¹Œ"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "à¹à¸à¹‰à¹„ขค่าคงที่เวà¸à¹€à¸•อร์"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "à¹à¸à¹‰à¹„ขค่าคงที่สี"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "à¹à¸à¹‰à¹„ขเครื่องหมายสเà¸à¸¥à¸²à¸£à¹Œ"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "à¹à¸à¹‰à¹„ขเครื่องหมายเวà¸à¹€à¸•อร์"
-#~ msgid "Next"
-#~ msgstr "ต่อไป"
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "à¹à¸à¹‰à¹„ขเครื่องหมายเวà¸à¹€à¸•อร์สเà¸à¸¥à¸²à¸£à¹Œ"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "à¹à¸à¹‰à¹„ขเครื่องหมาย RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "สลับเฉพาะà¸à¸²à¸£à¸«à¸¡à¸¸à¸™"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "à¹à¸à¹‰à¹„ขฟังà¸à¹Œà¸Šà¸±à¸™à¸ªà¹€à¸à¸¥à¸²à¸£à¹Œ"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "à¹à¸à¹‰à¹„ขฟังà¸à¹Œà¸Šà¸±à¸™à¹€à¸§à¸à¹€à¸•อร์"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "à¹à¸à¹‰à¹„ขสเà¸à¸¥à¸²à¸£à¹Œ Uniform"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "à¹à¸à¹‰à¹„ขเวà¸à¹€à¸•อร์ Uniform"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "à¹à¸à¹‰à¹„ข RGB Uniform"
+
+#~ msgid "Change Default Value"
+#~ msgstr "à¹à¸à¹‰à¹„ขค่าปริยาย"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "à¹à¸à¹‰à¹„ข XForm Uniform"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "à¹à¸à¹‰à¹„ข Texture Uniform"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "à¹à¸à¹‰à¹„ข Cubemap Uniform"
+
+#~ msgid "Change Comment"
+#~ msgstr "เปลี่ยนข้อคิดเห็น"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "เพิ่ม/ลบในà¸à¸²à¸£à¹„ล่สี"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹„ล่สี"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "เพิ่ม/ลบในเส้นโค้ง"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "à¹à¸à¹‰à¹„ขเส้นโค้ง"
+
+#~ msgid "Change Input Name"
+#~ msgstr "เปลี่ยนชื่ออินพุต"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "เชื่อมต่อโหนด"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "ตัดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อโหนด"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "ลบโหนด"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "ย้ายโหนด"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "ทำซ้ำโหนด"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "ลบโหนด"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "ผิดพลาด: เชื่อมต่อเป็นวง"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "ผิดพลาด: ไม่มีขาเข้า"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "เพิ่มโหนด"
+
+#~ msgid "Disabled"
+#~ msgstr "ปิดใช้งาน"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "เลื่อนà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸‚ึ้น"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "เลื่อนà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸¥à¸‡"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "à¸à¸³à¸«à¸™à¸”ทรานสิชันเป็น:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "เปลี่ยนชื่อà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "เปลี่ยนโหมดà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "เปลี่ยนโหมดวนซ้ำà¹à¸—ร็à¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "à¹à¸à¹‰à¹„ขเส้นโค้งโหนด"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "à¹à¸à¹‰à¹„ขเส้นโค้งà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "เพิ่มคีย์à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "In"
+#~ msgstr "เข้า"
+
+#~ msgid "Out"
+#~ msgstr "ออà¸"
+
+#~ msgid "In-Out"
+#~ msgstr "เข้า-ออà¸"
+
+#~ msgid "Out-In"
+#~ msgstr "ออà¸-เข้า"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "ปรับความยาวà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "ปรับà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "สร้างคีย์ระบุประเภทà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "เพิ่มà¹à¸—ร็à¸à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™"
+
+#~ msgid "Length (s):"
+#~ msgstr "ความยาว (วิ):"
+
+#~ msgid "Step (s):"
+#~ msgstr "ช่วง (วิ):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "เลื่อนเคอร์เซอร์ในช่วง (วินาที)"
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "เปิด/ปิดà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸‚องà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Add new tracks."
+#~ msgstr "เพิ่มà¹à¸—ร็à¸à¹ƒà¸«à¸¡à¹ˆ"
+
+#~ msgid "Move current track up."
+#~ msgstr "เลื่อนà¹à¸—ร็à¸à¸‚ึ้น"
+
+#~ msgid "Move current track down."
+#~ msgstr "เลื่อนà¹à¸—ร็à¸à¸¥à¸‡"
+
+#~ msgid "Track tools"
+#~ msgstr "เครื่องมือà¹à¸—ร็à¸"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "เปิดà¸à¸²à¸£à¹à¸à¹‰à¹„ขคีย์โดยà¸à¸²à¸£à¸„ลิà¸"
+
+#~ msgid "Key"
+#~ msgstr "คีย์"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "เรียà¸à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸‚องโหนดใด?"
+
+#~ msgid "Thanks!"
+#~ msgstr "ขอบคุณ!"
+
+#~ msgid "I see..."
+#~ msgstr "ตà¸à¸¥à¸‡..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "เปิด '%s' ไม่ได้"
+
+#~ msgid "Ugh"
+#~ msgstr "เออะ"
+
+#~ msgid "Run Script"
+#~ msgstr "รันสคริปต์"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "บันทึà¸à¸£à¸µà¸‹à¸­à¸£à¹Œà¸ªà¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸›à¸£à¸±à¸šà¹à¸•่ง"
+
+#~ msgid "Stop Profiling"
+#~ msgstr "หยุดบันทึà¸"
+
+#~ msgid "Start Profiling"
+#~ msgstr "เริ่มบันทึà¸"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "ค่าเริ่มต้น (เหมือนà¸à¸±à¸šà¹‚ปรà¹à¸à¸£à¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸à¸¡)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "สร้างà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¹ƒà¸«à¸¡à¹ˆà¹ƒà¸™à¸•ัวเล่น"
+
+#~ msgid "Load animation from disk."
+#~ msgstr "โหลดà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸ˆà¸²à¸à¸”ิสà¸à¹Œ"
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "โหลดà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™à¸ˆà¸²à¸à¸”ิสà¸à¹Œ"
+
+#~ msgid "Save the current animation"
+#~ msgstr "บันทึà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "à¹à¸à¹‰à¹„ขระยะเวลาà¸à¸²à¸£à¸œà¸ªà¸²à¸™à¹„ปยังเป้าหมาย"
+
+#~ msgid "Copy Animation"
+#~ msgstr "คัดลอà¸à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™"
+
+#~ msgid "Fetching:"
+#~ msgstr "à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸šà¸‚้อมูล:"
+
+#~ msgid "prev"
+#~ msgstr "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+
+#~ msgid "next"
+#~ msgstr "ถัดไป"
+
+#~ msgid "last"
+#~ msgstr "ท้ายสุด"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "à¹à¸à¹‰à¹„ข IK Chain"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "เลื่อนจุดหมุนจาà¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸¡à¸²à¸ªà¹Œ"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "à¸à¸³à¸«à¸™à¸”จุดหมุนที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸¡à¸²à¸ªà¹Œ"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "เพิ่ม/ลบตำà¹à¸«à¸™à¹ˆà¸‡à¸ªà¸µ"
+
+#~ msgid "OK :("
+#~ msgstr "ตà¸à¸¥à¸‡ :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "à¹à¸ªà¸”งโครงà¸à¸£à¸°à¸”ูà¸"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "ตัวอย่าง StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StyleBox"
+
+#~ msgid "Separation:"
+#~ msgstr "เว้น:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹à¸šà¹ˆà¸‡à¸ªà¹ˆà¸§à¸™ Texture"
+
+#~ msgid "Erase selection"
+#~ msgstr "ลบที่เลือà¸"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "ไม่พบ tile:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "ชื่อหรือ ID ไอเทม:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Autotiles"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•ฟอร์มนี้สูà¸à¸«à¸²à¸¢/เสียหาย: "
+
+#~ msgid "Button 7"
+#~ msgstr "ปุ่ม 7"
+
+#~ msgid "Button 8"
+#~ msgstr "ปุ่ม 8"
+
+#~ msgid "Button 9"
+#~ msgstr "ปุ่ม 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸­à¸´à¸™à¸ªà¹à¸•นซ์"
+
+#~ msgid "Clear!"
+#~ msgstr "ลบ!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "ซ่อน/à¹à¸ªà¸”งโหนด Spatial"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "ซ่อน/à¹à¸ªà¸”งโหนด CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "เงื่อนไข"
+
+#~ msgid "Sequence"
+#~ msgstr "ลำดับ"
+
+#~ msgid "Switch"
+#~ msgstr "ทางเลือà¸"
+
+#~ msgid "Iterator"
+#~ msgstr "ตัววนซ้ำ"
+
+#~ msgid "While"
+#~ msgstr "ทำซ้ำถ้าเงื่อนไขเป็นจริง"
+
+#~ msgid "Return"
+#~ msgstr "คืนค่า"
+
+#~ msgid "Call"
+#~ msgstr "เรียà¸"
+
+#~ msgid "Edit Variable"
+#~ msgstr "à¹à¸à¹‰à¹„ขตัวà¹à¸›à¸£"
+
+#~ msgid "Edit Signal"
+#~ msgstr "à¹à¸à¹‰à¹„ขสัà¸à¸à¸²à¸“"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "ใช้ชื่อนี้ไม่ได้ (มี '/' หรือ ':')"
@@ -8103,9 +9683,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Can't write file."
#~ msgstr "เขียนไฟล์ไม่ได้"
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¹‚ฟลเดอร์ที่ไม่มีไฟล์ 'project.godot'"
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "ไม่พบไฟล์ project.godot"
@@ -8227,18 +9804,12 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ "order for this sprite to work."
#~ msgstr "Viewport ใน path จะต้องปรับโหมดเป็น 'render target' จึงจะทำงานได้"
-#~ msgid "Filter:"
-#~ msgstr "ตัวà¸à¸£à¸­à¸‡:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' ผิดพลาดขณะอ่านไฟล์"
#~ msgid "Method List For '%s':"
#~ msgstr "รายชื่อเมท็อดของ '%s':"
-#~ msgid "Arguments:"
-#~ msgstr "ตัวà¹à¸›à¸£:"
-
#~ msgid "Return:"
#~ msgstr "คืนค่า:"
@@ -8269,9 +9840,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "ฉาà¸à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™à¸•้องบันทึà¸à¸à¹ˆà¸­à¸™à¸™à¸³à¹€à¸‚้าอีà¸à¸„รั้ง"
-#~ msgid "Save & Re-Import"
-#~ msgstr "บันทึà¸à¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าอีà¸à¸„รั้ง"
-
#~ msgid "Re-Importing"
#~ msgstr "นำเข้าอีà¸à¸„รั้ง"
@@ -8303,9 +9871,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Can't rename deps for:\n"
#~ msgstr "ไม่สามารถà¹à¸à¹‰à¹„ขชื่อสำหรับ:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "ผิดพลาดขณะย้ายไฟล์:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "เลือà¸à¸Šà¸·à¹ˆà¸­à¹à¸¥à¸°à¸•ำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่อยู่ใหม่ให้à¸à¸±à¸š:"
@@ -8330,9 +9895,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Target path must exist."
#~ msgstr "ต้องมีตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่อยู่"
-#~ msgid "Save path is empty!"
-#~ msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸šà¸±à¸™à¸—ึà¸à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²!"
-
#~ msgid "Import BitMasks"
#~ msgstr "นำเข้า BitMasks"
@@ -8439,15 +10001,9 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Max Angle"
#~ msgstr "มุมมาà¸à¸ªà¸¸à¸”"
-#~ msgid "Clips"
-#~ msgstr "คลิป"
-
#~ msgid "Start(s)"
#~ msgstr "เริ่ม"
-#~ msgid "End(s)"
-#~ msgstr "จบ"
-
#~ msgid "Filters"
#~ msgstr "ตัวà¸à¸£à¸­à¸‡"
@@ -8478,18 +10034,12 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Target Texture Folder:"
#~ msgstr "โฟลเดอร์ Texture ปลายทาง:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "สคริปต์หลังประมวลผล:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "ประเภทโหนดราà¸à¸à¸³à¸«à¸™à¸”เอง:"
#~ msgid "Auto"
#~ msgstr "อัตโนมัติ"
-#~ msgid "Root Node Name:"
-#~ msgstr "ชื่อโหนดราà¸:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "ไฟล์ต่อไปนี้หายไป:"
@@ -8547,9 +10097,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "นำเข้า Texture สำหรับ Atlas (2D)"
-#~ msgid "Cell Size:"
-#~ msgstr "ขนาดเซลล์:"
-
#~ msgid "Large Texture"
#~ msgstr "Texture ขนาดใหà¸à¹ˆ"
@@ -8624,9 +10171,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Couldn't save converted texture:"
#~ msgstr "บันทึภTexture ที่à¹à¸›à¸¥à¸‡à¹à¸¥à¹‰à¸§à¹„ม่ได้:"
-#~ msgid "Invalid source!"
-#~ msgstr "ต้นฉบับไม่ถูà¸à¸•้อง!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "ต้นฉบับà¸à¸²à¸£à¹à¸›à¸¥à¹„ม่ถูà¸à¸•้อง!"
@@ -8666,9 +10210,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Translation"
#~ msgstr "à¸à¸²à¸£à¹à¸›à¸¥"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "วิเคราะห์สามเหลี่ยม %d อัน:"
-
#~ msgid "Triangle #"
#~ msgstr "สามเหลี่ยม #"
@@ -8693,24 +10234,12 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "รีเซ็ตขั้นตอนà¸à¸²à¸£ bake lightmap octree (เริ่มใหม่)"
-#~ msgid "Zoom (%):"
-#~ msgstr "ซูม (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "โครงà¸à¸£à¸°à¸”ูà¸..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "รีเซ็ตà¸à¸²à¸£à¸‹à¸¹à¸¡"
-
#~ msgid "Zoom Set..."
#~ msgstr "ตั้งค่าà¸à¸²à¸£à¸‹à¸¹à¸¡..."
#~ msgid "Set a Value"
#~ msgstr "เซ็ตค่า"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Snap (พิà¸à¹€à¸‹à¸¥):"
-
#~ msgid "Parse BBCode"
#~ msgstr "ประมวลผล BBCode"
@@ -8786,12 +10315,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Resource Tools"
#~ msgstr "เครื่องมือรีซอร์ส"
-#~ msgid "Edit Groups"
-#~ msgstr "à¹à¸à¹‰à¹„ขà¸à¸¥à¸¸à¹ˆà¸¡"
-
-#~ msgid "Edit Connections"
-#~ msgstr "à¹à¸à¹‰à¹„ขà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¹‚ยง"
-
#~ msgid "GridMap Paint"
#~ msgstr "วาด GridMap"
@@ -8916,9 +10439,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Ambient Light Color:"
#~ msgstr "สีของà¹à¸ªà¸‡à¹‚ดยรอบ:"
-#~ msgid "Couldn't load image"
-#~ msgstr "โหลดภาพไม่ได้"
-
#~ msgid "Invalid parent class name"
#~ msgstr "ชื่อคลาสà¹à¸¡à¹ˆà¹„ม่ถูà¸à¸•้อง"
@@ -8934,9 +10454,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Parent class name is invalid!"
#~ msgstr "ชื่อคลาสà¹à¸¡à¹ˆà¹„ม่ถูà¸à¸•้อง!"
-#~ msgid "Invalid path!"
-#~ msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่อยู่ไม่ถูà¸à¸•้อง!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr "ต้องà¹à¸à¹‰à¹„ข Path ให้ชี้ไปยังโหนด Particles2D จึงจะทำงานได้"
@@ -9021,9 +10538,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Invalid character in group name!"
#~ msgstr "ใช้อัà¸à¸©à¸£à¸šà¸²à¸‡à¸•ัวในชื่อà¸à¸¥à¸¸à¹ˆà¸¡à¹„ม่ได้!"
-#~ msgid "Atlas Preview"
-#~ msgstr "ตัวอย่าง Atlas"
-
#~ msgid "Project Export Settings"
#~ msgstr "ตั้งค่าส่งออà¸à¹‚ปรเจà¸à¸•์"
@@ -9084,9 +10598,6 @@ msgstr "ขนาดฟอนต์ผิดพลาด"
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "à¸à¸²à¸£à¹à¸›à¸¥à¸‡à¹„ฟล์เสียง: (ไฟล์ .wav):"
-#~ msgid "Keep"
-#~ msgstr "เà¸à¹‡à¸š"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "บีบอัด (RAM - IMA-ADPCM)"
diff --git a/editor/translations/tr.po b/editor/translations/tr.po
index abe7d485fa..6b9de6a394 100644
--- a/editor/translations/tr.po
+++ b/editor/translations/tr.po
@@ -31,334 +31,489 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Devre dışı"
+#: 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() için geçersiz türde değiştirgen, TYPE_* sabitlerini kullanın."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Tüm Seçim"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Byte kodu çözmek için yetersiz byte, ya da Geçersiz format."
+
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "%s düğümünde geçersiz indeks özelliği ismi '%s'."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "%s düğümünde geçersiz indeks özelliği ismi '%s'."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Şu tür için geçersiz değiştirgen: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Ücretsiz"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "X'e Aynala"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Anahtar Gir"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Seçimi Çoğalt"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+msgstr "Seçilenleri Sil"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Animasyon Anahtarlarını Çoğalt"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Animasyon Anahtarları Sil"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Anim Anahtar-kare Zamanını Değiştir"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Animasyon Geçişinin Değişimi"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Animasyon Değişikliği Dönüşümü"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Anim Anahtar-kare DeÄŸerini DeÄŸiÅŸtir"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Animasyon Değişikliği Çağrısı"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Animasyon İz Ekle"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "Özellik:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Animasyon Anahtarlarını Çoğalt"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Dönüştürme Türü"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Animasyon İzini Yukarı Taşı"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Animasyon İzini Aşağı Taşı"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Animasyon İzini Kaldır"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Animasyonu oynatmayı durdur. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Animasyon İz Ekle"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Geçişleri Şuna Ayarla:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Animasyon uzunluÄŸu (saniye)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Animasyon İzini Yeniden Adlandır"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Animasyon yaklaÅŸ."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Anim İzi Değişikliği İnterpolasyonu"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "İşlevler:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Animasyon İzi Değişikliği Kipi"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "Ses Dinleyici"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Animasyon İzi Değişikliği Sarmalama Kipi"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "Parçalar"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Düğüm Eğrisini Düzenle"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Dikkat-Dağıtmayan Kipine geç."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Seçim Eğrisini Düzenle"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Animasyon Anahtarları Sil"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Animasyon Düğümü"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Seçimi Çoğalt"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Tersine Çevrilmişi Çoğalt"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Seçilen izleri sil."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Seçimi Kaldır"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "X-Sönülme Süresi (sn):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Kesintisiz"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Kesikli"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Tetikleyici"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Animasyon Anahtar Ekle"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Animasyon Anahtarları Taşı"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Seçimi Ölçekle"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "İmleçten Ölçekle"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Sonraki Adıma Git"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "Özellikler"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Önceki Adıma Git"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "DoÄŸrusal"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Sabit"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "GiriÅŸ"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Çıkış"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Giriş-Çıkış"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Çıkış-Giriş"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Anahtar Gir"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Geçişler"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Düğüm(leri) Çoğalt"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Animasyonu EniyileÅŸtir"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Düğümleri Sil"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Animasyonda temizlik yap"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Animasyon İzini Kaldır"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "%s için YENİ iz oluştur ve anahtar gir?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "%d YENİ izler oluştur ve anahtarlar gir?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "OluÅŸtur"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Animasyon Gir"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Animasyon OluÅŸtur & Gir"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Animasyon İz & Anahtar Gir"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Animasyon Anahtar Gir"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Animasyon UzunluÄŸunu DeÄŸiÅŸtir"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Animasyon Döngüsünü Değiştir"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Animasyon Yazılı Değer Anahtarı Oluştur"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Animasyon Gir"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "VariableGet betikte bulunamadı: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Animasyon Anahtarları Taşı"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Pano boÅŸ!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "Animasyon Anahtarı Ölçekle"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Animasyon Çağrı İzi Ekle"
+#: 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 "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "Animasyon yaklaÅŸ."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Uzunluk (sn):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Yapış (Noktalara):"
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Animasyon uzunluÄŸu (saniye)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Animasyon ağacı geçerlidir."
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Adım (sn):"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Düzenle"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "İmleç basamak yapışması (saniye)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "AnimasyonAğacı"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Animasyon yinelemesini Aç/Kapat."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Değişkenleri Tıpkıla"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Parametreleri Yapıştır"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Seçimi Ölçekle"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Yeni izler ekle."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "İmleçten Ölçekle"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Mevcut izi yukarı taşı."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Seçimi Çoğalt"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Mevcut izi aşağı taşı."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Tersine Çevrilmişi Çoğalt"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Seçilen izleri sil."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Seçilenleri Sil"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "İz araçları"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Sonraki Adıma Git"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Anahtarlara tıklayarak tek tek düzenlemeyi etkinleştir."
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Önceki Adıma Git"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Animasyonu EniyileÅŸtir"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Animasyonda temizlik yap"
+
+#: 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 "Anim. Optimizer"
msgstr "Anim. EniyileÅŸtirici"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "Maks. DoÄŸrusal Hata:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "Maks. Açısal Hata:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "Maks. Eniyileştirilebilir Açı:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "EniyileÅŸtir"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr ""
-"Sahne Ağacı'ndan animasyonları düzenleyebilmek için bir AnimationPlayer "
-"seçin."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Anahtar"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Geçiş"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Ölçek Oranı:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Hangi Düğümdeki İşlevler Çağrılsın?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Geçersiz anahtarları kaldır"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Çözümlenmemiş ve boş izleri sil"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Tüm animasyonları temizle"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Animasyon(ları) Temizle (GERİ ALINAMAZ!)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Temizle"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Ölçek Oranı:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Tıpkıla"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Diziyi Yeniden Boyutlandır"
@@ -379,7 +534,7 @@ msgstr "Satıra git"
msgid "Line Number:"
msgstr "Satır Numarası:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "EÅŸleÅŸme Yok"
@@ -395,7 +550,7 @@ msgstr "Büyük/Küçük Harf Eşleştir"
msgid "Whole Words"
msgstr "Tam Kelimeler"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "DeÄŸiÅŸtir"
@@ -407,18 +562,28 @@ msgstr "Tümünü Değiştir"
msgid "Selection Only"
msgstr "Yalnızca Seçim"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Yaklaştır"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Uzaklaştır"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Yaklaşmayı Sıfırla"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "Uyarılar"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "YaklaÅŸ (%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Satır:"
@@ -450,7 +615,8 @@ msgid "Add"
msgstr "Ekle"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -481,7 +647,7 @@ msgid "Oneshot"
msgstr "Tek sefer"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -503,11 +669,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Bunu '%s' ÅŸuna '%s' baÄŸla"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Bağlantı Sinyali:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Şunun: '%s' şununla: '%s' bağlantısını kes"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Şunun: '%s' şununla: '%s' bağlantısını kes"
#: editor/connections_dialog.cpp
@@ -515,14 +682,48 @@ msgid "Connect..."
msgstr "BaÄŸlan..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Bağlantıyı kes"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Bağlantı Sinyali:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Bağlantıları Düzenle"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Birden fazla projeyi çalıştırmaya kararlı mısınız?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Sinyaller"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Bağlantıyı kes"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Düzenle"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Metotlar"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "%s Tipini deÄŸiÅŸtir"
@@ -545,22 +746,25 @@ msgstr "BeÄŸeniler:"
msgid "Recent:"
msgstr "Yakın zamanda:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Ara:"
#: editor/create_dialog.cpp editor/editor_help.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 "EÅŸleÅŸmeler:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Açıklama:"
@@ -622,7 +826,9 @@ msgstr "Yerine Geçecek Kaynak Ara:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Aç"
@@ -643,7 +849,7 @@ msgstr ""
"Kaldırılmakta olan dosyalar başka kaynakların çalışması için gerekli.\n"
"Yine de kaldırmak istiyor musunuz? (geri alınamaz)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Kaldırılamadı:"
@@ -711,9 +917,13 @@ msgstr "Sözlükteki Değeri Değiştir"
msgid "Thanks from the Godot community!"
msgstr "Godot topluluğundan teşekkürler!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Teşekkürler!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Tamam"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -890,6 +1100,7 @@ msgid "Bus options"
msgstr "Bus ayarları"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Çoğalt"
@@ -958,7 +1169,8 @@ msgstr "Bus ekle"
msgid "Create a new Bus Layout."
msgstr "Yeni bir Bus Yerleşim Düzeni oluştur."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Yükle"
@@ -968,7 +1180,6 @@ msgid "Load an existing Bus Layout."
msgstr "Var olan bir Bus Yerleşim Düzeni yükle."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Farklı Kaydet"
@@ -1005,22 +1216,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "Geçersiz ad. Var olan genel değişmeyen bir adla çakışmamalıdır."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Gecersiz Yol."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Dosya yok."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Kaynak yolunda deÄŸil."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "KendindenYüklenme Ekle"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "KendindenYüklenme '%s' zaten var!"
@@ -1048,6 +1243,22 @@ msgstr "Etkin"
msgid "Rearrange Autoloads"
msgstr "KendindenYüklenme'leri Yeniden Sırala"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Gecersiz Yol."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Dosya yok."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Kaynak yolunda deÄŸil."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "KendindenYüklenme Ekle"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1078,7 +1289,7 @@ msgstr "Yerel değişiklikler kayıt ediliyor..."
msgid "Updating scene..."
msgstr "Sahne güncelleniyor..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "(boÅŸ)"
@@ -1140,6 +1351,12 @@ msgid "Copy Path"
msgstr "Dosya Yolunu Tıpkıla"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Dosya Yöneticisinde Göster"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Dosya Yöneticisinde Göster"
@@ -1176,7 +1393,7 @@ msgid "Open a File or Directory"
msgstr "Bir Dosya ya da Dizin Aç"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Kaydet"
@@ -1229,7 +1446,8 @@ msgstr "Üst klasöre git"
msgid "Directories & Files:"
msgstr "Dizinler & Dosyalar:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Önizleme:"
@@ -1381,20 +1599,28 @@ msgstr ""
"Bu metot için henüz bir açıklama yok. Bize [color=$color][url=$url]katkıda "
"bulunarak[/url][/color] yardım edebilirsiniz!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Yazı Ara"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "Özellik:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Bul"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Ayarla"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Çıktı:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1416,11 +1642,6 @@ msgstr "Kaynak kaydedilirken hata!"
msgid "Save Resource As..."
msgstr "Kaynağı Farklı Kaydet..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Anlıyorum..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Dosya yazmak için açılamıyor:"
@@ -1433,9 +1654,9 @@ msgstr "İstenilen dosya formatı bilinmiyor:"
msgid "Error while saving."
msgstr "Kaydedilirken hata oluÅŸtu."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "'%s' açılamıyor."
+#: 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'."
@@ -1478,10 +1699,6 @@ msgstr ""
"karşılanamadı."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Kaynak yükleme başarısız oldu."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Birleştirme için MeshLibrary yüklenemedi!"
@@ -1564,42 +1781,6 @@ msgstr ""
"aktarma kısmını okuyunuz."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Tüm özellikleri genişlet"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Tüm özellikleri daralt"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Değişkenleri Tıpkıla"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Parametreleri Yapıştır"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Kaynağı Yapıştır"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Kaynağı Tıpkıla"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Gömülü Yap"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Alt Kaynakları Eşsiz Yap"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Yardımda Aç"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Çalıştırmak için herhangi bir sahne seçilmedi."
@@ -1791,11 +1972,6 @@ msgstr ""
"Sahne '% s' otomatik olarak içe aktarıldı, bu nedenle değiştirilemez.\n"
"Değişiklik yapmak için miras alınmış yeni bir sahne oluşturulabilir."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Öff"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1826,6 +2002,16 @@ msgid "Default"
msgstr "Varsayılan"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Sahneyi Oynat"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "DiÄŸer Sekmeleri Kapat"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "Sahne Sekmesine Geç"
@@ -1947,10 +2133,6 @@ msgstr "Proje"
msgid "Project Settings"
msgstr "Proje Ayarları"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "Betiği Çalıştır"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "Dışa Aktar"
@@ -1960,6 +2142,11 @@ msgid "Tools"
msgstr "Araçlar"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Proje Yöneticisi Açılsın mı?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Proje Listesine Çık"
@@ -2070,6 +2257,20 @@ msgstr "Düzenleyici Yerleşim Düzeni"
msgid "Toggle Fullscreen"
msgstr "Tam Ekran Aç / Kapat"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Düzenleyici Ayarları"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Düzenleyici Ayarları"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Dışa Aktarım Şablonlarını Yönet"
@@ -2085,7 +2286,8 @@ msgstr "Sınıflar"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Ara"
@@ -2129,7 +2331,7 @@ msgstr "Sahneyi Duraklat"
msgid "Stop the scene."
msgstr "Sahneyi durdur."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Durdur"
@@ -2150,6 +2352,16 @@ msgid "Play Custom Scene"
msgstr "Özel Sahneyi Oynat"
#: 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Kaydet & Yeniden İçe Aktar"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "Düzenleyici penceresi yeniden boyandığında döndürülür!"
@@ -2169,42 +2381,6 @@ msgstr "Güncelleme Topacını Devre Dışı Bırak"
msgid "Inspector"
msgstr "Denetçi"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Bellekte yeni bir kaynak oluşturun ve onu düzenleyin."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Var olan bir kaynağı diskten yükleyin ve düzenleyin."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Düzenlenen kaynağı kaydedin."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Farklı Kaydet..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Geçmişte bir önceki düzenlenmiş nesneye gidin."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Geçmişte bir sonraki düzenlenmiş nesneye gidin."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "En son düzenlenen nesnelerin geçmişi."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "Nesne özellikleri."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "DeÄŸiÅŸiklikler Kaybolabilir!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2219,6 +2395,11 @@ msgid "FileSystem"
msgstr "DosyaSistemi"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Hepsini geniÅŸlet"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Çıktı"
@@ -2295,19 +2476,24 @@ msgid "Thumbnail..."
msgstr "Küçük Resim..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Çokluyu Düzenleyin"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Yüklü Eklentiler:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Güncelle"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "Sürüm:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Yazar:"
@@ -2315,13 +2501,16 @@ msgstr "Yazar:"
msgid "Status:"
msgstr "Durum:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Kesitlemeyi Durdur"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Düzenle"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Kesitlemeyi BaÅŸlat"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "BaÅŸlat!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2367,6 +2556,106 @@ msgstr "Zaman"
msgid "Calls"
msgstr "Çağrılar"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Açık"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Bit %d, val %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[BoÅŸ]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Ata"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Bir Görüntükapısı Seçin"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Yeni Betik"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Yeni %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Benzersiz Yap"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Dosya Sisteminde Göster"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Yapıştır"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Şuna Dönüştür %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "Düzenleyicide Aç"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "Seçili düğüm bir Viewport değil!"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "Odacık Boyutu:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "Yeni ad:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Yeni ad:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Öğeyi Kaldır"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Listeden aygıt seç"
@@ -2403,10 +2692,6 @@ msgstr "Betik çalıştırılamadı:"
msgid "Did you forget the '_run' method?"
msgstr "'_run()' metodunu unuttunuz mu?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Varsayılan (Düzenleyici İle Aynı)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Düğüm(leri) içe Aktarmak için Seç"
@@ -2432,6 +2717,7 @@ msgid "(Installed)"
msgstr "(Kurulu)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "İndir"
@@ -2456,7 +2742,8 @@ msgid "Can't open export templates zip."
msgstr "Dışa aktarım kalıplarının zipi açılamadı."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Şablonların içinde geçersiz version.txt formatı."
#: editor/export_template_manager.cpp
@@ -2518,6 +2805,12 @@ msgid "Download Complete."
msgstr "İndirme Tamamlandı."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Url isteği hatası: "
@@ -2596,7 +2889,8 @@ msgid "Download Templates"
msgstr "Şablonları İndir"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Listeden ayna seç: "
#: editor/file_type_cache.cpp
@@ -2610,11 +2904,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "Gidilemiyor. '%s' bu dosya sisteminde bulunamadı!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "Öğeleri küçük resim ızgarası şeklinde göster"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "Öğeleri liste olarak göster"
#: editor/filesystem_dock.cpp
@@ -2687,7 +2983,7 @@ msgstr "Hepsini geniÅŸlet"
msgid "Collapse all"
msgstr "Hepsini daralt"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Yeniden Adlandır..."
@@ -2716,6 +3012,23 @@ msgid "Duplicate..."
msgstr "Çoğalt..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Yeni Betik"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+msgstr "Kaynağı Farklı Kaydet..."
+
+#: 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 "Yeniden Adlandır"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Önceki Dizin"
@@ -2728,14 +3041,29 @@ msgid "Re-Scan Filesystem"
msgstr "Dosya Düzenini Yeniden Tara"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Klasör durumunu Beğenilen olarak değiştir"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Şuanki düzenlenmiş alt-döşemeyi seç."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Seçilen sahneyi/sahneleri seçilen düğüme çocuk olarak örneklendir."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Sınıfları Ara"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2743,14 +3071,112 @@ msgstr ""
"Dosyalar Taranıyor,\n"
"Lütfen Bekleyiniz..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Taşı"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Yeniden Adlandır"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Yolda bu isimde bir klasör zaten var."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Betik OluÅŸtur"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Döşentiyi Bul"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Bul"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Tam Kelimeler"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Büyük/Küçük Harf Eşleştir"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+msgstr "Süzgeç:"
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Bul..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr "DeÄŸiÅŸtir..."
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "Vazgeç"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "DeÄŸiÅŸtir"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Tümünü Değiştir"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Kaydediliyor..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Yazı Ara"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "HATA: Bu animasyon adı zaten var!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Geçersiz ad."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Gruplar"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Öbeğe Ekle"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Düğümleri Süzgeçden Geçir"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Öbekleri Düzenle"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2760,6 +3186,11 @@ msgstr "Öbeğe Ekle"
msgid "Remove from Group"
msgstr "Öbekten Kaldır"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Bediz Öbekleri"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Tek Bir Sahne Şeklinde İçe Aktar"
@@ -2801,7 +3232,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Çoklu Sahneler+Materyaller olarak İçe Aktar"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Sahneyi İçe Aktar"
@@ -2863,18 +3294,131 @@ msgstr "Ön ayar..."
msgid "Reimport"
msgstr "Yeniden İçe Aktar"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Kaynak yükleme başarısız oldu."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Tamam"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Tüm özellikleri genişlet"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Tüm özellikleri daralt"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Farklı Kaydet..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Değişkenleri Tıpkıla"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Parametreleri Yapıştır"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Kaynak panosu boÅŸ!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Kaynağı Tıpkıla"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Gömülü Yap"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Alt Kaynakları Eşsiz Yap"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+msgstr "Yardımda Aç"
+
+#: editor/inspector_dock.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr "Bellekte yeni bir kaynak oluşturun ve onu düzenleyin."
+
+#: editor/inspector_dock.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr "Var olan bir kaynağı diskten yükleyin ve düzenleyin."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the previous edited object in history."
+msgstr "Geçmişte bir önceki düzenlenmiş nesneye gidin."
+
+#: editor/inspector_dock.cpp
+msgid "Go to the next edited object in history."
+msgstr "Geçmişte bir sonraki düzenlenmiş nesneye gidin."
+
+#: editor/inspector_dock.cpp
+msgid "History of recently edited objects."
+msgstr "En son düzenlenen nesnelerin geçmişi."
+
+#: editor/inspector_dock.cpp
+msgid "Object properties."
+msgstr "Nesne özellikleri."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter properties"
+msgstr "Düğümleri Süzgeçden Geçir"
+
+#: editor/inspector_dock.cpp
+msgid "Changes may be lost!"
+msgstr "DeÄŸiÅŸiklikler Kaybolabilir!"
+
#: editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "MultiNode Kur"
#: editor/node_dock.cpp
-msgid "Groups"
-msgstr "Gruplar"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Sinyalleri ve Grupları düzenlemek için bir Düğüm seçin."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Çokluyu Düzenleyin"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "C# Çözümü oluştur"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Eklentiler"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Dil"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Betik geçerli"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2920,6 +3464,150 @@ msgstr ""
msgid "Delete points"
msgstr "Noktaları sil"
+#: 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 "Animasyon Ekle"
+
+#: 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
+#, fuzzy
+msgid "Load.."
+msgstr "Yükle"
+
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Noktaları sil"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "RMB: Noktayı Sil."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Point"
+msgstr "Noktayı Taşı"
+
+#: 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
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Animasyon Düğümü"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "İşlem '%s' zaten var!"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "%d Üçgenlerini Ayrıştırma:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr "Yapış"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "Edit Filters"
+msgstr "Süzgeçleri Düzenle"
+
+#: 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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Düğüm Ekle"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Süzgeçleri Düzenle"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Düzenlenebilir Çocuklar"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "KendindenOynatmayı Aç/Kapat"
@@ -2946,11 +3634,13 @@ msgid "Remove Animation"
msgstr "Animasyonu Kaldır"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "HATA: Geçersiz animasyon adı!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "HATA: Bu animasyon adı zaten var!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2959,11 +3649,6 @@ msgid "Rename Animation"
msgstr "Animasyonu Yeniden Adlandır"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Animasyon Ekle"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Sonraki Değişeni Karıştır"
@@ -2980,11 +3665,13 @@ msgid "Duplicate Animation"
msgstr "Animasyonu Çoğalt"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "HATA: Kopyalanacak animasyon yok!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "HATA: panoda animasyon kaynağı yok!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2996,7 +3683,8 @@ msgid "Paste Animation"
msgstr "Animasyonu Yapıştır"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "HATA: Düzenlenecek animasyon yok!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3028,20 +3716,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Düğüm için animasyon arka oynatmasını ölçeklendir."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Oynatıcıda yeni animasyon oluşturun."
+msgid "Animation Tools"
+msgstr "Animasyon Araçları"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "Animasyon"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Animasyonu diskten yükle."
+msgid "New"
+msgstr "Yeni"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Bir animasyonu diskten yükle."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Geçişler"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Geçerli animasyonu kaydet"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Düzenleyicide Aç"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3052,18 +3747,6 @@ msgid "Autoplay on Load"
msgstr "Yükleme sırasında KendindenOynat"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Amaçlanan Karışma Zamanlarını Düzenle"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Animasyon Araçları"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Animasyonu Tıpkıla"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Araları Doldurma"
@@ -3112,6 +3795,11 @@ msgid "Include Gizmos (3D)"
msgstr "Gizmoları Dahil Et (3B)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Animasyonu Yapıştır"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Yeni Animasyon OluÅŸtur"
@@ -3121,6 +3809,7 @@ msgstr "Animasyon Adı:"
#: 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3138,161 +3827,214 @@ msgstr "Sonraki (KendiliÄŸinden KuyruÄŸu):"
msgid "Cross-Animation Blend Times"
msgstr "Çapraz-Animasyon Karışma Süreleri"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "Animasyon"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "Son(lar)"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+msgstr "Kaynak yolunda deÄŸil."
+
+#: 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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Yeni %s oluÅŸtur"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Düğümleri Bağla"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Seçilen izleri sil."
+
+#: 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 "Geçiş"
#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+msgid "AnimationTree"
+msgstr "AnimasyonAğacı"
+
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "New name:"
msgstr "Yeni ad:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Süzgeçleri Düzenle"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "Ölçekle:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "Açılma (sn):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Karartma (sn):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Karıştır"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "Çırp"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "KendiliÄŸinden Yeniden BaÅŸlat:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "Yeniden BaÅŸlat (sn):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Rastgele Yeniden BaÅŸlama (sn):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "BaÅŸlat!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "DeÄŸer:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Karışma:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Karışma 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Karışma 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "X-Sönülme Süresi (sn):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Geçerli:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "GiriÅŸ Ekle"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Kendiliğinden İlerlemeyi Temizle"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Kendiliğinden İlerlemeyi Ayarla"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "GiriÅŸi Sil"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Animasyon ağacı geçerlidir."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Animasyon ağacı geçersizdir."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Animasyon Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "OneShot Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Düğümü Çırp"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Karıştır2 Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Karıştır3 Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Karıştır4 Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "TimeScale Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TimeSeek Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Geçiş Düğümü"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Animasyonları İçe Aktar..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Düğüm Süzgeçlerini Düzenle"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Süzgeçler..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "AnimasyonAğacı"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Ücretsiz"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "İçerikler:"
@@ -3346,8 +4088,14 @@ msgid "Asset Download Error:"
msgstr "Nesne İndirme Hatası:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "Alınıyor:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "İndiriliyor"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "İndiriliyor"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3374,20 +4122,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Bu nesne için zaten sürdürülen bir indirme var!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "ilk"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "önceki"
+#, fuzzy
+msgid "Previous"
+msgstr "Önceki sekme"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "sonraki"
+msgid "Next"
+msgstr "Sonraki"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "son"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3461,7 +4211,7 @@ msgid "Bake Lightmaps"
msgstr "Işık-Haritalarını Pişir"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Önizleme"
@@ -3470,12 +4220,10 @@ msgid "Configure Snap"
msgstr "Yapışmayı Yapılandır"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "Izgarayı Kaydır:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Izgara Adımı:"
@@ -3488,14 +4236,6 @@ msgid "Rotation Step:"
msgstr "Dönme Adımı:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "Ekseni Taşı"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "Eylemi Taşı"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "Dikey kılavuzu taşı"
@@ -3524,11 +4264,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Yeni yatay ve dikey kılavuzlar oluştur"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "IK Zincirini Düzenle"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Ekseni Taşı"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "CanvasItem Düzenle"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "Eylemi Taşı"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "CanvasItem Düzenle"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "CanvasItem Düzenle"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3548,6 +4305,21 @@ msgid "Paste Pose"
msgstr "Duruşu Yapıştır"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Uzaklaştır"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Yakınlaşmayı Sıfırla"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Yaklaştır"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Kip Seç"
@@ -3595,7 +4367,8 @@ msgid "Pan Mode"
msgstr "Kaydırma Biçimi"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Yapılmayı aç/kapat"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3603,7 +4376,8 @@ msgid "Use Snap"
msgstr "Yapışma Kullan"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Yapışma ayarları"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3644,6 +4418,11 @@ msgid "Snap to node sides"
msgstr "Düğüm kenalarına yapış"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "Düğüm çapasına yapıştır"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "Diğer düğümlere yapıştır"
@@ -3670,14 +4449,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Nesnenin çocuğunun seçilebilme yeteneğini geri kazandırır."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Kemik Yap"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "Kemikleri Temizle"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Kemikleri Göster"
@@ -3690,6 +4461,15 @@ msgid "Clear IK Chain"
msgstr "IK Zincirini Temizle"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "Kemikleri Temizle"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "Görüş"
@@ -3732,14 +4512,11 @@ msgid "Layout"
msgstr "Yerleşim Düzeni"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Anahtarları Gir"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Anahtar Gir"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Anahtar Gir (Var Olan İzler)"
@@ -3752,14 +4529,6 @@ msgid "Clear Pose"
msgstr "DuruÅŸu Temizle"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "Pivotu Fare pozisyonundan sürükle"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Pivotu fare pozisyonunda ayarla"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Izgara basamağını 2 ile çarp"
@@ -3775,10 +4544,6 @@ msgstr "Ekle %s"
msgid "Adding %s..."
msgstr "Ekliyor %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Tamam"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "Kök olmadan çoklu düğüm oluşturulamaz."
@@ -3813,27 +4578,20 @@ msgstr "Çoklu3B Oluştur"
msgid "Set Handle"
msgstr "Tutamacı Ayarla"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "%d öğe kaldırılsın mı?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Öğe Ekle"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Seçilen Öğeyi Kaldır"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "Parçacıklar"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Sahneden İçe Aktar"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Örüntüden Emisyon Noktaları Oluştur"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "Sahneden Güncelle"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "Düğümden Emisyon Noktaları Oluştur"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3903,15 +4661,6 @@ msgstr "Tanjantları tek tek düzenlemek için Shift'e basılı tut"
msgid "Bake GI Probe"
msgstr "GI Prob PiÅŸir"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Renk Yokuşu Noktası Ekle / Kaldır"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Renk YokuÅŸunu DeÄŸiÅŸtir"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Öğe%d"
@@ -3997,6 +4746,7 @@ msgid "No mesh to debug."
msgstr "Hata ayıklaöma için örüntü yok."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Model bu katmanda UV'ye sahip deÄŸil"
@@ -4064,6 +4814,27 @@ msgstr "Anahat Örüntüsü Oluştur"
msgid "Outline Size:"
msgstr "Kontur Boyutu:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "%d öğe kaldırılsın mı?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Add Item"
+msgstr "Öğe Ekle"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr "Seçilen Öğeyi Kaldır"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr "Sahneden İçe Aktar"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Sahneden Güncelle"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Örüntü kaynağı belirtilmedi (düğümde MultiMesh yok)."
@@ -4164,70 +4935,6 @@ msgstr "Rastgele Ölçek:"
msgid "Populate"
msgstr "Doldur"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "PiÅŸir!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Yönlendirici örüntüsünü pişir."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "Yönlendirici örüntüsünü temizle."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "Konfigürasyon Ayarlanıyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Izgara boyutu hesaplanıyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Yükseklik-alanı Oluşturuluyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "Yürünebilir üçgenler işaretleniyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Aralıksız yükseklialanı inşa ediliyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Yürünebilir alan aşındırılıyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "Bölümleniyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Konturlar oluÅŸturuluyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Çoklu-örüntü oluşturuluyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "Yerli yönlendirici örüntüsüne dönüştürülüyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "Navigasyon Örüntüsü Üreteci Kurulumu:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Geometri Ayrıştırılıyor..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Oldu!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Yönlendirici Çokgeni Oluştur"
@@ -4288,18 +4995,6 @@ msgid "Emission Colors"
msgstr "Emisyon Renkleri"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Düğüm uzambilgisi içermiyor."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Düğüm uzambilgisi (yüzler) içermiyor."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Bir işlemci malzeme türü 'ParticlesMaterial' gereklidir."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Yüzler alan içermez!"
@@ -4308,16 +5003,12 @@ msgid "No faces!"
msgstr "Yüzler yok!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "AABB Üret"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Örüntüden Emisyon Noktaları Oluştur"
+msgid "Node does not contain geometry."
+msgstr "Düğüm uzambilgisi içermiyor."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Düğümden Emisyon Noktaları Oluştur"
+msgid "Node does not contain geometry (faces)."
+msgstr "Düğüm uzambilgisi (yüzler) içermiyor."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4344,6 +5035,19 @@ msgid "Emission Source: "
msgstr "Emisyon Kaynağı: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Bir işlemci malzeme türü 'ParticlesMaterial' gereklidir."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "AABB Üret"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Büyük Harfe Dönüştür"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Görünebilirlik AABB'si Üret"
@@ -4420,6 +5124,22 @@ msgstr "Noktayı Sil"
msgid "Close Curve"
msgstr "EÄŸriyi Kapat"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.cpp
+msgid "Options"
+msgstr "Seçenekler"
+
+#: 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 "Eğri Noktası #"
@@ -4452,19 +5172,95 @@ msgstr "Çıkış-Kontrol Noktası Kaldır"
msgid "Remove In-Control Point"
msgstr "Giriş-Kontrol Noktasını Kaldır"
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Noktayı Taşı"
+
+#: 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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Kemikleri Göster"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "UV Haritası Oluştur"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Çoklu Oluşturun"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "İşlem '%s' zaten var!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Nokta Ekle"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Geçersiz yol!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Noktayı kaldır"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "UV Haritasını Dönüştür"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Çokgen 2B UV Düzenleyicisi"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Çokluyu Düzenleyin"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Yolu Ayır"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Kemik Yap"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Çoklu Oluşturun"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "Noktayı Taşı"
@@ -4493,12 +5289,25 @@ msgid "Scale Polygon"
msgstr "Çokgeni Ölçekle"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Düzenle"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Önce bir ayar öğesi seçin!"
+
+#: 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 "Polygon->UV"
@@ -4513,9 +5322,9 @@ msgid "Clear UV"
msgstr "UV yi Temizle"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "Yapış"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "IzgaraHaritası Ayarları"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4525,6 +5334,36 @@ msgstr "Yapışmayı Enkinleştir"
msgid "Grid"
msgstr "Izgara"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "Yapışmayı Yapılandır"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "Izgarayı Kaydır:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "Izgarayı Kaydır:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Izgara Adımı:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Izgara Adımı:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "Çokgeni Ölçekle"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "HATA: Kaynak yüklenemedi!"
@@ -4547,6 +5386,10 @@ msgid "Resource clipboard is empty!"
msgstr "Kaynak panosu boÅŸ!"
#: editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr "Kaynağı Yapış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ç"
@@ -4568,16 +5411,18 @@ msgid "Load Resource"
msgstr "Kaynak Yükle"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Yapıştır"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
msgstr "KaynakÖnyükleyici"
+#: editor/plugins/root_motion_editor_plugin.cpp
+msgid "AnimationTree has no path set to an AnimationPlayer"
+msgstr ""
+
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Animasyon ağacı geçersizdir."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "En Son Dosyaları Temizle"
@@ -4587,6 +5432,21 @@ msgid "Close and save changes?"
msgstr "Kapa ve deÄŸiÅŸiklikleri kaydet?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Bediz yüklenirken sorun oluştu:"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Bediz yüklenemedi"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "TileSet kaydedilirken hata!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Tema kaydedilirken hata"
@@ -4603,6 +5463,21 @@ msgid "Error importing"
msgstr "İçe aktarılırken hata"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Yeni Klasör..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Bir Dosya Aç"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Farklı Kaydet..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Kalıbı İçe Aktar"
@@ -4615,6 +5490,10 @@ msgid " Class Reference"
msgstr " Sınıf Başvurusu"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Sırala"
@@ -4643,8 +5522,9 @@ msgid "File"
msgstr "Dosya"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Yeni"
+#, fuzzy
+msgid "New TextFile"
+msgstr "Dosyaları Görüntüle"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4671,6 +5551,11 @@ msgid "History Next"
msgstr "Sonraki Geçmiş"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Kalıp"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Kalıbı Yeniden Yükle"
@@ -4704,11 +5589,6 @@ msgstr "Betikler Panelini Aç/Kapa"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Bul..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Sonraki Bul"
@@ -4762,10 +5642,6 @@ msgid "Discard"
msgstr "Çıkart"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Betik OluÅŸtur"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4786,6 +5662,16 @@ msgid "Debugger"
msgstr "Hata Ayıklayıcı"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Yardım Ara"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Sınıfları Ara"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4793,40 +5679,56 @@ msgstr ""
"düzenlenebilirler"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Satır:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Sadece dosya sisteminden kaynaklar bırakılabilir."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Simgeyi Tamamla"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Renk Seç"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Büyük/Küçük Harf Dönüştür"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "Büyük harf"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "Küçük harf"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Capitalize"
msgstr "Büyük harfe çevirme"
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Syntax Highlighter"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Kes"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Tıpkıla"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4914,8 +5816,9 @@ msgid "Find Previous"
msgstr "Öncekini Bul"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "DeÄŸiÅŸtir..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Dosyaları Süz..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4933,129 +5836,42 @@ msgstr "Bağlamsal Yardım"
msgid "Shader"
msgstr "Gölgelendirici"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Basamaklı Sabiti Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Vec Sabitini DeÄŸiÅŸtir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "RGB Sabitini DeÄŸiÅŸtir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Skaler Operatörünü Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Vec İşletmenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Vec Basamaklı İşletmeni Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "RGB İşletmenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Yalnız Döndürmeye Geçiş Yap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Basamaklı İşlevi Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Vec İşlevini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Basamaklı Tekdüzenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Vec Tekdüzenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "RGB Tekdüzenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Varsayılan Değeri Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "XForm Tekdüzenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Doku Tekdüzenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Küp Eşleşme Tekdüzenini Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Yorumu DeÄŸiÅŸtir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Renk Yokuşuna Ekle / Kaldır"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Eğri Haritası Ekle / Kaldır"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Eğri Haritasını Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Giriş Adını Değiştir"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "Çizge Düğümlerini Bağla"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Çizge Düğümlerinin Bağlantılarını Kes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Gölgelendirici Çizge Düğümünü Kaldır"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "İskelet..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "Gölgelendirici Çizge Düğümünü Taşı"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Grafik Düğüm(lerini) Çoğalt"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Gölgelendirici Çizge Düğümünü Sil"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Yönlendirici Örüntüsü Oluştur"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Hata: Döngüsel Bağlantı Bağlantısı"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "İskelet..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Hata: Girdi Bağlantıları Eksik"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "C# Çözümü oluştur"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Gölgelendirici Çizge Düğümü Ekle"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Oynat"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5182,10 +5998,6 @@ msgid "Align with view"
msgstr "Görünüme Ayarla"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Tamam :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Çocuğun örnek alacağı bir ebeveyn yok."
@@ -5194,6 +6006,11 @@ msgid "This operation requires a single selected node."
msgstr "Bu işlem, seçilmiş tek bir düğüm gerektirir."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "Bilgi Göster"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Olağanı Görüntüle"
@@ -5238,6 +6055,11 @@ msgid "Doppler Enable"
msgstr "Çoğaltıcı Aktif"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Mesh Önizlemeleri Oluşturuluyor"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "Serbestbakış Sola"
@@ -5368,6 +6190,11 @@ msgid "Tool Scale"
msgstr "Ölçek Aracı"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Izgaraya yapış"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "Serbestbakış Aç / Kapat"
@@ -5376,6 +6203,10 @@ msgid "Transform"
msgstr "Dönüşüm"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Dönüştürme İletişim Kutusu..."
@@ -5404,6 +6235,11 @@ msgid "4 Viewports"
msgstr "4 Görüntükapısı"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Gizmoları Göster"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "Başlatım Görünümü"
@@ -5417,10 +6253,6 @@ msgid "Settings"
msgstr "Ayarlar"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "İskelet Gizmo görünürlüğü"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Yapışma Ayarları"
@@ -5480,6 +6312,53 @@ msgstr "Öncesi"
msgid "Post"
msgstr "Sonrası"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Sprite is empty!"
+msgstr "Kayıt yolu boş!"
+
+#: 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
+#, fuzzy
+msgid "Sprite"
+msgstr "GörüntüKareleri"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Şuna Dönüştür %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Anahat Örüntüsü Oluştur"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "Yapış (Noktalara):"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Atlas Önizleme"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Ayarlar"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "HATA: Kare kaynağı yüklenemedi!"
@@ -5548,14 +6427,6 @@ msgstr "Taşı (Sonra)"
msgid "SpriteFrames"
msgstr "GörüntüKareleri"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "StyleBox Önizleme:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "StilKutusu"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Dikdörtgen Bölgesini Ayarla"
@@ -5581,28 +6452,22 @@ msgid "Auto Slice"
msgstr "Otomatik Dilimle"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "Kaydırma:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Adım:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "Ayrım:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "Doku Bölgesi"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Doku Bölgesi Düzenleyicisi"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Tema dosyaya kaydedilemiyor:"
@@ -5616,11 +6481,6 @@ msgid "Add All"
msgstr "Tümünü Ekle"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Öğeyi Kaldır"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Bütün Öğeleri Kaldır"
@@ -5692,10 +6552,6 @@ msgstr "Var"
msgid "Many"
msgstr "Çok"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Seçenekler"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Birçok,Seçenek,Var"
@@ -5720,7 +6576,7 @@ msgstr "Veri Türü:"
msgid "Icon"
msgstr "Simge"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Yoldam"
@@ -5733,14 +6589,19 @@ msgid "Color"
msgstr "Renk"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Kalıp"
+msgid "Constant"
+msgstr "Sabit"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Seçimi Sil"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Geçersiz ad."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "TileMap'i Boya"
@@ -5761,11 +6622,8 @@ msgid "Erase TileMap"
msgstr "TileMap'i Sil"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Seçimi Sil"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Döşentiyi Bul"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5789,6 +6647,11 @@ msgid "Pick Tile"
msgstr "Karo Seç"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Seçimi Kaldır"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "0 Düzeyde Döndür"
@@ -5805,68 +6668,122 @@ msgid "Rotate 270 degrees"
msgstr "270 Düzeyde Döndür"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Karo Bulunamadı:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Ağaçtan Düğüm(ler) Ekle"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Öğe adı yada kimliği:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Mevcut giriyi kaldır"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Sahneden mi oluÅŸturulsun?"
+msgid "Create from Scene"
+msgstr "Sahneden OluÅŸtur"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Sahneden birleÅŸtirilsin mi?"
+msgid "Merge from Scene"
+msgstr "Sahneden BirleÅŸtir"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Karo Takımı"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Simge olarak kullanmak işin alt-karo seç, bu aynı zamanda geçersiz oto-karo "
+"bağlantılarında kullanılacaktır."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Sahneden OluÅŸtur"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Sahneden BirleÅŸtir"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-msgstr "Hata"
+#: 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 "Autotiles"
-msgstr "Oto-döşemeler"
+msgid "Create from scene?"
+msgstr "Sahneden mi oluÅŸturulsun?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr "Sahneden birleÅŸtirilsin mi?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Simge olarak kullanmak işin alt-karo seç, bu aynı zamanda geçersiz oto-karo "
-"bağlantılarında kullanılacaktır."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"LMB: bit'i aç.\n"
"RMB: bit'i kapat."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Şuanki düzenlenmiş alt-döşemeyi seç."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"Simge olarak kullanmak işin alt-karo seç, bu aynı zamanda geçersiz oto-karo "
+"bağlantılarında kullanılacaktır."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Önceliğini değiştirmek için alt-karo seçin."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "Vazgeç"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Bu işlem bir sahne olmadan yapılamaz."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Karo Takımı"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Köşenoktalar"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "Bölümlenme"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "SaÄŸ"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Gölgelendirici"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5881,8 +6798,8 @@ msgid "Delete preset '%s'?"
msgstr "'%s' önayarı silinsin mi?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "Bu platform için dışa aktarma şablonları eksik/bozulmuş: "
+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 "Presets"
@@ -5959,10 +6876,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Bu platform için dışa aktarma şablonu eksik:"
#: 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 With Debug"
msgstr "Hata Ayıklama İle Dışa Aktar"
@@ -5971,14 +6884,24 @@ msgid "The path does not exist."
msgstr "Yol mevcut deÄŸil."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Lütfen bir 'proje.godot' dosyası seçin."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "Lütfen 'proje.godot' dosyası içermeyen bir klasör seçin."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Lütfen boş bir klasör seçin."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Lütfen bir 'proje.godot' dosyası seçin."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "İçe Aktarılan Proje"
@@ -6066,6 +6989,11 @@ msgid "Project Path:"
msgstr "Proje Yolu:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "Proje Yolu:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Gözat"
@@ -6185,9 +7113,10 @@ msgid "Mouse Button"
msgstr "Fare Düğmesi"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Geçersiz işlem adı. Boş olamaz ve '/', ':', '=', '\\' veya '\"' içeremez."
@@ -6200,9 +7129,23 @@ msgid "Rename Input Action Event"
msgstr "Girdi Eylem Olayını Yeniden Adlandır"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Animasyonun Adını Değiştir:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Giriş İşlem Olayı Ekle"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "Aygıt"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "Aygıt"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6244,20 +7187,24 @@ msgid "Wheel Down Button"
msgstr "Tekerlek Aşağı Düğmesi"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Düğme 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Tekerlek Yukarı Düğmesi"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Düğme 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Sağ Düğme"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Düğme 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Düğme 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Düğme 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Düğme 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6284,10 +7231,6 @@ msgid "Add Event"
msgstr "Olay Ekle"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "Aygıt"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Düğme"
@@ -6332,6 +7275,13 @@ msgid "Delete Item"
msgstr "Öğeyi Sil"
#: editor/project_settings_editor.cpp
+msgid ""
+"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'."
+msgstr ""
+"Geçersiz işlem adı. Boş olamaz ve '/', ':', '=', '\\' veya '\"' içeremez."
+
+#: editor/project_settings_editor.cpp
msgid "Already existing"
msgstr "Zaten mevcut"
@@ -6403,6 +7353,10 @@ msgstr "Özellik:"
msgid "Override For..."
msgstr "Şunun Üzerine Yaz..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Girdi Haritası"
@@ -6412,6 +7366,14 @@ msgid "Action:"
msgstr "Eylem:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "Eylem"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "Aygıt:"
@@ -6472,10 +7434,6 @@ msgid "AutoLoad"
msgstr "Otomatik Yükle"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Bir Görüntükapısı Seçin"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Açılma"
@@ -6512,34 +7470,10 @@ msgid "Select Node"
msgstr "Düğüm Seç"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Yeni Betik"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Yeni %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Benzersiz Yap"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Dosya Sisteminde Göster"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Şuna Dönüştür %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Dosya yüklenirken hata: Bir kaynak değil!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Seçili düğüm bir Viewport değil!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Bir Düğüm Seç"
@@ -6548,18 +7482,6 @@ msgid "Bit %d, val %d."
msgstr "Bit %d, val %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Açık"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[BoÅŸ]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Ayarla"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "Özellikler:"
@@ -6583,6 +7505,134 @@ msgstr "PVRTC aracı çalıştırılamadı:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "PVRTC aracını kullanarak dönüştürülen bedizi geri yükleyemiyor:"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Yeniden Adlandır"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Suffix"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Advanced options"
+msgstr "Yapışma ayarları"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Düğüm adı:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Düğüm Türü Bul"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Åžu anki Sahne"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Kök Düğüm adı:"
+
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Adım:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "İfadeyi Değiştir"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "İşlem Sonrası Betik Dizeci:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "Tut"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "Küçük harf"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "Büyük harf"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Yaklaşmayı Sıfırla"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Hata"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Düğümün Ebeveynliğini Değiştir"
@@ -6619,11 +7669,6 @@ msgstr "Ana Sahne DeÄŸiÅŸtirgenleri:"
msgid "Scene Run Settings"
msgstr "Sahne Çalıştırma Ayarları"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Tamam"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Sahneleri örneklemek için ebeveyn yok."
@@ -6645,6 +7690,10 @@ msgid "Instance Scene(s)"
msgstr "Sahne(leri) Örnekle"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "BetiÄŸi Temizle"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Bu işlem, ağaç kökü üzerinde yapılamaz."
@@ -6685,12 +7734,33 @@ msgid "Load As Placeholder"
msgstr "Yer Tutucu Olarak Yükle"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Örneği Boşalt"
+msgid "Make Local"
+msgstr "YerelleÅŸtir"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "Anlamlı!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Düğüm Oluştur"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Sahne"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Sahne"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "Kalıtı Temizle"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Düğümleri Kes"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6701,6 +7771,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Geçerli sahneden miras alınan düğümler üzerinde işlem yapılamaz!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Betik İliştir"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Düğümleri Kaldır"
@@ -6744,18 +7818,15 @@ msgid "Change Type"
msgstr "Türü Değiştir"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Betik İliştir"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "BetiÄŸi Temizle"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "Anlamlı!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Sahneden BirleÅŸtir"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Dalı Sahne olarak Kaydet"
@@ -6780,10 +7851,6 @@ msgstr ""
"alınmış bir sahne oluşturur."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Düğümleri Süzgeçden Geçir"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Seçili düğüm için yeni veya mevcut bir betik iliştir."
@@ -6803,25 +7870,19 @@ msgstr "Yerel"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Miras Silinsin mi? (Geri Alınamaz!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Temiz!"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Uzaysal Görünürlüğü Aç / Kapat"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "CanvasItem'ı Görünür Duruma Getir"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Görünebilirliği Aç/Kapa"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "Düğüm yapılandırma uyarısı:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Düğüm bağlantı(lar) ve grup(lar)a sahip\n"
@@ -6843,22 +7904,25 @@ msgstr ""
"Düğüm grup(lar)ın içinde.\n"
"Gruplar dokunu göstermek için tıkla."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Betik Aç"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Düğüm kilitli.\n"
"Kiliti açmak için tıkla"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Çocuklar seçilebilir değil.\n"
"Seçilebilir yapmak için tıkla"
@@ -6868,6 +7932,12 @@ msgid "Toggle Visibility"
msgstr "Görünebilirliği Aç/Kapa"
#: 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 "Geçersiz düğüm adı, aşağıdaki karakterlere izin verilmiyor:"
@@ -6904,6 +7974,11 @@ msgid "N/A"
msgstr "Uygulanamaz"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Betik Düzenleyiciyi Aç"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Yol boÅŸ"
@@ -7140,10 +8215,23 @@ msgid "Change Camera Size"
msgstr "Kamera Boyutunu DeÄŸiÅŸtir"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Bildirim Kapsamını Değiştir"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Parçacık AABB Değişimi"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "DeÅŸme GeniÅŸlemesini DeÄŸiÅŸtir"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Küresel Şeklin Çapını Değiştir"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Kübik Şekli Genişlet"
@@ -7156,20 +8244,38 @@ msgid "Change Capsule Shape Height"
msgstr "Kapsülün Yüksekliğini Değiştir"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Işın Şeklinin Uzunluğunu Değiştir"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Kapsülün Çapını Değiştir"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Bildirim Kapsamını Değiştir"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Kapsülün Yüksekliğini Değiştir"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Parçacık AABB Değişimi"
+msgid "Change Ray Shape Length"
+msgstr "Işın Şeklinin Uzunluğunu Değiştir"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "DeÅŸme GeniÅŸlemesini DeÄŸiÅŸtir"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Işın Çapını Değiştir"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Kapsülün Yüksekliğini Değiştir"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Küresel Şeklin Çapını Değiştir"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Işın Çapını Değiştir"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7224,17 +8330,6 @@ msgid "GDNative"
msgstr "GDYerel"
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-"convert() için geçersiz türde değiştirgen, TYPE_* sabitlerini kullanın."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "Byte kodu çözmek için yetersiz byte, ya da Geçersiz format."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "adım değiştirgeni sıfır!"
@@ -7299,6 +8394,11 @@ msgid "GridMap Delete Selection"
msgstr "IzgaraHaritası Seçimi Sil"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "IzgaraHaritası Seçimi Sil"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "IzgaraHaritası Seçimi Çoğalt"
@@ -7379,6 +8479,11 @@ msgid "Clear Selection"
msgstr "Seçimi Temizle"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Tüm Seçim"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr "IzgaraHaritası Ayarları"
@@ -7447,6 +8552,70 @@ msgstr "Dosyaları Görüntüle"
msgid "End of inner exception stack trace"
msgstr "İç özel durum yığını izlemesinin sonu"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "PiÅŸir!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Yönlendirici örüntüsünü pişir."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "Yönlendirici örüntüsünü temizle."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "Konfigürasyon Ayarlanıyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Izgara boyutu hesaplanıyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Yükseklik-alanı Oluşturuluyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "Yürünebilir üçgenler işaretleniyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Aralıksız yükseklialanı inşa ediliyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Yürünebilir alan aşındırılıyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "Bölümleniyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Konturlar oluÅŸturuluyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Çoklu-örüntü oluşturuluyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "Yerli yönlendirici örüntüsüne dönüştürülüyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "Navigasyon Örüntüsü Üreteci Kurulumu:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Geometri Ayrıştırılıyor..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Oldu!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7504,10 +8673,6 @@ msgid "Set Variable Type"
msgstr "DeÄŸiÅŸken Tipini Ayarla"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "İşlevler:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "DeÄŸiÅŸkenler:"
@@ -7620,36 +8785,14 @@ msgid "Connect Nodes"
msgstr "Düğümleri Bağla"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "KoÅŸul"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "Dizi"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Anahtar"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Yineleyici"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "İken"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "Döndür"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Çağır"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Düğümleri Bağla"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Al"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Düğümleri Bağla"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7676,26 +8819,18 @@ msgid "Remove Function"
msgstr "İşlevi Kaldır"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Değişkeni Düzenle"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Değişkeni Kaldır"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Sinyal Düzenle"
+msgid "Editing Variable:"
+msgstr "Değişken Düzenleniyor:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Sinyal Kaldır"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Değişken Düzenleniyor:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Sinyal Düzenleniyor:"
@@ -7739,6 +8874,11 @@ msgstr "Düğümleri Kes"
msgid "Paste Nodes"
msgstr "Düğümleri Yapıştır"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Üyeler"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Girdi türü yinelenebilir değil: "
@@ -7795,6 +8935,19 @@ msgstr ""
"_step()'ten geçersiz dönüş değeri, tam sayı (dizi çıkışı) ya da dize "
"(hatası) olmalı."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "GörselBetik Düğümü Kaldır"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Al"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "Tarayıcıda Çalıştır"
@@ -7845,9 +8998,10 @@ msgstr ""
"edilecektir."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"Bu düğüm alt şekillere sahip değil, bu yüzden uzayla etkileşime giremez.\n"
@@ -7957,6 +9111,19 @@ msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Yol özelliği çalışabilmesi için geçerli bir Node2D düğümüne işaret etmelidir."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8021,9 +9188,10 @@ msgid "Lighting Meshes: "
msgstr "Örüntüler Haritalanıyor: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"Bu düğüm alt şekillere sahip değil, bu yüzden uzayla etkileşime giremez.\n"
@@ -8121,6 +9289,21 @@ msgstr ""
"Bu WorldEnvironment yoksayıldı. (3B sahneler için) Bir Kamera ekleyin veya "
"(2B sahneler için) bu ortamın Arkaplan Kipini Canvas olarak ayarlayın."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"RigidBody boyut deÄŸiÅŸikliÄŸi(karakter yada rigid kipleri) fizik motoru "
+"çalıştığında geçersiz kılınacak.\n"
+"Boyu değişikliğini bunun yerine çocuk çarpışma şekilleri içinden yapın."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8137,6 +9320,49 @@ msgstr ""
"VehicleWheel VehicleBody'ye bir tekerlek sistemi sağlaması için hizmet eder. "
"Lütfen bunu VehicleBody'nin çocuğu olarak kullanın."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Animasyon Araçları"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "HATA: Geçersiz animasyon adı!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Şunun: '%s' şununla: '%s' bağlantısını kes"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr ""
+"Sahne Ağacı'ndan animasyonları düzenleyebilmek için bir AnimationPlayer "
+"seçin."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Animasyon ağacı geçersizdir."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Ham Kip"
@@ -8217,12 +9443,368 @@ msgstr "Yazıtipi yükleme hatası."
msgid "Invalid font size."
msgstr "Geçersiz yazıtipi boyutu."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Önceki sekme"
+msgid "Input"
+msgstr "GiriÅŸ Ekle"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Yok>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Geçersiz kaynak!"
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Basamaklı Sabiti Değiştir"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Vec Sabitini DeÄŸiÅŸtir"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "RGB Sabitini DeÄŸiÅŸtir"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Skaler Operatörünü Değiştir"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Vec İşletmenini Değiştir"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Vec Basamaklı İşletmeni Değiştir"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "RGB İşletmenini Değiştir"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Yalnız Döndürmeye Geçiş Yap"
-#~ msgid "Next"
-#~ msgstr "Sonraki"
+#~ msgid "Change Scalar Function"
+#~ msgstr "Basamaklı İşlevi Değiştir"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Vec İşlevini Değiştir"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Basamaklı Tekdüzenini Değiştir"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Vec Tekdüzenini Değiştir"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "RGB Tekdüzenini Değiştir"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Varsayılan Değeri Değiştir"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "XForm Tekdüzenini Değiştir"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Doku Tekdüzenini Değiştir"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Küp Eşleşme Tekdüzenini Değiştir"
+
+#~ msgid "Change Comment"
+#~ msgstr "Yorumu DeÄŸiÅŸtir"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Renk Yokuşuna Ekle / Kaldır"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Renk YokuÅŸunu DeÄŸiÅŸtir"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Eğri Haritası Ekle / Kaldır"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Eğri Haritasını Değiştir"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Giriş Adını Değiştir"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "Çizge Düğümlerini Bağla"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Çizge Düğümlerinin Bağlantılarını Kes"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Gölgelendirici Çizge Düğümünü Kaldır"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "Gölgelendirici Çizge Düğümünü Taşı"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Grafik Düğüm(lerini) Çoğalt"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Gölgelendirici Çizge Düğümünü Sil"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Hata: Döngüsel Bağlantı Bağlantısı"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Hata: Girdi Bağlantıları Eksik"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Gölgelendirici Çizge Düğümü Ekle"
+
+#~ msgid "Disabled"
+#~ msgstr "Devre dışı"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Animasyon İzini Yukarı Taşı"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Animasyon İzini Aşağı Taşı"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Geçişleri Şuna Ayarla:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Animasyon İzini Yeniden Adlandır"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Anim İzi Değişikliği İnterpolasyonu"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Animasyon İzi Değişikliği Kipi"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Animasyon İzi Değişikliği Sarmalama Kipi"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Düğüm Eğrisini Düzenle"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Seçim Eğrisini Düzenle"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Animasyon Anahtar Ekle"
+
+#~ msgid "In"
+#~ msgstr "GiriÅŸ"
+
+#~ msgid "Out"
+#~ msgstr "Çıkış"
+
+#~ msgid "In-Out"
+#~ msgstr "Giriş-Çıkış"
+
+#~ msgid "Out-In"
+#~ msgstr "Çıkış-Giriş"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Animasyon UzunluÄŸunu DeÄŸiÅŸtir"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Animasyon Döngüsünü Değiştir"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Animasyon Yazılı Değer Anahtarı Oluştur"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Animasyon Çağrı İzi Ekle"
+
+#~ msgid "Length (s):"
+#~ msgstr "Uzunluk (sn):"
+
+#~ msgid "Step (s):"
+#~ msgstr "Adım (sn):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "İmleç basamak yapışması (saniye)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Animasyon yinelemesini Aç/Kapat."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Yeni izler ekle."
+
+#~ msgid "Move current track up."
+#~ msgstr "Mevcut izi yukarı taşı."
+
+#~ msgid "Move current track down."
+#~ msgstr "Mevcut izi aşağı taşı."
+
+#~ msgid "Track tools"
+#~ msgstr "İz araçları"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Anahtarlara tıklayarak tek tek düzenlemeyi etkinleştir."
+
+#~ msgid "Key"
+#~ msgstr "Anahtar"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Hangi Düğümdeki İşlevler Çağrılsın?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Teşekkürler!"
+
+#~ msgid "I see..."
+#~ msgstr "Anlıyorum..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "'%s' açılamıyor."
+
+#~ msgid "Ugh"
+#~ msgstr "Öff"
+
+#~ msgid "Run Script"
+#~ msgstr "Betiği Çalıştır"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Düzenlenen kaynağı kaydedin."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Kesitlemeyi Durdur"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Kesitlemeyi BaÅŸlat"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Varsayılan (Düzenleyici İle Aynı)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Oynatıcıda yeni animasyon oluşturun."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Animasyonu diskten yükle."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Bir animasyonu diskten yükle."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Geçerli animasyonu kaydet"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Amaçlanan Karışma Zamanlarını Düzenle"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Animasyonu Tıpkıla"
+
+#~ msgid "Fetching:"
+#~ msgstr "Alınıyor:"
+
+#~ msgid "prev"
+#~ msgstr "önceki"
+
+#~ msgid "next"
+#~ msgstr "sonraki"
+
+#~ msgid "last"
+#~ msgstr "son"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "IK Zincirini Düzenle"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "Pivotu Fare pozisyonundan sürükle"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Pivotu fare pozisyonunda ayarla"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Renk Yokuşu Noktası Ekle / Kaldır"
+
+#~ msgid "OK :("
+#~ msgstr "Tamam :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "İskelet Gizmo görünürlüğü"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "StyleBox Önizleme:"
+
+#~ msgid "StyleBox"
+#~ msgstr "StilKutusu"
+
+#~ msgid "Separation:"
+#~ msgstr "Ayrım:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Doku Bölgesi Düzenleyicisi"
+
+#~ msgid "Erase selection"
+#~ msgstr "Seçimi Sil"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Karo Bulunamadı:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Öğe adı yada kimliği:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Oto-döşemeler"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "Bu platform için dışa aktarma şablonları eksik/bozulmuş: "
+
+#~ msgid "Button 7"
+#~ msgstr "Düğme 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Düğme 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Düğme 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Örneği Boşalt"
+
+#~ msgid "Clear!"
+#~ msgstr "Temiz!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Uzaysal Görünürlüğü Aç / Kapat"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "CanvasItem'ı Görünür Duruma Getir"
+
+#~ msgid "Condition"
+#~ msgstr "KoÅŸul"
+
+#~ msgid "Sequence"
+#~ msgstr "Dizi"
+
+#~ msgid "Switch"
+#~ msgstr "Anahtar"
+
+#~ msgid "Iterator"
+#~ msgstr "Yineleyici"
+
+#~ msgid "While"
+#~ msgstr "İken"
+
+#~ msgid "Return"
+#~ msgstr "Döndür"
+
+#~ msgid "Call"
+#~ msgstr "Çağır"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Değişkeni Düzenle"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Sinyal Düzenle"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Geçersiz işlem (her şey ancak şu '/' ya da şuna ':' gider)."
@@ -8240,9 +9822,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Can't write file."
#~ msgstr "Dosyaya yazılamıyor."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "Lütfen 'proje.godot' dosyası içermeyen bir klasör seçin."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Proje yolunda proje.godot alınamadı."
@@ -8364,9 +9943,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ "Bu sprite'ın çalışması için yol niteliğinde ayarlanan Viewport durumu "
#~ "'işleyici amacı' olarak ayarlanmalıdır."
-#~ msgid "Filter:"
-#~ msgstr "Süzgeç:"
-
#~ msgid "Method List For '%s':"
#~ msgstr "'%s' İçin Yöntem Dizelgesi:"
@@ -8403,9 +9979,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "Yeniden içe aktarmak için şu anki sahneyi kaydet."
-#~ msgid "Save & Re-Import"
-#~ msgstr "Kaydet & Yeniden İçe Aktar"
-
#~ msgid "Re-Importing"
#~ msgstr "Yeniden-İçe Aktarım"
@@ -8430,10 +10003,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Can't move directories to within themselves."
#~ msgstr "Dizinleri kendi içlerine taşıyamazsınız."
-#, fuzzy
-#~ msgid "Error moving file:\n"
-#~ msgstr "Bediz yüklenirken sorun oluştu:"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "Şunun için yeni ad ile konum seçin:"
@@ -8458,9 +10027,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Target path must exist."
#~ msgstr "Amaçlanan dizeç yolu var olmalı."
-#~ msgid "Save path is empty!"
-#~ msgstr "Kayıt yolu boş!"
-
#~ msgid "Import BitMasks"
#~ msgstr "BitMasks İçe Aktar"
@@ -8572,15 +10138,9 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Max Angle"
#~ msgstr "En üst Açı"
-#~ msgid "Clips"
-#~ msgstr "Parçalar"
-
#~ msgid "Start(s)"
#~ msgstr "Başlangıç(lar)"
-#~ msgid "End(s)"
-#~ msgstr "Son(lar)"
-
#~ msgid "Filters"
#~ msgstr "Süzgeçler"
@@ -8611,18 +10171,12 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Target Texture Folder:"
#~ msgstr "Amaçlanan Doku Dizini:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "İşlem Sonrası Betik Dizeci:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "Özel Kök Düğüm Türü:"
#~ msgid "Auto"
#~ msgstr "KendiliÄŸinden"
-#~ msgid "Root Node Name:"
-#~ msgstr "Kök Düğüm adı:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "Aşağıdaki Dizeçler Eksik:"
@@ -8681,9 +10235,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "Dokuları Atlas(2B) için içe aktar"
-#~ msgid "Cell Size:"
-#~ msgstr "Odacık Boyutu:"
-
#~ msgid "Large Texture"
#~ msgstr "GeniÅŸ Doku"
@@ -8766,9 +10317,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Couldn't save converted texture:"
#~ msgstr "Dönüştürülmüş doku kaydedilemedi:"
-#~ msgid "Invalid source!"
-#~ msgstr "Geçersiz kaynak!"
-
#~ msgid "Invalid translation source!"
#~ msgstr "Geçersiz çeviri kaynağı!"
@@ -8809,9 +10357,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Translation"
#~ msgstr "Çeviri"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "%d Üçgenlerini Ayrıştırma:"
-
#~ msgid "Triangle #"
#~ msgstr "Üçgen #"
@@ -8837,24 +10382,12 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgstr ""
#~ "Işık haritası sekağacı pişirme işlemini sıfırlayın (baştan başlayın)."
-#~ msgid "Zoom (%):"
-#~ msgstr "YaklaÅŸ (%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "İskelet..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "Yakınlaşmayı Sıfırla"
-
#~ msgid "Zoom Set..."
#~ msgstr "Yakınlaşmayı Ayarla..."
#~ msgid "Set a Value"
#~ msgstr "Bir DeÄŸer Ata"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "Yapış (Noktalara):"
-
#~ msgid "Parse BBCode"
#~ msgstr "BBCode'u Ayrıştır"
@@ -8932,15 +10465,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Resource Tools"
#~ msgstr "Kaynak Araçları"
-#~ msgid "Make Local"
-#~ msgstr "YerelleÅŸtir"
-
-#~ msgid "Edit Groups"
-#~ msgstr "Öbekleri Düzenle"
-
-#~ msgid "Edit Connections"
-#~ msgstr "Bağlantıları Düzenle"
-
#, fuzzy
#~ msgid "Tiles"
#~ msgstr "Dizeç"
@@ -9069,9 +10593,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Ambient Light Color:"
#~ msgstr "Ortam Işığı Rengi:"
-#~ msgid "Couldn't load image"
-#~ msgstr "Bediz yüklenemedi"
-
#~ msgid "Invalid parent class name"
#~ msgstr "Geçersiz ata bölüt adı"
@@ -9087,9 +10608,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Parent class name is invalid!"
#~ msgstr "Ata bölüt adı geçersiz!"
-#~ msgid "Invalid path!"
-#~ msgstr "Geçersiz yol!"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr ""
#~ "Yol niteliği çalışması için geçerli bir Particles2D düğümünü işaret "
@@ -9191,9 +10709,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Delete Image Group"
#~ msgstr "Bediz Öbeğini Sil"
-#~ msgid "Atlas Preview"
-#~ msgstr "Atlas Önizleme"
-
#~ msgid "Project Export Settings"
#~ msgstr "Tasarıyı Dışa Aktarma Ayarları"
@@ -9206,9 +10721,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Export all files in the project directory."
#~ msgstr "Tasarı dizinindeki tüm dizeçleri dışa aktarın."
-#~ msgid "Action"
-#~ msgstr "Eylem"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "Dışa aktarmada yazı sahnelerini ikili hale getirin."
@@ -9236,9 +10748,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Compress Formats:"
#~ msgstr "Sıkıştırma Biçemleri:"
-#~ msgid "Image Groups"
-#~ msgstr "Bediz Öbekleri"
-
#~ msgid "Groups:"
#~ msgstr "Öbekler:"
@@ -9278,9 +10787,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "Örnek Dönüşüm Biçimi: (.wav dizeçleri):"
-#~ msgid "Keep"
-#~ msgstr "Tut"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "Sıkıştır (RAM - IMA-ADPCM)"
@@ -9323,9 +10829,6 @@ msgstr "Geçersiz yazıtipi boyutu."
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance, bir BakedLight kaynağı içermez."
-#~ msgid "Fragment"
-#~ msgstr "Bölümlenme"
-
#~ msgid "Lighting"
#~ msgstr "Aydınlatma"
diff --git a/editor/translations/uk.po b/editor/translations/uk.po
index d940561131..153d01f551 100644
--- a/editor/translations/uk.po
+++ b/editor/translations/uk.po
@@ -12,7 +12,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
-"PO-Revision-Date: 2018-06-06 04:03+0000\n"
+"PO-Revision-Date: 2018-07-26 10:17+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
@@ -21,334 +21,490 @@ 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 3.0\n"
+"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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_*."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "УÑе позначене"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "Ðекоректна назва влаÑтивоÑті індекÑу, «%s», у вузлі %s."
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "Ðекоректна назва влаÑтивоÑті індекÑу, «%s», у вузлі %s."
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ": Ðеправильний тип аргументу: "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "Вивільнити"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "Віддзеркалити за X"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Ð’Ñтавити ключ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Дублювати виділене"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Змінити перехід"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Змінити перетвореннÑ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Змінити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð²Ð¾Ð³Ð¾ кадру"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Змінити виклик анімації"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Додати нову доріжку"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "ВлаÑтивіÑть:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Дублювати ключі"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "Тип перетвореннÑ"
+
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "ПереÑунути доріжку вгору"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "ПереÑунути доріжку вниз"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Видалити доріжку"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Зупинити Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—. (S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Додати нову доріжку"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Ð’Ñтановити перехід на:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "ТриваліÑть анімації (в Ñекундах)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Перейменувати доріжку"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "МаÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Змінити інтерполÑцію"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "Функції:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "Змінити режим значень"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "ПроÑÐ»ÑƒÑ…Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð²ÑƒÐºÑƒ"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "Змінити режим циклу"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Редагувати криву вузла"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "Перемкнути режим без відволіканнÑ."
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Редагувати обрану криву"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Видалити ключі"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "Ðнімаційний вузол"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Дублювати виділене"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "Дублювати транÑпоноване"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Вилучити обрану доріжку."
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Вилучити виділене"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Ð§Ð°Ñ X-Fade (Ñ):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Ðеперервна"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "ДиÑкретний"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Триґер"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Додати ключ анімації"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "ПереміÑтити ключі анімації"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Вибір маÑштабу"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "МаÑштаб від курÑору"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Перейти до наÑтупного кроку"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "МожливоÑті"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "ПовернутиÑÑ Ð´Ð¾ попереднього кроку"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Лінійний"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Сталий"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Ð’"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Із"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "В-із"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Із-в"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Ð’Ñтавити ключ"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Переходи"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Дублювати вузли"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Оптимізувати анімацію"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Вилучити вузли"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "ÐžÑ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Видалити доріжку"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Створити нову доріжку Ð´Ð»Ñ %s Ñ– вÑтавити ключ?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Створити %d нові доріжки Ñ– вÑтавити ключі?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Створити"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Ð’Ñтавити анімацію"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Створити Ñ– вÑтавити анімацію"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Ð’Ñтавити доріжку Ñ– ключ анімації"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Ð’Ñтавити ключ анімації"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Змінити довжину анімації"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-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_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Створити типовий ключ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Ð’Ñтавити анімацію"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "Ðе знайдено VariableGet у Ñкрипті: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "ПереміÑтити ключі анімації"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "Буфер обміну порожній!"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "МаÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ»ÑŽÑ‡Ñ–Ð² анімації"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Додати доріжку виклику анімації"
-
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-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_editor.cpp
-msgid "Length (s):"
-msgstr "ТриваліÑть (Ñек.):"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "ТриваліÑть анімації (в Ñекундах)."
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "Крок (Ñек.):"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "Крок прив'Ñзки курÑору (в Ñекундах)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "Дерево анімації Ñ” дійÑним."
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "УвімкненнÑ/Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ†Ð¸ÐºÐ»Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ анімації."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "Редагувати"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Додати нові доріжки."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Дерево анімації"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— доріжки вгору."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "Копіювати параметри"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "ПереміÑтити поточну доріжку вниз."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "Ð’Ñтавити параметри"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Вилучити обрану доріжку."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Вибір маÑштабу"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "МаÑштаб від курÑору"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "ІнÑтрументи відÑтеженнÑ"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Дублювати виділене"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Дозволити Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ñ… ключів, клацаючи по ним."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "Дублювати транÑпоноване"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Вилучити вибране"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Перейти до наÑтупного кроку"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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 "Anim. Optimizer"
msgstr "Оптимізатор Ðнімації"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "МакÑимальна лінійна похибка:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "МакÑ. кутова похибка:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "МакÑ. оптимізований кут:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Оптимізувати"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Виберіть AnimationPlayer з дерева Ñцен Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—."
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "Ключ"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Перехід"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Ð¡Ð¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ð¼Ð°Ñштабу:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "З Ñкого вузла викликати функцію?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Вилучити неприпуÑтимі ключі"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "Вилучити невизначені і порожні доріжки"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "ÐžÑ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð²ÑÑ–Ñ… анімації"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "ОчиÑтити анімацію(Ñ—) (ÐЕ СКÐСУВÐТИ!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Копіювати"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Змінити розмір маÑиву"
@@ -369,7 +525,7 @@ msgstr "Перейти до Ñ€Ñдка"
msgid "Line Number:"
msgstr "Ðомер Ñ€Ñдка:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Ðемає збігів"
@@ -385,7 +541,7 @@ msgstr "Враховувати регіÑтр"
msgid "Whole Words"
msgstr "Цілі Ñлова"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Замінити"
@@ -397,18 +553,28 @@ msgstr "Замінити вÑÑ–"
msgid "Selection Only"
msgstr "Тільки виділити"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Збільшувати"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "ЗменшеннÑ"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Скинути маÑштаб"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "ПопередженнÑ"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Збільшувати"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "РÑдок:"
@@ -440,7 +606,8 @@ msgid "Add"
msgstr "Додати"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -471,7 +638,7 @@ msgid "Oneshot"
msgstr "Один раз"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -493,11 +660,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Приєднати '%s' до %s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñигналу:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Від'єднати '%s' від '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Від'єднати '%s' від '%s'"
#: editor/connections_dialog.cpp
@@ -505,14 +673,48 @@ msgid "Connect..."
msgstr "Приєднати..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Роз'єднати"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñигналу:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Помилка з'єднаннÑ"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "Ви Ñправді хочете запуÑтити декілька проектів одночаÑно?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Сигнали"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Роз'єднати"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "Редагувати"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "Методи"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "Змінити тип %s"
@@ -535,22 +737,25 @@ msgstr "Вибране:"
msgid "Recent:"
msgstr "Ðещодавні:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Пошук:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "ОпиÑ:"
@@ -612,7 +817,9 @@ msgstr "Знайти замінний реÑурÑ:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Відкрити"
@@ -634,7 +841,7 @@ msgstr ""
"працювати.\n"
"Видалити Ñ—Ñ… у будь-Ñкому разі? (ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "Ðеможливо вилучити:"
@@ -702,9 +909,13 @@ msgstr "Змінити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñловника"
msgid "Thanks from the Godot community!"
msgstr "СпаÑибі від Ñпільноти Godot!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "ПодÑка!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Гаразд"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -881,6 +1092,7 @@ msgid "Bus options"
msgstr "Опції шини"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "Дублювати"
@@ -949,7 +1161,8 @@ msgstr "Додати шину"
msgid "Create a new Bus Layout."
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ð½Ð¸."
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "Завантажити"
@@ -959,7 +1172,6 @@ msgid "Load an existing Bus Layout."
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ñнуючого ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ð½Ð¸."
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "Зберегти Ñк"
@@ -1000,22 +1212,6 @@ msgstr ""
"конÑтанти."
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "Ðеправильний шлÑÑ…."
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "Файл не Ñ–Ñнує."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "Ðе в реÑурÑному шлÑху."
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "Додати автозавантаженнÑ"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "ÐÐ²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ '%s' вже Ñ–Ñнує!"
@@ -1043,6 +1239,22 @@ msgstr "Ðктивувати"
msgid "Rearrange Autoloads"
msgstr "Змінити порÑдок автозавантажень"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "Ðеправильний шлÑÑ…."
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "Файл не Ñ–Ñнує."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "Ðе в реÑурÑному шлÑху."
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "Додати автозавантаженнÑ"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1073,7 +1285,7 @@ msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… змін..."
msgid "Updating scene..."
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñцени..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[порожньо]"
@@ -1135,6 +1347,12 @@ msgid "Copy Path"
msgstr "Копіювати шлÑÑ…"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "Показати в файловому менеджері"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "Показати в файловому менеджері"
@@ -1171,7 +1389,7 @@ msgid "Open a File or Directory"
msgstr "Відкрити файл або каталог"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "Зберегти"
@@ -1224,7 +1442,8 @@ msgstr "Перейти до батьківÑької теки"
msgid "Directories & Files:"
msgstr "Каталоги та файли:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "Попередній переглÑд:"
@@ -1376,20 +1595,28 @@ msgstr ""
"У поточній верÑÑ–Ñ— немає опиÑу цього методу. Будь лаÑка, [color=$color][url="
"$url]Ñтворіть його[/url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "Шукати текÑÑ‚"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "ВлаÑтивіÑть:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "Знайти"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Множина"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "Вивід:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1411,11 +1638,6 @@ msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€ÐµÑурÑу!"
msgid "Save Resource As..."
msgstr "Зберегти реÑÑƒÑ€Ñ Ñк..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "Бачу..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "Ðеможливо відкрити файл Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу:"
@@ -1428,9 +1650,9 @@ msgstr "Ðевідомий формат файлу:"
msgid "Error while saving."
msgstr "Помилка при збереженні."
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "Ðеможливо відкрити '%s'."
+#: 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'."
@@ -1473,10 +1695,6 @@ msgstr ""
"уÑпадковані) не задоволені."
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ."
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ бібліотеку Ñіток Ð´Ð»Ñ Ð·Ð»Ð¸Ñ‚Ñ‚Ñ!"
@@ -1558,42 +1776,6 @@ msgstr ""
"зрозуміти цей робочий процеÑ."
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "Розгорнути вÑÑ– влаÑтивоÑті"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "Згорнути вÑÑ– влаÑтивоÑті"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "Копіювати параметри"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "Ð’Ñтавити параметри"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "Ð’Ñтавити реÑурÑ"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "Копіювати реÑурÑ"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "Зробити вбудованим"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "Зробити Ñуб-реÑурÑи унікальними"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "Відкрити у довідці"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "Ðемає визначеної Ñцени Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
@@ -1789,11 +1971,6 @@ msgstr ""
"Сцена '%s' автоматично імпортуєтьÑÑ, тому Ñ—Ñ— неможливо змінити.\n"
"Щоб внеÑти зміни, можна Ñтворити нову уÑпадковану Ñцену."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "Тьху"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1825,6 +2002,16 @@ msgid "Default"
msgstr "Типовий"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "Відтворити Ñцену"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Закрити інші вкладки"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸ \"Сцена\""
@@ -1946,10 +2133,6 @@ msgstr "Проект"
msgid "Project Settings"
msgstr "Параметри проекту"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "ЗапуÑтити Ñкрипт"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "ЕкÑпортуваннÑ"
@@ -1959,6 +2142,11 @@ msgid "Tools"
msgstr "ІнÑтрументи"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Відкрити менеджер проектів?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "Вийти в ÑпиÑок проектів"
@@ -2069,6 +2257,20 @@ msgstr "Редактор компонуваннÑ"
msgid "Toggle Fullscreen"
msgstr "Перемикач повноекранного режиму"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "Параметри редактора"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "Параметри редактора"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпорту"
@@ -2084,7 +2286,8 @@ msgstr "КлаÑи"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "Пошук"
@@ -2128,7 +2331,7 @@ msgstr "Пауза Ñцени"
msgid "Stop the scene."
msgstr "Зупинити Ñцену."
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "Зупинити"
@@ -2149,6 +2352,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "Зберегти та вийти"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "ОбертаєтьÑÑ, коли перемальовуєтьÑÑ Ð²Ñ–ÐºÐ½Ð¾ редактора!"
@@ -2168,42 +2381,6 @@ msgstr "Вимкнути Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°"
msgid "Inspector"
msgstr "ІнÑпектор"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ реÑурÑу в пам'Ñті Ñ– редагувати його."
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "Завантажити наÑвний реÑÑƒÑ€Ñ Ñ–Ð· диÑка та відредагувати його."
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "Зберегти поточний редагований реÑурÑ."
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "Зберегти Ñк..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "Перейти до попереднього редагованого об'єкта в Ñ–Ñторії."
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "Перейти до наÑтупного редагованого об'єкта в Ñ–Ñторії."
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "ІÑÑ‚Ð¾Ñ€Ñ–Ñ Ð½ÐµÑ‰Ð¾Ð´Ð°Ð²Ð½Ð¾ відредагованих об'єктів."
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "ВлаÑтивоÑті об'єкта."
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "Зміни можуть бути втрачені!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2218,6 +2395,11 @@ msgid "FileSystem"
msgstr "Файлова ÑиÑтема"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Розгорнути вÑе"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "Результат"
@@ -2294,19 +2476,24 @@ msgid "Thumbnail..."
msgstr "Мініатюра..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "Редагувати полігон"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "Ð’Ñтановлені плаґіни:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "Оновити"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "ВерÑÑ–Ñ:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "Ðвтор:"
@@ -2314,13 +2501,16 @@ msgstr "Ðвтор:"
msgid "Status:"
msgstr "СтатуÑ:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "Зупинити профілюваннÑ"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "Редагувати"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "Початок профілюваннÑ"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "Почати!"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2366,6 +2556,105 @@ msgstr "ЧаÑ"
msgid "Calls"
msgstr "Виклики"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "Увімкнено"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "Біт %d, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[Порожньо]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "Призначити"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "Виберіть панель переглÑду"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "Ðовий Ñкрипт"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "Ðовий %s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "Зробити унікальним"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "Показати в файловій ÑиÑтемі"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "Ð’Ñтавити"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "Перетворити на %s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+#, fuzzy
+msgid "New Key:"
+msgstr "Ðова назва:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "Ðова назва:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "Вилучити елемент"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "Вибрати приÑтрій зі ÑпиÑку"
@@ -2402,10 +2691,6 @@ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити Ñкрипт:"
msgid "Did you forget the '_run' method?"
msgstr "Ви забули метод '_run'?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "Типовий (так Ñамо, Ñк редактор)"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Виберіть вузол(вузли) Ð´Ð»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ"
@@ -2431,6 +2716,7 @@ msgid "(Installed)"
msgstr "(Ð’Ñтановлено)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "Завантажити"
@@ -2455,7 +2741,8 @@ msgid "Can't open export templates zip."
msgstr "Ðеможливо відкрити ZIP-файл шаблону екÑпорту."
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "Ðеправильний формат version.txt у шаблонах."
#: editor/export_template_manager.cpp
@@ -2517,6 +2804,12 @@ msgid "Download Complete."
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð¾."
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "Помилка запиту url: "
@@ -2595,7 +2888,8 @@ msgid "Download Templates"
msgstr "Завантажити шаблони"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "Виберіть дзеркало зі ÑпиÑку: "
#: editor/file_type_cache.cpp
@@ -2610,11 +2904,13 @@ msgstr ""
"Ðеможливо перейти до '%s' , оÑкільки він не був знайдений в файловій ÑиÑтемі!"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "ПереглÑд елементів у виглÑді Ñітки мініатюр"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "ПереглÑд елементів Ñк ÑпиÑок"
#: editor/filesystem_dock.cpp
@@ -2687,7 +2983,7 @@ msgstr "Розгорнути вÑе"
msgid "Collapse all"
msgstr "Згорнути вÑе"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Перейменувати..."
@@ -2716,6 +3012,23 @@ msgid "Duplicate..."
msgstr "Дублювати..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Ðовий Ñкрипт"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "Попередній каталог"
@@ -2728,14 +3041,29 @@ msgid "Re-Scan Filesystem"
msgstr "ПереÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "Переключити ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ‚ÐµÐºÐ¸ Ñк обране"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "Вибрати поточну редаговану вкладену плитку."
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "Додати вибрану Ñцену(и), Ñк нащадка вибраного вузла."
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Пошук клаÑів"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2743,14 +3071,112 @@ msgstr ""
"Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²,\n"
"будь лаÑка, зачекайте..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "ПереміÑтити"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Перейменувати"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "У вказаному каталозі вже міÑтитьÑÑ Ñ‚ÐµÐºÐ° із вказано назвою."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Створити Ñценарій"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "Знайти плитку"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Знайти"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Цілі Ñлова"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Враховувати регіÑтр"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "СкаÑувати"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Замінити"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Замінити вÑÑ–"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "ЗбереженнÑ..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "Шукати текÑÑ‚"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "ПОМИЛКÐ: Ðазва анімації вже Ñ–Ñнує!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Ðекоректна назва."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "Групи"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Додати до групи"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "Фільтрувати вузли"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Додати до групи"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2760,6 +3186,11 @@ msgstr "Додати до групи"
msgid "Remove from Group"
msgstr "Вилучити з групи"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "Групи"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "Імпортувати в ÑкоÑті однієї Ñцени"
@@ -2801,7 +3232,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "Імпортувати Ñк кілька Ñцен + матеріали"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "Імпортувати Ñцену"
@@ -2861,18 +3292,131 @@ msgstr "Заздалегідь уÑтановлений..."
msgid "Reimport"
msgstr "Переімпортувати"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ."
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Гаразд"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "Розгорнути вÑÑ– влаÑтивоÑті"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "Згорнути вÑÑ– влаÑтивоÑті"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "Зберегти Ñк..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "Копіювати параметри"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "Ð’Ñтавити параметри"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "Ð’ буфері обміну немає реÑурÑу!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "Копіювати реÑурÑ"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "Зробити вбудованим"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "Зробити Ñуб-реÑурÑи унікальними"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "ВлаÑтивоÑті об'єкта."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
-msgstr "Групи"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "Виберіть вузол Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналів та груп."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "Редагувати полігон"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Створити розв'Ñзок C#"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "Плаґіни"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "Мова"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "Скрипт є коректним"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2918,6 +3462,149 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Видалити точки"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "ПКМ: Стерти точку."
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Ðнімаційний вузол"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð´Ñ–Ñ— «%s» вже Ñ–Ñнує!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "Додати вузол"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "Редагувати фільтри"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "Редагований дочірній елемент"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "Перемкнути автовідтвореннÑ"
@@ -2944,11 +3631,13 @@ msgid "Remove Animation"
msgstr "Вилучити анімацію"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "ПОМИЛКÐ: неправильне ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "ПОМИЛКÐ: Ðазва анімації вже Ñ–Ñнує!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2957,11 +3646,6 @@ msgid "Rename Animation"
msgstr "Перейменувати анімацію"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Змінена подальша анімаціÑ"
@@ -2978,11 +3662,13 @@ msgid "Duplicate Animation"
msgstr "Дублювати анімацію"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "ПОМИЛКÐ: Ðемає анімації Ð´Ð»Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "ПОМИЛКÐ: Ðемає анімаційного реÑурÑу в буфері обміну!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2994,7 +3680,8 @@ msgid "Paste Animation"
msgstr "Ð’Ñтавити анімацію"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "ПОМИЛКÐ: Ðемає анімації Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3027,20 +3714,27 @@ msgid "Scale animation playback globally for the node."
msgstr "Шкала Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾ анімації Ð´Ð»Ñ Ð²ÑƒÐ·Ð»Ð°."
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Створити нову анімацію у програвачі."
+msgid "Animation Tools"
+msgstr "ІнÑтрументи анімації"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "ÐнімаціÑ"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Завантажити анімацію з диÑка."
+msgid "New"
+msgstr "Ðовий"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Завантажити цю анімацію з диÑка."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Переходи"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Зберегти поточну анімацію"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "Відкрити в редакторі"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3051,18 +3745,6 @@ msgid "Autoplay on Load"
msgstr "ÐÐ²Ñ‚Ð¾Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸ завантаженні"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Редагувати цільовий Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "ІнÑтрументи анімації"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "Копіювати анімацію"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "КалькуваннÑ"
@@ -3111,6 +3793,11 @@ msgid "Include Gizmos (3D)"
msgstr "Включити ÒÑ–Ð·Ð¼Ð¾Ñ (3D)"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Ð’Ñтавити анімацію"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "Створити нову анімацію"
@@ -3120,6 +3807,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3137,161 +3825,213 @@ msgstr "Далі (автоматична черга):"
msgid "Cross-Animation Blend Times"
msgstr "Ð§Ð°Ñ Ð¼Ñ–Ð¶ анімаціÑми"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-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
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Створити новий %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Приєднати вузли"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "Редагувати фільтри"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "МаÑштаб:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "ÐароÑÑ‚Ð°Ð½Ð½Ñ (Ñ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "Ð—Ð°Ñ‚ÑƒÑ…Ð°Ð½Ð½Ñ (Ñ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "Змішати"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "ПоєднаннÑ"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "Ðвтоматичний перезапуÑк:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "ПерезапуÑтити (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "Випадкові Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ (Ñек.):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "Почати!"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "ОбÑÑг:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "Змішувати:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "Ð—Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ 0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "Ð—Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ 1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "Ð§Ð°Ñ X-Fade (Ñ):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "Поточний:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "Додати вхід"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "Ðвтоматичне очищеннÑ"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "Ðвтоматичні параметри"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "Видалити введеннÑ"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "Дерево анімації Ñ” дійÑним."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "Дерево анімації недійÑне."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "Ðнімаційний вузол"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "Одноразовий вузол"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "Змішувати вузол"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "Вузол Blend2"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "Вузол Blend3"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "Вузол Blend4"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "Вузол чаÑової шкали"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "Вузол пошуку чаÑу"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "Вузол переходу"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "Імпортувати анімації..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "Редагувати фільтри вузла"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "Фільтри..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "Дерево анімації"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "Вивільнити"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "ЗміÑÑ‚:"
@@ -3345,8 +4085,14 @@ msgid "Asset Download Error:"
msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ñƒ:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "ВидобуваннÑ:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "ЗавантаженнÑ"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "ЗавантаженнÑ"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3373,20 +4119,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ активу вже виконуєтьÑÑ!"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "перший"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "попередній"
+#, fuzzy
+msgid "Previous"
+msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "наÑтупний"
+msgid "Next"
+msgstr "Далі"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "оÑтанній"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3460,7 +4208,7 @@ msgid "Bake Lightmaps"
msgstr "Запікати карти оÑвітленнÑ"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "Попередній переглÑд"
@@ -3469,12 +4217,10 @@ msgid "Configure Snap"
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "ВідÑтуп Ñітки:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "Крок Ñітки:"
@@ -3487,14 +4233,6 @@ msgid "Rotation Step:"
msgstr "Крок повороту:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "ПереміÑтити опорну точку"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "ПереміÑтити дію"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "ПереміÑтити вертикальну напрÑмну"
@@ -3523,11 +4261,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "Створити нові горизонтальні та вертикальні напрÑмні"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "Редагувати ІК-ланцюг"
+#, fuzzy
+msgid "Move pivot"
+msgstr "ПереміÑтити опорну точку"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "Редагувати CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "ПереміÑтити дію"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "Редагувати CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "Редагувати CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3547,6 +4302,21 @@ msgid "Paste Pose"
msgstr "Ð’Ñтавити позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "ЗменшеннÑ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "ЗменшеннÑ"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Збільшувати"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "Режим виділеннÑ"
@@ -3594,7 +4364,8 @@ msgid "Pan Mode"
msgstr "Режим панорамуваннÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "Перемикає прив'ÑзуваннÑ"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3602,7 +4373,8 @@ msgid "Use Snap"
msgstr "За допомогою функції прив'Ñзки"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "Параметри прив'Ñзки"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3643,6 +4415,11 @@ msgid "Snap to node sides"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ боків вузла"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ прив'Ñзки вузла"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ інших вузлів"
@@ -3669,14 +4446,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "Відновлює можливіÑть вибору нащадків об'єкта."
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "Зробити кіÑтки"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "ОчиÑтити кіÑтки"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "Показати кіÑтки"
@@ -3689,6 +4458,15 @@ msgid "Clear IK Chain"
msgstr "ОчиÑтити ІК-ланцюг"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "ОчиÑтити кіÑтки"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "ПереглÑд"
@@ -3731,14 +4509,11 @@ msgid "Layout"
msgstr "Макет"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
+#, fuzzy
+msgid "Insert keys."
msgstr "Ð’Ñтавити ключі"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr "Ð’Ñтавити ключ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
msgstr "Ð’Ñтавити ключ (Ñ–Ñнуючі доріжки)"
@@ -3751,14 +4526,6 @@ msgid "Clear Pose"
msgstr "ОчиÑтити позу"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "ПеретÑгти центр Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð· Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¸ÑˆÑ–"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "Ð’Ñтановити центр Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð½Ð° міÑці вказівника миші"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "Помножити крок Ñітки на 2"
@@ -3774,10 +4541,6 @@ msgstr "Додати %s"
msgid "Adding %s..."
msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Гаразд"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3813,27 +4576,20 @@ msgstr "Створити полігон3D"
msgid "Set Handle"
msgstr "Ð’Ñтановити обробник"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° %d?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "Додати елемент"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "Вилучити вибраний елемент"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "ЧаÑтинки"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "Імпортувати зі Ñцени"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "Створити випромінювач з Ñітки"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-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 "Flat0"
@@ -3903,15 +4659,6 @@ msgstr "Утримуйте Shift, щоб змінити дотичні окреÐ
msgid "Bake GI Probe"
msgstr "Запекти пробу GI"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "Додати/Видалити точку градієнта"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "Змінити градієнт"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "Елемент %d"
@@ -3997,6 +4744,7 @@ msgid "No mesh to debug."
msgstr "Ðемає Ñітки Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ."
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "Модель не має UV на цьому шарі"
@@ -4064,6 +4812,27 @@ msgstr "Створити Ñітку обведеннÑ"
msgid "Outline Size:"
msgstr "Розмір обведеннÑ:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° %d?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "Імпортувати зі Ñцени"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "Оновити зі Ñцени"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "Ðе вказане джерело Ñітки (й у вузлі не вказано MultiMesh)."
@@ -4164,70 +4933,6 @@ msgstr "Випадковий маÑштаб:"
msgid "Populate"
msgstr "Заповнити"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "Запекти!"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "Створити навігаційну Ñітку."
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "ОчиÑтити навігаційну Ñітку."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "Розрахунок розміру Ñітки..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ°Ñ€Ñ‚Ð¸ виÑот..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ…Ñ–Ð´Ð½Ð¸Ñ… трикутників..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½Ð¾Ñ— карти виÑот..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "Ð Ð¾Ð·Ð¼Ð¸Ñ‚Ñ‚Ñ Ð¿Ñ€Ð¾Ñ…Ñ–Ð´Ð½Ð¾Ñ— ділÑнки..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "РозбиттÑ..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð²..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñітки..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° влаÑну навігаційну Ñітку..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° навігаційної Ñітки:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "Ðналіз геометрії..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "Зроблено!"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°Ð²Ñ–Ð³Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ полігону"
@@ -4289,18 +4994,6 @@ msgid "Emission Colors"
msgstr "Кольори випромінюваннÑ"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "Вузол не міÑтить геометрії."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "Вузол не міÑтить геометрії (граней)."
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "Потрібен матеріал типу 'ParticlesMaterial'."
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "Грані не міÑÑ‚Ñть ділÑнки!"
@@ -4309,16 +5002,12 @@ msgid "No faces!"
msgstr "Ðемає граней!"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "Генерувати AABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "Створити випромінювач з Ñітки"
+msgid "Node does not contain geometry."
+msgstr "Вузол не міÑтить геометрії."
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "Створити випромінювач з вузла"
+msgid "Node does not contain geometry (faces)."
+msgstr "Вузол не міÑтить геометрії (граней)."
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4345,6 +5034,19 @@ msgid "Emission Source: "
msgstr "Джерело випромінюваннÑ: "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "Потрібен матеріал типу 'ParticlesMaterial'."
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "Генерувати AABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "Конвертувати у ВЕРХÐІЙ РЕГІСТР"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "Генерувати AABB"
@@ -4421,6 +5123,22 @@ msgstr "Вилучити точку"
msgid "Close Curve"
msgstr "Закрити криву"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "Точку кривої #"
@@ -4453,19 +5171,95 @@ msgstr "Вилучити вихідну керувальну точку"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "Показати кіÑтки"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "Створити UV карту"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "Створити полігон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð´Ñ–Ñ— «%s» вже Ñ–Ñнує!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "Додати точку"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Ðеправильний шлÑÑ…"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Вилучити точку"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "Перетворити UV карту"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "Polygon 2D UV редактор"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "Редагувати полігон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "Розділити шлÑÑ…"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "Зробити кіÑтки"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Створити полігон"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "ПереміÑтити точку"
@@ -4494,12 +5288,25 @@ msgid "Scale Polygon"
msgstr "МаÑштабувати полігон"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "Редагувати"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4514,9 +5321,9 @@ msgid "Clear UV"
msgstr "ОчиÑтити UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "ПрилипаннÑ"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "Параметри GridMap"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4526,6 +5333,36 @@ msgstr "Дозволити прилипаннÑ"
msgid "Grid"
msgstr "Сітка"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "ВідÑтуп Ñітки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "ВідÑтуп Ñітки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "Крок Ñітки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "Крок Ñітки:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "МаÑштабувати полігон"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "ПОМИЛКÐ: Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ!"
@@ -4548,6 +5385,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Відкрити в редакторі"
@@ -4569,16 +5410,18 @@ msgid "Load Resource"
msgstr "Завантажити реÑурÑ"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "Ð’Ñтавити"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "Дерево анімації недійÑне."
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "ОчиÑтити недавні файли"
@@ -4588,6 +5431,21 @@ msgid "Close and save changes?"
msgstr "Закрити та зберегти зміни?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð°Ð±Ð¾Ñ€Ñƒ тайлів!"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "Помилка: не вдалоÑÑ Ñтворити Ñкрипт у файловій ÑиÑтемі."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð°Ð±Ð¾Ñ€Ñƒ тайлів!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "Помилка під Ñ‡Ð°Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚ÐµÐ¼Ð¸"
@@ -4604,6 +5462,21 @@ msgid "Error importing"
msgstr "Помилка імпортуваннÑ"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "Створити теку..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Відкрити файл"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Зберегти Ñк..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "Імпортувати тему"
@@ -4616,6 +5489,10 @@ msgid " Class Reference"
msgstr " ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° клаÑ"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "Сортувати"
@@ -4644,8 +5521,9 @@ msgid "File"
msgstr "Файл"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "Ðовий"
+#, fuzzy
+msgid "New TextFile"
+msgstr "ПереглÑд файлів"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4672,6 +5550,11 @@ msgid "History Next"
msgstr "ÐаÑтупний файл"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "Тема"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "Перезавантажити тему"
@@ -4705,11 +5588,6 @@ msgstr "Перемкнути панель Ñценаріїв"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Знайти..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Знайти наÑтупне"
@@ -4763,10 +5641,6 @@ msgid "Discard"
msgstr "Скинути"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Створити Ñценарій"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4787,6 +5661,16 @@ msgid "Debugger"
msgstr "Зневаджувач"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "Пошук довідки"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Пошук клаÑів"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
@@ -4794,40 +5678,56 @@ msgstr ""
"вони належать"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "РÑдок:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "Можна перетÑгнути тільки реÑÑƒÑ€Ñ Ð· файлової ÑиÑтеми."
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "Завершити Ñимвол"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Вибрати колір"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "Перемкнути регіÑтр"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "ВЕРХÐІЙ РЕГІСТР"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "нижній регіÑтр"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Вирізати"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Копіювати"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4915,8 +5815,9 @@ msgid "Find Previous"
msgstr "Знайти попереднє"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "Замінити..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "Фільтрувати файли..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4934,129 +5835,42 @@ msgstr "КонтекÑтна довідка"
msgid "Shader"
msgstr "Шейдер"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "Змінити чиÑлову Ñталу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "Змінити векторну конÑтанту"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "Змінити Ñталу RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "Змінити чиÑловий оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "Змінити векторний оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "Змінити векторно-чиÑловий оператор"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "Змінити оператор RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "Перемкнути лише поворот"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "Змінити ÑкалÑрну функцію"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "Змінити векторну функцію"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "Змінити чиÑлову одиницю"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "Змінити векторну одиницю"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "Змінити одиницю RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "Змінити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° промовчаннÑм"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "Змінити одиницю XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "Змінити одиницю текÑтури"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "Змінити одиницю кубічної мапи"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "Змінити коментар"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "Додати до рампи кольорів або вилучити з неї"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "Додати до карти кривих або вилучити з неї"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "Змінити карту кривої"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "Змінити назву входу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "З'єднати вузли графу"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "Роз'єднати вузли графу"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "Вилучити вузол графу шейдера"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "Одинак (шаблон проектуваннÑ)"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "ПереÑунути вузол графу шейдера"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "Дублювати вузли графу"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "Вилучити взули графу шейдера"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "Створити навігаційну Ñітку"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "Помилка: циклічне поÑиланнÑ"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Одинак (шаблон проектуваннÑ)"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "Помилка: пропущено вхідні з'єднаннÑ"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "Створити розв'Ñзок C#"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "Додати вузол графу шейдера"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "Відтворити"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5183,10 +5997,6 @@ msgid "Align with view"
msgstr "ВирівнÑти з переглÑдом"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "Гаразд :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "Ðемає батьківÑького запиÑу Ð´Ð»Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾."
@@ -5195,6 +6005,11 @@ msgid "This operation requires a single selected node."
msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ” одного обраного вузла."
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "ПереглÑд відомоÑтей"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "Ðормальний переглÑд"
@@ -5239,6 +6054,11 @@ msgid "Doppler Enable"
msgstr "Ефект Доплера"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ переглÑду Ñітки"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "ОглÑд ліворуч"
@@ -5369,6 +6189,11 @@ msgid "Tool Scale"
msgstr "ІнÑтрумент маÑштабуваннÑ"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "Прив'Ñзати до Ñітки"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¾Ð³Ð»Ñду"
@@ -5377,6 +6202,10 @@ msgid "Transform"
msgstr "ПеретвореннÑ"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "Вікно перетвореннÑ..."
@@ -5405,6 +6234,11 @@ msgid "4 Viewports"
msgstr "4 панелі переглÑду"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "ПереглÑд гаджетів"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "ПереглÑд центра"
@@ -5418,10 +6252,6 @@ msgid "Settings"
msgstr "Параметри"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "ВидиміÑть каркаÑу гаджетів"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "Параметри прилипаннÑ"
@@ -5481,6 +6311,52 @@ msgstr "До"
msgid "Post"
msgstr "ПіÑлÑ"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "Кадри Ñпрайта"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "Перетворити на %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Створити Ñітку обведеннÑ"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "Попередній переглÑд"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "Параметри"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "Помилка: не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑÑƒÑ€Ñ ÐºÐ°Ð´Ñ€Ñƒ!"
@@ -5549,14 +6425,6 @@ msgstr "ПереÑунути (піÑлÑ)"
msgid "SpriteFrames"
msgstr "Кадри Ñпрайта"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "ПереглÑд StyleBox:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "Style Box"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "Ð’Ñтановити прÑмокутник облаÑті"
@@ -5582,28 +6450,22 @@ msgid "Auto Slice"
msgstr "ÐвтонарізаннÑ"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "ЗÑув:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "Крок:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "ВідокремленнÑ:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "ОблаÑть текÑтури"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "Редактор облаÑті текÑтури"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ тему до файла:"
@@ -5617,11 +6479,6 @@ msgid "Add All"
msgstr "Додати уÑÑ–"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "Вилучити елемент"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "Вилучити уÑÑ– елементи"
@@ -5693,10 +6550,6 @@ msgstr "Має"
msgid "Many"
msgstr "Багато"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "Параметри"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "Має,Багато,Параметрів"
@@ -5721,7 +6574,7 @@ msgstr "Тип даних:"
msgid "Icon"
msgstr "Піктограма"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "Стиль"
@@ -5734,14 +6587,19 @@ msgid "Color"
msgstr "Колір"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "Тема"
+msgid "Constant"
+msgstr "Сталий"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "Витерти позначене"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "Ðекоректна назва."
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "Ðамалювати карту плиток"
@@ -5762,11 +6620,8 @@ msgid "Erase TileMap"
msgstr "Витерти карту плиток"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "Витерти позначене"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "Знайти плитку"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5790,6 +6645,11 @@ msgid "Pick Tile"
msgstr "Вибрати плитку"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Вилучити виділене"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð½Ð° 0 градуÑів"
@@ -5806,68 +6666,122 @@ msgid "Rotate 270 degrees"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð½Ð° 270 градуÑів"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "Ðеможливо знайти плитку:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "Додати вузли з дерева"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "Ðазва або ідентифікатор елемента:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "Видалити поточне поле"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "Створити зі Ñцени?"
+msgid "Create from Scene"
+msgstr "Створити зі Ñцени"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "Об'єднати зі Ñцени?"
+msgid "Merge from Scene"
+msgstr "Об'єднати зі Ñцени"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "Ðабір плитки"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"Виберіть підплитку Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñк піктограми. Її також буде викориÑтано "
+"Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… прив'Ñзок у режимі автоплитки."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "Створити зі Ñцени"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "Об'єднати зі Ñцени"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-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?"
+msgstr "Створити зі Ñцени?"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
-msgstr "Ðвтоплитки"
+msgid "Merge from scene?"
+msgstr "Об'єднати зі Ñцени?"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"Виберіть підплитку Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñк піктограми. Її також буде викориÑтано "
-"Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ð¸Ñ… прив'Ñзок у режимі автоплитки."
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"Ліва кнопка: вÑтановити.\n"
"Права кнопка: знÑти."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "Вибрати поточну редаговану вкладену плитку."
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "Позначте підплитку Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ Ñ—Ñ— пріоритетноÑті."
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "СкаÑувати"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ може бути виконана без Ñцени."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "Ðабір плитки"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "Вершини"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "Справа"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "Шейдер"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5882,9 +6796,9 @@ msgid "Delete preset '%s'?"
msgstr "Вилучити набір «%s»?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
-"Ðе виÑтачає шаблонів екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ або шаблони пошкоджено: "
+"Ðе виÑтачає шаблонів екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ або шаблони пошкоджено:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5961,11 +6875,6 @@ msgid "Export templates for this platform are missing:"
msgstr "Ðемає шаблонів екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— платформи:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-"Ðе виÑтачає шаблонів екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ або шаблони пошкоджено:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "ЕкÑпортувати із діагноÑтикою"
@@ -5974,14 +6883,24 @@ msgid "The path does not exist."
msgstr "ШлÑху не Ñ–Ñнує."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "Будь лаÑка, виберіть файл «project.godot»."
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "Будь лаÑка, виберіть теку, у Ñкій не міÑтитьÑÑ Ñ„Ð°Ð¹Ð»Ð° «project.godot»."
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "Будь лаÑка, виберіть порожню теку."
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "Будь лаÑка, виберіть файл «project.godot»."
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "Імпортований проект"
@@ -6070,6 +6989,11 @@ msgid "Project Path:"
msgstr "ШлÑÑ… проекту:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "ШлÑÑ… проекту:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "Вибрати"
@@ -6189,9 +7113,10 @@ msgid "Mouse Button"
msgstr "Кнопка миші"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
"Ðекоректна назва дії. Ðазва не може бути порожньою Ñ– не може міÑтити "
"Ñимволів «/», «:», «=», «\\» та «\"»."
@@ -6205,9 +7130,23 @@ msgid "Rename Input Action Event"
msgstr "Перейменувати подію за вхідною дією"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Змінити ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "Додати подію за вхідною дією"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "ПриÑтрій"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "ПриÑтрій"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6249,20 +7188,24 @@ msgid "Wheel Down Button"
msgstr "Кнопка коліщатка вниз"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "Кнопка 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "Кнопка коліщатка вгору"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "Кнопка 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "Права кнопка"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "Кнопка 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "Кнопка 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "Кнопка 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "Кнопка 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6289,10 +7232,6 @@ msgid "Add Event"
msgstr "Додати подію"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "ПриÑтрій"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "Кнопка"
@@ -6337,6 +7276,14 @@ 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 "Already existing"
msgstr "Вже Ñ–Ñнує"
@@ -6408,6 +7355,10 @@ msgstr "ВлаÑтивіÑть:"
msgid "Override For..."
msgstr "Перевизначити на..."
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "Карта введеннÑ"
@@ -6417,6 +7368,15 @@ msgid "Action:"
msgstr "ДіÑ:"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "ДіÑ:"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "ПриÑтрій:"
@@ -6477,10 +7437,6 @@ msgid "AutoLoad"
msgstr "ÐвтозавантаженнÑ"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "Виберіть панель переглÑду"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "Перейти в"
@@ -6517,34 +7473,10 @@ msgid "Select Node"
msgstr "Позначити вузол"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "Ðовий Ñкрипт"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "Ðовий %s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "Зробити унікальним"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "Показати в файловій ÑиÑтемі"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "Перетворити на %s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "Помилка при завантаженні файла: не Ñ” реÑурÑом!"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "Позначений вузол не Ñ” панеллю переглÑду!"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "Вибрати вузол"
@@ -6553,18 +7485,6 @@ msgid "Bit %d, val %d."
msgstr "Біт %d, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "Увімкнено"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[Порожньо]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Множина"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "ВлаÑтивоÑті:"
@@ -6589,6 +7509,133 @@ msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
"Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ перетворене Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð° допомогою заÑобу PVRTC:"
+#: 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
+#, fuzzy
+msgid "Advanced options"
+msgstr "Параметри прив'Ñзки"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Ім'Ñ Ð’ÑƒÐ·Ð»Ð°:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "Знайти тип вузла"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "Поточна Ñцена"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "Крок:"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "Змінити вираз"
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "нижній регіÑтр"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "ВЕРХÐІЙ РЕГІСТР"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "Скинути маÑштаб"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "Помилка"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "Змінити батьківÑький вузол"
@@ -6625,11 +7672,6 @@ msgstr "Ðргументи головної Ñцени:"
msgid "Scene Run Settings"
msgstr "Параметри запуÑку Ñцени"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "Гаразд"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "Ðемає батьківÑького вузла, на Ñкому заÑновано Ñцени."
@@ -6651,6 +7693,10 @@ msgid "Instance Scene(s)"
msgstr "Сцени екземплÑра"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "Вилучити Ñкрипт"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "Цю операцію не може бути виконано над коренем дерева."
@@ -6691,12 +7737,34 @@ msgid "Load As Placeholder"
msgstr "Завантажити Ñк заповнювач"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "Відкинути екземплÑри"
+#, fuzzy
+msgid "Make Local"
+msgstr "Локальний"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "У цьому Ñ” ÑенÑ!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Створити вузол"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Сцена"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Сцена"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "УÑунути уÑпадкуваннÑ"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "Вирізати вузли"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6707,6 +7775,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Ðе можна працювати з вузлами, Ñпадкоємцем Ñких Ñ” поточна Ñцена!"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "Долучити Ñкрипт"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "Вилучити вузли"
@@ -6751,18 +7823,15 @@ msgid "Change Type"
msgstr "Змінити тип"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "Долучити Ñкрипт"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "Вилучити Ñкрипт"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "У цьому Ñ” ÑенÑ!"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "Об'єднати зі Ñцени"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "Зберегти гілку Ñк Ñцену"
@@ -6787,10 +7856,6 @@ msgstr ""
"кореневого вузла не Ñ–Ñнує."
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "Фільтрувати вузли"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "Долучити новий або наÑвний Ñкрипт до позначеного вузла."
@@ -6810,25 +7875,19 @@ msgstr "Локальний"
msgid "Clear Inheritance? (No Undo!)"
msgstr "Вилучити уÑпадковуваннÑ? (Без можливоÑті ÑкаÑувати!)"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "Вилучено!"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "Перемкнути проÑторову видиміÑть"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "Перемкнути видиміÑть CanvasItem"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "Перемкнути видиміÑть"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑƒÐ·Ð»Ð°:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"Вузол міÑтить з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ– групи\n"
@@ -6850,22 +7909,25 @@ msgstr ""
"Вузол належить групам.\n"
"Клацніть, щоб переглÑнути панель груп."
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "Відкрити Ñкрипт"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"Вузол заблоковано.\n"
"ÐатиÑніть, щоб розблокувати"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"Дочірні об'єкти не можна позначити.\n"
"Клацніть, щоб зробити Ñ—Ñ… придатними до позначеннÑ"
@@ -6875,6 +7937,12 @@ 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 "Ðекоректна назва вузла. Ðе можна викориÑтовувати такі Ñимволи:"
@@ -6911,6 +7979,11 @@ msgid "N/A"
msgstr "Ð/З"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "Відкрити редактор Ñкриптів"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "Порожній шлÑÑ…"
@@ -7147,10 +8220,23 @@ msgid "Change Camera Size"
msgstr "Змінити розмір камери"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "Змінити розміри заÑобу ÑповіщеннÑ"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "Змінити AABB чаÑток"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "Змінити розміри зонду"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "Змінити Ñ€Ð°Ð´Ñ–ÑƒÑ Ñферичної форми"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "Змінити розміри кубічної форми"
@@ -7163,20 +8249,38 @@ msgid "Change Capsule Shape Height"
msgstr "Змінити виÑоту форми капÑули"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "Змінити довжину форми променÑ"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "Змінити Ñ€Ð°Ð´Ñ–ÑƒÑ Ñ„Ð¾Ñ€Ð¼Ð¸ капÑули"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "Змінити розміри заÑобу ÑповіщеннÑ"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "Змінити виÑоту форми капÑули"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "Змінити AABB чаÑток"
+msgid "Change Ray Shape Length"
+msgstr "Змінити довжину форми променÑ"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "Змінити розміри зонду"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Змінити Ñ€Ð°Ð´Ñ–ÑƒÑ Ð¾ÑвітленнÑ"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Змінити виÑоту форми капÑули"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "Змінити Ñ€Ð°Ð´Ñ–ÑƒÑ Ñферичної форми"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "Змінити Ñ€Ð°Ð´Ñ–ÑƒÑ Ð¾ÑвітленнÑ"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7231,17 +8335,6 @@ msgid "GDNative"
msgstr "GD Native"
#: 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_*."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "ÐедоÑтатньо байтів Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ вказано некоректний формат."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "аргумент кроку дорівнює нулеві!"
@@ -7308,6 +8401,11 @@ msgid "GridMap Delete Selection"
msgstr "Ð’Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Ð’Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ GridMap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "Ð”ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ GridMap"
@@ -7388,6 +8486,11 @@ 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 "Параметри GridMap"
@@ -7448,14 +8551,77 @@ msgid "Warnings"
msgstr "ПопередженнÑ"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "ПереглÑд файлів"
+msgstr "ПереглÑнути журнал"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "Кінець траÑÑƒÐ²Ð°Ð½Ð½Ñ Ñтека Ð´Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ виключеннÑ"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "Запекти!"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "Створити навігаційну Ñітку."
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "ОчиÑтити навігаційну Ñітку."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "Розрахунок розміру Ñітки..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ°Ñ€Ñ‚Ð¸ виÑот..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ…Ñ–Ð´Ð½Ð¸Ñ… трикутників..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑ‚Ð½Ð¾Ñ— карти виÑот..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "Ð Ð¾Ð·Ð¼Ð¸Ñ‚Ñ‚Ñ Ð¿Ñ€Ð¾Ñ…Ñ–Ð´Ð½Ð¾Ñ— ділÑнки..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "РозбиттÑ..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð²..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñітки..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° влаÑну навігаційну Ñітку..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° навігаційної Ñітки:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "Ðналіз геометрії..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "Зроблено!"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7513,10 +8679,6 @@ msgid "Set Variable Type"
msgstr "Ð’Ñтановити тип змінної"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "Функції:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "Змінні:"
@@ -7629,36 +8791,14 @@ msgid "Connect Nodes"
msgstr "Приєднати вузли"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "Умова"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "ПоÑлідовніÑть"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "Перемикач"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "Ітератор"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "Поки"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "ПоверненнÑ"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "Виклик"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Приєднати вузли"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "Отримати"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Приєднати вузли"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7685,26 +8825,18 @@ msgid "Remove Function"
msgstr "Вилучити функцію"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "Редагувати змінну"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "Вилучити змінну"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "Редагувати Ñигнал"
+msgid "Editing Variable:"
+msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "Вилучити Ñигнал"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналу:"
@@ -7748,6 +8880,11 @@ msgstr "Вирізати вузли"
msgid "Paste Nodes"
msgstr "Ð’Ñтавити вузли"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "Члени"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "Тип вводу не ітерабельний: "
@@ -7804,6 +8941,19 @@ msgstr ""
"_step() повертає некоректне значеннÑ. ЗначеннÑм має бути ціле чиÑло (seq "
"out) або Ñ€Ñдок (error)."
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "Вилучити вузол VisualScript"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "Отримати"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "ЗапуÑтити в браузері"
@@ -7853,9 +9003,10 @@ msgstr ""
"CanvasModulate. Працюватиме перший зі Ñтворених, решту буде проігноровано."
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"У цього вузла немає дочірніх форм, отже він не може взаємодіÑти із "
@@ -7966,6 +9117,19 @@ msgstr ""
"Щоб уÑе працювало Ñк Ñлід, влаÑтивіÑть шлÑху (path) має вказувати на "
"коректний вузол Node2D."
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8031,9 +9195,10 @@ msgid "Lighting Meshes: "
msgstr "ОÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ Ñітки: "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"У цього вузла немає дочірніх форм, отже він не може взаємодіÑти із "
@@ -8133,6 +9298,21 @@ msgstr ""
"проÑторових Ñцен) або вÑтановіть Ð´Ð»Ñ Background Mode цього Ñередовища "
"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Canvas (Ð´Ð»Ñ Ð´Ð²Ð¾Ð²Ð¸Ð¼Ñ–Ñ€Ð½Ð¸Ñ… Ñцен)."
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"Зміни розмірів RigidBody (у режимах character або rigid) буде перевизначено "
+"фізичним рушієм під Ñ‡Ð°Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸.\n"
+"ЗаміÑть цієї зміни, вам варто змінити розміри дочірніх форм зіткненнÑ."
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8149,6 +9329,47 @@ msgstr ""
"VehicleWheel Ñлугує Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ ÑиÑтеми ÐºÐ¾Ð»Ñ–Ñ Ñƒ VehicleBody. "
"Будь лаÑка, викориÑтовуйте цей елемент Ñк дочірній елемент вузла VehicleBody."
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "ІнÑтрументи анімації"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "ПОМИЛКÐ: неправильне ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Від'єднати '%s' від '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Виберіть AnimationPlayer з дерева Ñцен Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "Дерево анімації недійÑне."
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Raw (Ñирий) режим"
@@ -8230,12 +9451,366 @@ msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñƒ."
msgid "Invalid font size."
msgstr "Ðекоректний розмір шрифту."
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°"
+msgid "Input"
+msgstr "Додати вхід"
+
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "None"
+msgstr "<Ðемає>"
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "Змінити чиÑлову Ñталу"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "Змінити векторну конÑтанту"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "Змінити Ñталу RGB"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "Змінити чиÑловий оператор"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "Змінити векторний оператор"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "Змінити векторно-чиÑловий оператор"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "Змінити оператор RGB"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "Перемкнути лише поворот"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "Змінити ÑкалÑрну функцію"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "Змінити векторну функцію"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "Змінити чиÑлову одиницю"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "Змінити векторну одиницю"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "Змінити одиницю RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "Змінити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° промовчаннÑм"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "Змінити одиницю XForm"
+
+#~ msgid "Change Texture Uniform"
+#~ msgstr "Змінити одиницю текÑтури"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "Змінити одиницю кубічної мапи"
+
+#~ msgid "Change Comment"
+#~ msgstr "Змінити коментар"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "Додати до рампи кольорів або вилучити з неї"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "Змінити градієнт"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "Додати до карти кривих або вилучити з неї"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "Змінити карту кривої"
+
+#~ msgid "Change Input Name"
+#~ msgstr "Змінити назву входу"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "З'єднати вузли графу"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "Роз'єднати вузли графу"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "Вилучити вузол графу шейдера"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "ПереÑунути вузол графу шейдера"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "Дублювати вузли графу"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "Вилучити взули графу шейдера"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "Помилка: циклічне поÑиланнÑ"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "Помилка: пропущено вхідні з'єднаннÑ"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "Додати вузол графу шейдера"
+
+#~ msgid "Disabled"
+#~ msgstr "Вимкнено"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "ПереÑунути доріжку вгору"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "ПереÑунути доріжку вниз"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Ð’Ñтановити перехід на:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Перейменувати доріжку"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Змінити інтерполÑцію"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "Змінити режим значень"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "Змінити режим циклу"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Редагувати криву вузла"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "Редагувати обрану криву"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Додати ключ анімації"
+
+#~ msgid "In"
+#~ msgstr "Ð’"
+
+#~ msgid "Out"
+#~ msgstr "Із"
+
+#~ msgid "In-Out"
+#~ msgstr "В-із"
+
+#~ msgid "Out-In"
+#~ msgstr "Із-в"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "Змінити довжину анімації"
-#~ msgid "Next"
-#~ msgstr "Далі"
+#~ msgid "Change Anim Loop"
+#~ msgstr "Змінити цикл анімації"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Створити типовий ключ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Додати доріжку виклику анімації"
+
+#~ msgid "Length (s):"
+#~ msgstr "ТриваліÑть (Ñек.):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "Крок прив'Ñзки курÑору (в Ñекундах)."
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "УвімкненнÑ/Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ†Ð¸ÐºÐ»Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ анімації."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Додати нові доріжки."
+
+#~ msgid "Move current track up."
+#~ msgstr "ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— доріжки вгору."
+
+#~ msgid "Move current track down."
+#~ msgstr "ПереміÑтити поточну доріжку вниз."
+
+#~ msgid "Track tools"
+#~ msgstr "ІнÑтрументи відÑтеженнÑ"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Дозволити Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ñ… ключів, клацаючи по ним."
+
+#~ msgid "Key"
+#~ msgstr "Ключ"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "З Ñкого вузла викликати функцію?"
+
+#~ msgid "Thanks!"
+#~ msgstr "ПодÑка!"
+
+#~ msgid "I see..."
+#~ msgstr "Бачу..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "Ðеможливо відкрити '%s'."
+
+#~ msgid "Ugh"
+#~ msgstr "Тьху"
+
+#~ msgid "Run Script"
+#~ msgstr "ЗапуÑтити Ñкрипт"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "Зберегти поточний редагований реÑурÑ."
+
+#~ msgid "Stop Profiling"
+#~ msgstr "Зупинити профілюваннÑ"
+
+#~ msgid "Start Profiling"
+#~ msgstr "Початок профілюваннÑ"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "Типовий (так Ñамо, Ñк редактор)"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Створити нову анімацію у програвачі."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Завантажити анімацію з диÑка."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Завантажити цю анімацію з диÑка."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Зберегти поточну анімацію"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Редагувати цільовий Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ"
+
+#~ msgid "Copy Animation"
+#~ msgstr "Копіювати анімацію"
+
+#~ msgid "Fetching:"
+#~ msgstr "ВидобуваннÑ:"
+
+#~ msgid "prev"
+#~ msgstr "попередній"
+
+#~ msgid "next"
+#~ msgstr "наÑтупний"
+
+#~ msgid "last"
+#~ msgstr "оÑтанній"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "Редагувати ІК-ланцюг"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "ПеретÑгти центр Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð· Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¸ÑˆÑ–"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "Ð’Ñтановити центр Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð½Ð° міÑці вказівника миші"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "Додати/Видалити точку градієнта"
+
+#~ msgid "OK :("
+#~ msgstr "Гаразд :("
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "ВидиміÑть каркаÑу гаджетів"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "ПереглÑд StyleBox:"
+
+#~ msgid "StyleBox"
+#~ msgstr "Style Box"
+
+#~ msgid "Separation:"
+#~ msgstr "ВідокремленнÑ:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "Редактор облаÑті текÑтури"
+
+#~ msgid "Erase selection"
+#~ msgstr "Витерти позначене"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "Ðеможливо знайти плитку:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "Ðазва або ідентифікатор елемента:"
+
+#~ msgid "Autotiles"
+#~ msgstr "Ðвтоплитки"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr ""
+#~ "Ðе виÑтачає шаблонів екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ або шаблони пошкоджено: "
+
+#~ msgid "Button 7"
+#~ msgstr "Кнопка 7"
+
+#~ msgid "Button 8"
+#~ msgstr "Кнопка 8"
+
+#~ msgid "Button 9"
+#~ msgstr "Кнопка 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "Відкинути екземплÑри"
+
+#~ msgid "Clear!"
+#~ msgstr "Вилучено!"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "Перемкнути проÑторову видиміÑть"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "Перемкнути видиміÑть CanvasItem"
+
+#~ msgid "Condition"
+#~ msgstr "Умова"
+
+#~ msgid "Sequence"
+#~ msgstr "ПоÑлідовніÑть"
+
+#~ msgid "Switch"
+#~ msgstr "Перемикач"
+
+#~ msgid "Iterator"
+#~ msgstr "Ітератор"
+
+#~ msgid "While"
+#~ msgstr "Поки"
+
+#~ msgid "Return"
+#~ msgstr "ПоверненнÑ"
+
+#~ msgid "Call"
+#~ msgstr "Виклик"
+
+#~ msgid "Edit Variable"
+#~ msgstr "Редагувати змінну"
+
+#~ msgid "Edit Signal"
+#~ msgstr "Редагувати Ñигнал"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Ðекоректна Ð´Ñ–Ñ (можна уÑе, окрім «/» або «:»)."
@@ -8253,10 +9828,6 @@ msgstr "Ðекоректний розмір шрифту."
#~ msgid "Can't write file."
#~ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл."
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr ""
-#~ "Будь лаÑка, виберіть теку, у Ñкій не міÑтитьÑÑ Ñ„Ð°Ð¹Ð»Ð° «project.godot»."
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ project.godot з каталогу проекту."
diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po
index 3857bff9b0..47be7ef1d1 100644
--- a/editor/translations/ur_PK.po
+++ b/editor/translations/ur_PK.po
@@ -18,333 +18,464 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2.7-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
+#: 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_* constants .Ú©Û’ لیے غلط Ûیں convert() دیے گئے ارگمنٹس."
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr ".تمام کا انتخاب"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "یا تو ڈیکوڈ کرنے Ú©Û’ لئے بائیٹس Ú©Ù… Ûیں یا پھر ناقص ÙØ§Ø±Ù…یٹ Ú¾Û’."
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Time"
+#: core/math/expression.cpp
+msgid "Invalid input %i (not passed) in expression"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transition"
+#: core/math/expression.cpp
+msgid "self can't be used because instance is null (not passed)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Transform"
+#: core/math/expression.cpp
+msgid "Invalid operands to operator %s, %s and %s."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Keyframe Value"
+#: core/math/expression.cpp
+msgid "Invalid index of type %s for base type %s"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Change Call"
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr ""
+".استمال کیجۓ TYPE_* constants .Ú©Û’ لیے غلط Ûیں convert() دیے گئے ارگمنٹس."
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Mirror"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
+#: editor/animation_bezier_editor.cpp
+msgid "Insert Key Here"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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 editor/animation_track_editor.cpp
msgid "Anim Duplicate Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
+#: 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_editor.cpp
-msgid "Move Anim Track Down"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transition"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Transform"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Keyframe Value"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
+#: editor/animation_track_editor.cpp
+msgid "Anim Change Call"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
+#: editor/animation_track_editor.cpp
+msgid "Add Track"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Animation Length Time (seconds)"
msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Remove Selection"
-msgstr ".تمام کا انتخاب"
+#: editor/animation_track_editor.cpp
+msgid "Animation Looping"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Continuous"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Discrete"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Trigger"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr ".تمام کا انتخاب"
+
+#: editor/animation_track_editor.cpp
+msgid "Time (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
+#: editor/animation_track_editor.cpp
+msgid "Continuous"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
-#: editor/property_editor.cpp
-msgid "Linear"
+#: editor/animation_track_editor.cpp
+msgid "Discrete"
msgstr ""
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
+#: editor/animation_track_editor.cpp
+msgid "Trigger"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "Linear"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
+#: 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_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr ".اینیمیشن کی کیز کو ڈیلیٹ کرو"
+
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr ""
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
+#: 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_editor.cpp
-msgid "Change Anim Loop"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method 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
+msgid "Clipboard is empty"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid ""
+"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Snap (s): "
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Animation step value."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
+#: editor/animation_track_editor.cpp
+msgid "Animation properties."
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track up."
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move current track down."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Track tools"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim. Optimizer"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr ".تمام کا انتخاب"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Linear Error:"
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max. Angular Error:"
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Max Optimizable Angle:"
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Optimize"
+#: 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_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
+#: editor/animation_track_editor.cpp
+msgid "Anim. Optimizer"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Key"
+#: editor/animation_track_editor.cpp
+msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transition"
+#: editor/animation_track_editor.cpp
+msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
+#: editor/animation_track_editor.cpp
+msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
+#: editor/animation_track_editor.cpp
+msgid "Optimize"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -365,7 +496,7 @@ msgstr ""
msgid "Line Number:"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr ""
@@ -381,7 +512,7 @@ msgstr ""
msgid "Whole Words"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr ""
@@ -393,18 +524,26 @@ msgstr ""
msgid "Selection Only"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr ""
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr ""
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+msgid "Zoom:"
+msgstr ""
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr ""
@@ -434,7 +573,8 @@ msgid "Add"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -465,7 +605,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -487,11 +627,11 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
+msgid "Disconnect '%s' from '%s'"
msgstr ""
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr ""
#: editor/connections_dialog.cpp
@@ -499,14 +639,43 @@ msgid "Connect..."
msgstr ""
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr ""
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+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 \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "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 ""
@@ -530,22 +699,25 @@ msgstr ""
msgid "Recent:"
msgstr ""
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr ""
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr ""
@@ -603,7 +775,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 ""
@@ -622,7 +796,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -690,8 +864,12 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
msgstr ""
#: editor/editor_about.cpp
@@ -867,6 +1045,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -936,7 +1115,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -947,7 +1127,6 @@ msgid "Load an existing Bus Layout."
msgstr "سب سکریپشن بنائیں"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -984,48 +1163,48 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Not in resource path."
-msgstr ".ÛŒÛ Ø±ÛŒØ³ÙˆØ±Ø³ ÙØ§Ø¦Ù„ پر مبنی Ù†ÛÛŒ ÛÛ’"
+msgid "Toggle AutoLoad Globals"
+msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
-msgstr ""
+#, fuzzy
+msgid "Not in resource path."
+msgstr ".ÛŒÛ Ø±ÛŒØ³ÙˆØ±Ø³ ÙØ§Ø¦Ù„ پر مبنی Ù†ÛÛŒ ÛÛ’"
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1058,7 +1237,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1120,6 +1299,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1156,7 +1340,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1211,7 +1395,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1358,20 +1543,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1394,11 +1586,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1411,8 +1598,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1454,10 +1641,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1524,42 +1707,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1734,11 +1881,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1767,6 +1909,15 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "ایک مینو منظر چنیں"
+
+#: editor/editor_node.cpp
+msgid "Close Tab"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1888,10 +2039,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1901,6 +2048,10 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+msgid "Open Project Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1992,6 +2143,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2007,7 +2170,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2051,7 +2215,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2072,59 +2236,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2141,6 +2278,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2218,19 +2359,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2238,12 +2383,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2290,6 +2436,102 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+#, fuzzy
+msgid "New Script"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2324,10 +2566,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2353,6 +2591,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2377,7 +2616,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2437,6 +2676,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2517,7 +2762,7 @@ msgid "Download Templates"
msgstr ".تمام کا انتخاب"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2529,11 +2774,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2604,7 +2849,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2633,6 +2878,22 @@ msgid "Duplicate..."
msgstr ""
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2645,7 +2906,11 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+msgid "Toggle folder status as Favorite."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2653,18 +2918,110 @@ msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Search files"
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Find: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Whole words"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Match case"
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+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 "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Group name already exists."
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "invalid Group name."
+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
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2675,6 +3032,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2716,7 +3077,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2776,16 +3137,123 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Edit Resource Clipboard"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+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
+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
@@ -2830,6 +3298,142 @@ msgstr ""
msgid "Delete points"
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_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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr ".تمام کا انتخاب"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+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
+#: 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 "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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2856,11 +3460,11 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+msgid "Invalid animation name!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+msgid "Animation name already exists!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2869,11 +3473,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2890,12 +3489,13 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+msgid "No animation to copy!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr ".ÛŒÛ Ø±ÛŒØ³ÙˆØ±Ø³ ÙØ§Ø¦Ù„ پر مبنی Ù†ÛÛŒ ÛÛ’"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
@@ -2906,7 +3506,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2938,39 +3538,32 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
+msgid "Edit Transitions..."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Open in Inspector"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3023,6 +3616,10 @@ 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 ""
@@ -3032,6 +3629,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3049,161 +3647,211 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Connect nodes."
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3257,7 +3905,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3285,19 +3937,19 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
+msgid "Previous"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
+msgid "Next"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3365,7 +4017,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3374,12 +4026,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3392,14 +4042,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "ایکشن منتقل کریں"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3431,11 +4073,25 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "ایکشن منتقل کریں"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move anchor"
+msgstr "ایکشن منتقل کریں"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3455,6 +4111,18 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom out"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom reset"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom in"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3499,7 +4167,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3507,7 +4175,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3548,6 +4216,10 @@ 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 ""
@@ -3574,23 +4246,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3636,11 +4308,7 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+msgid "Insert keys."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3656,15 +4324,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr ".تمام کا انتخاب"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3680,10 +4339,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3716,26 +4371,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3809,15 +4456,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3901,6 +4539,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3968,6 +4607,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4068,70 +4728,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4192,59 +4788,55 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
+msgid "Faces contain no area!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
+msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Faces contain no area!"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "No faces!"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
+msgid "Create Emitter"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Emission Points:"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Surface Points"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emitter"
+msgid "Surface Points+Normal (Directed)"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Points:"
+msgid "Volume"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points"
+msgid "Emission Source: "
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Surface Points+Normal (Directed)"
+msgid "A processor material of type 'ParticlesMaterial' is required."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Volume"
+msgid "Generate AABB"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Emission Source: "
+msgid "Convert to CPUParticles"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4324,6 +4916,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4360,19 +4968,87 @@ msgstr ".تمام کا انتخاب"
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Invalid Split: "
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr ".تمام کا انتخاب"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4401,11 +5077,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4421,8 +5109,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4433,6 +5120,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4455,6 +5166,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4476,14 +5191,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4495,6 +5211,18 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error saving file!"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4511,6 +5239,19 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save File As..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4523,6 +5264,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4552,7 +5297,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4580,6 +5325,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4613,11 +5363,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4671,10 +5416,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4693,45 +5434,67 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Search in files"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Line"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4819,7 +5582,7 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
+msgid "Find in files..."
msgstr ""
#: editor/plugins/script_text_editor.cpp
@@ -4838,128 +5601,37 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "سب سکریپشن بنائیں"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5087,10 +5759,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5099,6 +5767,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5143,6 +5815,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5273,6 +5949,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5281,6 +5961,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5309,6 +5993,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5322,10 +6010,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5385,6 +6069,47 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5455,14 +6180,6 @@ msgstr "ایکشن منتقل کریں"
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5488,26 +6205,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5523,11 +6233,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr ".تمام کا انتخاب"
@@ -5601,10 +6306,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5629,7 +6330,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5642,7 +6343,7 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
+msgid "Constant"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5651,6 +6352,10 @@ msgid "Erase Selection"
msgstr ".تمام کا انتخاب"
#: editor/plugins/tile_map_editor_plugin.cpp
+msgid "Fix Invalid Tiles"
+msgstr ""
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5671,11 +6376,7 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+msgid "Find Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5699,6 +6400,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr ".تمام کا انتخاب"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5715,63 +6421,106 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr ".تمام کا انتخاب"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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 "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5787,7 +6536,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5861,10 +6610,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5873,7 +6618,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5881,6 +6626,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5970,6 +6723,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6079,8 +6836,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6092,9 +6849,21 @@ 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6136,19 +6905,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6177,10 +6946,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6225,6 +6990,12 @@ 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 "Already existing"
msgstr ""
@@ -6296,6 +7067,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6305,6 +7080,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "ایکشن منتقل کریں"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6365,10 +7149,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6405,76 +7185,155 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-#, fuzzy
-msgid "New Script"
-msgstr "سب سکریپشن بنائیں"
+msgid "Error loading file: Not a resource!"
+msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+msgid "Batch Rename"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node name"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+msgid "Reset"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6513,11 +7372,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6537,6 +7391,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Clear Script"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6577,11 +7436,28 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+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 "Makes Sense!"
+msgid "User Interface"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+msgid "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6593,6 +7469,11 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Attach Script"
+msgstr "سب سکریپشن بنائیں"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6635,20 +7516,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Attach Script"
-msgstr "سب سکریپشن بنائیں"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "سب سکریپشن بنائیں"
+msgid "Make Scene Root"
+msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6671,10 +7546,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6695,16 +7566,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6713,7 +7576,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6729,21 +7592,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "سب سکریپشن بنائیں"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6751,6 +7614,12 @@ 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 ""
@@ -6787,6 +7656,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7028,10 +7901,24 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr ".Ù†ÙˆÙ¹ÙØ¦Ø± Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Probe Extents"
+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 ""
@@ -7044,21 +7931,32 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr ".Ù†ÙˆÙ¹ÙØ¦Ø± Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ"
+msgid "Change Cylinder Shape Height"
+msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-#, fuzzy
-msgid "Change Probe Extents"
-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/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7114,17 +8012,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-".استمال کیجۓ TYPE_* constants .Ú©Û’ لیے غلط Ûیں convert() دیے گئے ارگمنٹس."
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "یا تو ڈیکوڈ کرنے Ú©Û’ لئے بائیٹس Ú©Ù… Ûیں یا پھر ناقص ÙØ§Ø±Ù…یٹ Ú¾Û’."
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "سٹیپ Ú©Û’ ارگمنٹس Ø³ÙØ± Ûیں!"
@@ -7190,6 +8077,11 @@ 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
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7271,6 +8163,11 @@ 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 ""
@@ -7339,6 +8236,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7390,10 +8351,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7504,35 +8461,11 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
+msgid "Connect Node Data"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
+msgid "Connect Node Sequence"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7561,15 +8494,11 @@ msgid "Remove Function"
msgstr ".تمام کا انتخاب"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7578,10 +8507,6 @@ msgid "Remove Signal"
msgstr ".تمام کا انتخاب"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7625,6 +8550,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7679,6 +8608,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "سب سکریپشن بنائیں"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7726,8 +8668,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7808,6 +8750,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7868,8 +8823,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7942,6 +8897,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7954,6 +8920,42 @@ msgid ""
"it as a child of a VehicleBody."
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_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 "A root AnimationNode for the graph is not 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 "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8022,6 +9024,34 @@ msgstr ""
msgid "Invalid font size."
msgstr ""
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr ".تمام کا انتخاب"
+
#, fuzzy
#~ msgid "Can't write file."
#~ msgstr "سب سکریپشن بنائیں"
diff --git a/editor/translations/vi.po b/editor/translations/vi.po
index faf77300b8..18d0de7612 100644
--- a/editor/translations/vi.po
+++ b/editor/translations/vi.po
@@ -21,336 +21,474 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-msgstr "Tắt"
+#: 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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "Chá»n tất cả"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: modules/visual_script/visual_script_builtin_funcs.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.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
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "Chèn Key Anim"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "Nhân đôi lá»±a chá»n"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Delete Selected Key(s)"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Nhân đôi Các Key của Animation"
+
+#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Xóa phím Anim"
+
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Time"
msgstr "Äổi thá»i gian khung hình"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "Äổi Transition Animation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "Äổi Transform Animation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "Äổi giá trị khung hình"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "Äổi Function Gá»i Animation"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "Thêm Track Animation"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "Nhân đôi Các Key của Animation"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "Di chuyển Anim Track lên trên"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "Di chuyển Anim Track xuống dưới"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "Xóa Anim Track"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "Äặt Transtions thành:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "Ngưng chạy animation. (S)"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "Äổi tên Anim Track"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "Thêm Track Animation"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "Äổi phép ná»™i suy Anim Track"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "Äá»™ dài Animation (giây)."
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "Phóng Animation."
+
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "Sá»­a Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "Sá»­a Curve đã chá»n"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "Xóa phím Anim"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "Nhân đôi lá»±a chá»n"
+#: editor/animation_track_editor.cpp
+msgid "Interpolation Mode"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "Bá» lá»±a chá»n"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "Bá» track Ä‘ang chá»n."
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "Bước (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "Liên tục"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "Äứt Ä‘oạn"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "Kích hoạt"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "Thêm Key Anim"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "Di chuyển các Key Anim"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "Chá»n Scale"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "Scale từ trỠchuột"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "Äến Step tiếp theo"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "Äến Step trước đó"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "Tuyến"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "Cố định"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "Trong"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "Ngoài"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "Trong-Ngoài"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "Ngoài-Trong"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "Chuyển tiếp"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "Nhân đôi Các Key của Animation"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "Tối ưu Animation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "Xóa phím Anim"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "Dá»n dẹp Animation"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "Xóa Anim Track"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "Tạo track mới cho %s và chèn key?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "Tạo %d track mới và chèn key?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "Tạo"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "Chèn Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "Tạo & Chèn Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "Chèn Track & Key Anim"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "Chèn Key Anim"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "Äổi độ dài Anim"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-msgstr "Äổi vòng lặp Anim"
+#: editor/animation_track_editor.cpp
+msgid ""
+"Audio tracks can only point to nodes of type:\n"
+"-AudioStreamPlayer\n"
+"-AudioStreamPlayer2D\n"
+"-AudioStreamPlayer3D"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "Tạo Key để nhập giá trị Anim"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "Chèn Anim"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Method not found in object: "
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Di chuyển các Key Anim"
+
+#: editor/animation_track_editor.cpp
+msgid "Clipboard is empty"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Scale Keys"
msgstr "Anim Scale Keys"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "Thêm Track Gá»i Function"
+#: 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 "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
+#, fuzzy
+msgid "Snap (s): "
+msgstr "Bước (s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Animation zoom."
+msgid "Animation step value."
msgstr "Phóng Animation."
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "Äá»™ dài (giây):"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "Äá»™ dài Animation (giây)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "Phóng Animation."
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "Bước (s):"
+#: editor/animation_track_editor.cpp
+msgid "Copy Tracks"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+msgid "Paste Tracks"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "Mở/Tắt lặp animation."
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "Chá»n Scale"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "Thêm track mới."
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "Scale từ trỠchuột"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "Di chuyển track lên."
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "Nhân đôi lá»±a chá»n"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "Di chuyển track xuống."
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "Bá» track Ä‘ang chá»n."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "Nhân đôi lá»±a chá»n"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "Äến Step tiếp theo"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+msgstr "Äến Step trước đó"
+
+#: editor/animation_track_editor.cpp
+msgid "Optimize Animation"
+msgstr "Tối ưu Animation"
+
+#: editor/animation_track_editor.cpp
+msgid "Clean-Up Animation"
+msgstr "Dá»n dẹp Animation"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "Công cụ Track"
+#: editor/animation_track_editor.cpp
+msgid "Pick the node that will be animated:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "Cho phép chỉnh sá»­a từng key riêng bằng cách chá»n chúng."
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
msgstr "Tối ưu hóa Animation"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "Tối ưu"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "Chá»n má»™t AnimationPlayer từ Scene Tree để chỉnh sá»­a animation."
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Key"
-msgstr "Mã"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "Chuyển tiếp"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "Tỉ lệ Scale:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "Gá»i Function từ Node nào?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "Hủy key không đúng chuẩn"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Remove unresolved and empty tracks"
msgstr "Gỡ bỠtrack trống và không tìm thấy"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "Dá»n dẹp tất cả animations"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "Dá»n dẹp tất cả Animation (KHÔNG THỂ Há»’I LẠI)"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr "Dá»n dẹp"
+#: editor/animation_track_editor.cpp
+msgid "Scale Ratio:"
+msgstr "Tỉ lệ Scale:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "Copy"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "Äổi lại size Array"
@@ -371,7 +509,7 @@ msgstr "Äến Dòng"
msgid "Line Number:"
msgstr "Dòng số:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "Không tìm thấy"
@@ -388,7 +526,7 @@ msgstr "Trùng khớp"
msgid "Whole Words"
msgstr "Cả từ"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "Thay thế"
@@ -400,18 +538,27 @@ msgstr "Thay thế tất cả"
msgid "Selection Only"
msgstr "Chỉ lá»±a chá»n"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "Phóng to"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "Thu nhá»"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "Äặt lại phóng"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "Phóng to"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "Dòng:"
@@ -444,7 +591,8 @@ msgid "Add"
msgstr "Thêm"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -478,7 +626,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -500,11 +648,12 @@ msgid "Connect '%s' to '%s'"
msgstr "Kết nối '%s' đến '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "Äang kết nối Signal:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "Hủy kết nối '%s' từ '%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "Hủy kết nối '%s' từ '%s'"
#: editor/connections_dialog.cpp
@@ -512,14 +661,45 @@ msgid "Connect..."
msgstr "Kết nối..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "Hủy kết nối"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "Äang kết nối Signal:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "Sá»­a Curve đã chá»n"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "Tín hiệu"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "Hủy kết nối"
+
+#: 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 "Äổi %s Type"
@@ -542,22 +722,25 @@ msgstr "Ưa thích:"
msgid "Recent:"
msgstr "Gần đây:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "Tìm kiếm:"
#: editor/create_dialog.cpp editor/editor_help.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 "Phù hợp:"
#: editor/create_dialog.cpp editor/editor_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "Mô tả:"
@@ -616,7 +799,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "Mở"
@@ -635,7 +820,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr ""
@@ -703,9 +888,13 @@ msgstr ""
msgid "Thanks from the Godot community!"
msgstr ""
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "Cảm ơn!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -878,6 +1067,7 @@ msgid "Bus options"
msgstr ""
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr ""
@@ -946,7 +1136,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr ""
@@ -956,7 +1147,6 @@ msgid "Load an existing Bus Layout."
msgstr ""
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr ""
@@ -993,47 +1183,47 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
+msgid "Autoload '%s' already exists!"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
+msgid "Rename Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
+msgid "Toggle AutoLoad Globals"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
+msgid "Move Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Autoload '%s' already exists!"
+msgid "Remove Autoload"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rename Autoload"
+msgid "Enable"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Toggle AutoLoad Globals"
+msgid "Rearrange Autoloads"
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Move Autoload"
+msgid "Invalid Path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Remove Autoload"
+msgid "File does not exist."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Enable"
+msgid "Not in resource path."
msgstr ""
#: editor/editor_autoload_settings.cpp
-msgid "Rearrange Autoloads"
+msgid "Add AutoLoad"
msgstr ""
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
@@ -1066,7 +1256,7 @@ msgstr ""
msgid "Updating scene..."
msgstr ""
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1128,6 +1318,11 @@ 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/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1164,7 +1359,7 @@ msgid "Open a File or Directory"
msgstr ""
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr ""
@@ -1217,7 +1412,8 @@ msgstr ""
msgid "Directories & Files:"
msgstr ""
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr ""
@@ -1362,20 +1558,27 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+msgid "Property: "
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1397,11 +1600,6 @@ msgstr ""
msgid "Save Resource As..."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr ""
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr ""
@@ -1414,8 +1612,8 @@ msgstr ""
msgid "Error while saving."
msgstr ""
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
+#: 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
@@ -1457,10 +1655,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1527,42 +1721,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1738,11 +1896,6 @@ msgstr ""
"Scene '%s' được load tự động, vì vậy không thể chỉnh sửa.\n"
"Tạo một scene con để chỉnh sửa."
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr ""
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1771,6 +1924,15 @@ msgid "Default"
msgstr ""
#: editor/editor_node.cpp
+msgid "Play This Scene"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "Äóng tất cả Tab"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1892,10 +2054,6 @@ msgstr ""
msgid "Project Settings"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr ""
@@ -1905,6 +2063,11 @@ msgid "Tools"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "Chá»n folder này"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -1996,6 +2159,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2011,7 +2186,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr ""
@@ -2057,7 +2233,7 @@ msgstr ""
msgid "Stop the scene."
msgstr ""
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr ""
@@ -2078,59 +2254,32 @@ msgid "Play Custom Scene"
msgstr ""
#: editor/editor_node.cpp
-msgid "Spins when the editor window repaints!"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Always"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Update Changes"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Disable Update Spinner"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Inspector"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
+msgid "Changing the video driver requires restarting the editor."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
+#: editor/editor_node.cpp editor/project_settings_editor.cpp
+#: editor/settings_config_dialog.cpp
+msgid "Save & Restart"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
+msgid "Spins when the editor window repaints!"
msgstr ""
#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
+msgid "Update Always"
msgstr ""
#: editor/editor_node.cpp
-msgid "History of recently edited objects."
+msgid "Update Changes"
msgstr ""
#: editor/editor_node.cpp
-msgid "Object properties."
+msgid "Disable Update Spinner"
msgstr ""
#: editor/editor_node.cpp
-msgid "Changes may be lost!"
+msgid "Inspector"
msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
@@ -2147,6 +2296,11 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "Mở rộng tất cả"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2223,19 +2377,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2243,12 +2401,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2295,6 +2454,100 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr ""
+
+#: editor/editor_properties.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
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2329,10 +2582,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "Chá»n Node để Nhập"
@@ -2358,6 +2607,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2382,7 +2632,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2442,6 +2692,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr ""
@@ -2520,7 +2776,7 @@ msgid "Download Templates"
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2532,11 +2788,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2607,7 +2863,7 @@ msgstr "Mở rộng tất cả"
msgid "Collapse all"
msgstr "Thu gá»n tất cả"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "Äổi tên..."
@@ -2636,6 +2892,22 @@ msgid "Duplicate..."
msgstr "Nhân đôi..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "Tạo Script"
+
+#: editor/filesystem_dock.cpp
+msgid "New Resource..."
+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 "Äổi tên"
+
+#: editor/filesystem_dock.cpp
msgid "Previous Directory"
msgstr "Thư mục trước"
@@ -2648,14 +2920,28 @@ msgid "Re-Scan Filesystem"
msgstr "Quét lại hệ thống tập tin"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "(Bá») Chá»n thư mục Hay sá»­ dụng"
#: editor/filesystem_dock.cpp
+msgid "Show current scene file."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "Tìm kiếm:"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2663,14 +2949,109 @@ msgstr ""
"Äang quét file,\n"
"ChỠmôt chút..."
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "Di chuyển"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "Äổi tên"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "Äã có má»™t file hoặc folder trùng tên."
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "Tạo Script"
+
+#: editor/find_in_files.cpp
+msgid "Find in files"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "Tìm tiếp theo"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "Cả từ"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "Trùng khớp"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+msgid "Filter: "
+msgstr ""
+
+#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/script_text_editor.cpp
+msgid "Find..."
+msgstr "Tìm..."
+
+#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp
+msgid "Replace..."
+msgstr ""
+
+#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "Thay thế"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "Thay thế tất cả"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "Tìm kiếm:"
+
+#: editor/find_in_files.cpp
+msgid "Search complete"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "LỖI: Tên animation trùng lặp!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "Kích thước font không hợp lệ."
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "Thêm vào Nhóm"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr ""
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "Thêm vào Nhóm"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2680,6 +3061,10 @@ msgstr "Thêm vào Nhóm"
msgid "Remove from Group"
msgstr "Xóa khá»i Nhóm"
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr ""
@@ -2721,7 +3106,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2781,16 +3166,124 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "LỖI: Không có animation trên clipboard!"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "Tạo & Sửa"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Plugin Name:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_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
@@ -2834,6 +3327,143 @@ msgstr ""
msgid "Delete points"
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 "Thêm Animation"
+
+#: 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
+#: 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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "Tạo Script"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "Tối ưu Animation"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "LỖI: Tên animation trùng lặp!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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 ""
@@ -2860,11 +3490,13 @@ msgid "Remove Animation"
msgstr "Xóa Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "LỖI: Tên animation không hợp lệ!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "LỖI: Tên animation trùng lặp!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2873,11 +3505,6 @@ msgid "Rename Animation"
msgstr "Äổi tên Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "Thêm Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "Chuyển đổi animation Tiếp theo Thay đổi"
@@ -2894,11 +3521,13 @@ msgid "Duplicate Animation"
msgstr "Tạo Animation bản sao"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "LỖI: Không có animation để copy!"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "LỖI: Không có animation trên clipboard!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2910,7 +3539,8 @@ msgid "Paste Animation"
msgstr "Dán Animation"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "LỖI: Không có animation để chỉnh!"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2942,20 +3572,26 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "Tạo animation mới trong player."
+msgid "Animation Tools"
+msgstr "Các Công cụ Animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "Load animation từ disk."
+msgid "New"
+msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "Load một animation từ disk."
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "Chuyển tiếp"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "Lưu animation này"
+msgid "Open in Inspector"
+msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -2966,18 +3602,6 @@ msgid "Autoplay on Load"
msgstr "Tự động chạy khi Load"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "Chỉnh Thá»i gian Chuyển Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "Các Công cụ Animation"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "Khung hình Liên tiếp"
@@ -3026,6 +3650,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "Dán Animation"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3035,6 +3664,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3052,161 +3682,212 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "Edit Filters"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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 ""
+"Select and move nodes.\n"
+"RMB to add new nodes.\n"
+"Shift+LMB to create connections."
msgstr ""
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Create new nodes."
+msgstr "Tạo %s Mới"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "Kết nối đến Node:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Remove selected node or transition"
+msgstr "Bá» track Ä‘ang chá»n."
+
+#: 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 "Chuyển tiếp"
+
#: 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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3260,7 +3941,11 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
+msgid "Downloading (%s / %s)..."
+msgstr ""
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Downloading..."
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3288,19 +3973,21 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr ""
+#, fuzzy
+msgid "Previous"
+msgstr "Thư mục trước"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+#, fuzzy
+msgid "Next"
+msgstr "Tìm tiếp theo"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3368,7 +4055,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3377,12 +4064,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3395,14 +4080,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3431,11 +4108,24 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "Di chuyển đến..."
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move anchor"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3455,6 +4145,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "Thu nhá»"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "Thu nhá»"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "Phóng to"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3498,7 +4203,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3506,7 +4211,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3547,6 +4252,10 @@ 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 ""
@@ -3573,23 +4282,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3635,12 +4344,9 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "Chèn Key Anim"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3655,14 +4361,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3678,10 +4376,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3714,26 +4408,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3804,15 +4490,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3896,6 +4573,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -3963,6 +4641,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4063,70 +4762,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4187,18 +4822,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4207,15 +4830,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4243,6 +4862,18 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Convert to CPUParticles"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4319,6 +4950,22 @@ msgstr "Xóa Point"
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4351,19 +4998,88 @@ msgstr ""
msgid "Remove In-Control Point"
msgstr ""
+#: editor/plugins/physical_bone_plugin.cpp
+#, fuzzy
+msgid "Move joint"
+msgstr "Di chuyển đến..."
+
+#: 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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split already exists."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "Kích thước font không hợp lệ."
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "Bá» lá»±a chá»n"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "Tạo"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4392,11 +5108,24 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+msgstr "Chá»n má»™t Folder để Quét"
+
+#: 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
@@ -4412,8 +5141,7 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
+msgid "Grid Settings"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
@@ -4424,6 +5152,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4446,6 +5198,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4467,14 +5223,15 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
+msgid "ResourcePreloader"
msgstr ""
-#: editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "ResourcePreloader"
+#: 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
@@ -4486,6 +5243,19 @@ msgid "Close and save changes?"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Error writing TextFile:"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Error could not load file."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "Lỗi tải font."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4502,6 +5272,20 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "New TextFile..."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "Mở"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "Lưu Scene với tên..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4514,6 +5298,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr ""
@@ -4542,7 +5330,7 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
+msgid "New TextFile"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
@@ -4570,6 +5358,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4603,11 +5396,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "Tìm..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "Tìm tiếp theo"
@@ -4661,10 +5449,6 @@ msgid "Discard"
msgstr "Há»§y"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "Tạo Script"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4683,45 +5467,69 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Search results"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "Äổi tên file:"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "Dòng:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
+msgid "Lookup Symbol"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "Chá»n màu"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "Cắt"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "Copy"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4809,8 +5617,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "Tìm..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4828,128 +5637,37 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "Xóa Point"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+msgid "Play IK"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
@@ -5077,10 +5795,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5089,6 +5803,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5133,6 +5851,10 @@ msgid "Doppler Enable"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5260,6 +5982,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5268,6 +5994,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5296,6 +6026,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5309,10 +6043,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5372,6 +6102,47 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Convert to 2D Mesh"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "Tạo %s Mới"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+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 "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5440,14 +6211,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5473,26 +6236,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5508,11 +6264,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5584,10 +6335,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5612,7 +6359,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5625,14 +6372,18 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "Cố định"
#: 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
msgid "Paint TileMap"
msgstr ""
@@ -5653,12 +6404,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "Tìm tiếp theo"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5681,6 +6429,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "Bá» lá»±a chá»n"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5697,63 +6450,105 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Remove current Texture from TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: 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 "Autotiles"
+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 " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
+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 "Select current edited sub-tile."
+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."
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr ""
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "This property can't be changed."
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5769,7 +6564,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5843,10 +6638,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5855,7 +6646,7 @@ msgid "The path does not exist."
msgstr ""
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5863,6 +6654,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -5950,6 +6749,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6060,8 +6863,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6073,9 +6876,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "Äổi độ dài Anim"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6117,19 +6933,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6157,10 +6973,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6205,6 +7017,12 @@ 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 "Already existing"
msgstr ""
@@ -6277,6 +7095,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6286,6 +7108,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "Chá»n tất cả"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6346,10 +7177,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6386,75 +7213,160 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Convert To %s"
+#: editor/property_selector.cpp
+msgid "Select Property"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/property_selector.cpp
+msgid "Select Virtual Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/property_selector.cpp
+msgid "Select Method"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Batch Rename"
+msgstr "Äổi tên"
+
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "Äổi tên"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Node type"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+msgid "Current scene name"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Root node name"
+msgstr "Äổi tên"
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: 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
+#, fuzzy
+msgid "Step"
+msgstr "Bước (s):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+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
+#, fuzzy
+msgid "Reset"
+msgstr "Äặt lại phóng"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6493,11 +7405,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6517,6 +7424,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6557,11 +7468,30 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "Kết nối đến Node:"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "Tạo Scene Mới"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "Tạo Scene Mới"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+msgid "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6573,6 +7503,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6615,18 +7549,14 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
+msgid "Make Scene Root"
msgstr ""
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6649,10 +7579,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6672,16 +7598,8 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
+msgid "Toggle Visible"
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6690,7 +7608,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6706,20 +7624,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
-msgstr ""
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
+msgstr "Tạo Script"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6727,6 +7646,12 @@ 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 ""
@@ -6763,6 +7688,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -6999,10 +7928,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7015,19 +7956,33 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "Äổi Thá»i gian Chuyển Animation"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "Äổi Thá»i gian Chuyển Animation"
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Inner Radius"
+msgstr ""
+
+#: modules/csg/csg_gizmos.cpp
+msgid "Change Torus Outer Radius"
msgstr ""
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -7083,16 +8038,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7158,6 +8103,11 @@ msgid "GridMap Delete Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "Chá»n tất cả"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr ""
@@ -7238,6 +8188,11 @@ msgid "Clear Selection"
msgstr ""
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fill Selection"
+msgstr "Chá»n tất cả"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Settings"
msgstr ""
@@ -7305,6 +8260,70 @@ msgstr ""
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7356,10 +8375,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7468,36 +8483,14 @@ msgid "Connect Nodes"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "Kết nối đến Node:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "Kết nối đến Node:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7524,15 +8517,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7540,10 +8529,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7587,6 +8572,10 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Edit Member"
+msgstr ""
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7641,6 +8630,18 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Search VisualScript"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7687,8 +8688,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7769,6 +8770,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7829,8 +8843,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -7903,6 +8917,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -7915,6 +8940,46 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "Các Công cụ Animation"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "LỖI: Tên animation không hợp lệ!"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "Hủy kết nối '%s' từ '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "Chá»n má»™t AnimationPlayer từ Scene Tree để chỉnh sá»­a animation."
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -7986,6 +9051,118 @@ msgstr "Lỗi tải font."
msgid "Invalid font size."
msgstr "Kích thước font không hợp lệ."
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+msgstr "Kích thước font không hợp lệ."
+
+#: 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "Tắt"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "Di chuyển Anim Track lên trên"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "Di chuyển Anim Track xuống dưới"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "Äặt Transtions thành:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "Äổi tên Anim Track"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "Äổi phép ná»™i suy Anim Track"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "Sá»­a Node Curve"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "Thêm Key Anim"
+
+#~ msgid "In"
+#~ msgstr "Trong"
+
+#~ msgid "Out"
+#~ msgstr "Ngoài"
+
+#~ msgid "In-Out"
+#~ msgstr "Trong-Ngoài"
+
+#~ msgid "Out-In"
+#~ msgstr "Ngoài-Trong"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "Äổi vòng lặp Anim"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "Tạo Key để nhập giá trị Anim"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "Thêm Track Gá»i Function"
+
+#~ msgid "Length (s):"
+#~ msgstr "Äá»™ dài (giây):"
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "Mở/Tắt lặp animation."
+
+#~ msgid "Add new tracks."
+#~ msgstr "Thêm track mới."
+
+#~ msgid "Move current track up."
+#~ msgstr "Di chuyển track lên."
+
+#~ msgid "Move current track down."
+#~ msgstr "Di chuyển track xuống."
+
+#~ msgid "Track tools"
+#~ msgstr "Công cụ Track"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "Cho phép chỉnh sá»­a từng key riêng bằng cách chá»n chúng."
+
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "Thư mục trước"
+#~ msgid "Key"
+#~ msgstr "Mã"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "Gá»i Function từ Node nào?"
+
+#~ msgid "Thanks!"
+#~ msgstr "Cảm ơn!"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "Tạo animation mới trong player."
+
+#~ msgid "Load animation from disk."
+#~ msgstr "Load animation từ disk."
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "Load một animation từ disk."
+
+#~ msgid "Save the current animation"
+#~ msgstr "Lưu animation này"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "Chỉnh Thá»i gian Chuyển Animation"
diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po
index 51e0181fc8..d1d840a745 100644
--- a/editor/translations/zh_CN.po
+++ b/editor/translations/zh_CN.po
@@ -26,12 +26,13 @@
# yuetian <18829280955@163.com>, 2018.
# Zae Chao <zae.vito@live.com>, 2018.
# zwj36028 <23732399@qq.com>, 2018.
+# Hobr <mkowes@vip.qq.com>, 2018.
msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2018-06-09 03:55+0000\n"
-"Last-Translator: zwj36028 <23732399@qq.com>\n"
+"PO-Revision-Date: 2018-07-27 02:37+0000\n"
+"Last-Translator: Hobr <mkowes@vip.qq.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -39,334 +40,491 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.0\n"
+"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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_â€æ‰“头的常é‡ã€‚"
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "所有选中项"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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
+#, fuzzy
+msgid "Invalid operands to operator %s, %s and %s."
+msgstr "'%s'这个属性å的在节点'%s'中ä¸å­˜åœ¨ã€‚"
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid index of type %s for base type %s"
+msgstr "'%s'这个属性å的在节点'%s'中ä¸å­˜åœ¨ã€‚"
+
+#: core/math/expression.cpp
+msgid "Invalid named index '%s' for base type %s"
+msgstr ""
+
+#: core/math/expression.cpp
+#, fuzzy
+msgid "Invalid arguments to construct '%s'"
+msgstr "ï¼šæ— æ•ˆå‚æ•°ç±»åž‹ï¼š "
+
+#: core/math/expression.cpp
+msgid "On call to '%s':"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr "释放"
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "沿X轴翻转"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "æ’入关键帧"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "å¤åˆ¶é€‰ä¸­é¡¹"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "修改动画过渡方å¼"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "ä¿®æ”¹åŠ¨ç”»å˜æ¢"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "修改动画关键帧的值"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "修改回调"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "添加轨é“"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Property Track"
+msgstr "属性:"
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "å¤åˆ¶å…³é”®å¸§"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "3D Transform Track"
+msgstr "å˜æ¢ç±»åž‹"
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "上移轨é“"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "下移轨é“"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "移除轨é“"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Playback Track"
+msgstr "åœæ­¢åŠ¨ç”»å›žæ”¾ã€‚(S)"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "添加轨é“"
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "设置过渡效果:"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "动画时长(秒)。"
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "é‡å‘½å轨é“"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "动画时间缩放。"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "轨é“修改为æ’值模å¼"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr "函数:"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "轨é“修改为值模å¼"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Audio Clips:"
+msgstr "音频监å¬å™¨"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
-msgstr "轨é“修改为包围模å¼"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Clips:"
+msgstr "片段"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "编辑节点曲线"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Toggle this track on/off."
+msgstr "åˆ‡æ¢æ— å¹²æ‰°æ¨¡å¼ã€‚"
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "编辑所选曲线"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "删除关键帧"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Interpolation Mode"
+msgstr "动画节点"
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "å¤åˆ¶é€‰ä¸­é¡¹"
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "å¤åˆ¶å¹¶è½¬ç½®"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Remove this track."
+msgstr "移除选中轨é“。"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "移除选中项"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "X-Fade(äº¤å‰æ·¡åŒ–)æ—¶é—´(s):"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "连续"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "离散"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "触å‘器"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "添加关键帧"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "移动关键帧"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "缩放选中项"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "通过光标缩放"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "å‰å¾€ä¸‹ä¸€æ­¥"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Capture"
+msgstr "功能"
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "å‰å¾€ä¸Šä¸€æ­¥"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "线性"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "常é‡"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "缓入"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "缓出"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clamp Loop Interp"
+msgstr "修改动画循环"
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "缓入缓出"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "å缓入缓出"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "æ’入关键帧"
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "过渡"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "å¤åˆ¶èŠ‚ç‚¹"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "优化动画"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "删除节点"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "清空动画"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "移除轨é“"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "为'%s'创建新轨é“å¹¶æ’入关键帧?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "创建%d个新轨é“å¹¶æ’入关键帧?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "创建"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "æ’入动画"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "创建|æ’入动画"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Track & Key"
msgstr "æ’入轨é“和关键帧"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "æ’入关键帧"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "修改动画时长"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-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_editor.cpp
-msgid "Anim Create Typed Value Key"
-msgstr "创建输入值的动画关键帧"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "æ’入动画"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
+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 "Track path is invalid, so can't add a method key."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Method not found in object: "
+msgstr "脚本中未找到VariableGet: "
+
+#: editor/animation_track_editor.cpp
+msgid "Anim Move Keys"
+msgstr "移动关键帧"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Clipboard is empty"
+msgstr "å‰ªè´´æ¿æ˜¯ç©ºçš„ ï¼"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Scale Keys"
msgstr "缩放关键帧"
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-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_editor.cpp
-msgid "Animation zoom."
-msgstr "动画时间缩放。"
+#: editor/animation_track_editor.cpp
+msgid "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "时长(秒):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-msgstr "动画时长(秒)。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "å¸é™„(åƒç´ ï¼‰ï¼š"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
-msgstr "步长(秒):"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "动画树å¯ç”¨ã€‚"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
-msgstr "步进å¸é™„(秒)。"
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "编辑"
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "å¯ç”¨/ç¦ç”¨å¾ªçŽ¯ã€‚"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "动画树"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "æ‹·è´å‚æ•°"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "粘贴帧"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "新建轨é“。"
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "缩放选中项"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "上移当å‰è½¨é“。"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "通过光标缩放"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "下移当å‰è½¨é“。"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr "å¤åˆ¶é€‰ä¸­é¡¹"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "移除选中轨é“。"
+#: editor/animation_track_editor.cpp
+msgid "Duplicate Transposed"
+msgstr "å¤åˆ¶å¹¶è½¬ç½®"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "轨é“工具"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "删除已选中"
-#: editor/animation_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "å…许通过å•击编辑å„个关键帧。"
+#: editor/animation_track_editor.cpp
+msgid "Goto Next Step"
+msgstr "å‰å¾€ä¸‹ä¸€æ­¥"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim. Optimizer"
msgstr "动画优化器"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "最大线性错误:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "最大角度错误:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "调整最大的å¯ä¼˜åŒ–角度:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "优化"
-#: editor/animation_editor.cpp
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "在场景树中选择一个AnimationPlayeræ¥ç¼–辑动画。"
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "关键帧"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "过渡"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "缩放比率:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "在哪个节点中调用函数?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "移除无效键"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "移除未分解的空轨é“"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "清除所有动画"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "清除所有动画å—(无法撤销ï¼ï¼‰"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "å¤åˆ¶"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "修改数组大å°"
@@ -387,7 +545,7 @@ msgstr "转到行"
msgid "Line Number:"
msgstr "行å·:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "无匹é…项"
@@ -403,7 +561,7 @@ msgstr "大å°å†™åŒ¹é…"
msgid "Whole Words"
msgstr "全字匹é…"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "替æ¢"
@@ -415,18 +573,28 @@ msgstr "全部替æ¢"
msgid "Selection Only"
msgstr "仅选中"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "放大"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "缩å°"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "é‡ç½®ç¼©æ”¾"
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Warnings:"
+msgstr "警告"
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "缩放(%):"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "行:"
@@ -456,7 +624,8 @@ msgid "Add"
msgstr "添加"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -487,7 +656,7 @@ msgid "Oneshot"
msgstr "啿¬¡"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -509,11 +678,12 @@ msgid "Connect '%s' to '%s'"
msgstr "连接'%s'到'%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "连接信å·:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "å–æ¶ˆ'%s'的连接'%s'"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "å–æ¶ˆ'%s'的连接'%s'"
#: editor/connections_dialog.cpp
@@ -521,14 +691,48 @@ msgid "Connect..."
msgstr "连接信å·..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "删除信å·è¿žæŽ¥"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "连接信å·:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "编辑事件连接"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Are you sure you want to remove all connections from the \""
+msgstr "æ‚¨ç¡®å®šè¦æ‰§è¡Œå¤šä¸ªé¡¹ç›®å—?"
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "ä¿¡å·"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "删除信å·è¿žæŽ¥"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "编辑"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "方法"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "更改%s类型"
@@ -551,22 +755,25 @@ msgstr "æ”¶è—:"
msgid "Recent:"
msgstr "最近文件:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "æœç´¢:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "æè¿°:"
@@ -624,7 +831,9 @@ msgstr "查找替æ¢èµ„æº:"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "打开"
@@ -643,7 +852,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr "è¦åˆ é™¤çš„æ–‡ä»¶è¢«å…¶ä»–èµ„æºæ‰€ä¾èµ–,ä»ç„¶è¦åˆ é™¤å—?(无法撤销)"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "无法移除:"
@@ -711,9 +920,13 @@ msgstr "改å˜å­—典的值"
msgid "Thanks from the Godot community!"
msgstr "感谢Godot社区!"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "谢谢ï¼"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "好的"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -888,6 +1101,7 @@ msgid "Bus options"
msgstr "音频总线选项"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "æ‹·è´"
@@ -956,7 +1170,8 @@ msgstr "添加Bus"
msgid "Create a new Bus Layout."
msgstr "创建一个新的总线布局。"
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "加载"
@@ -966,7 +1181,6 @@ msgid "Load an existing Bus Layout."
msgstr "加载现有的总线布局。"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "å¦å­˜ä¸º"
@@ -1003,22 +1217,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "åç§°éžæ³•,与已存在的全局常é‡å称冲çªã€‚"
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "è·¯å¾„éžæ³•。"
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "文件ä¸å­˜åœ¨ã€‚"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "ä¸åœ¨èµ„æºè·¯å¾„下。"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Add AutoLoad"
-msgstr "添加Autoload"
-
-#: editor/editor_autoload_settings.cpp
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s'已存在ï¼"
@@ -1046,6 +1244,22 @@ msgstr "å¯ç”¨"
msgid "Rearrange Autoloads"
msgstr "釿ޒåºAutoload"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "è·¯å¾„éžæ³•。"
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "文件ä¸å­˜åœ¨ã€‚"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "ä¸åœ¨èµ„æºè·¯å¾„下。"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Add AutoLoad"
+msgstr "添加Autoload"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1076,7 +1290,7 @@ msgstr "ä¿å­˜ä¿®æ”¹ä¸­..."
msgid "Updating scene..."
msgstr "更新场景中..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr "[空]"
@@ -1138,6 +1352,12 @@ msgid "Copy Path"
msgstr "æ‹·è´è·¯å¾„"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "在资æºç®¡ç†å™¨ä¸­æ‰“å¼€"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "在资æºç®¡ç†å™¨ä¸­æ‰“å¼€"
@@ -1174,7 +1394,7 @@ msgid "Open a File or Directory"
msgstr "打开文件或目录"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "ä¿å­˜"
@@ -1227,7 +1447,8 @@ msgstr "转到上层文件夹"
msgid "Directories & Files:"
msgstr "目录|文件:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "预览:"
@@ -1378,20 +1599,28 @@ msgstr ""
"当剿²¡æœ‰æ­¤æ–¹æ³•çš„æè¿°ã€‚请帮助我们通过 [color=$color] [url=$url] 贡献一个 [/"
"url][/color]!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "æœç´¢æ–‡æœ¬"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "属性:"
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "查找"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr "Set"
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "日志:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1413,11 +1642,6 @@ msgstr "ä¿å­˜èµ„æºå‡ºé”™ï¼"
msgid "Save Resource As..."
msgstr "资æºå¦å­˜ä¸º..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "好å§..."
-
#: editor/editor_node.cpp
msgid "Can't open file for writing:"
msgstr "无法以å¯å†™æ¨¡å¼æ‰“开文件:"
@@ -1430,9 +1654,9 @@ msgstr "未知的文件类型请求:"
msgid "Error while saving."
msgstr "ä¿å­˜å‡ºé”™ã€‚"
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "无法打开 \"%s\"。"
+#: 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'."
@@ -1473,10 +1697,6 @@ msgid ""
msgstr "无法ä¿å­˜åœºæ™¯ï¼Œä¾èµ–项(实例或基类)验è¯å¤±è´¥ã€‚"
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "加载资æºå¤±è´¥ã€‚"
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr "无法加载è¦åˆå¹¶çš„MeshLibraryï¼"
@@ -1553,42 +1773,6 @@ msgstr ""
"请阅读与调试相关的文档,以便更好地ç†è§£è¿™ä¸ªå·¥ä½œæµã€‚"
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "展开所有属性"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr "收起所有属性"
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "æ‹·è´å‚æ•°"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "粘贴帧"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "粘贴资æº"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "æ‹·è´èµ„æº"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr "使之内置"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr "转æ¢ä¸ºç‹¬ç«‹å­èµ„æº"
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "查看帮助"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "æ²¡æœ‰è®¾ç½®è¦æ‰§è¡Œçš„场景。"
@@ -1770,11 +1954,6 @@ msgstr ""
"自动导入的场景'%s'无法修改。\n"
"å¦‚è¦æ›´æ”¹ï¼Œè¯·åˆ›å»ºä¸€ä¸ªæ–°çš„备份场景。"
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "呃"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1804,6 +1983,16 @@ msgid "Default"
msgstr "默认"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "è¿è¡Œåœºæ™¯"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "关闭其他标签页"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "切æ¢åœºæ™¯æ ‡ç­¾é¡µ"
@@ -1925,10 +2114,6 @@ msgstr "项目"
msgid "Project Settings"
msgstr "项目设置"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "è¿è¡Œè„šæœ¬"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "导出"
@@ -1938,6 +2123,11 @@ msgid "Tools"
msgstr "工具(tools)"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "打开项目管ç†å™¨ï¼Ÿ"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "退出到项目列表"
@@ -2038,6 +2228,20 @@ msgstr "编辑器布局"
msgid "Toggle Fullscreen"
msgstr "免屿¨¡å¼"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "编辑器设置"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "编辑器设置"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "管ç†å¯¼å‡ºæ¨¡æ¿"
@@ -2053,7 +2257,8 @@ msgstr "类型"
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "æœç´¢"
@@ -2097,7 +2302,7 @@ msgstr "æš‚åœè¿è¡Œåœºæ™¯"
msgid "Stop the scene."
msgstr "åœæ­¢è¿è¡Œåœºæ™¯ã€‚"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "åœæ­¢"
@@ -2118,6 +2323,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "ä¿å­˜å¹¶é‡æ–°å¯¼å…¥"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr "æ—‹è½¬æ—¶ï¼Œé‡æ–°ç»˜åˆ¶ç¼–辑器窗å£ï¼"
@@ -2137,42 +2352,6 @@ msgstr "ç¦ç”¨è‡ªåŠ¨æ›´æ–°"
msgid "Inspector"
msgstr "å±žæ€§é¢æ¿"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr "在内存中新建资æºå¹¶ç¼–辑。"
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr "从ç£ç›˜ä¸­åŠ è½½èµ„æºå¹¶ç¼–辑。"
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr "ä¿å­˜å½“å‰ç¼–辑的资æºã€‚"
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "å¦å­˜ä¸º..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr "å‰å¾€ä¸Šä¸€ä¸ªç¼–辑对象。"
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr "å‰å¾€ä¸‹ä¸€ä¸ªç¼–辑对象。"
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr "最近编辑历å²å¯¹è±¡ã€‚"
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr "对象属性。"
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr "更改å¯èƒ½ä¼šä¸¢å¤±!"
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2187,6 +2366,11 @@ msgid "FileSystem"
msgstr "文件系统"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Expand Bottom Panel"
+msgstr "展开所有"
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr "日志"
@@ -2263,19 +2447,24 @@ msgid "Thumbnail..."
msgstr "缩略图..."
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "编辑多边形"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr "已安装æ’ä»¶:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "æ›´æ–°"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "版本:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr "作者:"
@@ -2283,13 +2472,16 @@ msgstr "作者:"
msgid "Status:"
msgstr "状æ€ï¼š"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr "åœæ­¢"
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "编辑"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
-msgstr "开始"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Start"
+msgstr "开始ï¼"
#: editor/editor_profiler.cpp
msgid "Measure:"
@@ -2335,6 +2527,106 @@ msgstr "æ—¶é—´"
msgid "Calls"
msgstr "调用次数"
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr "å¯ç”¨"
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+#, fuzzy
+msgid "Bit %d, value %d"
+msgstr "(Bit)ä½ %d, val %d."
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr "[空]"
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Assign.."
+msgstr "分é…"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr "选择1个视å£"
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr "新建脚本"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr "新建%s"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr "转æ¢ä¸ºç‹¬ç«‹èµ„æº"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr "在资æºç®¡ç†å™¨ä¸­å±•示"
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "粘贴"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Convert To %s"
+msgstr "转æ¢ä¸º%s"
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+msgstr "在编辑器中打开"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Selected node is not a Viewport!"
+msgstr "é€‰å®šçš„èŠ‚ç‚¹ä¸æ˜¯ä¸€ä¸ªViewport节点ï¼"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "Size: "
+msgstr "å•元尺寸:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Page: "
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Key:"
+msgstr "æ–°åç§°:"
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "æ–°åç§°:"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr "移除项目"
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "从列表中选择设备"
@@ -2371,10 +2663,6 @@ msgstr "无法执行脚本:"
msgid "Did you forget the '_run' method?"
msgstr "您是å¦é—æ¼äº†_run()方法?"
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr "默认(与编辑器相åŒï¼‰"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr "选择è¦å¯¼å…¥çš„节点"
@@ -2400,6 +2688,7 @@ msgid "(Installed)"
msgstr "(安装)"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "下载"
@@ -2424,7 +2713,8 @@ msgid "Can't open export templates zip."
msgstr "无法打开ZIP导出模æ¿ã€‚"
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+#, fuzzy
+msgid "Invalid version.txt format inside templates: %s."
msgstr "æ¨¡æ¿æ–‡ä»¶ä¸­çš„version.txtä¸åˆæ³•。"
#: editor/export_template_manager.cpp
@@ -2484,6 +2774,12 @@ msgid "Download Complete."
msgstr "下载完æˆã€‚"
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
msgid "Error requesting url: "
msgstr "请求链接错误: "
@@ -2562,7 +2858,8 @@ msgid "Download Templates"
msgstr "下载模æ¿"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+#, fuzzy
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr "从列表中选择镜åƒ: "
#: editor/file_type_cache.cpp
@@ -2574,11 +2871,13 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr "因为文件系统没找到文件,ä¸èƒ½å®šä½åˆ°'%s'ï¼"
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+#, fuzzy
+msgid "View items as a grid of thumbnails."
msgstr "将项目作为缩略图的网格查看"
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+#, fuzzy
+msgid "View items as a list."
msgstr "将项目作为列表查看"
#: editor/filesystem_dock.cpp
@@ -2649,7 +2948,7 @@ msgstr "展开所有"
msgid "Collapse all"
msgstr "收起所有"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr "é‡å‘½å为..."
@@ -2678,6 +2977,23 @@ msgid "Duplicate..."
msgstr "æ‹·è´..."
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "新建脚本"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr "上一个目录"
@@ -2690,14 +3006,29 @@ msgid "Re-Scan Filesystem"
msgstr "釿–°æ‰«ææ–‡ä»¶ç³»ç»Ÿ"
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
+#, fuzzy
+msgid "Toggle folder status as Favorite."
msgstr "æ”¶è—目录"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "ä¿å­˜å½“å‰ç¼–辑的å­åœ°ç –(sub-tile)。"
+
+#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr "将选中的场景实例为选中节点的å­èŠ‚ç‚¹ã€‚"
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "æœç´¢ç±»åž‹"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -2705,14 +3036,112 @@ msgstr ""
"æ‰«ææ–‡ä»¶ï¼Œ\n"
"请ç¨å€™ã€‚"
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "移动"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "é‡å‘½å"
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "There is already file or folder with the same name in this location."
+msgstr "已存在与给定å称相åŒçš„目录。"
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr "创建脚本"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "查找砖å—"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "查找"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "全字匹é…"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "大å°å†™åŒ¹é…"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "å–æ¶ˆ"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "替æ¢"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "全部替æ¢"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "ä¿å­˜ä¸­..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "æœç´¢æ–‡æœ¬"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "错误:已存在åŒå动画ï¼"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+msgstr "åç§°éžæ³•:。"
+
+#: editor/groups_editor.cpp editor/node_dock.cpp
+msgid "Groups"
+msgstr "分组"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes not in Group"
+msgstr "节点分组"
+
+#: editor/groups_editor.cpp editor/scene_tree_dock.cpp
+msgid "Filter nodes"
+msgstr "筛选节点"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Nodes in Group"
+msgstr "节点分组"
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2722,6 +3151,11 @@ msgstr "添加到分组"
msgid "Remove from Group"
msgstr "从分组中移除"
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Manage Groups"
+msgstr "图片分组"
+
#: editor/import/resource_importer_scene.cpp
msgid "Import as Single Scene"
msgstr "导入为独立场景"
@@ -2763,7 +3197,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr "导入多个场景 + æè´¨"
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr "导入场景"
@@ -2823,18 +3257,131 @@ msgstr "预设..."
msgid "Reimport"
msgstr "釿–°å¯¼å…¥"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "加载资æºå¤±è´¥ã€‚"
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "好的"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "展开所有属性"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr "收起所有属性"
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "å¦å­˜ä¸º..."
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "æ‹·è´å‚æ•°"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "粘贴帧"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "资æºå‰ªåˆ‡æ¿ä¸­æ— å†…容ï¼"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "æ‹·è´èµ„æº"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr "使之内置"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr "转æ¢ä¸ºç‹¬ç«‹å­èµ„æº"
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr "对象属性。"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
-msgstr "分组"
-
-#: editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
msgstr "请选择一个节点æ¥è®¾ç½®ä¿¡å·æˆ–分组。"
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "编辑多边形"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "创建C#解决方案"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "æ’件列表"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "语言"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "脚本å¯ç”¨"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
+msgstr ""
+
#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Poly"
@@ -2880,6 +3427,150 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "删除点"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "é¼ æ ‡å³é”®:移除点。"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "动画节点"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "动作%s已存在ï¼"
+
+#: 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 "Create triangles by connecting points."
+msgstr ""
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Erase points and triangles."
+msgstr "正在解æžç¬¬%d个三角形:"
+
+#: 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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "添加节点"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+msgid "Edit Filtered Tracks:"
+msgstr "编辑筛选器"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#, fuzzy
+msgid "Enable filtering"
+msgstr "å…许编辑å­å­™èŠ‚ç‚¹"
+
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
msgstr "切æ¢AutoPlay"
@@ -2906,11 +3597,13 @@ msgid "Remove Animation"
msgstr "移除动画"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "错误:动画åä¸åˆæ³•ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "错误:已存在åŒå动画ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2919,11 +3612,6 @@ msgid "Rename Animation"
msgstr "é‡å‘½å动画"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr "添加动画"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr "æ··åˆä¸‹ä¸€æ­¥å˜æ›´"
@@ -2940,11 +3628,13 @@ msgid "Duplicate Animation"
msgstr "å¤åˆ¶åŠ¨ç”»"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "错误:没有拷è´çš„动画ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "错误:剪切æ¿ä¸­æ²¡æœ‰åŠ¨ç”»èµ„æºï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2956,7 +3646,8 @@ msgid "Paste Animation"
msgstr "粘贴动画"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "错误:没有选中è¦ç¼–辑的动画ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -2988,20 +3679,27 @@ msgid "Scale animation playback globally for the node."
msgstr "节点全局缩放动画回放。"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr "在播放中创建动画。"
+msgid "Animation Tools"
+msgstr "动画工具"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr "动画"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr "从ç£ç›˜ä¸­åŠ è½½åŠ¨ç”»ã€‚"
+msgid "New"
+msgstr "新建"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
-msgstr "从ç£ç›˜ä¸­åŠ è½½åŠ¨ç”»ã€‚"
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "编辑事件连接"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
-msgstr "ä¿å­˜å½“å‰åŠ¨ç”»"
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "在编辑器中打开"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3012,18 +3710,6 @@ msgid "Autoplay on Load"
msgstr "加载åŽè‡ªåŠ¨æ’­æ”¾"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr "ç¼–è¾‘ç›®æ ‡æ··åˆæ—¶é—´"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
-msgstr "动画工具"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
-msgstr "æ‹·è´åŠ¨ç”»"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr "洋葱皮(Onion Skining)"
@@ -3072,6 +3758,11 @@ msgid "Include Gizmos (3D)"
msgstr "包括3D控制器"
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "粘贴动画"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr "创建新动画"
@@ -3081,6 +3772,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3098,161 +3790,214 @@ msgstr "接下æ¥ï¼ˆè‡ªåŠ¨æŽ’åˆ—ï¼‰:"
msgid "Cross-Animation Blend Times"
msgstr "跨动画时间混åˆ"
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
-msgstr "动画"
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "End"
+msgstr "终点"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
+#, fuzzy
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "创建新的 %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "连接节点"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
-msgid "Edit Filters"
-msgstr "编辑筛选器"
-
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
msgstr "缩放:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr "淡入(秒):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr "淡出(秒):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr "æ··åˆ"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr "æ··åˆ"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr "è‡ªåŠ¨é‡æ–°å¼€å§‹:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr "釿–°å¼€å§‹ï¼ˆç§’):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr "éšæœºå¼€å§‹ï¼ˆç§’):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr "开始ï¼"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr "æ•°é‡:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr "æ··åˆ:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr "æ··åˆ0:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr "æ··åˆ1:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr "X-Fade(äº¤å‰æ·¡åŒ–)æ—¶é—´(s):"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr "当å‰:"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr "添加输入事件"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr "清除Auto-Advance"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr "设置清除Auto-Advance"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr "删除输入事件"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr "动画树å¯ç”¨ã€‚"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr "动画树ä¸å¯ç”¨ã€‚"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr "动画节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr "å•项节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr "æ··åˆ(Mix)节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr "æ··åˆ2(Blend) 节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr "æ··åˆ3(Blend) 节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr "æ··åˆ4(Blend) 节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr "时间缩放节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr "TimeSeek(时间寻找) 节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr "过渡节点"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr "导入动画..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr "编辑节点筛选"
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr "筛选..."
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr "动画树"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr "释放"
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "内容:"
@@ -3306,8 +4051,14 @@ msgid "Asset Download Error:"
msgstr "资æºä¸‹è½½å‡ºé”™:"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr "获å–:"
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "正在下载"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "正在下载"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3334,20 +4085,22 @@ msgid "Download for this asset is already in progress!"
msgstr "æ­¤èµ„æºæ–‡ä»¶æ­£åœ¨ä¸‹è½½ä¸­ï¼"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "首先"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "上一页"
+#, fuzzy
+msgid "Previous"
+msgstr "上一个目录"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "下一页"
+msgid "Next"
+msgstr "下一项"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "最åŽä¸€é¡µ"
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3417,7 +4170,7 @@ msgid "Bake Lightmaps"
msgstr "烘焙光照贴图"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr "预览"
@@ -3426,12 +4179,10 @@ msgid "Configure Snap"
msgstr "设置å¸é™„"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr "网格åç§»é‡:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr "网格大å°:"
@@ -3444,14 +4195,6 @@ msgid "Rotation Step:"
msgstr "旋转步长:"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr "移动旋转中心ä½ç½®"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr "移动动作"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr "移动垂直标尺"
@@ -3480,11 +4223,28 @@ msgid "Create new horizontal and vertical guides"
msgstr "创建垂直水平标尺"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
-msgstr "编辑IK链"
+#, fuzzy
+msgid "Move pivot"
+msgstr "移动旋转中心ä½ç½®"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Rotate CanvasItem"
+msgstr "编辑CanvasItem"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Move anchor"
+msgstr "移动动作"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Resize CanvasItem"
+msgstr "编辑CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move CanvasItem"
msgstr "编辑CanvasItem"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3504,6 +4264,21 @@ msgid "Paste Pose"
msgstr "粘贴姿势"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "缩å°"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "é‡ç½®ç¼©æ”¾"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "放大"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "选择模å¼"
@@ -3547,7 +4322,8 @@ msgid "Pan Mode"
msgstr "移动画布"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+#, fuzzy
+msgid "Toggle snapping."
msgstr "切æ¢å¸é™„"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3555,7 +4331,8 @@ msgid "Use Snap"
msgstr "使用å¸é™„"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+#, fuzzy
+msgid "Snapping Options"
msgstr "å¸é™„选项"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3596,6 +4373,11 @@ msgid "Snap to node sides"
msgstr "å¸é™„到nodeè¾¹"
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Snap to node center"
+msgstr "å¸é™„到node锚点"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to other nodes"
msgstr "å¸é™„到其他node节点"
@@ -3622,14 +4404,6 @@ msgid "Restores the object's children's ability to be selected."
msgstr "æ¢å¤èŠ‚ç‚¹çš„å­å­™èƒ½å¤Ÿè¢«é€‰ä¸­ã€‚"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
-msgstr "添加骨骼"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
-msgstr "清除骨骼"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Show Bones"
msgstr "显示骨骼"
@@ -3642,6 +4416,15 @@ msgid "Clear IK Chain"
msgstr "清除IK链"
#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Custom Bone(s) from Node(s)"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "清除骨骼"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
msgid "View"
msgstr "视图"
@@ -3684,11 +4467,8 @@ msgid "Layout"
msgstr "布局"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr "æ’入关键帧"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
+#, fuzzy
+msgid "Insert keys."
msgstr "æ’入关键帧"
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3704,14 +4484,6 @@ msgid "Clear Pose"
msgstr "清除姿势"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr "从鼠标ä½ç½®æ‹–动轴心"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Set pivot at mouse position"
-msgstr "在鼠标ä½ç½®è®¾ç½®è½´å¿ƒ"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr "网格步进乘以2"
@@ -3727,10 +4499,6 @@ msgstr "添加(Add) %s"
msgid "Adding %s..."
msgstr "添加(Adding) %s..."
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "好的"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr "无法实例化没有根的多个节点。"
@@ -3765,27 +4533,20 @@ msgstr "创建 Poly3D (多边型3D)"
msgid "Set Handle"
msgstr "设置处ç†ç¨‹åº"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr "确定è¦ç§»é™¤é¡¹ç›®%då—?"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr "添加项目"
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr "移除选中项目"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#, fuzzy
+msgid "CPUParticles"
+msgstr "ç²’å­"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
-msgstr "从场景中导入"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
+msgstr "从网格( Mesh)创建å‘射器(Emission)"
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
-msgstr "从场景中更新"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Node"
+msgstr "从节点创建å‘射器(Emission)"
#: editor/plugins/curve_editor_plugin.cpp
msgid "Flat0"
@@ -3855,15 +4616,6 @@ msgstr "æŒ‰ä½ Shift å¯å•独编辑切线"
msgid "Bake GI Probe"
msgstr "渲染GI Probe"
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr "添加/删除色彩æ¸å˜ç‚¹"
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr "修改色彩曲线图"
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr "第%d项"
@@ -3949,6 +4701,7 @@ msgid "No mesh to debug."
msgstr "没有è¦è°ƒè¯•çš„mesh。"
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr "模型在此层上没有UV图"
@@ -4016,6 +4769,27 @@ msgstr "创建轮廓网格(Outline Mesh)"
msgid "Outline Size:"
msgstr "轮廓(outlines)尺寸:"
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr "确定è¦ç§»é™¤é¡¹ç›®%då—?"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr "从场景中导入"
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr "从场景中更新"
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr "未指定网格(Mesh)æºï¼ˆä¸”节点中没有设置多网格物体(MultiMesh))。"
@@ -4116,70 +4890,6 @@ msgstr "éšæœºç¼©æ”¾:"
msgid "Populate"
msgstr "å¡«å……"
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr "烘焙ï¼"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr "烘焙导航网格(mesh)。"
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr "清除导航网格(mesh)。"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr "正在设置é…ç½®..。"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr "正在计算网格大å°..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr "正在创建高度图..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Marking walkable triangles..."
-msgstr "标记å¯ç§»åŠ¨ä¸‰è§’å½¢..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr "构建紧凑高度图..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr "正在计算å¯è¡ŒåŒºåŸŸ..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr "分区中..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr "正在创建轮廓..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr "创建多边形网格..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr "转æ¢ä¸ºå¯¼èˆªç½‘æ ¼(mesh)..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr "导航网格(Mesh)生æˆè®¾ç½®:"
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr "è§£æžå¤šè¾¹å½¢ä¸­..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr "å®Œæˆ !"
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr "创建导航多边形"
@@ -4240,18 +4950,6 @@ msgid "Emission Colors"
msgstr "å‘光颜色"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr "节点ä¸åŒ…å«å‡ ä½•。"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr "节点ä¸åŒ…å«å‡ ä½•(é¢ï¼‰ã€‚"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr "需è¦ä½¿ç”¨â€œParticlesMaterialâ€ç±»åž‹çš„å¤„ç†æè´¨ã€‚"
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr "é¢ä¸å«æœ‰åŒºåŸŸï¼"
@@ -4260,16 +4958,12 @@ msgid "No faces!"
msgstr "没有é¢ï¼"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr "生æˆAABB"
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
-msgstr "从网格( Mesh)创建å‘射器(Emission)"
+msgid "Node does not contain geometry."
+msgstr "节点ä¸åŒ…å«å‡ ä½•。"
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
-msgstr "从节点创建å‘射器(Emission)"
+msgid "Node does not contain geometry (faces)."
+msgstr "节点ä¸åŒ…å«å‡ ä½•(é¢ï¼‰ã€‚"
#: editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
@@ -4296,6 +4990,19 @@ msgid "Emission Source: "
msgstr "å‘å°„æºï¼š "
#: editor/plugins/particles_editor_plugin.cpp
+msgid "A processor material of type 'ParticlesMaterial' is required."
+msgstr "需è¦ä½¿ç”¨â€œParticlesMaterialâ€ç±»åž‹çš„å¤„ç†æè´¨ã€‚"
+
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr "生æˆAABB"
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "转æ¢ä¸ºå¤§å†™"
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr "生æˆå¯è§çš„AABB"
@@ -4372,6 +5079,22 @@ msgstr "删除顶点"
msgid "Close Curve"
msgstr "关闭曲线"
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 "曲线定点 #"
@@ -4404,19 +5127,95 @@ msgstr "移除曲线外控制点"
msgid "Remove In-Control Point"
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
+#, fuzzy
+msgid "Sync bones"
+msgstr "显示骨骼"
+
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
msgstr "创建UV贴图"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon & UV"
+msgstr "创建多边形"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "动作%s已存在ï¼"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "添加顶点"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "è·¯å¾„éžæ³•ï¼"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "移除顶点"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr "å˜æ¢UV贴图"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr "2D多边形UV编辑器"
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Poly"
+msgstr "编辑多边形"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Splits"
+msgstr "拆分路径"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Bones"
+msgstr "添加骨骼"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "创建多边形"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr "移动点"
@@ -4445,12 +5244,25 @@ msgid "Scale Polygon"
msgstr "缩放多边形"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "编辑"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4465,9 +5277,9 @@ msgid "Clear UV"
msgstr "清除UV"
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr "å¸é™„"
+#, fuzzy
+msgid "Grid Settings"
+msgstr "GridMap设置"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4477,6 +5289,36 @@ msgstr "å¯ç”¨å¸é™„"
msgid "Grid"
msgstr "网格"
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Configure Grid:"
+msgstr "设置å¸é™„"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset X:"
+msgstr "网格åç§»é‡:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Offset Y:"
+msgstr "网格åç§»é‡:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step X:"
+msgstr "网格大å°:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Grid Step Y:"
+msgstr "网格大å°:"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Sync Bones to Polygon"
+msgstr "缩放多边形"
+
#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr "错误:无法加载资æºï¼"
@@ -4499,6 +5341,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "在编辑器中打开"
@@ -4520,16 +5366,18 @@ msgid "Load Resource"
msgstr "加载资æº"
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "粘贴"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ResourcePreloader"
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
+#, fuzzy
+msgid "Path to AnimationPlayer is invalid"
+msgstr "动画树ä¸å¯ç”¨ã€‚"
+
#: editor/plugins/script_editor_plugin.cpp
msgid "Clear Recent Files"
msgstr "清ç†å½“剿–‡ä»¶"
@@ -4539,6 +5387,21 @@ msgid "Close and save changes?"
msgstr "关闭并ä¿å­˜æ›´æ”¹å—?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "移动文件时出错:\n"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "无法加载图片"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "ä¿å­˜ç –å—集失败ï¼"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr "ä¿å­˜ä¸»é¢˜å‡ºé”™"
@@ -4555,6 +5418,21 @@ msgid "Error importing"
msgstr "导入出错"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "新建文件夹 ..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "打开å•个文件"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "å¦å­˜ä¸º..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr "导入主题"
@@ -4567,6 +5445,10 @@ msgid " Class Reference"
msgstr " 类引用"
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Sort"
msgstr "排åº"
@@ -4595,8 +5477,9 @@ msgid "File"
msgstr "文件"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr "新建"
+#, fuzzy
+msgid "New TextFile"
+msgstr "查看文件"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4623,6 +5506,11 @@ msgid "History Next"
msgstr "å‰è¿›"
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr "主题"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr "釿–°åŠ è½½ä¸»é¢˜"
@@ -4656,11 +5544,6 @@ msgstr "切æ¢è„šæœ¬é¢æ¿"
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr "查找..."
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr "查找下一项"
@@ -4714,10 +5597,6 @@ msgid "Discard"
msgstr "忽略"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr "创建脚本"
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4738,45 +5617,71 @@ msgid "Debugger"
msgstr "调试器"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "æœç´¢å¸®åŠ©"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "æœç´¢ç±»åž‹"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr "å†…å»ºè„šæœ¬åªæœ‰åœ¨å…¶æ‰€å±žçš„节点读å–åŽæ‰èƒ½è¢«ä¿®æ”¹"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "行:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr "åªå¯ä»¥æ‹–入文件系统的资æºã€‚"
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Lookup Symbol"
+msgstr "代ç è¡¥å…¨"
+
+#: editor/plugins/script_text_editor.cpp
msgid "Pick Color"
msgstr "拾å–颜色"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Convert Case"
msgstr "转æ¢å¤§å°å†™"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr "大写"
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr "å°å†™"
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "剪切"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "å¤åˆ¶"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4864,8 +5769,9 @@ msgid "Find Previous"
msgstr "查找上一项"
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr "替æ¢..."
+#, fuzzy
+msgid "Find in files..."
+msgstr "筛选文件..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4883,129 +5789,42 @@ msgstr "æœç´¢å…‰æ ‡ä½ç½®"
msgid "Shader"
msgstr "ç€è‰²å™¨"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr "修改Scalar常é‡ç³»æ•°"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr "修改Vec常é‡ç³»æ•°"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr "修改RGB常é‡ç³»æ•°"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr "更改标é‡è¿ç®—符(Scalar Operator)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr "更改 Vec è¿ç®—符(Vec Operator)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr "更改Vecæ ‡é‡è¿ç®—符(Vec Scalar Operator)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr "更改RGBè¿ç®—符(RGB Operator)"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr "åˆ‡æ¢æ—‹è½¬æ¨¡å¼"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr "修改Function Scalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr "修改Function Vec"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr "修改Uniform Scalar"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr "修改Uniform Vec"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr "修改Uniform RGB"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr "修改默认值"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr "修改Uniform XForm"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr "修改Uniform纹ç†"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr "修改Uniform Cubemap"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr "修改注释"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr "添加/删除颜色å¡åº¦"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr "添加/删除曲线地图"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr "修改曲线图"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr "更改输入åç§°"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
-msgstr "连接Graph Node"
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr "断开Graph Node连接"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr "移除Graph Node节点"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "骨骼..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
-msgstr "移动Graph Node节点"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
-msgstr "å¤åˆ¶Graph Node节点"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
+msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
-msgstr "删除Graph Node节点"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical bones"
+msgstr "创建导航Mesh(网格)"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr "错误:循环的连接"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "骨骼..."
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr "错误:缺少输入连接"
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "创建C#解决方案"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr "添加ç€è‰²å™¨Graph Node"
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "播放"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5132,10 +5951,6 @@ msgid "Align with view"
msgstr "与视图对é½"
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "好å§"
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr "æ²¡æœ‰é€‰ä¸­èŠ‚ç‚¹æ¥æ·»åŠ å®žä¾‹ã€‚"
@@ -5144,6 +5959,11 @@ msgid "This operation requires a single selected node."
msgstr "æ­¤æ“作åªèƒ½åº”用于å•个选中节点。"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "查看信æ¯"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr "显示法线"
@@ -5188,6 +6008,11 @@ msgid "Doppler Enable"
msgstr "å¯ç”¨å¤šæ™®å‹’效应"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Cinematic Preview"
+msgstr "创建网格预览"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr "自由视图 左"
@@ -5318,6 +6143,11 @@ msgid "Tool Scale"
msgstr "缩放工具"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Snap To Floor"
+msgstr "å¸é™„到网格"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr "切æ¢è‡ªç”±è§‚察模å¼"
@@ -5326,6 +6156,10 @@ msgid "Transform"
msgstr "å˜æ¢"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr "å˜æ¢å¯¹è¯æ¡†..."
@@ -5354,6 +6188,11 @@ msgid "4 Viewports"
msgstr "4个视å£"
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Gizmos"
+msgstr "Gizmos(å¯è§†åŒ–调试工具)"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr "显示原点"
@@ -5367,10 +6206,6 @@ msgid "Settings"
msgstr "设置"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr "骨骼控制器å¯è§"
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr "å¸é™„设置"
@@ -5430,6 +6265,53 @@ msgstr "å‰ï¼ˆper)"
msgid "Post"
msgstr "å‘布(Post)"
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Sprite"
+msgstr "动画帧"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "转æ¢ä¸º%s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "创建轮廓网格(Outline Mesh)"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Grow (Pixels): "
+msgstr "å¸é™„(åƒç´ ï¼‰ï¼š"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "预览精çµé›†"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "设置"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr "错误:无法加载帧资æºï¼"
@@ -5498,14 +6380,6 @@ msgstr "å¾€åŽç§»åЍ"
msgid "SpriteFrames"
msgstr "动画帧"
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr "StyleBox预览:"
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr "æ ·å¼"
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr "设置纹ç†åŒºåŸŸ"
@@ -5531,28 +6405,22 @@ msgid "Auto Slice"
msgstr "自动è£å‰ª"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr "网格åç§»é‡:"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr "步长(秒):"
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr "分隔:"
+msgid "Sep.:"
+msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+#, fuzzy
+msgid "TextureRegion"
msgstr "纹ç†åŒºåŸŸ"
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
-msgstr "纹ç†åŒºåŸŸç¼–辑器"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
msgstr "无法ä¿å­˜ä¸»é¢˜åˆ°æ–‡ä»¶:"
@@ -5566,11 +6434,6 @@ msgid "Add All"
msgstr "添加所有"
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr "移除项目"
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr "移除类项目"
@@ -5642,10 +6505,6 @@ msgstr "有(Has)"
msgid "Many"
msgstr "许多(Many)"
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "选项"
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr "有,很多,选项"
@@ -5670,7 +6529,7 @@ msgstr "æ•°æ®ç±»åž‹:"
msgid "Icon"
msgstr "图标"
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr "æ ·å¼"
@@ -5683,14 +6542,19 @@ msgid "Color"
msgstr "颜色"
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr "主题"
+msgid "Constant"
+msgstr "常é‡"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Erase Selection"
msgstr "擦除选中"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "åç§°éžæ³•:。"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr "绘制砖å—地图"
@@ -5711,11 +6575,8 @@ msgid "Erase TileMap"
msgstr "擦除砖å—地图"
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr "擦除选中"
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
+#, fuzzy
+msgid "Find Tile"
msgstr "查找砖å—"
#: editor/plugins/tile_map_editor_plugin.cpp
@@ -5739,6 +6600,11 @@ msgid "Pick Tile"
msgstr "选择砖å—(Tile)"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "移除选中项"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "旋转0度"
@@ -5755,67 +6621,120 @@ msgid "Rotate 270 degrees"
msgstr "旋转270度"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
-msgstr "找ä¸åˆ°ç –å—:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "从树中添加节点"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
-msgstr "项目å称或ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "删除当å‰é…置项"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
-msgstr "从场景中创建?"
+msgid "Create from Scene"
+msgstr "从场景中创建"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
-msgstr "确定è¦åˆå¹¶åœºæ™¯ï¼Ÿ"
+msgid "Merge from Scene"
+msgstr "从场景中åˆå¹¶"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
-msgstr "ç –å—集"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
+msgstr ""
+"请选择一个å­åœ°ç –(sub-tile)作为图标,此图标还会被绑定为无效的地砖(autotile)。"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
-msgstr "从场景中创建"
+msgid "Display tile's names (hold Alt Key)"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
-msgstr "从场景中åˆå¹¶"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
-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 "Autotiles"
-msgstr "智能瓦片"
+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 " file(s) was not added because was already on the list."
+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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
-"请选择一个å­åœ°ç –(sub-tile)作为图标,此图标还会被绑定为无效的地砖(autotile)。"
#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
"鼠标左键: å¯ç”¨è¯¥bit。\n"
"é¼ æ ‡å³é”®ï¼š ç¦ç”¨è¯¥bit。"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select current edited sub-tile."
+#, fuzzy
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "ä¿å­˜å½“å‰ç¼–辑的å­åœ°ç –(sub-tile)。"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+#, fuzzy
+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 ""
+"请选择一个å­åœ°ç –(sub-tile)作为图标,此图标还会被绑定为无效的地砖(autotile)。"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid ""
+"Select sub-tile to change its priority.\n"
+"Click on another Tile to edit it."
msgstr "选择è¦ä¿®æ”¹ä¼˜å…ˆçº§çš„å­åœ°ç –(sub-tile)。"
-#: editor/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-msgstr "å–æ¶ˆ"
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "æ­¤æ“ä½œå¿…é¡»åœ¨æ‰“å¼€ä¸€ä¸ªåœºæ™¯åŽæ‰èƒ½æ‰§è¡Œã€‚"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr "ç –å—集"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Vertex"
+msgstr "顶点"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr "片段"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Light"
+msgstr "峿–¹"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "VisualShader"
+msgstr "ç€è‰²å™¨"
#: editor/project_export.cpp
msgid "Runnable"
@@ -5830,8 +6749,8 @@ msgid "Delete preset '%s'?"
msgstr "删除当å‰çš„ '%s' ?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
-msgstr "该平å°çš„导出模æ¿ç¼ºå¤±æˆ–å·²ç»æŸå: "
+msgid "Export templates for this platform are missing/corrupted:"
+msgstr "没有此平å°çš„导出模æ¿:"
#: editor/project_export.cpp
msgid "Presets"
@@ -5904,10 +6823,6 @@ msgid "Export templates for this platform are missing:"
msgstr "没有下列平å°çš„导出模æ¿:"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr "没有此平å°çš„导出模æ¿:"
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr "导出为调试"
@@ -5916,14 +6831,24 @@ msgid "The path does not exist."
msgstr "路径ä¸å­˜åœ¨ã€‚"
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
-msgstr "请选择一个'project.godot'文件。"
+#, fuzzy
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
+msgstr "请选择一个ä¸åŒ…å«'project.godot'文件的文件夹。"
#: editor/project_manager.cpp
msgid "Please choose an empty folder."
msgstr "请选择一个空目录。"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Please choose a 'project.godot' or '.zip' file."
+msgstr "请选择一个'project.godot'文件。"
+
+#: editor/project_manager.cpp
+msgid "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr "已导入的项目"
@@ -6011,6 +6936,11 @@ msgid "Project Path:"
msgstr "项目目录:"
#: editor/project_manager.cpp
+#, fuzzy
+msgid "Project Installation Path:"
+msgstr "项目目录:"
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "æµè§ˆ"
@@ -6126,9 +7056,10 @@ msgid "Mouse Button"
msgstr "鼠标按键"
#: editor/project_settings_editor.cpp
+#, fuzzy
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr "无效的æ“作å称。它ä¸èƒ½æ˜¯ç©ºçš„也ä¸èƒ½åŒ…å« '/', ':', '=', '\\' 或者 '\"'。"
#: editor/project_settings_editor.cpp
@@ -6140,9 +7071,23 @@ msgid "Rename Input Action Event"
msgstr "é‡å‘½å输入事件"
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "é‡å‘½å动画:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr "添加输入事件"
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "设备"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "设备"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6184,20 +7129,24 @@ msgid "Wheel Down Button"
msgstr "滚轮å‘下"
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr "按键 6"
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "滚轮å‘上"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr "按键 7"
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "å³é”®"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr "按键 8"
+#, fuzzy
+msgid "X Button 1"
+msgstr "按键 6"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr "按键 9"
+#, fuzzy
+msgid "X Button 2"
+msgstr "按键 6"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6224,10 +7173,6 @@ msgid "Add Event"
msgstr "添加事件"
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "设备"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "按钮"
@@ -6272,6 +7217,12 @@ 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 "Already existing"
msgstr "å·²ç»å­˜åœ¨"
@@ -6343,6 +7294,10 @@ msgstr "属性:"
msgid "Override For..."
msgstr "é‡å†™çš„......"
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr "事件表"
@@ -6352,6 +7307,14 @@ msgid "Action:"
msgstr "动作:"
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "动作"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr "设备:"
@@ -6412,10 +7375,6 @@ msgid "AutoLoad"
msgstr "自动加载(AutoLoad)"
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr "选择1个视å£"
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr "缓入"
@@ -6452,34 +7411,10 @@ msgid "Select Node"
msgstr "选择节点"
#: editor/property_editor.cpp
-msgid "New Script"
-msgstr "新建脚本"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr "新建%s"
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr "转æ¢ä¸ºç‹¬ç«‹èµ„æº"
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr "在资æºç®¡ç†å™¨ä¸­å±•示"
-
-#: editor/property_editor.cpp
-msgid "Convert To %s"
-msgstr "转æ¢ä¸º%s"
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr "加载文件出错:䏿˜¯èµ„æºæ–‡ä»¶ï¼"
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr "é€‰å®šçš„èŠ‚ç‚¹ä¸æ˜¯ä¸€ä¸ªViewport节点ï¼"
-
-#: editor/property_editor.cpp
msgid "Pick a Node"
msgstr "选择一个节点"
@@ -6488,18 +7423,6 @@ msgid "Bit %d, val %d."
msgstr "(Bit)ä½ %d, val %d."
#: editor/property_editor.cpp
-msgid "On"
-msgstr "å¯ç”¨"
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr "[空]"
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr "Set"
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr "属性:"
@@ -6523,6 +7446,134 @@ msgstr "无法执行PVRTC工具:"
msgid "Can't load back converted image using PVRTC tool:"
msgstr "无法加载使用PVRTC工具转æ¢çš„图片:"
+#: 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
+#, fuzzy
+msgid "Advanced options"
+msgstr "å¸é™„选项"
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "节点åç§°:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "查找节点类型"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "当å‰åœºæ™¯"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Step"
+msgstr "步长(秒):"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Regular Expressions"
+msgstr "更改表达å¼"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Post-Process"
+msgstr "åŽå¤„ç†è„šæœ¬:"
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "ä¿æŒä¸å˜"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "å°å†™"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "大写"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "é‡ç½®ç¼©æ”¾"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr "错误"
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr "é‡è®¾çˆ¶èŠ‚ç‚¹"
@@ -6559,11 +7610,6 @@ msgstr "ä¸»åœºæ™¯å‚æ•°:"
msgid "Scene Run Settings"
msgstr "场景è¿è¡Œè®¾ç½®"
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "好的"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr "æ²¡æœ‰é€‰ä¸­èŠ‚ç‚¹æ¥æ·»åŠ å®žä¾‹ã€‚"
@@ -6583,6 +7629,10 @@ msgid "Instance Scene(s)"
msgstr "实例化场景"
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr "清除脚本"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr "æ­¤æ“作ä¸èƒ½è¢«ç”¨äºŽæ ¹èŠ‚ç‚¹ã€‚"
@@ -6623,12 +7673,33 @@ msgid "Load As Placeholder"
msgstr "加载为å ä½ç¬¦"
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
-msgstr "放弃实例化"
+msgid "Make Local"
+msgstr "使用本地"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "新节点"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "场景"
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
-msgstr "好的ï¼"
+#, fuzzy
+msgid "3D Scene"
+msgstr "场景"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "User Interface"
+msgstr "清除继承"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "剪切节点"
#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
@@ -6639,6 +7710,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr "无法æ“作此节点,因为当å‰åœºæ™¯ç»§æ‰¿è‡ªè¯¥èŠ‚ç‚¹ï¼"
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr "添加脚本"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr "移除节点"
@@ -6681,18 +7756,15 @@ msgid "Change Type"
msgstr "更改类型"
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr "添加脚本"
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr "清除脚本"
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "创建场景根节点"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr "从场景中åˆå¹¶"
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr "将分支ä¿å­˜ä¸ºåœºæ™¯"
@@ -6715,10 +7787,6 @@ msgid ""
msgstr "实例化场景文件为一个节点,如果没有根节点则创建一个继承自该文件的场景。"
#: editor/scene_tree_dock.cpp
-msgid "Filter nodes"
-msgstr "筛选节点"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr "为选中节点创建或设置脚本。"
@@ -6738,25 +7806,19 @@ msgstr "本地"
msgid "Clear Inheritance? (No Undo!)"
msgstr "ç¡®å®šè¦æ¸…除继承å—?(无法撤销ï¼ï¼‰"
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr "清除ï¼"
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr "切æ¢Spatialå¯è§"
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr "切æ¢CanvasItemå¯è§"
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "åˆ‡æ¢ éšè—/å¯è§"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
msgstr "节点é…置警告:"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
"节点具有信å·è¿žæŽ¥å’Œç»„\n"
@@ -6778,22 +7840,25 @@ msgstr ""
"分组中的节点。\n"
"å•击显示分组æ ã€‚"
-#: editor/scene_tree_editor.cpp
-msgid "Open script"
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script"
msgstr "打开脚本"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
"节点已é”定\n"
"点击å¯è§£é”"
#: editor/scene_tree_editor.cpp
+#, fuzzy
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
"å­èŠ‚ç‚¹æ— æ³•é€‰æ‹©ã€‚\n"
"å•击使其å¯é€‰"
@@ -6803,6 +7868,12 @@ 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 "节点åç§°éžæ³•,ä¸å…许包å«ä»¥ä¸‹å­—符:"
@@ -6839,6 +7910,11 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+#, fuzzy
+msgid "Open Script/Choose Location"
+msgstr "打开脚本编辑器"
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "文件路径为空"
@@ -7075,10 +8151,23 @@ msgid "Change Camera Size"
msgstr "ä¿®æ”¹æ‘„åƒæœºå°ºå¯¸"
#: editor/spatial_editor_gizmos.cpp
+#, fuzzy
+msgid "Change Notifier AABB"
+msgstr "修改通知器级别"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
+msgstr "修改粒å­AABB"
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+msgstr "修改探针(Probe)范围"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "更改çƒä½“åŠå¾„"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "æ”¹å˜æ–¹æ¡†å¤§å°"
@@ -7091,20 +8180,38 @@ msgid "Change Capsule Shape Height"
msgstr "修改胶囊体高度"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr "修改射线形状长度"
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "修改胶囊体åŠå¾„"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr "修改通知器级别"
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "修改胶囊体高度"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
-msgstr "修改粒å­AABB"
+msgid "Change Ray Shape Length"
+msgstr "修改射线形状长度"
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
-msgstr "修改探针(Probe)范围"
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Radius"
+msgstr "设置光照åŠå¾„"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "修改胶囊体高度"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "更改çƒä½“åŠå¾„"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "设置光照åŠå¾„"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7159,16 +8266,6 @@ msgid "GDNative"
msgstr "GDNative"
#: 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_â€æ‰“头的常é‡ã€‚"
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "没有足够的字节æ¥è§£ç æˆ–æ ¼å¼ä¸æ­£ç¡®ã€‚"
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "step傿•°ä¸º0ï¼"
@@ -7233,6 +8330,11 @@ msgid "GridMap Delete Selection"
msgstr "删除选择的GridMap"
#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "删除选择的GridMap"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
msgid "GridMap Duplicate Selection"
msgstr "å¤åˆ¶é€‰ä¸­é¡¹"
@@ -7313,6 +8415,11 @@ 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 "GridMap设置"
@@ -7373,14 +8480,77 @@ msgid "Warnings"
msgstr "警告"
#: modules/mono/editor/mono_bottom_panel.cpp
-#, fuzzy
msgid "View log"
-msgstr "查看文件"
+msgstr "查看日志"
#: modules/mono/mono_gd/gd_mono_utils.cpp
msgid "End of inner exception stack trace"
msgstr "内部异常堆栈追朔结æŸ"
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr "烘焙ï¼"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr "烘焙导航网格(mesh)。"
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr "清除导航网格(mesh)。"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr "正在设置é…ç½®..。"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr "正在计算网格大å°..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr "正在创建高度图..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Marking walkable triangles..."
+msgstr "标记å¯ç§»åŠ¨ä¸‰è§’å½¢..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr "构建紧凑高度图..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr "正在计算å¯è¡ŒåŒºåŸŸ..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr "分区中..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr "正在创建轮廓..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr "创建多边形网格..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr "转æ¢ä¸ºå¯¼èˆªç½‘æ ¼(mesh)..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr "导航网格(Mesh)生æˆè®¾ç½®:"
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr "è§£æžå¤šè¾¹å½¢ä¸­..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr "å®Œæˆ !"
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7433,10 +8603,6 @@ msgid "Set Variable Type"
msgstr "设置å˜é‡ç±»åž‹"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr "函数:"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr "å˜é‡ï¼š"
@@ -7545,36 +8711,14 @@ msgid "Connect Nodes"
msgstr "连接节点"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr "æ¡ä»¶"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr "åºåˆ—"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr "选择(Switch)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr "é历(Iterator)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr "æ¡ä»¶å¾ªçŽ¯ï¼ˆWhile)"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr "返回"
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr "调用"
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "连接节点"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr "获å–"
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "连接节点"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7601,26 +8745,18 @@ msgid "Remove Function"
msgstr "删除函数"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr "编辑å˜é‡"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr "删除å˜é‡"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
-msgstr "编辑信å·"
+msgid "Editing Variable:"
+msgstr "编辑å˜é‡ï¼š"
#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Signal"
msgstr "删除信å·"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr "编辑å˜é‡ï¼š"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr "编辑信å·:"
@@ -7664,6 +8800,11 @@ msgstr "剪切节点"
msgid "Paste Nodes"
msgstr "粘贴节点"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "æˆå‘˜"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr "输入类型ä¸å¯è¿­ä»£ï¼š "
@@ -7718,6 +8859,19 @@ msgid ""
"(error)."
msgstr "_step()的返回值无效,必须是整形(seq out)或字符串(error)。"
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "删除 VisualScript 节点"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr "获å–"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr "在æµè§ˆå™¨ä¸­è¿è¡Œ"
@@ -7767,9 +8921,10 @@ msgstr ""
"节点能正常工作,其余的将被忽略。"
#: scene/2d/collision_object_2d.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
"该节点没有æè¿°å…¶å½¢çŠ¶çš„å­èŠ‚ç‚¹ï¼Œå› æ­¤å®ƒå°†æ— æ³•è¿›è¡Œç¢°æ’žäº¤äº’ã€‚\n"
@@ -7863,6 +9018,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
msgstr "Path属性必须指å‘ä¸€ä¸ªåˆæ³•çš„Node2D节点æ‰èƒ½æ­£å¸¸å·¥ä½œã€‚"
+#: 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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7922,9 +9090,10 @@ msgid "Lighting Meshes: "
msgstr "正在对网格进行照明 "
#: scene/3d/collision_object.cpp
+#, fuzzy
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
"该节点没有æè¿°å…¶å½¢çŠ¶çš„å­èŠ‚ç‚¹ï¼Œå› æ­¤å®ƒå°†æ— æ³•è¿›è¡Œç¢°æ’žäº¤äº’ã€‚\n"
@@ -8011,6 +9180,21 @@ msgstr ""
"这个WorldEnvironment被忽略。添加摄åƒå¤´ï¼ˆç”¨äºŽ3D场景)或将此环境的背景模å¼è®¾ç½®"
"为画布(用于2D场景)。"
+#: scene/3d/soft_body.cpp
+msgid "This body will be ignored until you set a mesh"
+msgstr ""
+
+#: scene/3d/soft_body.cpp
+#, fuzzy
+msgid ""
+"Size changes to SoftBody will be overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+"对RigidBody(在character或rigid模å¼ä¸‹ï¼‰çš„尺寸修改,在è¿è¡Œæ—¶ä¼šè¢«ç‰©ç†å¼•擎的覆"
+"盖。\n"
+"建议您修改å­èŠ‚ç‚¹çš„ç¢°æ’žå½¢çŠ¶ã€‚"
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8027,6 +9211,47 @@ msgstr ""
"VehicleWheel 为 VehicleBody æä¾›ä¸€ä¸ªè½¦è½®ç³»ç»Ÿï¼ˆWheel System)。请将它作为"
"VehicleBodyçš„å­èŠ‚ç‚¹ã€‚"
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "动画工具"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "错误:动画åä¸åˆæ³•ï¼"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "å–æ¶ˆ'%s'的连接'%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "在场景树中选择一个AnimationPlayeræ¥ç¼–辑动画。"
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "AnimationPlayer root is not a valid node."
+msgstr "动画树ä¸å¯ç”¨ã€‚"
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr "Raw 模å¼"
@@ -8102,12 +9327,374 @@ msgstr "加载字体出错。"
msgid "Invalid font size."
msgstr "字体大å°éžæ³•。"
+#: scene/resources/visual_shader.cpp
+#, fuzzy
+msgid "Input"
+msgstr "添加输入事件"
+
+#: scene/resources/visual_shader.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "上一个目录"
+msgid "None"
+msgstr "æ— "
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Change Scalar Constant"
+#~ msgstr "修改Scalar常é‡ç³»æ•°"
+
+#~ msgid "Change Vec Constant"
+#~ msgstr "修改Vec常é‡ç³»æ•°"
+
+#~ msgid "Change RGB Constant"
+#~ msgstr "修改RGB常é‡ç³»æ•°"
+
+#~ msgid "Change Scalar Operator"
+#~ msgstr "更改标é‡è¿ç®—符(Scalar Operator)"
+
+#~ msgid "Change Vec Operator"
+#~ msgstr "更改 Vec è¿ç®—符(Vec Operator)"
+
+#~ msgid "Change Vec Scalar Operator"
+#~ msgstr "更改Vecæ ‡é‡è¿ç®—符(Vec Scalar Operator)"
+
+#~ msgid "Change RGB Operator"
+#~ msgstr "更改RGBè¿ç®—符(RGB Operator)"
+
+#~ msgid "Toggle Rot Only"
+#~ msgstr "åˆ‡æ¢æ—‹è½¬æ¨¡å¼"
+
+#~ msgid "Change Scalar Function"
+#~ msgstr "修改Function Scalar"
+
+#~ msgid "Change Vec Function"
+#~ msgstr "修改Function Vec"
+
+#~ msgid "Change Scalar Uniform"
+#~ msgstr "修改Uniform Scalar"
+
+#~ msgid "Change Vec Uniform"
+#~ msgstr "修改Uniform Vec"
+
+#~ msgid "Change RGB Uniform"
+#~ msgstr "修改Uniform RGB"
+
+#~ msgid "Change Default Value"
+#~ msgstr "修改默认值"
+
+#~ msgid "Change XForm Uniform"
+#~ msgstr "修改Uniform XForm"
-#~ msgid "Next"
-#~ msgstr "下一项"
+#~ msgid "Change Texture Uniform"
+#~ msgstr "修改Uniform纹ç†"
+
+#~ msgid "Change Cubemap Uniform"
+#~ msgstr "修改Uniform Cubemap"
+
+#~ msgid "Change Comment"
+#~ msgstr "修改注释"
+
+#~ msgid "Add/Remove to Color Ramp"
+#~ msgstr "添加/删除颜色å¡åº¦"
+
+#~ msgid "Modify Color Ramp"
+#~ msgstr "修改色彩曲线图"
+
+#~ msgid "Add/Remove to Curve Map"
+#~ msgstr "添加/删除曲线地图"
+
+#~ msgid "Modify Curve Map"
+#~ msgstr "修改曲线图"
+
+#~ msgid "Change Input Name"
+#~ msgstr "更改输入åç§°"
+
+#~ msgid "Connect Graph Nodes"
+#~ msgstr "连接Graph Node"
+
+#~ msgid "Disconnect Graph Nodes"
+#~ msgstr "断开Graph Node连接"
+
+#~ msgid "Remove Shader Graph Node"
+#~ msgstr "移除Graph Node节点"
+
+#~ msgid "Move Shader Graph Node"
+#~ msgstr "移动Graph Node节点"
+
+#~ msgid "Duplicate Graph Node(s)"
+#~ msgstr "å¤åˆ¶Graph Node节点"
+
+#~ msgid "Delete Shader Graph Node(s)"
+#~ msgstr "删除Graph Node节点"
+
+#~ msgid "Error: Cyclic Connection Link"
+#~ msgstr "错误:循环的连接"
+
+#~ msgid "Error: Missing Input Connections"
+#~ msgstr "错误:缺少输入连接"
+
+#~ msgid "Add Shader Graph Node"
+#~ msgstr "添加ç€è‰²å™¨Graph Node"
+
+#~ msgid "Disabled"
+#~ msgstr "å·²ç¦ç”¨"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "上移轨é“"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "下移轨é“"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "设置过渡效果:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "é‡å‘½å轨é“"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "轨é“修改为æ’值模å¼"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "轨é“修改为值模å¼"
+
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "轨é“修改为包围模å¼"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "编辑节点曲线"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "编辑所选曲线"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "添加关键帧"
+
+#~ msgid "In"
+#~ msgstr "缓入"
+
+#~ msgid "Out"
+#~ msgstr "缓出"
+
+#~ msgid "In-Out"
+#~ msgstr "缓入缓出"
+
+#~ msgid "Out-In"
+#~ msgstr "å缓入缓出"
+
+#~ msgid "Transitions"
+#~ msgstr "过渡"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "修改动画时长"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "修改动画循环"
+
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "创建输入值的动画关键帧"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "添加调用轨é“"
+
+#~ msgid "Length (s):"
+#~ msgstr "时长(秒):"
+
+#~ msgid "Step (s):"
+#~ msgstr "步长(秒):"
+
+#~ msgid "Cursor step snap (in seconds)."
+#~ msgstr "步进å¸é™„(秒)。"
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "å¯ç”¨/ç¦ç”¨å¾ªçŽ¯ã€‚"
+
+#~ msgid "Add new tracks."
+#~ msgstr "新建轨é“。"
+
+#~ msgid "Move current track up."
+#~ msgstr "上移当å‰è½¨é“。"
+
+#~ msgid "Move current track down."
+#~ msgstr "下移当å‰è½¨é“。"
+
+#~ msgid "Track tools"
+#~ msgstr "轨é“工具"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "å…许通过å•击编辑å„个关键帧。"
+
+#~ msgid "Key"
+#~ msgstr "关键帧"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "在哪个节点中调用函数?"
+
+#~ msgid "Thanks!"
+#~ msgstr "谢谢ï¼"
+
+#~ msgid "I see..."
+#~ msgstr "好å§..."
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "无法打开 \"%s\"。"
+
+#~ msgid "Ugh"
+#~ msgstr "呃"
+
+#~ msgid "Run Script"
+#~ msgstr "è¿è¡Œè„šæœ¬"
+
+#~ msgid "Save the currently edited resource."
+#~ msgstr "ä¿å­˜å½“å‰ç¼–辑的资æºã€‚"
+
+#~ msgid "Stop Profiling"
+#~ msgstr "åœæ­¢"
+
+#~ msgid "Start Profiling"
+#~ msgstr "开始"
+
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "默认(与编辑器相åŒï¼‰"
+
+#~ msgid "Create new animation in player."
+#~ msgstr "在播放中创建动画。"
+
+#~ msgid "Load animation from disk."
+#~ msgstr "从ç£ç›˜ä¸­åŠ è½½åŠ¨ç”»ã€‚"
+
+#~ msgid "Load an animation from disk."
+#~ msgstr "从ç£ç›˜ä¸­åŠ è½½åŠ¨ç”»ã€‚"
+
+#~ msgid "Save the current animation"
+#~ msgstr "ä¿å­˜å½“å‰åŠ¨ç”»"
+
+#~ msgid "Edit Target Blend Times"
+#~ msgstr "ç¼–è¾‘ç›®æ ‡æ··åˆæ—¶é—´"
+
+#~ msgid "Copy Animation"
+#~ msgstr "æ‹·è´åŠ¨ç”»"
+
+#~ msgid "Fetching:"
+#~ msgstr "获å–:"
+
+#~ msgid "prev"
+#~ msgstr "上一页"
+
+#~ msgid "next"
+#~ msgstr "下一页"
+
+#~ msgid "last"
+#~ msgstr "最åŽä¸€é¡µ"
+
+#~ msgid "Edit IK Chain"
+#~ msgstr "编辑IK链"
+
+#~ msgid "Drag pivot from mouse position"
+#~ msgstr "从鼠标ä½ç½®æ‹–动轴心"
+
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "在鼠标ä½ç½®è®¾ç½®è½´å¿ƒ"
+
+#~ msgid "Add/Remove Color Ramp Point"
+#~ msgstr "添加/删除色彩æ¸å˜ç‚¹"
+
+#~ msgid "OK :("
+#~ msgstr "好å§"
+
+#~ msgid "Skeleton Gizmo visibility"
+#~ msgstr "骨骼控制器å¯è§"
+
+#~ msgid "StyleBox Preview:"
+#~ msgstr "StyleBox预览:"
+
+#~ msgid "StyleBox"
+#~ msgstr "æ ·å¼"
+
+#~ msgid "Separation:"
+#~ msgstr "分隔:"
+
+#~ msgid "Texture Region Editor"
+#~ msgstr "纹ç†åŒºåŸŸç¼–辑器"
+
+#~ msgid "Erase selection"
+#~ msgstr "擦除选中"
+
+#~ msgid "Could not find tile:"
+#~ msgstr "找ä¸åˆ°ç –å—:"
+
+#~ msgid "Item name or ID:"
+#~ msgstr "项目å称或ID:"
+
+#~ msgid "Autotiles"
+#~ msgstr "智能瓦片"
+
+#~ msgid "Export templates for this platform are missing/corrupted: "
+#~ msgstr "该平å°çš„导出模æ¿ç¼ºå¤±æˆ–å·²ç»æŸå: "
+
+#~ msgid "Button 7"
+#~ msgstr "按键 7"
+
+#~ msgid "Button 8"
+#~ msgstr "按键 8"
+
+#~ msgid "Button 9"
+#~ msgstr "按键 9"
+
+#~ msgid "Discard Instancing"
+#~ msgstr "放弃实例化"
+
+#~ msgid "Makes Sense!"
+#~ msgstr "好的ï¼"
+
+#~ msgid "Clear!"
+#~ msgstr "清除ï¼"
+
+#~ msgid "Toggle Spatial Visible"
+#~ msgstr "切æ¢Spatialå¯è§"
+
+#~ msgid "Toggle CanvasItem Visible"
+#~ msgstr "切æ¢CanvasItemå¯è§"
+
+#~ msgid "Condition"
+#~ msgstr "æ¡ä»¶"
+
+#~ msgid "Sequence"
+#~ msgstr "åºåˆ—"
+
+#~ msgid "Switch"
+#~ msgstr "选择(Switch)"
+
+#~ msgid "Iterator"
+#~ msgstr "é历(Iterator)"
+
+#~ msgid "While"
+#~ msgstr "æ¡ä»¶å¾ªçŽ¯ï¼ˆWhile)"
+
+#~ msgid "Return"
+#~ msgstr "返回"
+
+#~ msgid "Call"
+#~ msgstr "调用"
+
+#~ msgid "Edit Variable"
+#~ msgstr "编辑å˜é‡"
+
+#~ msgid "Edit Signal"
+#~ msgstr "编辑信å·"
#~ msgid "Invalid action (anything goes but '/' or ':')."
#~ msgstr "Actionåéžæ³•(ä¸å¾—包å«'/'或':')。"
@@ -8123,9 +9710,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Can't write file."
#~ msgstr "无法写入文件。"
-#~ msgid "Please choose a folder that does not contain a 'project.godot' file."
-#~ msgstr "请选择一个ä¸åŒ…å«'project.godot'文件的文件夹。"
-
#~ msgid "Couldn't get project.godot in project path."
#~ msgstr "无法在项目目录下找到project.godot文件。"
@@ -8251,9 +9835,6 @@ msgstr "字体大å°éžæ³•。"
#~ "ä¸ºäº†è®©æ­¤ç²¾çµæ­£å¸¸å·¥ä½œï¼Œå®ƒçš„path属性所指å‘çš„Viewport需è¦å¼€å¯'render "
#~ "target'。"
-#~ msgid "Filter:"
-#~ msgstr "筛选:"
-
#~ msgid "' parsing of config failed."
#~ msgstr "' è§£æžé…置失败。"
@@ -8293,9 +9874,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Current scene must be saved to re-import."
#~ msgstr "需è¦å…ˆä¿å­˜å½“å‰åœºæ™¯æ‰èƒ½é‡æ–°å¯¼å…¥ã€‚"
-#~ msgid "Save & Re-Import"
-#~ msgstr "ä¿å­˜å¹¶é‡æ–°å¯¼å…¥"
-
#~ msgid "Re-Importing"
#~ msgstr "釿–°å¯¼å…¥"
@@ -8327,9 +9905,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Can't rename deps for:\n"
#~ msgstr "无法é‡å‘½ådeps:\n"
-#~ msgid "Error moving file:\n"
-#~ msgstr "移动文件时出错:\n"
-
#~ msgid "Pick New Name and Location For:"
#~ msgstr "选择新å称和路径:"
@@ -8354,9 +9929,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Target path must exist."
#~ msgstr "目标路径必须存在。"
-#~ msgid "Save path is empty!"
-#~ msgstr "ä¿å­˜è·¯å¾„为空ï¼"
-
#~ msgid "Import BitMasks"
#~ msgstr "导入BitMask"
@@ -8467,15 +10039,9 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Max Angle"
#~ msgstr "最大角度"
-#~ msgid "Clips"
-#~ msgstr "片段"
-
#~ msgid "Start(s)"
#~ msgstr "起点"
-#~ msgid "End(s)"
-#~ msgstr "终点"
-
#~ msgid "Filters"
#~ msgstr "筛选"
@@ -8506,18 +10072,12 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Target Texture Folder:"
#~ msgstr "目标贴图目录:"
-#~ msgid "Post-Process Script:"
-#~ msgstr "åŽå¤„ç†è„šæœ¬:"
-
#~ msgid "Custom Root Node Type:"
#~ msgstr "自定义根节点类型:"
#~ msgid "Auto"
#~ msgstr "自动"
-#~ msgid "Root Node Name:"
-#~ msgstr "节点åç§°:"
-
#~ msgid "The Following Files are Missing:"
#~ msgstr "找ä¸åˆ°ä¸‹åˆ—文件:"
@@ -8575,9 +10135,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Import Textures for Atlas (2D)"
#~ msgstr "导入2Dç²¾çµé›†"
-#~ msgid "Cell Size:"
-#~ msgstr "å•元尺寸:"
-
#~ msgid "Large Texture"
#~ msgstr "大图"
@@ -8659,9 +10216,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Couldn't save converted texture:"
#~ msgstr "无法ä¿å­˜è½¬æ¢çš„贴图:"
-#~ msgid "Invalid source!"
-#~ msgstr "输入æºéžæ³•ï¼"
-
#~ msgid "Invalid translation source!"
#~ msgstr "æºè¯­è¨€æ–‡ä»¶éžæ³•ï¼"
@@ -8701,9 +10255,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Translation"
#~ msgstr "语言"
-#~ msgid "Parsing %d Triangles:"
-#~ msgstr "正在解æžç¬¬%d个三角形:"
-
#~ msgid "Triangle #"
#~ msgstr "三角形 #"
@@ -8728,24 +10279,12 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Reset the lightmap octree baking process (start over)."
#~ msgstr "é‡ç½®è´´å›¾çƒ˜ç„™è¿‡ç¨‹ ï¼ˆé‡æ–°å¼€å§‹ï¼‰ çš„ octree (八剿 ‘)。"
-#~ msgid "Zoom (%):"
-#~ msgstr "缩放(%):"
-
-#~ msgid "Skeleton..."
-#~ msgstr "骨骼..."
-
-#~ msgid "Zoom Reset"
-#~ msgstr "é‡ç½®ç¼©æ”¾"
-
#~ msgid "Zoom Set..."
#~ msgstr "设置缩放..."
#~ msgid "Set a Value"
#~ msgstr "设置值"
-#~ msgid "Snap (Pixels):"
-#~ msgstr "å¸é™„(åƒç´ ï¼‰ï¼š"
-
#~ msgid "Parse BBCode"
#~ msgstr "è§£æžBBCode"
@@ -8821,15 +10360,9 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Resource Tools"
#~ msgstr "资æºå·¥å…·"
-#~ msgid "Make Local"
-#~ msgstr "使用本地"
-
#~ msgid "Edit Groups"
#~ msgstr "编辑分组"
-#~ msgid "Edit Connections"
-#~ msgstr "编辑事件连接"
-
#~ msgid "GridMap Paint"
#~ msgstr "绘制栅格图"
@@ -8966,9 +10499,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Ambient Light Color:"
#~ msgstr "环境光颜色:"
-#~ msgid "Couldn't load image"
-#~ msgstr "无法加载图片"
-
#~ msgid "Invalid parent class name"
#~ msgstr "基类åç§°éžæ³•"
@@ -8984,9 +10514,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Parent class name is invalid!"
#~ msgstr "基类åç§°éžæ³•!"
-#~ msgid "Invalid path!"
-#~ msgstr "è·¯å¾„éžæ³•ï¼"
-
#~ msgid "Path property must point to a valid Particles2D node to work."
#~ msgstr "path属性必须指å‘ä¸€ä¸ªåˆæ³•çš„Particles2D节点æ‰èƒ½æ­£å¸¸å·¥ä½œã€‚"
@@ -9086,9 +10613,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Delete Image Group"
#~ msgstr "删除图片分组"
-#~ msgid "Atlas Preview"
-#~ msgstr "预览精çµé›†"
-
#~ msgid "Project Export Settings"
#~ msgstr "项目导出设置"
@@ -9101,9 +10625,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Export all files in the project directory."
#~ msgstr "导出项目目录下的所有文件。"
-#~ msgid "Action"
-#~ msgstr "动作"
-
#~ msgid "Convert text scenes to binary on export."
#~ msgstr "导出时将文本场景写入二进制文件。"
@@ -9131,9 +10652,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Compress Formats:"
#~ msgstr "压缩格å¼:"
-#~ msgid "Image Groups"
-#~ msgstr "图片分组"
-
#~ msgid "Groups:"
#~ msgstr "分组:"
@@ -9173,9 +10691,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Sample Conversion Mode: (.wav files):"
#~ msgstr "éŸ³æ•ˆè½¬æ¢æ–¹å¼ï¼ˆ.wav文件):"
-#~ msgid "Keep"
-#~ msgstr "ä¿æŒä¸å˜"
-
#~ msgid "Compress (RAM - IMA-ADPCM)"
#~ msgstr "压缩(RAM - IMA-ADPCM)"
@@ -9218,9 +10733,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "BakedLightInstance does not contain a BakedLight resource."
#~ msgstr "BakedLightInstance未包å«BakedLight资æºã€‚"
-#~ msgid "Fragment"
-#~ msgstr "片段"
-
#~ msgid "Lighting"
#~ msgstr "光照"
@@ -9263,10 +10775,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgstr "选中项(F)"
#, fuzzy
-#~ msgid "Change Anim Loop Interpolation"
-#~ msgstr "修改动画循环"
-
-#, fuzzy
#~ msgid "Enable/Disable interpolation when looping animation."
#~ msgstr "å¯ç”¨/ç¦ç”¨å¾ªçޝ"
@@ -9281,9 +10789,6 @@ msgstr "字体大å°éžæ³•。"
#~ "Set a texture to be able to edit region."
#~ msgstr "此节点没有贴图,请先为它设置贴图åŽå†è¯•。"
-#~ msgid "New Scene Root"
-#~ msgstr "创建场景根节点"
-
#~ msgid "Inherit Scene"
#~ msgstr "继承场景"
@@ -9296,9 +10801,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Reload Tool Script (Soft)"
#~ msgstr "釿–°åŠ è½½Tool脚本(Soft)"
-#~ msgid "Edit Connections..."
-#~ msgstr "编辑事件连接"
-
#~ msgid "Set Params"
#~ msgstr "è®¾ç½®å‚æ•°"
@@ -9314,12 +10816,6 @@ msgstr "字体大å°éžæ³•。"
#~ msgid "Group Editor"
#~ msgstr "分组编辑"
-#~ msgid "Node Group(s)"
-#~ msgstr "节点分组"
-
-#~ msgid "Plugin List:"
-#~ msgstr "æ’件列表"
-
#~ msgid "Keep Existing, Merge with New"
#~ msgstr "ä¿ç•™å·²æœ‰ï¼Œä¸Žæ–°çš„åˆå¹¶ã€‚"
diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po
index de03512af1..9897e6f5a5 100644
--- a/editor/translations/zh_HK.po
+++ b/editor/translations/zh_HK.po
@@ -19,193 +19,256 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2.18-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "所有é¸é …"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Mirror"
+msgstr "錯誤!"
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "å‹•æ™æ’入關éµå¹€ï¼Ÿ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "複製 Selection"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "å‹•ç•«è®ŠåŒ–éŽæ¸¡"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Change Keyframe Value"
msgstr "動畫變化數值"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "新增動畫軌跡"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "複製動畫幀"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "動畫軌跡上移"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "動畫軌跡下移"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "移除動畫軌跡"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "å°‡éŽæ¸¡è¨­åˆ°ï¼š"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "å‹•ç•«è»Œè·¡é‡æ–°å‘½å"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "新增動畫軌跡"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "時長(秒)。"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "動畫軌跡變化Interpolation"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Looping"
+msgstr "動畫縮放。"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "動畫軌跡變化數值模å¼"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Functions:"
+msgstr "行為"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Wrap Mode"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "編輯Node Curve"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "編輯Selection Curve"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "移除動畫幀"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Duplicate Selection"
-msgstr "複製 Selection"
+msgid "Interpolation Mode"
+msgstr "無干擾模å¼"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
+msgstr ""
+
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Duplicate Transposed"
-msgstr "複製Transposed"
+msgid "Remove this track."
+msgstr "移除被é¸å–的軌迹。"
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "移除é¸é …"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "時間:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "連續"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Discrete"
msgstr "中斷"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Trigger"
msgstr "發動"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "新增動畫幀"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "移動動畫幀"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "縮放selection"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "由鼠標縮放"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Goto Next Step"
-msgstr "跳到下一步"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Goto Prev Step"
-msgstr "跳到上一步"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "線性"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "常數"
-
-#: editor/animation_editor.cpp
-msgid "In"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "éŽæ¸¡"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "複製動畫幀"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Optimize Animation"
-msgstr "優化動畫"
+msgid "Delete Key(s)"
+msgstr "移除動畫幀"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr ""
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "移除動畫軌跡"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Create NEW track for %s and insert key?"
msgstr "為%s新增軌跡廿並æ’入關éµå¹€ï¼Ÿ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Create %d NEW tracks and insert keys?"
msgstr "新增 %d 個新軌跡並æ’入關éµå¹€ï¼Ÿ"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
@@ -213,173 +276,244 @@ msgstr "新增 %d 個新軌跡並æ’入關éµå¹€ï¼Ÿ"
msgid "Create"
msgstr "新增"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Anim Insert"
+msgstr "æ’入動畫"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Create & Insert"
msgstr "新增並æ’入動畫"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Insert Track & Key"
msgstr "æ’入軌跡和關éµå¹€"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Insert Key"
msgstr "å‹•æ™æ’入關éµå¹€ï¼Ÿ"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Change Anim Len"
-msgstr "更改動畫長度"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Change Anim Loop"
-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_editor.cpp
-msgid "Anim Create Typed Value Key"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Anim Insert"
-msgstr "æ’入動畫"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
msgstr ""
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Animation zoom."
-msgstr "動畫縮放。"
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "時長(秒):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
+msgstr ""
-#: editor/animation_editor.cpp
+#: 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
#, fuzzy
-msgid "Animation length (in seconds)."
-msgstr "時長(秒)。"
+msgid "Clipboard is empty"
+msgstr "路徑為空"
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Anim Scale Keys"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: 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 "Only show tracks from nodes selected in tree."
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
+msgstr "鏿“‡æ¨¡å¼"
+
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Enable/Disable looping in animation."
-msgstr "é–‹ï¼é—œå‹•畫循環。"
+msgid "Animation step value."
+msgstr "新增動畫"
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
+msgstr "編輯"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "新增軌迹。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "新增動畫"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Move current track up."
-msgstr "上移ç¾åœ¨çš„軌迹。"
+msgid "Copy Tracks"
+msgstr "è¤‡è£½åƒæ•¸"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Move current track down."
-msgstr "下移ç¾åœ¨çš„軌迹。"
+msgid "Paste Tracks"
+msgstr "è²¼ä¸Šåƒæ•¸"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "移除被é¸å–的軌迹。"
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "縮放selection"
+
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "由鼠標縮放"
+
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
+msgid "Duplicate Selection"
+msgstr "複製 Selection"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Transposed"
+msgstr "複製Transposed"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Selection"
+msgstr "刪除é¸ä¸­æª”案"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Track tools"
-msgstr "動畫軌迹工具"
+msgid "Goto Next Step"
+msgstr "跳到下一步"
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Goto Prev Step"
+msgstr "跳到上一步"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Enable editing of individual keys by clicking them."
-msgstr "啟用單擊編輯å„個關éµå¹€çš„功能。"
+msgid "Optimize Animation"
+msgstr "優化動畫"
-#: editor/animation_editor.cpp
+#: 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
#, fuzzy
msgid "Anim. Optimizer"
msgstr "動畫優化工具"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Max. Linear Error:"
msgstr "最大的線性錯誤:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Max. Angular Error:"
msgstr "最大的角度錯誤:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Max Optimizable Angle:"
msgstr "最大的優化角度:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Optimize"
msgstr "優化"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "ç”±Scene Treeé¸å–一個動畫播放器以編輯當中動畫。"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Key"
-msgstr "é—œéµå¹€"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Transition"
-msgstr "éŽæ¸¡"
-
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Scale Ratio:"
-msgstr "縮放比例:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr ""
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Remove invalid keys"
msgstr "移除無效的關éµå¹€"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up"
msgstr ""
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Scale Ratio:"
+msgstr "縮放比例:"
+
+#: editor/animation_track_editor.cpp
+msgid "Select tracks to copy:"
+msgstr ""
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr "複製"
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr ""
@@ -400,7 +534,7 @@ msgstr "跳到行"
msgid "Line Number:"
msgstr "行數:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "沒有相åŒ"
@@ -417,7 +551,7 @@ msgstr "符åˆå¤§å°å¯«"
msgid "Whole Words"
msgstr "完整詞語"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
#, fuzzy
msgid "Replace"
msgstr "å–代"
@@ -430,18 +564,27 @@ msgstr "全部å–代"
msgid "Selection Only"
msgstr "åªé™é¸ä¸­"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "放大"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "縮å°"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "é‡è¨­ç¸®æ”¾æ¯”例"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "放大"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
#, fuzzy
msgid "Line:"
@@ -472,7 +615,8 @@ msgid "Add"
msgstr "添加"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -503,7 +647,7 @@ msgid "Oneshot"
msgstr ""
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -525,12 +669,13 @@ msgid "Connect '%s' to '%s'"
msgstr "由 '%s' 連到 '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "連接訊號:"
+#, fuzzy
+msgid "Disconnect '%s' from '%s'"
+msgstr "由 '%s' 連到 '%s'"
#: editor/connections_dialog.cpp
#, fuzzy
-msgid "Disconnect '%s' from '%s'"
+msgid "Disconnect all from signal: '%s'"
msgstr "由 '%s' 連到 '%s'"
#: editor/connections_dialog.cpp
@@ -538,14 +683,47 @@ msgid "Connect..."
msgstr "連到..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "中斷"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "連接訊號:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "編輯連接"
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "訊號"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "中斷"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit..."
+msgstr "編輯"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "鏿“‡æ¨¡å¼"
+
#: editor/create_dialog.cpp
#, fuzzy
msgid "Change %s Type"
@@ -571,22 +749,25 @@ msgstr "最愛:"
msgid "Recent:"
msgstr "最近:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "æœå°‹ï¼š"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "æè¿°ï¼š"
@@ -644,7 +825,9 @@ msgstr ""
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "開啟"
@@ -664,7 +847,7 @@ msgid ""
"Remove them anyway? (no undo)"
msgstr ""
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
#, fuzzy
msgid "Cannot remove:"
msgstr "無法移除:\n"
@@ -735,9 +918,13 @@ msgstr "動畫變化數值"
msgid "Thanks from the Godot community!"
msgstr "Godot社å€çš„æ„Ÿè¬ï¼"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "多è¬!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "OK"
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -925,6 +1112,7 @@ msgid "Bus options"
msgstr "é¸é …"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "複製"
@@ -999,7 +1187,8 @@ msgstr ""
msgid "Create a new Bus Layout."
msgstr ""
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "載入"
@@ -1010,7 +1199,6 @@ msgid "Load an existing Bus Layout."
msgstr "下一個腳本"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "å¦å­˜ç‚º"
@@ -1052,24 +1240,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "有效å稱。"
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "有效的路徑"
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "檔案ä¸å­˜åœ¨."
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Not in resource path."
-msgstr "ä¸åœ¨è³‡æºè·¯å¾‘。"
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Add AutoLoad"
-msgstr "新增AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
#, fuzzy
msgid "Autoload '%s' already exists!"
msgstr "AutoLoad '%s'已存在ï¼"
@@ -1103,6 +1273,24 @@ msgstr "啟用"
msgid "Rearrange Autoloads"
msgstr "釿–°æŽ’例Autoloads"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "有效的路徑"
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "檔案ä¸å­˜åœ¨."
+
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Not in resource path."
+msgstr "ä¸åœ¨è³‡æºè·¯å¾‘。"
+
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Add AutoLoad"
+msgstr "新增AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1133,7 +1321,7 @@ msgstr "儲存本地更改..."
msgid "Updating scene..."
msgstr "正在更新場景..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
msgid "[empty]"
msgstr ""
@@ -1198,6 +1386,12 @@ msgid "Copy Path"
msgstr "複製路徑"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "開啟 Project Manager?"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr ""
@@ -1235,7 +1429,7 @@ msgid "Open a File or Directory"
msgstr "鏿“‡è³‡æ–™å¤¾/檔案"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "儲存"
@@ -1291,7 +1485,8 @@ msgstr "無法新增資料夾"
msgid "Directories & Files:"
msgstr "資料夾和檔案:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "é è¦½:"
@@ -1447,20 +1642,28 @@ msgid ""
"$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Search Text"
+#: editor/editor_inspector.cpp
+#, fuzzy
+msgid "Property: "
+msgstr "鏿“‡æ¨¡å¼"
+
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "尋找"
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr ""
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1484,11 +1687,6 @@ msgstr "å„²å­˜è³‡æºæ™‚出ç¾éŒ¯èª¤ï¼"
msgid "Save Resource As..."
msgstr "把資æºå¦å­˜ç‚º..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "如來如此"
-
#: editor/editor_node.cpp
#, fuzzy
msgid "Can't open file for writing:"
@@ -1503,10 +1701,9 @@ msgstr "è¦æ±‚çš„æª”æ¡ˆæ ¼å¼æœªçŸ¥ï¼š"
msgid "Error while saving."
msgstr "儲存時出ç¾éŒ¯èª¤"
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Can't open '%s'."
-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
#, fuzzy
@@ -1551,10 +1748,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr "資æºåŠ è¼‰å¤±æ•—ã€‚"
-
-#: editor/editor_node.cpp
#, fuzzy
msgid "Can't load MeshLibrary for merging!"
msgstr "ä¸èƒ½è¼‰å…¥ MeshLibrary 以åˆä½µï¼"
@@ -1624,46 +1817,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Copy Params"
-msgstr "è¤‡è£½åƒæ•¸"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Paste Params"
-msgstr "è²¼ä¸Šåƒæ•¸"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "複製資æº"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "貼上資æº"
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Make Built-In"
-msgstr "設定æˆå…§å»ºçš„"
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-#, fuzzy
-msgid "Open in Help"
-msgstr "在幫助中開啓"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr "沒有å¯ä»¥å·²å®šç¾©çš„場景å¯ä»¥é‹è¡Œã€‚"
@@ -1852,12 +2005,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Ugh"
-msgstr "å—¯......"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1888,6 +2035,16 @@ msgstr "é è¨­"
#: editor/editor_node.cpp
#, fuzzy
+msgid "Play This Scene"
+msgstr "é‹è¡Œå ´æ™¯"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "關閉"
+
+#: editor/editor_node.cpp
+#, fuzzy
msgid "Switch Scene Tab"
msgstr "切æ›scene tab"
@@ -2016,10 +2173,6 @@ msgstr "專案"
msgid "Project Settings"
msgstr "專案設定"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr "é‹è¡Œè…³æœ¬"
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "匯出"
@@ -2029,6 +2182,11 @@ msgid "Tools"
msgstr "工具"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "開啟 Project Manager?"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr "回到專案列表"
@@ -2122,6 +2280,20 @@ msgstr "編輯器佈局"
msgid "Toggle Fullscreen"
msgstr "全螢幕"
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Data/Settings Folder"
+msgstr "編輯器設定"
+
+#: editor/editor_node.cpp
+msgid "Open Editor Data Folder"
+msgstr ""
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Editor Settings Folder"
+msgstr "編輯器設定"
+
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Manage Export Templates"
msgstr "管ç†è¼¸å‡ºç¯„本"
@@ -2137,7 +2309,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "æœå°‹"
@@ -2183,7 +2356,7 @@ msgstr "æš«åœå ´æ™¯"
msgid "Stop the scene."
msgstr "åœæ­¢é‹è¡Œå ´æ™¯"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "åœæ­¢"
@@ -2204,6 +2377,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "儲存檔案"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr ""
@@ -2223,42 +2406,6 @@ msgstr ""
msgid "Inspector"
msgstr "監視器"
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr "å¦å­˜ç‚º..."
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2273,6 +2420,10 @@ msgid "FileSystem"
msgstr "檔案系統"
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2355,19 +2506,24 @@ msgid "Thumbnail..."
msgstr "縮圖"
#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit Plugin"
+msgstr "æ’ä»¶"
+
+#: editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr "æ›´æ–°"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr "版本:"
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#, fuzzy
msgid "Author:"
msgstr "作者:"
@@ -2376,12 +2532,14 @@ msgstr "作者:"
msgid "Status:"
msgstr "狀態:"
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
-msgstr ""
+#: editor/editor_plugin_settings.cpp
+#, fuzzy
+msgid "Edit:"
+msgstr "編輯"
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2429,6 +2587,103 @@ msgstr "時間:"
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+#, fuzzy
+msgid "New Script"
+msgstr "下一個腳本"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr "貼上"
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "轉為..."
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+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_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr "從列表é¸å–設備"
@@ -2464,11 +2719,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-#, fuzzy
-msgid "Default (Same as Editor)"
-msgstr "é è¨­()"
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2495,6 +2745,7 @@ msgid "(Installed)"
msgstr "(已安è£ï¼‰"
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr "下載"
@@ -2520,7 +2771,7 @@ msgstr ""
#: editor/export_template_manager.cpp
#, fuzzy
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr "無效的 version.txt æ ¼å¼ inside templates."
#: editor/export_template_manager.cpp
@@ -2585,6 +2836,12 @@ msgid "Download Complete."
msgstr "下載出ç¾éŒ¯èª¤"
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error requesting url: "
msgstr "請求時出ç¾éŒ¯èª¤"
@@ -2676,7 +2933,7 @@ msgid "Download Templates"
msgstr "移除é¸é …"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2688,11 +2945,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2769,7 +3026,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#, fuzzy
msgid "Rename..."
msgstr "釿–°å‘½å..."
@@ -2802,6 +3059,23 @@ msgid "Duplicate..."
msgstr "複製"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "下一個腳本"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2814,27 +3088,138 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
-msgstr ""
+#, fuzzy
+msgid "Toggle folder status as Favorite."
+msgstr "(ä¸ï¼‰é¡¯ç¤ºæœ€æ„›"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "新增資料夾"
#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "在幫助檔æœå°‹"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr "移動"
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
-msgstr "釿–°å‘½å..."
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "多 %d 檔案"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "尋找"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "完整詞語"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "符åˆå¤§å°å¯«"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr "å–æ¶ˆ"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "å–代"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "全部å–代"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "儲存中..."
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "在幫助檔æœå°‹"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "錯誤:動畫å稱已存在ï¼"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+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
+#, fuzzy
+msgid "Filter nodes"
+msgstr "篩é¸:"
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
+msgstr ""
#: editor/groups_editor.cpp
msgid "Add to Group"
@@ -2844,6 +3229,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Import as Single Scene"
@@ -2886,7 +3275,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2949,16 +3338,133 @@ msgstr ""
msgid "Reimport"
msgstr "å°Žå…¥"
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr "資æºåŠ è¼‰å¤±æ•—ã€‚"
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Ok"
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr "å¦å­˜ç‚º..."
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Copy Params"
+msgstr "è¤‡è£½åƒæ•¸"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Paste Params"
+msgstr "è²¼ä¸Šåƒæ•¸"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "錯誤:剪貼簿沒有動畫ï¼"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "貼上資æº"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Make Built-In"
+msgstr "設定æˆå…§å»ºçš„"
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Edit a Plugin"
+msgstr "æ’ä»¶"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Create a Plugin"
+msgstr "縮放selection"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Plugin Name:"
+msgstr "æ’件列表:"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Subfolder:"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Language:"
+msgstr "語言"
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+msgid "Script Name:"
+msgstr "腳本"
+
+#: editor/plugin_config_dialog.cpp
+msgid "Activate now?"
msgstr ""
#: editor/plugins/abstract_polygon_2d_editor.cpp
@@ -3003,6 +3509,149 @@ msgstr ""
msgid "Delete points"
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
+#, fuzzy
+msgid "Add Animation"
+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
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "刪除"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+msgstr "縮放selection"
+
+#: 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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "新的動畫å稱:"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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
+#: editor/plugins/visual_shader_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
+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
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Add Node.."
+msgstr "新增節點"
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/root_motion_editor_plugin.cpp
+#, fuzzy
+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 "é–‹ï¼é—œè‡ªå‹•播放"
@@ -3030,11 +3679,13 @@ msgid "Remove Animation"
msgstr "移除動畫"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
+#, fuzzy
+msgid "Invalid animation name!"
msgstr "錯誤:無效的動畫å稱ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
+#, fuzzy
+msgid "Animation name already exists!"
msgstr "錯誤:動畫å稱已存在ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3043,12 +3694,6 @@ msgid "Rename Animation"
msgstr "釿–°å‘½åå‹•ç•«"
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-#, fuzzy
-msgid "Add Animation"
-msgstr "新增動畫"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -3065,11 +3710,13 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
+#, fuzzy
+msgid "No animation to copy!"
msgstr "錯誤:沒有å¯ä»¥è¤‡è£½çš„å‹•ç•«ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
+#, fuzzy
+msgid "No animation resource on clipboard!"
msgstr "錯誤:剪貼簿沒有動畫ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3081,7 +3728,8 @@ msgid "Paste Animation"
msgstr "貼上動畫"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+#, fuzzy
+msgid "No animation to edit!"
msgstr "錯誤:沒有å¯ä»¥ç·¨è¼¯çš„å‹•ç•«ï¼"
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3114,43 +3762,37 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "編輯連接"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "監視器"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#, fuzzy
-msgid "Copy Animation"
-msgstr "複製動畫"
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Onion Skinning"
msgstr ""
@@ -3201,6 +3843,11 @@ msgid "Include Gizmos (3D)"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Pin AnimationPlayer"
+msgstr "貼上動畫"
+
+#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
msgstr ""
@@ -3210,6 +3857,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3227,163 +3875,214 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
#, fuzzy
-msgid "Edit Filters"
-msgstr "檔案"
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "新增"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "連到:"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-#, fuzzy
-msgid "AnimationTree"
-msgstr "新增動畫"
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr "內容:"
@@ -3440,8 +4139,14 @@ msgid "Asset Download Error:"
msgstr "Asset下載出ç¾éŒ¯èª¤ï¼š"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr ""
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "下載出ç¾éŒ¯èª¤"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "下載出ç¾éŒ¯èª¤"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3468,20 +4173,22 @@ msgid "Download for this asset is already in progress!"
msgstr "Asset已在下載中"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+#, fuzzy
+msgid "First"
msgstr "首é "
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "prev"
-msgstr "上一é "
+#, fuzzy
+msgid "Previous"
+msgstr "上一個tab"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr "下一é "
+msgid "Next"
+msgstr "下一個"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
-msgstr "å°¾é "
+msgid "Last"
+msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#: modules/gdnative/gdnative_library_editor_plugin.cpp
@@ -3548,7 +4255,7 @@ msgid "Bake Lightmaps"
msgstr ""
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3557,12 +4264,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3575,14 +4280,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3614,11 +4311,25 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "上移"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+#, fuzzy
+msgid "Move anchor"
+msgstr "移動模å¼"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3638,6 +4349,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "縮å°"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "縮å°"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "放大"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr "鏿“‡æ¨¡å¼"
@@ -3681,7 +4407,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3689,8 +4415,9 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
-msgstr ""
+#, fuzzy
+msgid "Snapping Options"
+msgstr "é¸é …"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap to grid"
@@ -3730,6 +4457,10 @@ 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 ""
@@ -3756,24 +4487,25 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
-msgstr ""
+#, fuzzy
+msgid "Clear Custom Bones"
+msgstr "é‹è¡Œå ´æ™¯"
#: editor/plugins/canvas_item_editor_plugin.cpp
#: editor/plugins/spatial_editor_plugin.cpp
@@ -3819,12 +4551,9 @@ msgid "Layout"
msgstr "儲存佈局"
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "å‹•æ™æ’入關éµå¹€ï¼Ÿ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3839,15 +4568,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "åªé™é¸ä¸­"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3863,10 +4583,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr "Ok"
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3899,26 +4615,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3994,15 +4702,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -4086,6 +4785,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4155,6 +4855,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4255,71 +4976,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Marking walkable triangles..."
-msgstr "儲存本地更改..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4380,18 +5036,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4400,15 +5044,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4436,6 +5076,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "轉為..."
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4512,6 +5165,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4548,19 +5217,90 @@ msgstr "åªé™é¸ä¸­"
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "AutoLoad '%s'已存在ï¼"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Add Split"
+msgstr "新增訊號"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "有效的路徑"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "åªé™é¸ä¸­"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "縮放selection"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4589,12 +5329,24 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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 "編輯"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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 "Polygon->UV"
@@ -4609,9 +5361,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "設定"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4621,6 +5373,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4643,6 +5419,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4664,17 +5444,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr "貼上"
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
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 ""
@@ -4685,6 +5466,21 @@ msgid "Close and save changes?"
msgstr "è¦é—œé–‰å ´æ™¯å—Žï¼Ÿï¼ˆæœªå„²å­˜çš„æ›´æ”¹å°‡æœƒæ¶ˆå¤±ï¼‰"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "儲存TileSet時出ç¾éŒ¯èª¤ï¼"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "無法新增資料夾"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "儲存TileSet時出ç¾éŒ¯èª¤ï¼"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4701,6 +5497,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "新增資料夾"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "開啟檔案"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "å¦å­˜ç‚º..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4713,6 +5524,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "排åºï¼š"
@@ -4742,8 +5557,9 @@ msgid "File"
msgstr "檔案"
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "檔案"
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4772,6 +5588,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4807,11 +5628,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4867,10 +5683,6 @@ msgid "Discard"
msgstr "中斷"
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4889,46 +5701,71 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "在幫助檔æœå°‹"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "儲存TileSet時出ç¾éŒ¯èª¤ï¼"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "行:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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
#, fuzzy
msgid "Convert Case"
msgstr "轉為..."
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr "剪下"
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr "複製"
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -5020,8 +5857,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "ç¯©é¸æª”案..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -5039,129 +5877,39 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Skeleton2D"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Create physical skeleton"
+msgstr "縮放selection"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "é‹è¡Œ"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5292,10 +6040,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr "OK :("
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5304,6 +6048,11 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+#, fuzzy
+msgid "Lock View Rotation"
+msgstr "本地化"
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5351,6 +6100,10 @@ msgid "Doppler Enable"
msgstr "啟用"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5483,6 +6236,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
#, fuzzy
msgid "Toggle Freelook"
msgstr "全螢幕"
@@ -5492,6 +6249,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5520,6 +6281,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5533,10 +6298,6 @@ msgid "Settings"
msgstr "設定"
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5596,6 +6357,51 @@ msgstr ""
msgid "Post"
msgstr ""
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "轉為..."
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "新增"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "é è¦½:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "設定"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5665,14 +6471,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5698,26 +6496,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5733,11 +6524,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Remove All Items"
msgstr "移除é¸é …"
@@ -5811,10 +6597,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr "é¸é …"
-
#: editor/plugins/theme_editor_plugin.cpp
#, fuzzy
msgid "Has,Many,Options"
@@ -5840,7 +6622,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5853,8 +6635,8 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "常數"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5862,6 +6644,11 @@ msgid "Erase Selection"
msgstr "縮放selection"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "無效å稱"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5883,12 +6670,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "尋找"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5911,6 +6695,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "移除é¸é …"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5927,66 +6716,111 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+#, fuzzy
+msgid "Add Texture(s) to TileSet"
+msgstr "由主幹新增節點"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "åªé™é¸ä¸­"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-#, fuzzy
-msgid "Tile Set"
-msgstr "TileSet..."
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
+msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "Create from scene?"
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "新增資料夾"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
-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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "ä¸èƒ½åŸ·è¡Œé€™å€‹å‹•作,因為沒有tree root."
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+#, fuzzy
+msgid "Tile Set"
+msgstr "TileSet..."
+
+#: 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
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
+msgstr ""
#: editor/project_export.cpp
#, fuzzy
@@ -6004,7 +6838,7 @@ msgid "Delete preset '%s'?"
msgstr "è¦åˆªé™¤é¸ä¸­æª”案?"
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -6081,10 +6915,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -6094,7 +6924,7 @@ msgid "The path does not exist."
msgstr "檔案ä¸å­˜åœ¨."
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -6102,6 +6932,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6195,6 +7033,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr "ç€è¦½"
@@ -6306,8 +7148,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6319,9 +7161,23 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "更改動畫å稱:"
+
+#: editor/project_settings_editor.cpp
msgid "Add Input Action Event"
msgstr ""
+#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "All Devices"
+msgstr "設備"
+
+#: editor/project_settings_editor.cpp
+msgid "Device"
+msgstr "設備"
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr "Shift+"
@@ -6363,20 +7219,24 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
-msgstr ""
+#, fuzzy
+msgid "Wheel Left Button"
+msgstr "左𨫡"
#: editor/project_settings_editor.cpp
-msgid "Button 7"
-msgstr ""
+#, fuzzy
+msgid "Wheel Right Button"
+msgstr "å³ð¨«¡"
#: editor/project_settings_editor.cpp
-msgid "Button 8"
-msgstr ""
+#, fuzzy
+msgid "X Button 1"
+msgstr "按éµ"
#: editor/project_settings_editor.cpp
-msgid "Button 9"
-msgstr ""
+#, fuzzy
+msgid "X Button 2"
+msgstr "按éµ"
#: editor/project_settings_editor.cpp
msgid "Joypad Axis Index:"
@@ -6405,10 +7265,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr "設備"
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr "按éµ"
@@ -6454,6 +7310,12 @@ 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 "Already existing"
msgstr ""
@@ -6525,6 +7387,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6534,6 +7400,14 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+msgid "Action"
+msgstr "行為"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6595,10 +7469,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6636,36 +7506,10 @@ msgid "Select Node"
msgstr "ä¸é¸"
#: editor/property_editor.cpp
-#, fuzzy
-msgid "New Script"
-msgstr "下一個腳本"
-
-#: editor/property_editor.cpp
-msgid "New %s"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Make Unique"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "Show in File System"
-msgstr ""
-
-#: editor/property_editor.cpp
-#, fuzzy
-msgid "Convert To %s"
-msgstr "轉為..."
-
-#: editor/property_editor.cpp
msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
-msgstr ""
-
-#: editor/property_editor.cpp
#, fuzzy
msgid "Pick a Node"
msgstr "貼上"
@@ -6675,18 +7519,6 @@ msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "On"
-msgstr ""
-
-#: editor/property_editor.cpp
-msgid "[Empty]"
-msgstr ""
-
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Properties:"
msgstr ""
@@ -6713,6 +7545,129 @@ msgstr ""
msgid "Can't load back converted image using PVRTC tool:"
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 "Advanced options"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Substitute"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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
+#, fuzzy
+msgid "Current scene name"
+msgstr "未儲存當å‰å ´æ™¯ã€‚ä»è¦é–‹å•Ÿï¼Ÿ"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+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 "Step"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Padding"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr "ä¿ç•™"
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "轉為..."
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "轉為..."
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "é‡è¨­ç¸®æ”¾æ¯”例"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
msgid "Reparent Node"
msgstr ""
@@ -6749,11 +7704,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr "OK"
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6773,6 +7723,11 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Clear Script"
+msgstr "下一個腳本"
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6813,14 +7768,34 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "新增資料夾"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "場景"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "場景"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Custom Node"
+msgstr "貼上"
+
+#: editor/scene_tree_dock.cpp
msgid "Can't operate on nodes from a foreign scene!"
msgstr ""
@@ -6829,6 +7804,11 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Attach Script"
+msgstr "腳本"
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6873,19 +7853,14 @@ msgstr ""
#: editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Attach Script"
-msgstr "腳本"
-
-#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Clear Script"
-msgstr "下一個腳本"
+msgid "Make Scene Root"
+msgstr "儲存場景"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6909,11 +7884,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "篩é¸:"
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6934,17 +7904,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "(ä¸ï¼‰é¡¯ç¤ºéš±è—的文件"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6952,7 +7915,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6968,21 +7931,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "下一個腳本"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6990,6 +7953,12 @@ 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 ""
@@ -7029,6 +7998,10 @@ msgid "N/A"
msgstr "N/A"
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr "路徑為空"
@@ -7275,10 +8248,22 @@ msgid "Change Camera Size"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Sphere Shape Radius"
+msgid "Change Notifier AABB"
+msgstr ""
+
+#: editor/spatial_editor_gizmos.cpp
+msgid "Change Particles AABB"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
+msgid "Change Probe Extents"
+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 ""
@@ -7291,19 +8276,31 @@ msgid "Change Capsule Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
+msgid "Change Cylinder Shape Radius"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
+msgid "Change Cylinder Shape Height"
msgstr ""
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
-msgid "Change Probe Extents"
+#: 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/gdnative/gdnative_library_editor_plugin.cpp
@@ -7363,16 +8360,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr ""
@@ -7441,6 +8428,11 @@ msgstr "刪除é¸ä¸­æª”案"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "刪除é¸ä¸­æª”案"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "複製 Selection"
@@ -7525,6 +8517,11 @@ msgstr "縮放selection"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "所有é¸é …"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "設定"
@@ -7598,6 +8595,71 @@ msgstr "檔案"
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Marking walkable triangles..."
+msgstr "儲存本地更改..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7650,11 +8712,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Functions:"
-msgstr "行為"
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7768,36 +8825,14 @@ msgid "Connect Nodes"
msgstr "連到:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "連到:"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "連到:"
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7828,17 +8863,12 @@ msgid "Remove Function"
msgstr "åªé™é¸ä¸­"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-#, fuzzy
-msgid "Edit Signal"
-msgstr "連接"
+msgid "Editing Variable:"
+msgstr ""
#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
@@ -7846,10 +8876,6 @@ msgid "Remove Signal"
msgstr "åªé™é¸ä¸­"
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
#, fuzzy
msgid "Editing Signal:"
msgstr "連接"
@@ -7895,6 +8921,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr "貼上"
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "檔案"
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7949,6 +8980,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "貼上"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
#, fuzzy
msgid "Run in Browser"
@@ -8002,8 +9046,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -8084,6 +9128,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -8144,8 +9201,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8218,6 +9275,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8230,6 +9298,46 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "時長(秒)。"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "錯誤:無效的動畫å稱ï¼"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "由 '%s' 連到 '%s'"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "ç”±Scene Treeé¸å–一個動畫播放器以編輯當中動畫。"
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8299,12 +9407,146 @@ msgstr "載入字形出ç¾éŒ¯èª¤"
msgid "Invalid font size."
msgstr "無效字型"
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "上一個tab"
+msgid "Invalid source for shader."
+msgstr "無效字型"
-#~ msgid "Next"
-#~ 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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "å·²åœç”¨"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "動畫軌跡上移"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "動畫軌跡下移"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "å°‡éŽæ¸¡è¨­åˆ°ï¼š"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "å‹•ç•«è»Œè·¡é‡æ–°å‘½å"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "動畫軌跡變化Interpolation"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "動畫軌跡變化數值模å¼"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "編輯Node Curve"
+
+#~ msgid "Edit Selection Curve"
+#~ msgstr "編輯Selection Curve"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "新增動畫幀"
+
+#~ msgid "Transitions"
+#~ msgstr "éŽæ¸¡"
+
+#, fuzzy
+#~ msgid "Change Anim Len"
+#~ msgstr "更改動畫長度"
+
+#, fuzzy
+#~ msgid "Change Anim Loop"
+#~ msgstr "更改動畫循環"
+
+#~ msgid "Length (s):"
+#~ msgstr "時長(秒):"
+
+#, fuzzy
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "é–‹ï¼é—œå‹•畫循環。"
+
+#~ msgid "Add new tracks."
+#~ msgstr "新增軌迹。"
+
+#, fuzzy
+#~ msgid "Move current track up."
+#~ msgstr "上移ç¾åœ¨çš„軌迹。"
+
+#, fuzzy
+#~ msgid "Move current track down."
+#~ msgstr "下移ç¾åœ¨çš„軌迹。"
+
+#, fuzzy
+#~ msgid "Track tools"
+#~ msgstr "動畫軌迹工具"
+
+#, fuzzy
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "啟用單擊編輯å„個關éµå¹€çš„功能。"
+
+#, fuzzy
+#~ msgid "Key"
+#~ msgstr "é—œéµå¹€"
+
+#~ msgid "Thanks!"
+#~ msgstr "多è¬!"
+
+#~ msgid "I see..."
+#~ msgstr "如來如此"
+
+#, fuzzy
+#~ msgid "Can't open '%s'."
+#~ msgstr "ä¸èƒ½é€£æŽ¥ã€‚"
+
+#, fuzzy
+#~ msgid "Ugh"
+#~ msgstr "å—¯......"
+
+#~ msgid "Run Script"
+#~ msgstr "é‹è¡Œè…³æœ¬"
+
+#, fuzzy
+#~ msgid "Default (Same as Editor)"
+#~ msgstr "é è¨­()"
+
+#, fuzzy
+#~ msgid "Copy Animation"
+#~ msgstr "複製動畫"
+
+#~ msgid "prev"
+#~ msgstr "上一é "
+
+#~ msgid "next"
+#~ msgstr "下一é "
+
+#~ msgid "last"
+#~ msgstr "å°¾é "
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "åªé™é¸ä¸­"
+
+#~ msgid "OK :("
+#~ msgstr "OK :("
+
+#, fuzzy
+#~ msgid "Edit Signal"
+#~ msgstr "連接"
#, fuzzy
#~ msgid "Can't contain '/' or ':'"
@@ -8337,10 +9579,6 @@ msgstr "無效字型"
#~ msgstr "è·³éŽ"
#, fuzzy
-#~ msgid "preview"
-#~ msgstr "é è¦½:"
-
-#, fuzzy
#~ msgid "Move Add Key"
#~ msgstr "移動"
@@ -8369,9 +9607,6 @@ msgstr "無效字型"
#~ msgid "Selection -> Clear"
#~ msgstr "åªé™é¸ä¸­"
-#~ msgid "Filter:"
-#~ msgstr "篩é¸:"
-
#~ msgid "Added:"
#~ msgstr "已加入:"
@@ -8427,19 +9662,12 @@ msgstr "無效字型"
#~ msgid "at least 6 characters"
#~ msgstr "有效字符:"
-#, fuzzy
-#~ msgid "File name"
-#~ msgstr "有效å稱"
-
#~ msgid "Include"
#~ msgstr "包括"
#~ msgid "Target"
#~ msgstr "目標"
-#~ msgid "Action"
-#~ msgstr "行為"
-
#~ msgid "Images"
#~ msgstr "圖片"
@@ -8449,9 +9677,6 @@ msgstr "無效字型"
#~ msgid "Images:"
#~ msgstr "圖片:"
-#~ msgid "Keep"
-#~ msgstr "ä¿ç•™"
-
#~ msgid "Text"
#~ msgstr "文字"
@@ -8464,11 +9689,5 @@ msgstr "無效字型"
#~ msgid "Cannot go into subdir:"
#~ msgstr "無法進入次è¦è³‡æ–™å¤¾"
-#~ msgid "Edit Connections..."
-#~ msgstr "編輯連接"
-
#~ msgid "Live Editing"
#~ msgstr "峿™‚編輯"
-
-#~ msgid "Plugin List:"
-#~ msgstr "æ’件列表:"
diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po
index df0c474322..5ce0ea7f67 100644
--- a/editor/translations/zh_TW.po
+++ b/editor/translations/zh_TW.po
@@ -24,337 +24,476 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.1-dev\n"
-#: editor/animation_editor.cpp
-msgid "Disabled"
-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 ""
-#: editor/animation_editor.cpp
-msgid "All Selection"
-msgstr "æ‰€æœ‰çš„é¸æ“‡"
+#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp
+#: modules/mono/glue/glue_header.h
+#: 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 ""
+
+#: editor/animation_bezier_editor.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
+msgid "Free"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Balanced"
+msgstr ""
+
+#: editor/animation_bezier_editor.cpp
+msgid "Mirror"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Insert Key Here"
+msgstr "動畫新增按éµ"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Duplicate Selected Key(s)"
+msgstr "複製所é¸"
+
+#: editor/animation_bezier_editor.cpp
+#, fuzzy
+msgid "Delete Selected Key(s)"
+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_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transition"
msgstr "動畫更改轉場效果"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Transform"
msgstr "動畫更改座標"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Keyframe Value"
msgstr "動畫更改關éµå¹€æ•¸å€¼"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Change Call"
msgstr "動畫更改呼å«"
-#: editor/animation_editor.cpp
-msgid "Anim Add Track"
-msgstr "添加動畫軌"
-
-#: editor/animation_editor.cpp
-msgid "Anim Duplicate Keys"
-msgstr "複製動畫關éµç•«æ ¼"
+#: editor/animation_track_editor.cpp
+msgid "Property Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Up"
-msgstr "上移動畫軌"
+#: editor/animation_track_editor.cpp
+msgid "3D Transform Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Move Anim Track Down"
-msgstr "動畫軌下移"
+#: editor/animation_track_editor.cpp
+msgid "Call Method Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Anim Track"
-msgstr "刪除動畫軌"
+#: editor/animation_track_editor.cpp
+msgid "Bezier Curve Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Set Transitions to:"
-msgstr "設定轉場效果為:"
+#: editor/animation_track_editor.cpp
+msgid "Audio Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Rename"
-msgstr "釿–°å‘½å動畫軌"
+#: editor/animation_track_editor.cpp
+msgid "Animation Playback Track"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Interpolation"
-msgstr "改變動畫軌內æ’"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Add Track"
+msgstr "添加動畫軌"
-#: editor/animation_editor.cpp
-msgid "Anim Track Change Value Mode"
-msgstr "動畫軌改變模å¼"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation Length Time (seconds)"
+msgstr "動畫長度 (秒)。"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
-msgid "Anim Track Change Wrap Mode"
-msgstr "å‹•ç•«è»Œé“æ›´æ”¹ç’°ç¹žæ¨¡å¼"
+msgid "Animation Looping"
+msgstr "動畫空間。"
-#: editor/animation_editor.cpp
-msgid "Edit Node Curve"
-msgstr "編輯節點曲線"
+#: editor/animation_track_editor.cpp
+#: modules/visual_script/visual_script_editor.cpp
+msgid "Functions:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Edit Selection Curve"
-msgstr "ç·¨è¼¯æ‰€é¸æ›²ç·š"
+#: editor/animation_track_editor.cpp
+msgid "Audio Clips:"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Delete Keys"
-msgstr "刪除動畫關éµç•«æ ¼"
+#: editor/animation_track_editor.cpp
+msgid "Anim Clips:"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp
-#: modules/gridmap/grid_map_editor_plugin.cpp
-msgid "Duplicate Selection"
-msgstr "複製所é¸"
+#: editor/animation_track_editor.cpp
+msgid "Toggle this track on/off."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Duplicate Transposed"
-msgstr "é‡è¤‡è½‰ç½®"
+#: editor/animation_track_editor.cpp
+msgid "Update Mode (How this property is set)"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Remove Selection"
-msgstr "移除所é¸"
+#: editor/animation_track_editor.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_editor.cpp
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Time (s): "
+msgstr "步驟 :"
+
+#: editor/animation_track_editor.cpp
msgid "Continuous"
msgstr "連續"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Discrete"
msgstr "ä¸é€£çºŒ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Trigger"
msgstr "觸發器"
-#: editor/animation_editor.cpp
-msgid "Anim Add Key"
-msgstr "添加動畫關éµç•«æ ¼"
-
-#: editor/animation_editor.cpp
-msgid "Anim Move Keys"
-msgstr "移動動畫畫格"
-
-#: editor/animation_editor.cpp
-msgid "Scale Selection"
-msgstr "縮放所é¸"
-
-#: editor/animation_editor.cpp
-msgid "Scale From Cursor"
-msgstr "由游標ä½ç½®ç¸®æ”¾"
-
-#: editor/animation_editor.cpp
-msgid "Goto Next Step"
-msgstr "往下一步"
+#: editor/animation_track_editor.cpp
+msgid "Capture"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Goto Prev Step"
-msgstr "往上一步"
+#: editor/animation_track_editor.cpp
+msgid "Nearest"
+msgstr ""
-#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp
+#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp
#: editor/property_editor.cpp
msgid "Linear"
msgstr "線性"
-#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp
-msgid "Constant"
-msgstr "固定"
-
-#: editor/animation_editor.cpp
-msgid "In"
-msgstr "進"
+#: editor/animation_track_editor.cpp
+msgid "Cubic"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out"
-msgstr "出"
+#: editor/animation_track_editor.cpp
+msgid "Clamp Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "In-Out"
-msgstr "進出"
+#: editor/animation_track_editor.cpp
+msgid "Wrap Loop Interp"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Out-In"
-msgstr "外-內"
+#: editor/animation_track_editor.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Transitions"
-msgstr "轉場動畫"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Duplicate Key(s)"
+msgstr "複製動畫關éµç•«æ ¼"
-#: editor/animation_editor.cpp
-msgid "Optimize Animation"
-msgstr "最佳化動畫"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Delete Key(s)"
+msgstr "刪除動畫關éµç•«æ ¼"
-#: editor/animation_editor.cpp
-msgid "Clean-Up Animation"
-msgstr "清除動畫"
+#: editor/animation_track_editor.cpp
+msgid "Remove Anim Track"
+msgstr "刪除動畫軌"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create NEW track for %s and insert key?"
msgstr "%s 新增新軌並æ’入畫格?"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
msgstr "創建 %d 個新軌並æ’入畫格?"
-#: editor/animation_editor.cpp editor/create_dialog.cpp
-#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp
+#: editor/animation_track_editor.cpp editor/create_dialog.cpp
+#: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp
+#: editor/plugin_config_dialog.cpp
+#: editor/plugins/abstract_polygon_2d_editor.cpp
#: editor/plugins/light_occluder_2d_editor_plugin.cpp
#: editor/plugins/mesh_instance_editor_plugin.cpp
#: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp
msgid "Create"
msgstr "新增"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
+msgid "Anim Insert"
+msgstr "æ’入動畫"
+
+#: editor/animation_track_editor.cpp
+msgid "AnimationPlayer can't animate itself, only other players."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
msgid "Anim Create & Insert"
msgstr "動畫建立與æ’å…¥"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim Insert Track & Key"
msgstr "動畫新增軌跡與按éµ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Anim Insert Key"
msgstr "動畫新增按éµ"
-#: editor/animation_editor.cpp
-msgid "Change Anim Len"
-msgstr "變更動畫長度"
+#: editor/animation_track_editor.cpp
+msgid "Transform tracks only apply to Spatial-based nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Change Anim Loop"
-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_editor.cpp
-#, fuzzy
-msgid "Anim Create Typed Value Key"
-msgstr "動畫新增具類別之éµå€¼"
+#: editor/animation_track_editor.cpp
+msgid "Animation tracks can only point to AnimationPlayer nodes."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Insert"
-msgstr "æ’入動畫"
+#: editor/animation_track_editor.cpp
+msgid "An animation player can't animate itself, only other players."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Scale Keys"
+#: editor/animation_track_editor.cpp
+msgid "Not possible to add a new track without a root"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Anim Add Call Track"
-msgstr "動畫新增呼å«è»Œè·¡"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a key."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation zoom."
-msgstr "動畫空間。"
+#: editor/animation_track_editor.cpp
+msgid "Track is not of type Spatial, can't insert key"
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Length (s):"
-msgstr "長度(s):"
+#: editor/animation_track_editor.cpp
+msgid "Track path is invalid, so can't add a method key."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Animation length (in seconds)."
-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
+msgid "Clipboard is empty"
+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 "Only show tracks from nodes selected in tree."
+msgstr ""
-#: editor/animation_editor.cpp
-msgid "Step (s):"
+#: editor/animation_track_editor.cpp
+msgid "Group tracks by node or display them as plain list."
+msgstr ""
+
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Snap (s): "
msgstr "步驟 :"
-#: editor/animation_editor.cpp
-msgid "Cursor step snap (in seconds)."
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation step value."
+msgstr "動畫空間。"
+
+#: editor/animation_track_editor.cpp editor/editor_properties.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/project_manager.cpp editor/project_settings_editor.cpp
+#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
+msgid "Edit"
msgstr ""
-#: editor/animation_editor.cpp
-msgid "Enable/Disable looping in animation."
-msgstr "啟用/åœç”¨ 動畫迴圈。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Animation properties."
+msgstr "動畫空間。"
-#: editor/animation_editor.cpp
-msgid "Add new tracks."
-msgstr "新增動畫軌。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Copy Tracks"
+msgstr "è¤‡è£½åƒæ•¸"
-#: editor/animation_editor.cpp
-msgid "Move current track up."
-msgstr "上移當å‰å‹•畫軌。"
+#: editor/animation_track_editor.cpp
+#, fuzzy
+msgid "Paste Tracks"
+msgstr "è²¼ä¸Šåƒæ•¸"
-#: editor/animation_editor.cpp
-msgid "Move current track down."
-msgstr "下移當å‰å‹•畫軌。"
+#: editor/animation_track_editor.cpp
+msgid "Scale Selection"
+msgstr "縮放所é¸"
-#: editor/animation_editor.cpp
-msgid "Remove selected track."
-msgstr "ç§»é™¤é¸æ“‡çš„動畫軌。"
+#: editor/animation_track_editor.cpp
+msgid "Scale From Cursor"
+msgstr "由游標ä½ç½®ç¸®æ”¾"
-#: editor/animation_editor.cpp
-msgid "Track tools"
-msgstr "軌跡工具"
+#: editor/animation_track_editor.cpp editor/plugins/tile_map_editor_plugin.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 "Goto Next Step"
+msgstr "往下一步"
+
+#: editor/animation_track_editor.cpp
+msgid "Goto Prev Step"
+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_editor.cpp
-msgid "Enable editing of individual keys by clicking them."
-msgstr "啟用å¯ä½¿ç”¨é»žæ“Šä¾†æ›´æ”¹å„個éµã€‚"
+#: editor/animation_track_editor.cpp
+msgid "Use Bezier Curves"
+msgstr ""
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
#, fuzzy
msgid "Anim. Optimizer"
msgstr "動畫. 最佳化"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Linear Error:"
msgstr "最大線性錯誤:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max. Angular Error:"
msgstr "最大角度錯誤:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Max Optimizable Angle:"
msgstr "最大å¯å„ªåŒ–角度:"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Optimize"
msgstr "最佳化"
-#: editor/animation_editor.cpp
-#, fuzzy
-msgid "Select an AnimationPlayer from the Scene Tree to edit animations."
-msgstr "å¾žå ´æ™¯æ¨¹ä¸­é¸æ“‡ä¸€å€‹ AnimationPlayer 來編輯動畫。"
-
-#: editor/animation_editor.cpp
-msgid "Key"
-msgstr "éµ"
-
-#: editor/animation_editor.cpp
-msgid "Transition"
-msgstr "轉場"
-
-#: editor/animation_editor.cpp
-msgid "Scale Ratio:"
-msgstr "縮放比例:"
-
-#: editor/animation_editor.cpp
-msgid "Call Functions in Which Node?"
-msgstr "呼å«å“ªå€‹ç¯€é»žè£¡çš„函å¼?"
-
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove invalid keys"
msgstr "移除無效按éµ"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Remove unresolved and empty tracks"
msgstr "刪除未解決或是空的軌é“"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-up all animations"
msgstr "清除所有動畫"
-#: editor/animation_editor.cpp
+#: editor/animation_track_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
msgstr "清除動畫 (無法復原!)"
-#: editor/animation_editor.cpp
+#: 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_properties.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
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Copy"
+msgstr ""
+
#: editor/array_property_edit.cpp
msgid "Resize Array"
msgstr "調整陣列大å°"
@@ -375,7 +514,7 @@ msgstr "å‰å¾€ç¬¬...行"
msgid "Line Number:"
msgstr "行號:"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/editor_help.cpp
msgid "No Matches"
msgstr "ç„¡ç¬¦åˆæ¢ä»¶"
@@ -391,7 +530,7 @@ msgstr "符åˆå¤§å°å¯«"
msgid "Whole Words"
msgstr "整個字"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/rename_dialog.cpp
msgid "Replace"
msgstr "å–代"
@@ -403,18 +542,27 @@ msgstr "å–代全部"
msgid "Selection Only"
msgstr "åƒ…é¸æ“‡å€åŸŸ"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom In"
msgstr "放大"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Zoom Out"
msgstr "縮å°"
-#: editor/code_editor.cpp
+#: editor/code_editor.cpp editor/plugins/tile_set_editor_plugin.cpp
msgid "Reset Zoom"
msgstr "é‡è¨­ç¸®æ”¾å¤§å°"
+#: editor/code_editor.cpp
+msgid "Warnings:"
+msgstr ""
+
+#: editor/code_editor.cpp
+#, fuzzy
+msgid "Zoom:"
+msgstr "放大"
+
#: editor/code_editor.cpp editor/script_editor_debugger.cpp
msgid "Line:"
msgstr "行:"
@@ -444,7 +592,8 @@ msgid "Add"
msgstr "新增"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp
#: editor/project_settings_editor.cpp
msgid "Remove"
@@ -476,7 +625,7 @@ msgid "Oneshot"
msgstr "一次性"
#: editor/connections_dialog.cpp editor/dependency_editor.cpp
-#: editor/export_template_manager.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/canvas_item_editor_plugin.cpp
@@ -498,11 +647,12 @@ msgid "Connect '%s' to '%s'"
msgstr "連接 '%s' 到 '%s'"
#: editor/connections_dialog.cpp
-msgid "Connecting Signal:"
-msgstr "連çµè¨Šè™Ÿ:"
+msgid "Disconnect '%s' from '%s'"
+msgstr "將 '%s' 從 '%s' 中斷連接"
#: editor/connections_dialog.cpp
-msgid "Disconnect '%s' from '%s'"
+#, fuzzy
+msgid "Disconnect all from signal: '%s'"
msgstr "將 '%s' 從 '%s' 中斷連接"
#: editor/connections_dialog.cpp
@@ -510,14 +660,46 @@ msgid "Connect..."
msgstr "連接..."
#: editor/connections_dialog.cpp
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Disconnect"
msgstr "æ–·ç·š"
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connect Signal: "
+msgstr "連çµè¨Šè™Ÿ:"
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Edit Connection: "
+msgstr "連接..."
+
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from the \""
+msgstr ""
+
#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp
msgid "Signals"
msgstr "信號"
+#: editor/connections_dialog.cpp
+msgid "Are you sure you want to remove all connections from this signal?"
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Disconnect All"
+msgstr "æ–·ç·š"
+
+#: editor/connections_dialog.cpp
+msgid "Edit..."
+msgstr ""
+
+#: editor/connections_dialog.cpp
+#, fuzzy
+msgid "Go To Method"
+msgstr "方法"
+
#: editor/create_dialog.cpp
msgid "Change %s Type"
msgstr "變更 %s 尺寸"
@@ -540,22 +722,25 @@ msgstr "我的最愛:"
msgid "Recent:"
msgstr "最近存å–:"
-#: editor/create_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/asset_library_editor_plugin.cpp
+#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
#: editor/quick_open.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Search:"
msgstr "æœå°‹:"
#: editor/create_dialog.cpp editor/editor_help.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_help.cpp
+#: editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp
#: editor/script_editor_debugger.cpp
+#: modules/visual_script/visual_script_property_selector.cpp
msgid "Description:"
msgstr "æè¿°:"
@@ -617,7 +802,9 @@ msgstr "æœå°‹æ›¿ä»£è³‡æºï¼š"
#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp
#: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp
#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp
-#: editor/quick_open.cpp scene/gui/file_dialog.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 "開啟"
@@ -638,7 +825,7 @@ msgstr ""
"刪除這些檔案å¯èƒ½é€ æˆå…¶ä»–資æºç„¡æ³•正常é‹ä½œ\n"
"此動作無法復原, 確定è¦åˆªé™¤å—Ž?"
-#: editor/dependency_editor.cpp
+#: editor/dependency_editor.cpp editor/export_template_manager.cpp
msgid "Cannot remove:"
msgstr "無法移除:"
@@ -709,9 +896,13 @@ msgstr "改變字典 value"
msgid "Thanks from the Godot community!"
msgstr "Godot 社群感è¬ä½ !"
-#: editor/editor_about.cpp
-msgid "Thanks!"
-msgstr "è¬è¬!"
+#: editor/editor_about.cpp editor/editor_node.cpp editor/inspector_dock.cpp
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
+#: editor/script_create_dialog.cpp scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
#: editor/editor_about.cpp
msgid "Godot Engine contributors"
@@ -895,6 +1086,7 @@ msgid "Bus options"
msgstr "Bus é¸é …"
#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "Duplicate"
msgstr "製作複本"
@@ -964,7 +1156,8 @@ msgstr "新增 Bus"
msgid "Create a new Bus Layout."
msgstr "建立新的 Bus é…置。"
-#: editor/editor_audio_buses.cpp editor/property_editor.cpp
+#: editor/editor_audio_buses.cpp editor/editor_properties.cpp
+#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp
#: editor/script_create_dialog.cpp
msgid "Load"
msgstr "載入"
@@ -974,7 +1167,6 @@ msgid "Load an existing Bus Layout."
msgstr "讀å–ç¾å­˜çš„ Bus é…置。"
#: editor/editor_audio_buses.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Save As"
msgstr "å¦å­˜æ–°æª”"
@@ -1011,23 +1203,6 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "å稱已存在, ä¸èƒ½è·Ÿå·²ç¶“存在的全域變數å稱é‡è¤‡"
#: editor/editor_autoload_settings.cpp
-msgid "Invalid Path."
-msgstr "無效的路徑"
-
-#: editor/editor_autoload_settings.cpp
-msgid "File does not exist."
-msgstr "檔案ä¸å­˜åœ¨"
-
-#: editor/editor_autoload_settings.cpp
-msgid "Not in resource path."
-msgstr "在資æºè·¯å¾‘中找ä¸åˆ°"
-
-#: editor/editor_autoload_settings.cpp
-#, fuzzy
-msgid "Add AutoLoad"
-msgstr "新增 AutoLoad"
-
-#: editor/editor_autoload_settings.cpp
#, fuzzy
msgid "Autoload '%s' already exists!"
msgstr "Autoload「%sã€å·²ç¶“存在!"
@@ -1059,6 +1234,23 @@ msgstr "啟用"
msgid "Rearrange Autoloads"
msgstr "釿–°æŽ’列 Autoload"
+#: editor/editor_autoload_settings.cpp
+msgid "Invalid Path."
+msgstr "無效的路徑"
+
+#: editor/editor_autoload_settings.cpp
+msgid "File does not exist."
+msgstr "檔案ä¸å­˜åœ¨"
+
+#: editor/editor_autoload_settings.cpp
+msgid "Not in resource path."
+msgstr "在資æºè·¯å¾‘中找ä¸åˆ°"
+
+#: editor/editor_autoload_settings.cpp
+#, fuzzy
+msgid "Add AutoLoad"
+msgstr "新增 AutoLoad"
+
#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp
#: scene/gui/file_dialog.cpp
msgid "Path:"
@@ -1089,7 +1281,7 @@ msgstr "正在儲存變更..."
msgid "Updating scene..."
msgstr "更新場景中..."
-#: editor/editor_data.cpp
+#: editor/editor_data.cpp editor/editor_properties.cpp
#, fuzzy
msgid "[empty]"
msgstr "(空)"
@@ -1153,6 +1345,12 @@ msgid "Copy Path"
msgstr "複製路徑"
#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Open In File Manager"
+msgstr "在檔案管ç†å“¡å…§é¡¯ç¤º"
+
+#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp
+#: editor/project_manager.cpp
msgid "Show In File Manager"
msgstr "在檔案管ç†å“¡å…§é¡¯ç¤º"
@@ -1189,7 +1387,7 @@ msgid "Open a File or Directory"
msgstr "開啟檔案或資料夾"
#: editor/editor_file_dialog.cpp editor/editor_node.cpp
-#: editor/plugins/animation_player_editor_plugin.cpp
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp
msgid "Save"
msgstr "儲存"
@@ -1244,7 +1442,8 @@ msgstr "無法新增資料夾"
msgid "Directories & Files:"
msgstr "資料夾 & 檔案:"
-#: editor/editor_file_dialog.cpp
+#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp
+#: editor/plugins/style_box_editor_plugin.cpp
msgid "Preview:"
msgstr "é è¦½:"
@@ -1398,20 +1597,27 @@ msgstr ""
"ç›®å‰æ²’有這個 method 的說明。請幫我們[color=$color][url=$url]è²¢ç»[/url][/"
"color]一個!"
-#: editor/editor_help.cpp
-msgid "Search Text"
-msgstr "æœå°‹è©žå½™"
+#: editor/editor_inspector.cpp
+msgid "Property: "
+msgstr ""
-#: editor/editor_help.cpp
-msgid "Find"
-msgstr "尋找"
+#: editor/editor_inspector.cpp editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: editor/editor_inspector.cpp
+msgid "Set Multiple:"
+msgstr ""
#: editor/editor_log.cpp
msgid "Output:"
msgstr "輸出:"
-#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/property_editor.cpp editor/script_editor_debugger.cpp
+#: editor/editor_log.cpp editor/editor_profiler.cpp
+#: editor/editor_properties.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
msgid "Clear"
@@ -1434,11 +1640,6 @@ msgstr "儲存資æºéŒ¯èª¤!"
msgid "Save Resource As..."
msgstr "å¦å­˜è³‡æºç‚º..."
-#: editor/editor_node.cpp editor/plugins/spatial_editor_plugin.cpp
-#: editor/scene_tree_dock.cpp
-msgid "I see..."
-msgstr "我知é“了"
-
#: editor/editor_node.cpp
#, fuzzy
msgid "Can't open file for writing:"
@@ -1452,9 +1653,9 @@ msgstr "è¦æ±‚äº†ä¸æ˜Žçš„æª”案格å¼:"
msgid "Error while saving."
msgstr "儲存中發生了錯誤。"
-#: editor/editor_node.cpp
-msgid "Can't open '%s'."
-msgstr "無法開啟 \"%s\"。"
+#: 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'."
@@ -1497,10 +1698,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Failed to load resource."
-msgstr ""
-
-#: editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
msgstr ""
@@ -1567,42 +1764,6 @@ msgid ""
msgstr ""
#: editor/editor_node.cpp
-msgid "Expand all properties"
-msgstr "展開所有屬性"
-
-#: editor/editor_node.cpp
-msgid "Collapse all properties"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Copy Params"
-msgstr "è¤‡è£½åƒæ•¸"
-
-#: editor/editor_node.cpp
-msgid "Paste Params"
-msgstr "è²¼ä¸Šåƒæ•¸"
-
-#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp
-msgid "Paste Resource"
-msgstr "貼上資æº"
-
-#: editor/editor_node.cpp
-msgid "Copy Resource"
-msgstr "複製資æº"
-
-#: editor/editor_node.cpp
-msgid "Make Built-In"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Make Sub-Resources Unique"
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Open in Help"
-msgstr "在幫助界é¢ä¸­é–‹å•Ÿ"
-
-#: editor/editor_node.cpp
msgid "There is no defined scene to run."
msgstr ""
@@ -1778,11 +1939,6 @@ msgid ""
"To make changes to it, a new inherited scene can be created."
msgstr ""
-#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ugh"
-msgstr "呃"
-
#: editor/editor_node.cpp
msgid ""
"Error loading scene, it must be inside the project path. Use 'Import' to "
@@ -1812,6 +1968,16 @@ msgid "Default"
msgstr "é è¨­"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Play This Scene"
+msgstr "æš«åœå ´æ™¯"
+
+#: editor/editor_node.cpp
+#, fuzzy
+msgid "Close Tab"
+msgstr "關閉"
+
+#: editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr "切æ›å ´æ™¯åˆ†é "
@@ -1939,10 +2105,6 @@ msgstr "專案設定"
msgid "Project Settings"
msgstr "專案設定"
-#: editor/editor_node.cpp
-msgid "Run Script"
-msgstr ""
-
#: editor/editor_node.cpp editor/project_export.cpp
msgid "Export"
msgstr "輸出"
@@ -1952,6 +2114,11 @@ msgid "Tools"
msgstr "工具"
#: editor/editor_node.cpp
+#, fuzzy
+msgid "Open Project Data Folder"
+msgstr "專案創始人"
+
+#: editor/editor_node.cpp
msgid "Quit to Project List"
msgstr ""
@@ -2043,6 +2210,18 @@ msgstr ""
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 editor/project_export.cpp
msgid "Manage Export Templates"
msgstr ""
@@ -2058,7 +2237,8 @@ msgstr ""
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_editor_plugin.cpp editor/project_settings_editor.cpp
+#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp
+#: editor/project_settings_editor.cpp editor/rename_dialog.cpp
msgid "Search"
msgstr "æœå°‹"
@@ -2102,7 +2282,7 @@ msgstr "æš«åœå ´æ™¯"
msgid "Stop the scene."
msgstr "åœæ­¢æ­¤å ´æ™¯"
-#: editor/editor_node.cpp
+#: editor/editor_node.cpp editor/editor_profiler.cpp
msgid "Stop"
msgstr "åœæ­¢"
@@ -2123,6 +2303,16 @@ 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
+#, fuzzy
+msgid "Save & Restart"
+msgstr "å¦å­˜æ–°æª”"
+
+#: editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
msgstr ""
@@ -2142,42 +2332,6 @@ msgstr ""
msgid "Inspector"
msgstr ""
-#: editor/editor_node.cpp
-msgid "Create a new resource in memory and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Load an existing resource from disk and edit it."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Save the currently edited resource."
-msgstr ""
-
-#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp
-msgid "Save As..."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the previous edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Go to the next edited object in history."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "History of recently edited objects."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Object properties."
-msgstr ""
-
-#: editor/editor_node.cpp
-msgid "Changes may be lost!"
-msgstr ""
-
#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp
#: editor/project_manager.cpp
msgid "Import"
@@ -2193,6 +2347,10 @@ msgid "FileSystem"
msgstr ""
#: editor/editor_node.cpp
+msgid "Expand Bottom Panel"
+msgstr ""
+
+#: editor/editor_node.cpp scene/resources/visual_shader.cpp
msgid "Output"
msgstr ""
@@ -2270,19 +2428,23 @@ msgid "Thumbnail..."
msgstr ""
#: editor/editor_plugin_settings.cpp
-msgid "Installed Plugins:"
+msgid "Edit Plugin"
msgstr ""
#: editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Update"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Version:"
msgstr ""
-#: editor/editor_plugin_settings.cpp
+#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp
msgid "Author:"
msgstr ""
@@ -2290,12 +2452,13 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Stop Profiling"
+#: editor/editor_plugin_settings.cpp
+msgid "Edit:"
msgstr ""
-#: editor/editor_profiler.cpp
-msgid "Start Profiling"
+#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp
+#: editor/rename_dialog.cpp
+msgid "Start"
msgstr ""
#: editor/editor_profiler.cpp
@@ -2342,6 +2505,103 @@ msgstr ""
msgid "Calls"
msgstr ""
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Layer"
+msgstr ""
+
+#: editor/editor_properties.cpp
+msgid "Bit %d, value %d"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "[Empty]"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp
+msgid "Assign.."
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Pick a Viewport"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/plugins/script_editor_plugin.cpp
+#: editor/property_editor.cpp
+msgid "New Script"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "New %s"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Make Unique"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+msgid "Show in File System"
+msgstr ""
+
+#: editor/editor_properties.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/property_editor.cpp
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+msgid "Paste"
+msgstr ""
+
+#: editor/editor_properties.cpp editor/property_editor.cpp
+#, fuzzy
+msgid "Convert To %s"
+msgstr "è½‰æ›æˆ..."
+
+#: editor/editor_properties.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
+#, fuzzy
+msgid "Open Editor"
+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
+msgid "New Key:"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#, fuzzy
+msgid "New Value:"
+msgstr "數值"
+
+#: editor/editor_properties_array_dict.cpp
+msgid "Add Key/Value Pair"
+msgstr ""
+
+#: editor/editor_properties_array_dict.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
#: editor/editor_run_native.cpp
msgid "Select device from the list"
msgstr ""
@@ -2376,10 +2636,6 @@ msgstr ""
msgid "Did you forget the '_run' method?"
msgstr ""
-#: editor/editor_settings.cpp
-msgid "Default (Same as Editor)"
-msgstr ""
-
#: editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
msgstr ""
@@ -2405,6 +2661,7 @@ msgid "(Installed)"
msgstr ""
#: editor/export_template_manager.cpp
+#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Download"
msgstr ""
@@ -2429,7 +2686,7 @@ msgid "Can't open export templates zip."
msgstr ""
#: editor/export_template_manager.cpp
-msgid "Invalid version.txt format inside templates."
+msgid "Invalid version.txt format inside templates: %s."
msgstr ""
#: editor/export_template_manager.cpp
@@ -2491,6 +2748,12 @@ msgid "Download Complete."
msgstr ""
#: editor/export_template_manager.cpp
+msgid ""
+"Templates installation failed. The problematic templates archives can be "
+"found at '%s'."
+msgstr ""
+
+#: editor/export_template_manager.cpp
#, fuzzy
msgid "Error requesting url: "
msgstr "載入場景時發生錯誤"
@@ -2578,7 +2841,7 @@ msgid "Download Templates"
msgstr "載入場景時發生錯誤"
#: editor/export_template_manager.cpp
-msgid "Select mirror from list: "
+msgid "Select mirror from list: (Shift+Click: Open in Browser)"
msgstr ""
#: editor/file_type_cache.cpp
@@ -2590,11 +2853,11 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a grid of thumbnails"
+msgid "View items as a grid of thumbnails."
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "View items as a list"
+msgid "View items as a list."
msgstr ""
#: editor/filesystem_dock.cpp
@@ -2670,7 +2933,7 @@ msgstr ""
msgid "Collapse all"
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
msgid "Rename..."
msgstr ""
@@ -2701,6 +2964,23 @@ msgid "Duplicate..."
msgstr "複製動畫關éµç•«æ ¼"
#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Script..."
+msgstr "新增資料夾..."
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "New Resource..."
+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 "Previous Directory"
msgstr ""
@@ -2713,26 +2993,137 @@ msgid "Re-Scan Filesystem"
msgstr ""
#: editor/filesystem_dock.cpp
-msgid "Toggle folder status as Favorite"
-msgstr ""
+#, fuzzy
+msgid "Toggle folder status as Favorite."
+msgstr "åˆ‡æ›æœ€æ„›"
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Show current scene file."
+msgstr "新增資料夾"
#: editor/filesystem_dock.cpp
msgid "Instance the selected scene(s) as child of the selected node."
msgstr ""
#: editor/filesystem_dock.cpp
+msgid "Enter tree-view."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+#, fuzzy
+msgid "Search files"
+msgstr "æœå°‹ Class"
+
+#: editor/filesystem_dock.cpp
msgid ""
"Scanning Files,\n"
"Please Wait..."
msgstr ""
-#: editor/filesystem_dock.cpp
+#: editor/filesystem_dock.cpp editor/plugins/tile_map_editor_plugin.cpp
msgid "Move"
msgstr ""
-#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp
-#: editor/project_manager.cpp
-msgid "Rename"
+#: editor/filesystem_dock.cpp
+msgid "There is already file or folder with the same name in this location."
+msgstr ""
+
+#: editor/filesystem_dock.cpp
+msgid "Overwrite"
+msgstr ""
+
+#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find in files"
+msgstr "還有 %d 個檔案"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Find: "
+msgstr "尋找"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Whole words"
+msgstr "整個字"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Match case"
+msgstr "符åˆå¤§å°å¯«"
+
+#: editor/find_in_files.cpp
+msgid "Folder: "
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Filter: "
+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/progress_dialog.cpp scene/gui/dialogs.cpp
+msgid "Cancel"
+msgstr ""
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace: "
+msgstr "å–代"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Replace all (no undo)"
+msgstr "å–代全部"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Searching..."
+msgstr "æœå°‹"
+
+#: editor/find_in_files.cpp
+#, fuzzy
+msgid "Search complete"
+msgstr "æœå°‹è©žå½™"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "Group name already exists."
+msgstr "Autoload「%sã€å·²ç¶“存在!"
+
+#: editor/groups_editor.cpp
+#, fuzzy
+msgid "invalid Group name."
+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
+#, fuzzy
+msgid "Filter nodes"
+msgstr "éŽæ¿¾æª”案..."
+
+#: editor/groups_editor.cpp
+msgid "Nodes in Group"
msgstr ""
#: editor/groups_editor.cpp
@@ -2743,6 +3134,10 @@ msgstr ""
msgid "Remove from Group"
msgstr ""
+#: editor/groups_editor.cpp
+msgid "Manage Groups"
+msgstr ""
+
#: editor/import/resource_importer_scene.cpp
#, fuzzy
msgid "Import as Single Scene"
@@ -2785,7 +3180,7 @@ msgid "Import as Multiple Scenes+Materials"
msgstr ""
#: editor/import/resource_importer_scene.cpp
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: editor/plugins/mesh_library_editor_plugin.cpp
msgid "Import Scene"
msgstr ""
@@ -2845,16 +3240,125 @@ msgstr ""
msgid "Reimport"
msgstr ""
+#: editor/inspector_dock.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/canvas_item_editor_plugin.cpp
+#: editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Expand all properties"
+msgstr "展開所有屬性"
+
+#: editor/inspector_dock.cpp
+msgid "Collapse all properties"
+msgstr ""
+
+#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp
+#: editor/plugins/script_editor_plugin.cpp
+msgid "Save As..."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Copy Params"
+msgstr "è¤‡è£½åƒæ•¸"
+
+#: editor/inspector_dock.cpp
+msgid "Paste Params"
+msgstr "è²¼ä¸Šåƒæ•¸"
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Edit Resource Clipboard"
+msgstr "資æºè·¯å¾‘"
+
+#: editor/inspector_dock.cpp
+msgid "Copy Resource"
+msgstr "複製資æº"
+
+#: editor/inspector_dock.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: editor/inspector_dock.cpp
+msgid "Open in Help"
+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 "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 "Object properties."
+msgstr ""
+
+#: editor/inspector_dock.cpp
+#, fuzzy
+msgid "Filter 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 "Groups"
+msgid "Select a Node to edit Signals and Groups."
msgstr ""
-#: editor/node_dock.cpp
-msgid "Select a Node to edit Signals and Groups."
+#: editor/plugin_config_dialog.cpp
+msgid "Edit a Plugin"
+msgstr ""
+
+#: editor/plugin_config_dialog.cpp
+#, fuzzy
+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
+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
@@ -2899,6 +3403,147 @@ msgstr ""
msgid "Delete points"
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_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Load.."
+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
+#: 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
+#, fuzzy
+msgid "Create points."
+msgstr "刪除"
+
+#: editor/plugins/animation_blend_space_1d_editor.cpp
+#, fuzzy
+msgid "Erase points."
+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
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Open Animation Node"
+msgstr "最佳化動畫"
+
+#: editor/plugins/animation_blend_space_2d_editor.cpp
+#, fuzzy
+msgid "Triangle already exists"
+msgstr "Autoload「%sã€å·²ç¶“存在!"
+
+#: 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 "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/polygon_2d_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: editor/plugins/animation_blend_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
+#, fuzzy
+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
+#: editor/plugins/visual_shader_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
+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
+#: 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
+#, fuzzy
+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 ""
@@ -2925,12 +3570,14 @@ msgid "Remove Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Invalid animation name!"
-msgstr ""
+#, fuzzy
+msgid "Invalid animation name!"
+msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: Animation name already exists!"
-msgstr ""
+#, fuzzy
+msgid "Animation name already exists!"
+msgstr "Autoload「%sã€å·²ç¶“存在!"
#: editor/plugins/animation_player_editor_plugin.cpp
#: editor/plugins/sprite_frames_editor_plugin.cpp
@@ -2938,11 +3585,6 @@ msgid "Rename Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp
-msgid "Add Animation"
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
msgstr ""
@@ -2959,12 +3601,14 @@ msgid "Duplicate Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to copy!"
-msgstr ""
+#, fuzzy
+msgid "No animation to copy!"
+msgstr "動畫空間。"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+#, fuzzy
+msgid "No animation resource on clipboard!"
+msgstr "在資æºè·¯å¾‘中找ä¸åˆ°"
#: editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
@@ -2975,7 +3619,7 @@ msgid "Paste Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "ERROR: No animation to edit!"
+msgid "No animation to edit!"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3007,39 +3651,34 @@ msgid "Scale animation playback globally for the node."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Create new animation in player."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load animation from disk."
-msgstr ""
-
-#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Animation Tools"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Save the current animation"
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Display list of animations in player."
+msgid "New"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Autoplay on Load"
-msgstr ""
+#, fuzzy
+msgid "Edit Transitions..."
+msgstr "轉場動畫"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Edit Target Blend Times"
-msgstr ""
+#, fuzzy
+msgid "Open in Inspector"
+msgstr "開啟資料夾"
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Animation Tools"
+msgid "Display list of animations in player."
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
-msgid "Copy Animation"
+msgid "Autoplay on Load"
msgstr ""
#: editor/plugins/animation_player_editor_plugin.cpp
@@ -3092,6 +3731,10 @@ 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 ""
@@ -3101,6 +3744,7 @@ 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
#: editor/script_create_dialog.cpp
msgid "Error!"
@@ -3118,162 +3762,213 @@ msgstr ""
msgid "Cross-Animation Blend Times"
msgstr ""
-#: editor/plugins/animation_player_editor_plugin.cpp
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Animation"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "End"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "New name:"
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Immediate"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "Sync"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.cpp
+msgid "At End"
+msgstr ""
+
+#: editor/plugins/animation_state_machine_editor.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
#, fuzzy
-msgid "Edit Filters"
-msgstr "éŽæ¿¾æª”案..."
+msgid "No playback resource set at path: %s."
+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
+#, fuzzy
+msgid "Create new nodes."
+msgstr "新增 %s"
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+msgid "Connect nodes."
+msgstr "連接..."
+
+#: editor/plugins/animation_state_machine_editor.cpp
+#, fuzzy
+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_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_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade In (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Fade Out (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Auto Restart:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Random Restart (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Start!"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 0:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend 1:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "X-Fade Time (s):"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Current:"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Add Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Clear Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Set Auto-Advance"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Delete Input"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is valid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation tree is invalid."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Animation Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "OneShot Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Mix Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend2 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend3 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Blend4 Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeScale Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "TimeSeek Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Transition Node"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Import Animations..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Edit Node Filters"
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
+#: editor/plugins/animation_tree_player_editor_plugin.cpp
msgid "Filters..."
msgstr ""
-#: editor/plugins/animation_tree_editor_plugin.cpp
-msgid "AnimationTree"
-msgstr ""
-
-#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Free"
-msgstr ""
-
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Contents:"
msgstr ""
@@ -3328,8 +4023,14 @@ msgid "Asset Download Error:"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "Fetching:"
-msgstr ""
+#, fuzzy
+msgid "Downloading (%s / %s)..."
+msgstr "載入時發生錯誤:"
+
+#: editor/plugins/asset_library_editor_plugin.cpp
+#, fuzzy
+msgid "Downloading..."
+msgstr "載入時發生錯誤:"
#: editor/plugins/asset_library_editor_plugin.cpp
msgid "Resolving..."
@@ -3357,20 +4058,20 @@ msgid "Download for this asset is already in progress!"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "first"
+msgid "First"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
#, fuzzy
-msgid "prev"
-msgstr "é è¦½:"
+msgid "Previous"
+msgstr "上個分é "
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "next"
-msgstr ""
+msgid "Next"
+msgstr "下一個"
#: editor/plugins/asset_library_editor_plugin.cpp
-msgid "last"
+msgid "Last"
msgstr ""
#: editor/plugins/asset_library_editor_plugin.cpp
@@ -3439,7 +4140,7 @@ msgid "Bake Lightmaps"
msgstr "變更光æºåŠå¾‘"
#: editor/plugins/camera_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
+#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Preview"
msgstr ""
@@ -3448,12 +4149,10 @@ msgid "Configure Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Offset:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Grid Step:"
msgstr ""
@@ -3466,14 +4165,6 @@ msgid "Rotation Step:"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Pivot"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Move Action"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move vertical guide"
msgstr ""
@@ -3503,11 +4194,24 @@ msgid "Create new horizontal and vertical guides"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit IK Chain"
+#, fuzzy
+msgid "Move pivot"
+msgstr "移除"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotate CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Edit CanvasItem"
+msgid "Move anchor"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Resize CanvasItem"
+msgstr ""
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move CanvasItem"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3527,6 +4231,21 @@ msgid "Paste Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom out"
+msgstr "縮å°"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom reset"
+msgstr "縮å°"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
+msgid "Zoom in"
+msgstr "放大"
+
+#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode"
msgstr ""
@@ -3570,7 +4289,7 @@ msgid "Pan Mode"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Toggles snapping"
+msgid "Toggle snapping."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3578,7 +4297,7 @@ msgid "Use Snap"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Snapping options"
+msgid "Snapping Options"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3619,6 +4338,10 @@ 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 ""
@@ -3645,23 +4368,23 @@ msgid "Restores the object's children's ability to be selected."
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make Bones"
+msgid "Show Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear Bones"
+msgid "Make IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Show Bones"
+msgid "Clear IK Chain"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Make IK Chain"
+msgid "Make Custom Bone(s) from Node(s)"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Clear IK Chain"
+msgid "Clear Custom Bones"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
@@ -3707,12 +4430,9 @@ msgid "Layout"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Keys"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Insert Key"
-msgstr ""
+#, fuzzy
+msgid "Insert keys."
+msgstr "動畫新增按éµ"
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
@@ -3727,15 +4447,6 @@ msgid "Clear Pose"
msgstr ""
#: editor/plugins/canvas_item_editor_plugin.cpp
-msgid "Drag pivot from mouse position"
-msgstr ""
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
-msgid "Set pivot at mouse position"
-msgstr "移除"
-
-#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Multiply grid step by 2"
msgstr ""
@@ -3751,10 +4462,6 @@ msgstr ""
msgid "Adding %s..."
msgstr ""
-#: editor/plugins/canvas_item_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "Ok"
-msgstr ""
-
#: editor/plugins/canvas_item_editor_plugin.cpp
msgid "Cannot instantiate multiple nodes without root."
msgstr ""
@@ -3787,26 +4494,18 @@ msgstr ""
msgid "Set Handle"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove item %d?"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Add Item"
-msgstr ""
-
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Remove Selected Item"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+msgid "CPUParticles"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Import from Scene"
+#: editor/plugins/cpu_particles_editor_plugin.cpp
+#: editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emission Points From Mesh"
msgstr ""
-#: editor/plugins/cube_grid_theme_editor_plugin.cpp
-msgid "Update from Scene"
+#: 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
@@ -3881,15 +4580,6 @@ msgstr ""
msgid "Bake GI Probe"
msgstr ""
-#: editor/plugins/gradient_editor_plugin.cpp
-msgid "Add/Remove Color Ramp Point"
-msgstr ""
-
-#: editor/plugins/gradient_editor_plugin.cpp
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Color Ramp"
-msgstr ""
-
#: editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
msgstr ""
@@ -3973,6 +4663,7 @@ msgid "No mesh to debug."
msgstr ""
#: editor/plugins/mesh_instance_editor_plugin.cpp
+#: editor/plugins/sprite_editor_plugin.cpp
msgid "Model has no UV in this layer"
msgstr ""
@@ -4042,6 +4733,27 @@ msgstr ""
msgid "Outline Size:"
msgstr ""
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+#: editor/plugins/theme_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"
+msgstr ""
+
+#: editor/plugins/mesh_library_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
#: editor/plugins/multimesh_editor_plugin.cpp
msgid "No mesh source specified (and no MultiMesh set in node)."
msgstr ""
@@ -4142,71 +4854,6 @@ msgstr ""
msgid "Populate"
msgstr ""
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake!"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Bake the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_editor_plugin.cpp
-msgid "Clear the navigation mesh."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Setting up Configuration..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Calculating grid size..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-#, fuzzy
-msgid "Marking walkable triangles..."
-msgstr "正在儲存變更..."
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Constructing compact heightfield..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Eroding walkable area..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Partitioning..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating contours..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Creating polymesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Converting to native navigation mesh..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Navigation Mesh Generator Setup:"
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Parsing Geometry..."
-msgstr ""
-
-#: editor/plugins/navigation_mesh_generator.cpp
-msgid "Done!"
-msgstr ""
-
#: editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create Navigation Polygon"
msgstr ""
@@ -4267,18 +4914,6 @@ msgid "Emission Colors"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Node does not contain geometry (faces)."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "A processor material of type 'ParticlesMaterial' is required."
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
msgstr ""
@@ -4287,15 +4922,11 @@ msgid "No faces!"
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Generate AABB"
-msgstr ""
-
-#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Mesh"
+msgid "Node does not contain geometry."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
-msgid "Create Emission Points From Node"
+msgid "Node does not contain geometry (faces)."
msgstr ""
#: editor/plugins/particles_editor_plugin.cpp
@@ -4323,6 +4954,19 @@ 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 "Generate AABB"
+msgstr ""
+
+#: editor/plugins/particles_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to CPUParticles"
+msgstr "è½‰æ›æˆ..."
+
+#: editor/plugins/particles_editor_plugin.cpp
msgid "Generate Visibility AABB"
msgstr ""
@@ -4399,6 +5043,22 @@ msgstr ""
msgid "Close Curve"
msgstr ""
+#: editor/plugins/path_2d_editor_plugin.cpp
+#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp
+#: editor/project_export.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 ""
@@ -4434,19 +5094,89 @@ msgstr ""
msgid "Remove In-Control Point"
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 "Create UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Polygon & UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split point with itself."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Split can't form an existing edge."
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Split already exists."
+msgstr "Autoload「%sã€å·²ç¶“存在!"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Add Split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Invalid Split: "
+msgstr "無效的路徑"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Remove Split"
+msgstr "移除"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Transform UV Map"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Paint bone weights"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon 2D UV Editor"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Poly"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Splits"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Bones"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Create Polygon"
+msgstr "新增資料夾"
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
msgstr ""
@@ -4475,11 +5205,23 @@ msgid "Scale Polygon"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/shader_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"
+msgid "Connect two points to make a split"
+msgstr ""
+
+#: editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Select a split to erase it"
+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
@@ -4495,9 +5237,9 @@ msgid "Clear UV"
msgstr ""
#: editor/plugins/polygon_2d_editor_plugin.cpp
-#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Snap"
-msgstr ""
+#, fuzzy
+msgid "Grid Settings"
+msgstr "專案設定"
#: editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Enable Snap"
@@ -4507,6 +5249,30 @@ msgstr ""
msgid "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/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
msgstr ""
@@ -4529,6 +5295,10 @@ 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_dock.cpp editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -4550,17 +5320,18 @@ msgid "Load Resource"
msgstr ""
#: editor/plugins/resource_preloader_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Paste"
-msgstr ""
-
-#: editor/plugins/resource_preloader_editor_plugin.cpp
#, fuzzy
msgid "ResourcePreloader"
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 ""
@@ -4571,6 +5342,21 @@ msgid "Close and save changes?"
msgstr "沒有儲存的變更都會éºå¤±, 確定è¦é—œé–‰?"
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error writing TextFile:"
+msgstr "載入場景時發生錯誤"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error could not load file."
+msgstr "無法新增資料夾"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Error saving file!"
+msgstr "儲存資æºéŒ¯èª¤!"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Error while saving theme"
msgstr ""
@@ -4587,6 +5373,21 @@ msgid "Error importing"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "New TextFile..."
+msgstr "新增資料夾..."
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Open File"
+msgstr "開啟檔案"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Save File As..."
+msgstr "å¦å­˜å ´æ™¯ç‚º..."
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Import Theme"
msgstr ""
@@ -4599,6 +5400,10 @@ msgid " Class Reference"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+msgid "Toggle alphabetical sorting of the method list."
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
#, fuzzy
msgid "Sort"
msgstr "排åº:"
@@ -4628,8 +5433,9 @@ msgid "File"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "New"
-msgstr ""
+#, fuzzy
+msgid "New TextFile"
+msgstr "éŽæ¿¾æª”案..."
#: editor/plugins/script_editor_plugin.cpp
msgid "Save All"
@@ -4656,6 +5462,11 @@ msgid "History Next"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp
+msgid "Theme"
+msgstr ""
+
+#: editor/plugins/script_editor_plugin.cpp
msgid "Reload Theme"
msgstr ""
@@ -4689,11 +5500,6 @@ msgstr ""
#: editor/plugins/script_editor_plugin.cpp
#: editor/plugins/script_text_editor.cpp
-msgid "Find..."
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
-#: editor/plugins/script_text_editor.cpp
msgid "Find Next"
msgstr ""
@@ -4748,10 +5554,6 @@ msgid "Discard"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
-msgid "Create Script"
-msgstr ""
-
-#: editor/plugins/script_editor_plugin.cpp
msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
@@ -4770,46 +5572,71 @@ msgid "Debugger"
msgstr ""
#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search results"
+msgstr "æœå°‹å¹«åŠ©"
+
+#: editor/plugins/script_editor_plugin.cpp
+#, fuzzy
+msgid "Search in files"
+msgstr "æœå°‹ Class"
+
+#: editor/plugins/script_editor_plugin.cpp
msgid ""
"Built-in scripts can only be edited when the scene they belong to is loaded"
msgstr ""
#: editor/plugins/script_text_editor.cpp
+#, fuzzy
+msgid "Line"
+msgstr "行:"
+
+#: editor/plugins/script_text_editor.cpp
+msgid "(ignore)"
+msgstr ""
+
+#: editor/plugins/script_text_editor.cpp
msgid "Only resources from filesystem can be dropped."
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Pick Color"
+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
#, fuzzy
msgid "Convert Case"
msgstr "è½‰æ›æˆ..."
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Uppercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp
msgid "Lowercase"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
+#: 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/text_editor.cpp
+msgid "Standard"
+msgstr ""
+
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Cut"
msgstr ""
-#: editor/plugins/script_text_editor.cpp
-#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp
-#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
-msgid "Copy"
-msgstr ""
-
#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp
#: scene/gui/text_edit.cpp
msgid "Select All"
@@ -4901,8 +5728,9 @@ msgid "Find Previous"
msgstr ""
#: editor/plugins/script_text_editor.cpp
-msgid "Replace..."
-msgstr ""
+#, fuzzy
+msgid "Find in files..."
+msgstr "éŽæ¿¾æª”案..."
#: editor/plugins/script_text_editor.cpp
msgid "Goto Function..."
@@ -4920,129 +5748,40 @@ msgstr ""
msgid "Shader"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Constant"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Scalar Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Operator"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Toggle Rot Only"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Function"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Scalar Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Vec Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change RGB Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Default Value"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change XForm Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Texture Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Cubemap Uniform"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Comment"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Color Ramp"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add/Remove to Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Modify Curve Map"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Change Input Name"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Connect Graph Nodes"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Disconnect Graph Nodes"
-msgstr ""
-
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Remove Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton2D"
+msgstr "單例"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Move Shader Graph Node"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Make Rest Pose (From Bones)"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Duplicate Graph Node(s)"
+#: editor/plugins/skeleton_2d_editor_plugin.cpp
+msgid "Set Bones to Rest Pose"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Delete Shader Graph Node(s)"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical bones"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Cyclic Connection Link"
-msgstr ""
+#: editor/plugins/skeleton_editor_plugin.cpp
+#, fuzzy
+msgid "Skeleton"
+msgstr "單例"
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Error: Missing Input Connections"
+#: editor/plugins/skeleton_editor_plugin.cpp
+msgid "Create physical skeleton"
msgstr ""
-#: editor/plugins/shader_graph_editor_plugin.cpp
-msgid "Add Shader Graph Node"
-msgstr ""
+#: editor/plugins/skeleton_ik_editor_plugin.cpp
+#, fuzzy
+msgid "Play IK"
+msgstr "é–‹å§‹"
#: editor/plugins/spatial_editor_plugin.cpp
msgid "Orthogonal"
@@ -5170,10 +5909,6 @@ msgid "Align with view"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
-msgid "OK :("
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp
msgid "No parent to instance a child at."
msgstr ""
@@ -5182,6 +5917,10 @@ msgid "This operation requires a single selected node."
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Lock View Rotation"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
msgstr ""
@@ -5228,6 +5967,10 @@ msgid "Doppler Enable"
msgstr "啟用"
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Cinematic Preview"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Freelook Left"
msgstr ""
@@ -5358,6 +6101,10 @@ msgid "Tool Scale"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap To Floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Toggle Freelook"
msgstr ""
@@ -5366,6 +6113,10 @@ msgid "Transform"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap object to floor"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog..."
msgstr ""
@@ -5394,6 +6145,10 @@ msgid "4 Viewports"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: editor/plugins/spatial_editor_plugin.cpp
msgid "View Origin"
msgstr ""
@@ -5407,10 +6162,6 @@ msgid "Settings"
msgstr ""
#: editor/plugins/spatial_editor_plugin.cpp
-msgid "Skeleton Gizmo visibility"
-msgstr ""
-
-#: editor/plugins/spatial_editor_plugin.cpp
msgid "Snap Settings"
msgstr ""
@@ -5470,6 +6221,50 @@ msgstr ""
msgid "Post"
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 "Sprite"
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Convert to 2D Mesh"
+msgstr "è½‰æ›æˆ..."
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Create 2D Mesh"
+msgstr "新增 %s"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Simplification: "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+msgid "Grow (Pixels): "
+msgstr ""
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Update Preview"
+msgstr "é è¦½:"
+
+#: editor/plugins/sprite_editor_plugin.cpp
+#, fuzzy
+msgid "Settings:"
+msgstr "專案設定"
+
#: editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
msgstr ""
@@ -5538,14 +6333,6 @@ msgstr ""
msgid "SpriteFrames"
msgstr ""
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox Preview:"
-msgstr ""
-
-#: editor/plugins/style_box_editor_plugin.cpp
-msgid "StyleBox"
-msgstr ""
-
#: editor/plugins/texture_region_editor_plugin.cpp
msgid "Set Region Rect"
msgstr ""
@@ -5571,26 +6358,19 @@ msgid "Auto Slice"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Offset:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
msgid "Step:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Separation:"
-msgstr ""
-
-#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region"
+msgid "Sep.:"
msgstr ""
#: editor/plugins/texture_region_editor_plugin.cpp
-msgid "Texture Region Editor"
+msgid "TextureRegion"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
@@ -5606,11 +6386,6 @@ msgid "Add All"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Remove Item"
-msgstr ""
-
-#: editor/plugins/theme_editor_plugin.cpp
msgid "Remove All Items"
msgstr ""
@@ -5683,10 +6458,6 @@ msgstr ""
msgid "Many"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp
-msgid "Options"
-msgstr ""
-
#: editor/plugins/theme_editor_plugin.cpp
msgid "Has,Many,Options"
msgstr ""
@@ -5711,7 +6482,7 @@ msgstr ""
msgid "Icon"
msgstr ""
-#: editor/plugins/theme_editor_plugin.cpp
+#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp
msgid "Style"
msgstr ""
@@ -5724,8 +6495,8 @@ msgid "Color"
msgstr ""
#: editor/plugins/theme_editor_plugin.cpp
-msgid "Theme"
-msgstr ""
+msgid "Constant"
+msgstr "固定"
#: editor/plugins/tile_map_editor_plugin.cpp
#, fuzzy
@@ -5733,6 +6504,11 @@ msgid "Erase Selection"
msgstr "æ‰€æœ‰çš„é¸æ“‡"
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Fix Invalid Tiles"
+msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Paint TileMap"
msgstr ""
@@ -5754,12 +6530,9 @@ msgid "Erase TileMap"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase selection"
-msgstr ""
-
-#: editor/plugins/tile_map_editor_plugin.cpp
-msgid "Find tile"
-msgstr ""
+#, fuzzy
+msgid "Find Tile"
+msgstr "尋找"
#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
@@ -5782,6 +6555,11 @@ msgid "Pick Tile"
msgstr ""
#: editor/plugins/tile_map_editor_plugin.cpp
+#, fuzzy
+msgid "Move Selection"
+msgstr "移除所é¸"
+
+#: editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr ""
@@ -5798,64 +6576,109 @@ msgid "Rotate 270 degrees"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Could not find tile:"
+msgid "Add Texture(s) to TileSet"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Item name or ID:"
+#, fuzzy
+msgid "Remove current Texture from TileSet"
+msgstr "移除"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from scene?"
+msgid "Merge from Scene"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from scene?"
+msgid ""
+"Select sub-tile to use as icon, this will be also used on invalid autotile "
+"bindings."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Tile Set"
+msgid "Display tile's names (hold Alt Key)"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Create from Scene"
+msgid "Remove Selected Textue and ALL TILES wich uses it?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Merge from Scene"
+msgid "You haven't selected a texture to remove."
msgstr ""
-#: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp
-msgid "Error"
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Autotiles"
+msgid "Merge from scene?"
+msgstr ""
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid " file(s) was not added because was already on the list."
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."
+"Drag handles to edit Rect.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
msgid ""
"LMB: set bit on.\n"
-"RMB: set bit off."
+"RMB: set bit off.\n"
+"Click on another Tile to edit it."
msgstr ""
#: editor/plugins/tile_set_editor_plugin.cpp
#, fuzzy
-msgid "Select current edited sub-tile."
+msgid ""
+"Select current edited sub-tile.\n"
+"Click on another Tile to edit it."
msgstr "新增資料夾"
#: editor/plugins/tile_set_editor_plugin.cpp
-msgid "Select sub-tile to change its priority."
+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/progress_dialog.cpp scene/gui/dialogs.cpp
-msgid "Cancel"
+#: 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
+#, fuzzy
+msgid "This property can't be changed."
+msgstr "æ­¤æ“作無法在沒有根節點的情æ³ä¸‹é€²è¡Œã€‚"
+
+#: editor/plugins/tile_set_editor_plugin.cpp
+msgid "Tile Set"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+#, fuzzy
+msgid "Fragment"
+msgstr "è¼¸å…¥åƒæ•¸"
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "Light"
+msgstr ""
+
+#: editor/plugins/visual_shader_editor_plugin.cpp
+msgid "VisualShader"
msgstr ""
#: editor/project_export.cpp
@@ -5871,7 +6694,7 @@ msgid "Delete preset '%s'?"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted: "
+msgid "Export templates for this platform are missing/corrupted:"
msgstr ""
#: editor/project_export.cpp
@@ -5947,10 +6770,6 @@ msgid "Export templates for this platform are missing:"
msgstr ""
#: editor/project_export.cpp
-msgid "Export templates for this platform are missing/corrupted:"
-msgstr ""
-
-#: editor/project_export.cpp
msgid "Export With Debug"
msgstr ""
@@ -5960,7 +6779,7 @@ msgid "The path does not exist."
msgstr "檔案ä¸å­˜åœ¨"
#: editor/project_manager.cpp
-msgid "Please choose a 'project.godot' file."
+msgid "Invalid '.zip' project file, does not contain a 'project.godot' file."
msgstr ""
#: editor/project_manager.cpp
@@ -5968,6 +6787,14 @@ 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 "Directory already contains a Godot project."
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Imported Project"
msgstr ""
@@ -6059,6 +6886,10 @@ msgid "Project Path:"
msgstr ""
#: editor/project_manager.cpp
+msgid "Project Installation Path:"
+msgstr ""
+
+#: editor/project_manager.cpp
msgid "Browse"
msgstr ""
@@ -6169,8 +7000,8 @@ msgstr ""
#: editor/project_settings_editor.cpp
msgid ""
-"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
-"'\"'."
+"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or "
+"'\"'"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6182,9 +7013,22 @@ msgid "Rename Input Action Event"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Change Action deadzone"
+msgstr "改變字典 value"
+
+#: 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 "Device"
+msgstr ""
+
#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
msgid "Shift+"
msgstr ""
@@ -6226,19 +7070,19 @@ msgid "Wheel Down Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 6"
+msgid "Wheel Left Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 7"
+msgid "Wheel Right Button"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 8"
+msgid "X Button 1"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Button 9"
+msgid "X Button 2"
msgstr ""
#: editor/project_settings_editor.cpp
@@ -6267,10 +7111,6 @@ msgid "Add Event"
msgstr ""
#: editor/project_settings_editor.cpp
-msgid "Device"
-msgstr ""
-
-#: editor/project_settings_editor.cpp
msgid "Button"
msgstr ""
@@ -6316,6 +7156,12 @@ 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 "Already existing"
msgstr ""
@@ -6389,6 +7235,10 @@ msgstr ""
msgid "Override For..."
msgstr ""
+#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp
+msgid "Editor must be restarted for changes to take effect"
+msgstr ""
+
#: editor/project_settings_editor.cpp
msgid "Input Map"
msgstr ""
@@ -6398,6 +7248,15 @@ msgid "Action:"
msgstr ""
#: editor/project_settings_editor.cpp
+#, fuzzy
+msgid "Action"
+msgstr "æ‰€æœ‰çš„é¸æ“‡"
+
+#: editor/project_settings_editor.cpp
+msgid "Deadzone"
+msgstr ""
+
+#: editor/project_settings_editor.cpp
msgid "Device:"
msgstr ""
@@ -6459,10 +7318,6 @@ msgid "AutoLoad"
msgstr ""
#: editor/property_editor.cpp
-msgid "Pick a Viewport"
-msgstr ""
-
-#: editor/property_editor.cpp
msgid "Ease In"
msgstr ""
@@ -6499,76 +7354,163 @@ msgid "Select Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "New Script"
+msgid "Error loading file: Not a resource!"
msgstr ""
#: editor/property_editor.cpp
-msgid "New %s"
+msgid "Pick a Node"
msgstr ""
#: editor/property_editor.cpp
-msgid "Make Unique"
+msgid "Bit %d, val %d."
msgstr ""
#: editor/property_editor.cpp
-msgid "Show in File System"
+msgid "Properties:"
msgstr ""
-#: editor/property_editor.cpp
+#: 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/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp
#, fuzzy
-msgid "Convert To %s"
-msgstr "è½‰æ›æˆ..."
+msgid "Batch Rename"
+msgstr "符åˆå¤§å°å¯«"
-#: editor/property_editor.cpp
-msgid "Error loading file: Not a resource!"
+#: editor/rename_dialog.cpp
+msgid "Prefix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Selected node is not a Viewport!"
+#: editor/rename_dialog.cpp
+msgid "Suffix"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Pick a Node"
+#: editor/rename_dialog.cpp
+msgid "Advanced options"
msgstr ""
-#: editor/property_editor.cpp
-msgid "Bit %d, val %d."
+#: editor/rename_dialog.cpp
+msgid "Substitute"
msgstr ""
-#: editor/property_editor.cpp
-msgid "On"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node name"
+msgstr "節點å稱:"
+
+#: editor/rename_dialog.cpp
+msgid "Node's parent name, if available"
msgstr ""
-#: editor/property_editor.cpp
-msgid "[Empty]"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Node type"
+msgstr "節點å稱:"
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Current scene name"
+msgstr "ç›®å‰çš„場景尚未存檔, ä¾ç„¶è¦é–‹å•Ÿå—Ž?"
+
+#: editor/rename_dialog.cpp
+msgid "Root node name"
msgstr ""
-#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp
-msgid "Set"
+#: editor/rename_dialog.cpp
+msgid ""
+"Sequential integer counter.\n"
+"Compare counter options."
msgstr ""
-#: editor/property_editor.cpp
-msgid "Properties:"
+#: editor/rename_dialog.cpp
+msgid "Per Level counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Property"
+#: editor/rename_dialog.cpp
+msgid "If set the counter restarts for each group of child nodes"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Virtual Method"
+#: editor/rename_dialog.cpp
+msgid "Initial value for the counter"
msgstr ""
-#: editor/property_selector.cpp
-msgid "Select Method"
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Step"
+msgstr "步驟 :"
+
+#: editor/rename_dialog.cpp
+msgid "Ammount by which counter is incremented for each node"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Could not execute PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid "Padding"
msgstr ""
-#: editor/pvrtc_compress.cpp
-msgid "Can't load back converted image using PVRTC tool:"
+#: editor/rename_dialog.cpp
+msgid ""
+"Minium number of digits for the counter.\n"
+"Missing digits are padded with leading zeros."
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Regular Expressions"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Post-Process"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Keep"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "CamelCase to under_scored"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "under_scored to CamelCase"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+msgid "Case"
+msgstr ""
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Lowercase"
+msgstr "è½‰æ›æˆ..."
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "To Uppercase"
+msgstr "è½‰æ›æˆ..."
+
+#: editor/rename_dialog.cpp
+#, fuzzy
+msgid "Reset"
+msgstr "é‡è¨­ç¸®æ”¾å¤§å°"
+
+#: editor/rename_dialog.cpp editor/script_editor_debugger.cpp
+msgid "Error"
msgstr ""
#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp
@@ -6607,11 +7549,6 @@ msgstr ""
msgid "Scene Run Settings"
msgstr ""
-#: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp
-#: scene/gui/dialogs.cpp
-msgid "OK"
-msgstr ""
-
#: editor/scene_tree_dock.cpp
msgid "No parent to instance the scenes at."
msgstr ""
@@ -6631,6 +7568,10 @@ msgid "Instance Scene(s)"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Clear Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
msgstr ""
@@ -6671,11 +7612,30 @@ msgid "Load As Placeholder"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Discard Instancing"
+msgid "Make Local"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "Create Root Node:"
+msgstr "新增資料夾"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "2D Scene"
+msgstr "場景"
+
+#: editor/scene_tree_dock.cpp
+#, fuzzy
+msgid "3D Scene"
+msgstr "場景"
+
+#: editor/scene_tree_dock.cpp
+msgid "User Interface"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Makes Sense!"
+msgid "Custom Node"
msgstr ""
#: editor/scene_tree_dock.cpp
@@ -6687,6 +7647,10 @@ msgid "Can't operate on nodes the current scene inherits from!"
msgstr ""
#: editor/scene_tree_dock.cpp
+msgid "Attach Script"
+msgstr ""
+
+#: editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
msgstr ""
@@ -6730,18 +7694,15 @@ msgid "Change Type"
msgstr ""
#: editor/scene_tree_dock.cpp
-msgid "Attach Script"
-msgstr ""
-
-#: editor/scene_tree_dock.cpp
-msgid "Clear Script"
-msgstr ""
+#, fuzzy
+msgid "Make Scene Root"
+msgstr "儲存場景"
#: editor/scene_tree_dock.cpp
msgid "Merge From Scene"
msgstr ""
-#: editor/scene_tree_dock.cpp
+#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp
msgid "Save Branch as Scene"
msgstr ""
@@ -6764,11 +7725,6 @@ msgid ""
msgstr ""
#: editor/scene_tree_dock.cpp
-#, fuzzy
-msgid "Filter nodes"
-msgstr "éŽæ¿¾æª”案..."
-
-#: editor/scene_tree_dock.cpp
msgid "Attach a new or existing script for the selected node."
msgstr ""
@@ -6789,17 +7745,10 @@ msgstr ""
msgid "Clear Inheritance? (No Undo!)"
msgstr ""
-#: editor/scene_tree_dock.cpp
-msgid "Clear!"
-msgstr ""
-
-#: editor/scene_tree_editor.cpp
-msgid "Toggle Spatial Visible"
-msgstr ""
-
#: editor/scene_tree_editor.cpp
-msgid "Toggle CanvasItem Visible"
-msgstr ""
+#, fuzzy
+msgid "Toggle Visible"
+msgstr "切æ›é¡¯ç¤ºéš±è—檔案"
#: editor/scene_tree_editor.cpp
msgid "Node configuration warning:"
@@ -6807,7 +7756,7 @@ msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
-"Node has connection(s) and group(s)\n"
+"Node has connection(s) and group(s).\n"
"Click to show signals dock."
msgstr ""
@@ -6823,21 +7772,21 @@ msgid ""
"Click to show groups dock."
msgstr ""
-#: editor/scene_tree_editor.cpp
+#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp
#, fuzzy
-msgid "Open script"
+msgid "Open Script"
msgstr "開啟最近存å–"
#: editor/scene_tree_editor.cpp
msgid ""
"Node is locked.\n"
-"Click to unlock"
+"Click to unlock it."
msgstr ""
#: editor/scene_tree_editor.cpp
msgid ""
"Children are not selectable.\n"
-"Click to make selectable"
+"Click to make selectable."
msgstr ""
#: editor/scene_tree_editor.cpp
@@ -6845,6 +7794,12 @@ 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 ""
@@ -6883,6 +7838,10 @@ msgid "N/A"
msgstr ""
#: editor/script_create_dialog.cpp
+msgid "Open Script/Choose Location"
+msgstr ""
+
+#: editor/script_create_dialog.cpp
msgid "Path is empty"
msgstr ""
@@ -7127,10 +8086,23 @@ msgid "Change Camera Size"
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
+#, fuzzy
+msgid "Change Probe Extents"
+msgstr "變更框型範åœ"
+
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Sphere Shape Radius"
msgstr "變更çƒåž‹åŠå¾‘"
-#: editor/spatial_editor_gizmos.cpp
+#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp
msgid "Change Box Shape Extents"
msgstr "變更框型範åœ"
@@ -7143,21 +8115,38 @@ msgid "Change Capsule Shape Height"
msgstr "變更楕圓體高度"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Ray Shape Length"
-msgstr ""
+#, fuzzy
+msgid "Change Cylinder Shape Radius"
+msgstr "變更楕圓體åŠå¾‘"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Notifier Extents"
-msgstr ""
+#, fuzzy
+msgid "Change Cylinder Shape Height"
+msgstr "變更楕圓體高度"
#: editor/spatial_editor_gizmos.cpp
-msgid "Change Particles AABB"
+msgid "Change Ray Shape Length"
msgstr ""
-#: editor/spatial_editor_gizmos.cpp
+#: modules/csg/csg_gizmos.cpp
#, fuzzy
-msgid "Change Probe Extents"
-msgstr "變更框型範åœ"
+msgid "Change Cylinder Radius"
+msgstr "變更光æºåŠå¾‘"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Cylinder Height"
+msgstr "變更楕圓體高度"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Inner Radius"
+msgstr "變更çƒåž‹åŠå¾‘"
+
+#: modules/csg/csg_gizmos.cpp
+#, fuzzy
+msgid "Change Torus Outer Radius"
+msgstr "變更光æºåŠå¾‘"
#: modules/gdnative/gdnative_library_editor_plugin.cpp
msgid "Select the dynamic library for this entry"
@@ -7213,16 +8202,6 @@ msgid "GDNative"
msgstr ""
#: modules/gdscript/gdscript_functions.cpp
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Invalid type argument to convert(), use TYPE_* constants."
-msgstr ""
-
-#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h
-#: modules/visual_script/visual_script_builtin_funcs.cpp
-msgid "Not enough bytes for decoding bytes, or invalid format."
-msgstr "解碼字節ä½å…ƒä¸è¶³ï¼Œæˆ–為無效格å¼ã€‚"
-
-#: modules/gdscript/gdscript_functions.cpp
msgid "step argument is zero!"
msgstr "step引數為0!"
@@ -7297,6 +8276,11 @@ msgstr "複製所é¸"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "GridMap Fill Selection"
+msgstr "複製所é¸"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Duplicate Selection"
msgstr "複製所é¸"
@@ -7381,6 +8365,11 @@ msgstr "æ‰€æœ‰çš„é¸æ“‡"
#: modules/gridmap/grid_map_editor_plugin.cpp
#, fuzzy
+msgid "Fill Selection"
+msgstr "æ‰€æœ‰çš„é¸æ“‡"
+
+#: modules/gridmap/grid_map_editor_plugin.cpp
+#, fuzzy
msgid "GridMap Settings"
msgstr "專案設定"
@@ -7451,6 +8440,71 @@ msgstr "éŽæ¿¾æª”案..."
msgid "End of inner exception stack trace"
msgstr ""
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Bake the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_editor_plugin.cpp
+msgid "Clear the navigation mesh."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Setting up Configuration..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Calculating grid size..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+#, fuzzy
+msgid "Marking walkable triangles..."
+msgstr "正在儲存變更..."
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Constructing compact heightfield..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Eroding walkable area..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Partitioning..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating contours..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Creating polymesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Converting to native navigation mesh..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Navigation Mesh Generator Setup:"
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Parsing Geometry..."
+msgstr ""
+
+#: modules/recast/navigation_mesh_generator.cpp
+msgid "Done!"
+msgstr ""
+
#: modules/visual_script/visual_script.cpp
msgid ""
"A node yielded without working memory, please read the docs on how to yield "
@@ -7504,10 +8558,6 @@ msgid "Set Variable Type"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Functions:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Variables:"
msgstr ""
@@ -7618,36 +8668,14 @@ msgid "Connect Nodes"
msgstr "連接..."
#: modules/visual_script/visual_script_editor.cpp
-msgid "Condition"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Sequence"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Switch"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Iterator"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "While"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Return"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
-msgid "Call"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Data"
+msgstr "連接..."
#: modules/visual_script/visual_script_editor.cpp
-msgid "Get"
-msgstr ""
+#, fuzzy
+msgid "Connect Node Sequence"
+msgstr "連接..."
#: modules/visual_script/visual_script_editor.cpp
msgid "Script already has function '%s'"
@@ -7674,15 +8702,11 @@ msgid "Remove Function"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Variable"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Remove Variable"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Edit Signal"
+msgid "Editing Variable:"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
@@ -7690,10 +8714,6 @@ msgid "Remove Signal"
msgstr ""
#: modules/visual_script/visual_script_editor.cpp
-msgid "Editing Variable:"
-msgstr ""
-
-#: modules/visual_script/visual_script_editor.cpp
msgid "Editing Signal:"
msgstr ""
@@ -7737,6 +8757,11 @@ msgstr ""
msgid "Paste Nodes"
msgstr ""
+#: modules/visual_script/visual_script_editor.cpp
+#, fuzzy
+msgid "Edit Member"
+msgstr "éŽæ¿¾æª”案..."
+
#: modules/visual_script/visual_script_flow_control.cpp
msgid "Input type not iterable: "
msgstr ""
@@ -7791,6 +8816,19 @@ msgid ""
"(error)."
msgstr ""
+#: modules/visual_script/visual_script_property_selector.cpp
+#, fuzzy
+msgid "Search VisualScript"
+msgstr "æœå°‹å¹«åŠ©"
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Get"
+msgstr ""
+
+#: modules/visual_script/visual_script_property_selector.cpp
+msgid "Set "
+msgstr ""
+
#: platform/javascript/export/export.cpp
msgid "Run in Browser"
msgstr ""
@@ -7844,8 +8882,8 @@ msgstr ""
#: scene/2d/collision_object_2d.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape2D or CollisionPolygon2D children nodes to "
+"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 ""
@@ -7930,6 +8968,19 @@ msgstr ""
msgid "Path property must point to a valid Node2D node to work."
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/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
@@ -7990,8 +9041,8 @@ msgstr ""
#: scene/3d/collision_object.cpp
msgid ""
-"This node has no children shapes, so it can't interact with the space.\n"
-"Consider adding CollisionShape or CollisionPolygon children nodes to define "
+"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 ""
@@ -8064,6 +9115,17 @@ msgid ""
"this environment's Background Mode to Canvas (for 2D scenes)."
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 overriden by the physics engine when "
+"running.\n"
+"Change the size in children collision shapes instead."
+msgstr ""
+
#: scene/3d/sprite_3d.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -8076,6 +9138,46 @@ msgid ""
"it as a child of a VehicleBody."
msgstr ""
+#: scene/animation/animation_blend_tree.cpp
+msgid "On BlendTree node '%s', animation not found: '%s'"
+msgstr ""
+
+#: scene/animation/animation_blend_tree.cpp
+#, fuzzy
+msgid "Animation not found: '%s'"
+msgstr "動畫長度 (秒)。"
+
+#: scene/animation/animation_tree.cpp
+msgid "In node '%s', invalid animation: '%s'."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Invalid animation: '%s'."
+msgstr "無效的字體大å°ã€‚"
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Nothing connected to input '%s' of node '%s'."
+msgstr "將 '%s' 從 '%s' 中斷連接"
+
+#: scene/animation/animation_tree.cpp
+msgid "A root AnimationNode for the graph is not set."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+#, fuzzy
+msgid "Path to an AnimationPlayer node containing animations is not set."
+msgstr "å¾žå ´æ™¯æ¨¹ä¸­é¸æ“‡ä¸€å€‹ AnimationPlayer 來編輯動畫。"
+
+#: scene/animation/animation_tree.cpp
+msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node."
+msgstr ""
+
+#: scene/animation/animation_tree.cpp
+msgid "AnimationPlayer root is not a valid node."
+msgstr ""
+
#: scene/gui/color_picker.cpp
msgid "Raw Mode"
msgstr ""
@@ -8146,12 +9248,136 @@ msgstr "讀å–字體錯誤。"
msgid "Invalid font size."
msgstr "無效的字體大å°ã€‚"
+#: scene/resources/visual_shader.cpp
+msgid "Input"
+msgstr ""
+
+#: scene/resources/visual_shader.cpp
+msgid "None"
+msgstr ""
+
+#: scene/resources/visual_shader_nodes.cpp
+#, fuzzy
+msgid "Invalid source for shader."
+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 "Varyings can only be assigned in vertex function."
+msgstr ""
+
+#~ msgid "Disabled"
+#~ msgstr "å·²åœç”¨"
+
+#~ msgid "Move Anim Track Up"
+#~ msgstr "上移動畫軌"
+
+#~ msgid "Move Anim Track Down"
+#~ msgstr "動畫軌下移"
+
+#~ msgid "Set Transitions to:"
+#~ msgstr "設定轉場效果為:"
+
+#~ msgid "Anim Track Rename"
+#~ msgstr "釿–°å‘½å動畫軌"
+
+#~ msgid "Anim Track Change Interpolation"
+#~ msgstr "改變動畫軌內æ’"
+
+#~ msgid "Anim Track Change Value Mode"
+#~ msgstr "動畫軌改變模å¼"
+
#, fuzzy
-#~ msgid "Previous"
-#~ msgstr "上個分é "
+#~ msgid "Anim Track Change Wrap Mode"
+#~ msgstr "å‹•ç•«è»Œé“æ›´æ”¹ç’°ç¹žæ¨¡å¼"
+
+#~ msgid "Edit Node Curve"
+#~ msgstr "編輯節點曲線"
-#~ msgid "Next"
-#~ msgstr "下一個"
+#~ msgid "Edit Selection Curve"
+#~ msgstr "ç·¨è¼¯æ‰€é¸æ›²ç·š"
+
+#~ msgid "Anim Add Key"
+#~ msgstr "添加動畫關éµç•«æ ¼"
+
+#~ msgid "In"
+#~ msgstr "進"
+
+#~ msgid "Out"
+#~ msgstr "出"
+
+#~ msgid "In-Out"
+#~ msgstr "進出"
+
+#~ msgid "Out-In"
+#~ msgstr "外-內"
+
+#~ msgid "Change Anim Len"
+#~ msgstr "變更動畫長度"
+
+#~ msgid "Change Anim Loop"
+#~ msgstr "變更動畫迴圈"
+
+#, fuzzy
+#~ msgid "Anim Create Typed Value Key"
+#~ msgstr "動畫新增具類別之éµå€¼"
+
+#~ msgid "Anim Add Call Track"
+#~ msgstr "動畫新增呼å«è»Œè·¡"
+
+#~ msgid "Length (s):"
+#~ msgstr "長度(s):"
+
+#~ msgid "Enable/Disable looping in animation."
+#~ msgstr "啟用/åœç”¨ 動畫迴圈。"
+
+#~ msgid "Add new tracks."
+#~ msgstr "新增動畫軌。"
+
+#~ msgid "Move current track up."
+#~ msgstr "上移當å‰å‹•畫軌。"
+
+#~ msgid "Move current track down."
+#~ msgstr "下移當å‰å‹•畫軌。"
+
+#~ msgid "Track tools"
+#~ msgstr "軌跡工具"
+
+#~ msgid "Enable editing of individual keys by clicking them."
+#~ msgstr "啟用å¯ä½¿ç”¨é»žæ“Šä¾†æ›´æ”¹å„個éµã€‚"
+
+#~ msgid "Key"
+#~ msgstr "éµ"
+
+#~ msgid "Call Functions in Which Node?"
+#~ msgstr "呼å«å“ªå€‹ç¯€é»žè£¡çš„函å¼?"
+
+#~ msgid "Thanks!"
+#~ msgstr "è¬è¬!"
+
+#~ msgid "I see..."
+#~ msgstr "我知é“了"
+
+#~ msgid "Can't open '%s'."
+#~ msgstr "無法開啟 \"%s\"。"
+
+#~ msgid "Ugh"
+#~ msgstr "呃"
+
+#, fuzzy
+#~ msgid "prev"
+#~ msgstr "é è¦½:"
+
+#, fuzzy
+#~ msgid "Set pivot at mouse position"
+#~ msgstr "移除"
#~ msgid "Not found!"
#~ msgstr "找ä¸åˆ°!"
@@ -8175,12 +9401,6 @@ msgstr "無效的字體大å°ã€‚"
#~ msgid "Selection -> Duplicate"
#~ msgstr "åƒ…é¸æ“‡å€åŸŸ"
-#~ msgid "Filter:"
-#~ msgstr "éŽæ¿¾å™¨:"
-
-#~ msgid "Arguments:"
-#~ msgstr "è¼¸å…¥åƒæ•¸"
-
#~ msgid "Return:"
#~ msgstr "回傳值:"
diff --git a/main/input_default.cpp b/main/input_default.cpp
index 4363fc1c88..d074e05f43 100644
--- a/main/input_default.cpp
+++ b/main/input_default.cpp
@@ -265,9 +265,6 @@ void InputDefault::_parse_input_event_impl(const Ref<InputEvent> &p_event, bool
Ref<InputEventKey> k = p_event;
if (k.is_valid() && !k->is_echo() && k->get_scancode() != 0) {
-
- //print_line(p_event);
-
if (k->is_pressed())
keys_pressed.insert(k->get_scancode());
else
diff --git a/main/main.cpp b/main/main.cpp
index 2fd9cfa734..21851337b7 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -1092,7 +1092,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
boot_logo_path = boot_logo_path.strip_edges();
- if (boot_logo_path != String() /*&& FileAccess::exists(boot_logo_path)*/) {
+ if (boot_logo_path != String()) {
print_line("Boot splash path: " + boot_logo_path);
boot_logo.instance();
Error err = boot_logo->load(boot_logo_path);
@@ -1164,10 +1164,8 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
if (String(ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image")) != String()) {
- //print_line("use custom cursor");
Ref<Texture> cursor = ResourceLoader::load(ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image"));
if (cursor.is_valid()) {
- //print_line("loaded ok");
Vector2 hotspot = ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image_hotspot");
Input::get_singleton()->set_custom_mouse_cursor(cursor, Input::CURSOR_ARROW, hotspot);
}
@@ -1214,10 +1212,8 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
ClassDB::set_current_api(ClassDB::API_NONE); //no more api is registered at this point
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("CORE API HASH: " + itos(ClassDB::get_api_hash(ClassDB::API_CORE)));
- print_line("EDITOR API HASH: " + itos(ClassDB::get_api_hash(ClassDB::API_EDITOR)));
- }
+ print_verbose("CORE API HASH: " + itos(ClassDB::get_api_hash(ClassDB::API_CORE)));
+ print_verbose("EDITOR API HASH: " + itos(ClassDB::get_api_hash(ClassDB::API_EDITOR)));
MAIN_PRINT("Main: Done");
return OK;
diff --git a/misc/dist/html/default.html b/misc/dist/html/fixed-size.html
index 14766e8239..14766e8239 100644
--- a/misc/dist/html/default.html
+++ b/misc/dist/html/fixed-size.html
diff --git a/misc/dist/html/full-size.html b/misc/dist/html/full-size.html
new file mode 100644
index 0000000000..44b009524c
--- /dev/null
+++ b/misc/dist/html/full-size.html
@@ -0,0 +1,260 @@
+<!DOCTYPE html>
+<html xmlns='http://www.w3.org/1999/xhtml' lang='' xml:lang=''>
+<head>
+ <meta charset='utf-8' />
+ <meta name='viewport' content='width=device-width, user-scalable=no' />
+ <title></title>
+ <style type='text/css'>
+
+ body {
+ touch-action: none;
+ margin: 0;
+ border: 0 none;
+ padding: 0;
+ text-align: center;
+ background-color: black;
+ }
+
+ #canvas {
+ display: block;
+ margin: 0;
+ color: white;
+ }
+
+ #canvas:focus {
+ outline: none;
+ }
+
+ .godot {
+ font-family: 'Noto Sans', 'Droid Sans', Arial, sans-serif;
+ color: #e0e0e0;
+ background-color: #3b3943;
+ background-image: linear-gradient(to bottom, #403e48, #35333c);
+ border: 1px solid #45434e;
+ box-shadow: 0 0 1px 1px #2f2d35;
+ }
+
+
+ /* Status display
+ * ============== */
+
+ #status {
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ /* don't consume click events - make children visible explicitly */
+ visibility: hidden;
+ }
+
+ #status-progress {
+ width: 366px;
+ height: 7px;
+ background-color: #38363A;
+ border: 1px solid #444246;
+ padding: 1px;
+ box-shadow: 0 0 2px 1px #1B1C22;
+ border-radius: 2px;
+ visibility: visible;
+ }
+
+ @media only screen and (orientation:portrait) {
+ #status-progress {
+ width: 61.8%;
+ }
+ }
+
+ #status-progress-inner {
+ height: 100%;
+ width: 0;
+ box-sizing: border-box;
+ transition: width 0.5s linear;
+ background-color: #202020;
+ border: 1px solid #222223;
+ box-shadow: 0 0 1px 1px #27282E;
+ border-radius: 3px;
+ }
+
+ #status-indeterminate {
+ visibility: visible;
+ position: relative;
+ }
+
+ #status-indeterminate > div {
+ width: 4.5px;
+ height: 0;
+ border-style: solid;
+ border-width: 9px 3px 0 3px;
+ border-color: #2b2b2b transparent transparent transparent;
+ transform-origin: center 21px;
+ position: absolute;
+ }
+
+ #status-indeterminate > div:nth-child(1) { transform: rotate( 22.5deg); }
+ #status-indeterminate > div:nth-child(2) { transform: rotate( 67.5deg); }
+ #status-indeterminate > div:nth-child(3) { transform: rotate(112.5deg); }
+ #status-indeterminate > div:nth-child(4) { transform: rotate(157.5deg); }
+ #status-indeterminate > div:nth-child(5) { transform: rotate(202.5deg); }
+ #status-indeterminate > div:nth-child(6) { transform: rotate(247.5deg); }
+ #status-indeterminate > div:nth-child(7) { transform: rotate(292.5deg); }
+ #status-indeterminate > div:nth-child(8) { transform: rotate(337.5deg); }
+
+ #status-notice {
+ margin: 0 100px;
+ line-height: 1.3;
+ visibility: visible;
+ padding: 4px 6px;
+ visibility: visible;
+ }
+ </style>
+$GODOT_HEAD_INCLUDE
+</head>
+<body>
+ <canvas id='canvas'>
+ HTML5 canvas appears to be unsupported in the current browser.<br />
+ Please try updating or use a different browser.
+ </canvas>
+ <div id='status'>
+ <div id='status-progress' style='display: none;' oncontextmenu='event.preventDefault();'><div id ='status-progress-inner'></div></div>
+ <div id='status-indeterminate' style='display: none;' oncontextmenu='event.preventDefault();'>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div id='status-notice' class='godot' style='display: none;'></div>
+ </div>
+
+ <script type='text/javascript' src='$GODOT_BASENAME.js'></script>
+ <script type='text/javascript'>//<![CDATA[
+
+ var engine = new Engine;
+ var setStatusMode;
+ var setStatusNotice;
+
+ (function() {
+
+ const MAIN_PACK = '$GODOT_BASENAME.pck';
+ const INDETERMINATE_STATUS_STEP_MS = 100;
+
+ var canvas = document.getElementById('canvas');
+ var statusProgress = document.getElementById('status-progress');
+ var statusProgressInner = document.getElementById('status-progress-inner');
+ var statusIndeterminate = document.getElementById('status-indeterminate');
+ var statusNotice = document.getElementById('status-notice');
+
+ var initializing = true;
+ var statusMode = 'hidden';
+
+ var animationCallbacks = [];
+ function animate(time) {
+ animationCallbacks.forEach(callback => callback(time));
+ requestAnimationFrame(animate);
+ }
+ requestAnimationFrame(animate);
+
+ function adjustCanvasDimensions() {
+ canvas.width = innerWidth;
+ canvas.height = innerHeight;
+ }
+ animationCallbacks.push(adjustCanvasDimensions);
+ adjustCanvasDimensions();
+
+ setStatusMode = function setStatusMode(mode) {
+
+ if (statusMode === mode || !initializing)
+ return;
+ [statusProgress, statusIndeterminate, statusNotice].forEach(elem => {
+ elem.style.display = 'none';
+ });
+ if (animateStatusIndeterminate in animationCallbacks) {
+ animationCallbacks.erase(animateStatusIndeterminate);
+ }
+ switch (mode) {
+ case 'progress':
+ statusProgress.style.display = 'block';
+ break;
+ case 'indeterminate':
+ statusIndeterminate.style.display = 'block';
+ animationCallbacks.push(animateStatusIndeterminate);
+ break;
+ case 'notice':
+ statusNotice.style.display = 'block';
+ break;
+ case 'hidden':
+ break;
+ default:
+ throw new Error('Invalid status mode');
+ }
+ statusMode = mode;
+ }
+
+ function animateStatusIndeterminate(ms) {
+
+ var i = Math.floor(ms / INDETERMINATE_STATUS_STEP_MS % 8);
+ if (statusIndeterminate.children[i].style.borderTopColor == '') {
+ Array.prototype.slice.call(statusIndeterminate.children).forEach(child => {
+ child.style.borderTopColor = '';
+ });
+ statusIndeterminate.children[i].style.borderTopColor = '#dfdfdf';
+ }
+ }
+
+ setStatusNotice = function setStatusNotice(text) {
+
+ while (statusNotice.lastChild) {
+ statusNotice.removeChild(statusNotice.lastChild);
+ }
+ var lines = text.split('\n');
+ lines.forEach((line) => {
+ statusNotice.appendChild(document.createTextNode(line));
+ statusNotice.appendChild(document.createElement('br'));
+ });
+ };
+
+ engine.setProgressFunc((current, total) => {
+
+ if (total > 0) {
+ statusProgressInner.style.width = current/total * 100 + '%';
+ setStatusMode('progress');
+ if (current === total) {
+ // wait for progress bar animation
+ setTimeout(() => {
+ setStatusMode('indeterminate');
+ }, 500);
+ }
+ } else {
+ setStatusMode('indeterminate');
+ }
+ });
+
+ function displayFailureNotice(err) {
+ var msg = err.message || err;
+ console.error(msg);
+ setStatusNotice(msg);
+ setStatusMode('notice');
+ initializing = false;
+ };
+
+ if (!Engine.isWebGLAvailable()) {
+ displayFailureNotice('WebGL not available');
+ } else {
+ setStatusMode('indeterminate');
+ engine.setCanvas(canvas);
+ engine.startGame(MAIN_PACK).then(() => {
+ setStatusMode('hidden');
+ initializing = false;
+ }, displayFailureNotice);
+ }
+ })();
+ //]]></script>
+</body>
+</html>
diff --git a/modules/bullet/area_bullet.cpp b/modules/bullet/area_bullet.cpp
index b004641838..3668088590 100644
--- a/modules/bullet/area_bullet.cpp
+++ b/modules/bullet/area_bullet.cpp
@@ -236,7 +236,7 @@ void AreaBullet::set_param(PhysicsServer::AreaParameter p_param, const Variant &
set_spOv_gravityPointAttenuation(p_value);
break;
default:
- print_line("The Bullet areas doesn't suppot this param: " + itos(p_param));
+ WARN_PRINTS("Area doesn't support this parameter in the Bullet backend: " + itos(p_param));
}
}
@@ -259,7 +259,7 @@ Variant AreaBullet::get_param(PhysicsServer::AreaParameter p_param) const {
case PhysicsServer::AREA_PARAM_GRAVITY_POINT_ATTENUATION:
return spOv_gravityPointAttenuation;
default:
- print_line("The Bullet areas doesn't suppot this param: " + itos(p_param));
+ WARN_PRINTS("Area doesn't support this parameter in the Bullet backend: " + itos(p_param));
return Variant();
}
}
diff --git a/modules/bullet/bullet_physics_server.cpp b/modules/bullet/bullet_physics_server.cpp
index 0857635492..3a2cd3b2f1 100644
--- a/modules/bullet/bullet_physics_server.cpp
+++ b/modules/bullet/bullet_physics_server.cpp
@@ -163,6 +163,18 @@ Variant BulletPhysicsServer::shape_get_data(RID p_shape) const {
return shape->get_data();
}
+void BulletPhysicsServer::shape_set_margin(RID p_shape, real_t p_margin) {
+ ShapeBullet *shape = shape_owner.get(p_shape);
+ ERR_FAIL_COND(!shape);
+ shape->set_margin(p_margin);
+}
+
+real_t BulletPhysicsServer::shape_get_margin(RID p_shape) const {
+ ShapeBullet *shape = shape_owner.get(p_shape);
+ ERR_FAIL_COND_V(!shape, 0.0);
+ return shape->get_margin();
+}
+
real_t BulletPhysicsServer::shape_get_custom_solver_bias(RID p_shape) const {
//WARN_PRINT("Bias not supported by Bullet physics engine");
return 0.;
@@ -861,12 +873,20 @@ PhysicsDirectBodyState *BulletPhysicsServer::body_get_direct_state(RID p_body) {
return BulletPhysicsDirectBodyState::get_singleton(body);
}
-bool BulletPhysicsServer::body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result) {
+bool BulletPhysicsServer::body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result, bool p_exclude_raycast_shapes) {
RigidBodyBullet *body = rigid_body_owner.get(p_body);
ERR_FAIL_COND_V(!body, false);
ERR_FAIL_COND_V(!body->get_space(), false);
- return body->get_space()->test_body_motion(body, p_from, p_motion, p_infinite_inertia, r_result);
+ return body->get_space()->test_body_motion(body, p_from, p_motion, p_infinite_inertia, r_result, p_exclude_raycast_shapes);
+}
+
+int BulletPhysicsServer::body_test_ray_separation(RID p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, SeparationResult *r_results, int p_result_max, float p_margin) {
+ RigidBodyBullet *body = rigid_body_owner.get(p_body);
+ ERR_FAIL_COND_V(!body, 0);
+ ERR_FAIL_COND_V(!body->get_space(), 0);
+
+ return body->get_space()->test_ray_separation(body, p_transform, p_infinite_inertia, r_recover_motion, r_results, p_result_max, p_margin);
}
RID BulletPhysicsServer::soft_body_create(bool p_init_sleeping) {
@@ -981,11 +1001,13 @@ void BulletPhysicsServer::soft_body_get_collision_exceptions(RID p_body, List<RI
}
void BulletPhysicsServer::soft_body_set_state(RID p_body, BodyState p_state, const Variant &p_variant) {
- print_line("TODO MUST BE IMPLEMENTED");
+ // FIXME: Must be implemented.
+ WARN_PRINT("soft_body_state is not implemented yet in Bullet backend.");
}
Variant BulletPhysicsServer::soft_body_get_state(RID p_body, BodyState p_state) const {
- print_line("TODO MUST BE IMPLEMENTED");
+ // FIXME: Must be implemented.
+ WARN_PRINT("soft_body_state is not implemented yet in Bullet backend.");
return Variant();
}
diff --git a/modules/bullet/bullet_physics_server.h b/modules/bullet/bullet_physics_server.h
index 0e858ff311..e9c568d605 100644
--- a/modules/bullet/bullet_physics_server.h
+++ b/modules/bullet/bullet_physics_server.h
@@ -99,6 +99,9 @@ public:
virtual ShapeType shape_get_type(RID p_shape) const;
virtual Variant shape_get_data(RID p_shape) const;
+ virtual void shape_set_margin(RID p_shape, real_t p_margin);
+ virtual real_t shape_get_margin(RID p_shape) const;
+
/// Not supported
virtual void shape_set_custom_solver_bias(RID p_shape, real_t p_bias);
/// Not supported
@@ -258,7 +261,8 @@ public:
// this function only works on physics process, errors and returns null otherwise
virtual PhysicsDirectBodyState *body_get_direct_state(RID p_body);
- virtual bool body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result = NULL);
+ virtual bool body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result = NULL, bool p_exclude_raycast_shapes = true);
+ virtual int body_test_ray_separation(RID p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, SeparationResult *r_results, int p_result_max, float p_margin = 0.001);
/* SOFT BODY API */
diff --git a/modules/bullet/godot_result_callbacks.cpp b/modules/bullet/godot_result_callbacks.cpp
index 197550d686..534034d707 100644
--- a/modules/bullet/godot_result_callbacks.cpp
+++ b/modules/bullet/godot_result_callbacks.cpp
@@ -30,6 +30,7 @@
#include "godot_result_callbacks.h"
+#include "area_bullet.h"
#include "bullet_types_converter.h"
#include "collision_object_bullet.h"
#include "rigid_body_bullet.h"
@@ -51,11 +52,23 @@ bool GodotClosestRayResultCallback::needsCollision(btBroadphaseProxy *proxy0) co
if (needs) {
btCollisionObject *btObj = static_cast<btCollisionObject *>(proxy0->m_clientObject);
CollisionObjectBullet *gObj = static_cast<CollisionObjectBullet *>(btObj->getUserPointer());
- if (m_pickRay && gObj->is_ray_pickable()) {
- return true;
- } else if (m_exclude->has(gObj->get_self())) {
+
+ if (CollisionObjectBullet::TYPE_AREA == gObj->getType()) {
+ if (!collide_with_areas)
+ return false;
+ } else {
+ if (!collide_with_bodies)
+ return false;
+ }
+
+ if (m_pickRay && !gObj->is_ray_pickable()) {
+ return false;
+ }
+
+ if (m_exclude->has(gObj->get_self())) {
return false;
}
+
return true;
} else {
return false;
@@ -124,6 +137,15 @@ bool GodotClosestConvexResultCallback::needsCollision(btBroadphaseProxy *proxy0)
if (needs) {
btCollisionObject *btObj = static_cast<btCollisionObject *>(proxy0->m_clientObject);
CollisionObjectBullet *gObj = static_cast<CollisionObjectBullet *>(btObj->getUserPointer());
+
+ if (CollisionObjectBullet::TYPE_AREA == gObj->getType()) {
+ if (!collide_with_areas)
+ return false;
+ } else {
+ if (!collide_with_bodies)
+ return false;
+ }
+
if (m_exclude->has(gObj->get_self())) {
return false;
}
@@ -144,6 +166,15 @@ bool GodotAllContactResultCallback::needsCollision(btBroadphaseProxy *proxy0) co
if (needs) {
btCollisionObject *btObj = static_cast<btCollisionObject *>(proxy0->m_clientObject);
CollisionObjectBullet *gObj = static_cast<CollisionObjectBullet *>(btObj->getUserPointer());
+
+ if (CollisionObjectBullet::TYPE_AREA == gObj->getType()) {
+ if (!collide_with_areas)
+ return false;
+ } else {
+ if (!collide_with_bodies)
+ return false;
+ }
+
if (m_exclude->has(gObj->get_self())) {
return false;
}
@@ -189,6 +220,15 @@ bool GodotContactPairContactResultCallback::needsCollision(btBroadphaseProxy *pr
if (needs) {
btCollisionObject *btObj = static_cast<btCollisionObject *>(proxy0->m_clientObject);
CollisionObjectBullet *gObj = static_cast<CollisionObjectBullet *>(btObj->getUserPointer());
+
+ if (CollisionObjectBullet::TYPE_AREA == gObj->getType()) {
+ if (!collide_with_areas)
+ return false;
+ } else {
+ if (!collide_with_bodies)
+ return false;
+ }
+
if (m_exclude->has(gObj->get_self())) {
return false;
}
@@ -218,6 +258,15 @@ bool GodotRestInfoContactResultCallback::needsCollision(btBroadphaseProxy *proxy
if (needs) {
btCollisionObject *btObj = static_cast<btCollisionObject *>(proxy0->m_clientObject);
CollisionObjectBullet *gObj = static_cast<CollisionObjectBullet *>(btObj->getUserPointer());
+
+ if (CollisionObjectBullet::TYPE_AREA == gObj->getType()) {
+ if (!collide_with_areas)
+ return false;
+ } else {
+ if (!collide_with_bodies)
+ return false;
+ }
+
if (m_exclude->has(gObj->get_self())) {
return false;
}
@@ -260,10 +309,19 @@ void GodotDeepPenetrationContactResultCallback::addContactPoint(const btVector3
if (m_penetration_distance > depth) { // Has penetration?
- bool isSwapped = m_manifoldPtr->getBody0() != m_body0Wrap->getCollisionObject();
+ const bool isSwapped = m_manifoldPtr->getBody0() != m_body0Wrap->getCollisionObject();
m_penetration_distance = depth;
m_other_compound_shape_index = isSwapped ? m_index0 : m_index1;
- m_pointNormalWorld = isSwapped ? normalOnBInWorld * -1 : normalOnBInWorld;
m_pointWorld = isSwapped ? (pointInWorldOnB + (normalOnBInWorld * depth)) : pointInWorldOnB;
+
+ const btCollisionObjectWrapper *bw0 = m_body0Wrap;
+ if (isSwapped)
+ bw0 = m_body1Wrap;
+
+ if (bw0->getCollisionShape()->getShapeType() == CUSTOM_CONVEX_SHAPE_TYPE) {
+ m_pointNormalWorld = bw0->m_worldTransform.getBasis().transpose() * btVector3(0, 0, 1);
+ } else {
+ m_pointNormalWorld = isSwapped ? normalOnBInWorld * -1 : normalOnBInWorld;
+ }
}
}
diff --git a/modules/bullet/godot_result_callbacks.h b/modules/bullet/godot_result_callbacks.h
index 363051f24c..3948f43c00 100644
--- a/modules/bullet/godot_result_callbacks.h
+++ b/modules/bullet/godot_result_callbacks.h
@@ -56,12 +56,17 @@ struct GodotClosestRayResultCallback : public btCollisionWorld::ClosestRayResult
bool m_pickRay;
int m_shapeId;
+ bool collide_with_bodies;
+ bool collide_with_areas;
+
public:
- GodotClosestRayResultCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, const Set<RID> *p_exclude) :
+ GodotClosestRayResultCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, const Set<RID> *p_exclude, bool p_collide_with_bodies, bool p_collide_with_areas) :
btCollisionWorld::ClosestRayResultCallback(rayFromWorld, rayToWorld),
m_exclude(p_exclude),
m_pickRay(false),
- m_shapeId(0) {}
+ m_shapeId(0),
+ collide_with_bodies(p_collide_with_bodies),
+ collide_with_areas(p_collide_with_areas) {}
virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
@@ -108,9 +113,14 @@ public:
const Set<RID> *m_exclude;
int m_shapeId;
- GodotClosestConvexResultCallback(const btVector3 &convexFromWorld, const btVector3 &convexToWorld, const Set<RID> *p_exclude) :
+ bool collide_with_bodies;
+ bool collide_with_areas;
+
+ GodotClosestConvexResultCallback(const btVector3 &convexFromWorld, const btVector3 &convexToWorld, const Set<RID> *p_exclude, bool p_collide_with_bodies, bool p_collide_with_areas) :
btCollisionWorld::ClosestConvexResultCallback(convexFromWorld, convexToWorld),
- m_exclude(p_exclude) {}
+ m_exclude(p_exclude),
+ collide_with_bodies(p_collide_with_bodies),
+ collide_with_areas(p_collide_with_areas) {}
virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
@@ -125,12 +135,17 @@ public:
int m_count;
const Set<RID> *m_exclude;
- GodotAllContactResultCallback(btCollisionObject *p_self_object, PhysicsDirectSpaceState::ShapeResult *p_results, int p_resultMax, const Set<RID> *p_exclude) :
+ bool collide_with_bodies;
+ bool collide_with_areas;
+
+ GodotAllContactResultCallback(btCollisionObject *p_self_object, PhysicsDirectSpaceState::ShapeResult *p_results, int p_resultMax, const Set<RID> *p_exclude, bool p_collide_with_bodies, bool p_collide_with_areas) :
m_self_object(p_self_object),
m_results(p_results),
m_exclude(p_exclude),
m_resultMax(p_resultMax),
- m_count(0) {}
+ m_count(0),
+ collide_with_bodies(p_collide_with_bodies),
+ collide_with_areas(p_collide_with_areas) {}
virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
@@ -146,12 +161,17 @@ public:
int m_count;
const Set<RID> *m_exclude;
- GodotContactPairContactResultCallback(btCollisionObject *p_self_object, Vector3 *p_results, int p_resultMax, const Set<RID> *p_exclude) :
+ bool collide_with_bodies;
+ bool collide_with_areas;
+
+ GodotContactPairContactResultCallback(btCollisionObject *p_self_object, Vector3 *p_results, int p_resultMax, const Set<RID> *p_exclude, bool p_collide_with_bodies, bool p_collide_with_areas) :
m_self_object(p_self_object),
m_results(p_results),
m_exclude(p_exclude),
m_resultMax(p_resultMax),
- m_count(0) {}
+ m_count(0),
+ collide_with_bodies(p_collide_with_bodies),
+ collide_with_areas(p_collide_with_areas) {}
virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
@@ -167,13 +187,17 @@ public:
const btCollisionObject *m_rest_info_collision_object;
btVector3 m_rest_info_bt_point;
const Set<RID> *m_exclude;
+ bool collide_with_bodies;
+ bool collide_with_areas;
- GodotRestInfoContactResultCallback(btCollisionObject *p_self_object, PhysicsDirectSpaceState::ShapeRestInfo *p_result, const Set<RID> *p_exclude) :
+ GodotRestInfoContactResultCallback(btCollisionObject *p_self_object, PhysicsDirectSpaceState::ShapeRestInfo *p_result, const Set<RID> *p_exclude, bool p_collide_with_bodies, bool p_collide_with_areas) :
m_self_object(p_self_object),
m_result(p_result),
m_exclude(p_exclude),
m_collided(false),
- m_min_distance(0) {}
+ m_min_distance(0),
+ collide_with_bodies(p_collide_with_bodies),
+ collide_with_areas(p_collide_with_areas) {}
virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
diff --git a/modules/bullet/hinge_joint_bullet.cpp b/modules/bullet/hinge_joint_bullet.cpp
index 97ea7ca3df..07fde6efb9 100644
--- a/modules/bullet/hinge_joint_bullet.cpp
+++ b/modules/bullet/hinge_joint_bullet.cpp
@@ -97,7 +97,7 @@ void HingeJointBullet::set_param(PhysicsServer::HingeJointParam p_param, real_t
switch (p_param) {
case PhysicsServer::HINGE_JOINT_BIAS:
if (0 < p_value) {
- print_line("The Bullet Hinge Joint doesn't support bias, So it's always 0");
+ WARN_PRINTS("HingeJoint doesn't support bias in the Bullet backend, so it's always 0.");
}
break;
case PhysicsServer::HINGE_JOINT_LIMIT_UPPER:
@@ -122,7 +122,7 @@ void HingeJointBullet::set_param(PhysicsServer::HingeJointParam p_param, real_t
hingeConstraint->setMaxMotorImpulse(p_value);
break;
default:
- WARN_PRINTS("The Bullet Hinge Joint doesn't support this parameter: " + itos(p_param) + ", value: " + itos(p_value));
+ WARN_PRINTS("HingeJoint doesn't support this parameter in the Bullet backend: " + itos(p_param) + ", value: " + itos(p_value));
}
}
@@ -146,7 +146,7 @@ real_t HingeJointBullet::get_param(PhysicsServer::HingeJointParam p_param) const
case PhysicsServer::HINGE_JOINT_MOTOR_MAX_IMPULSE:
return hingeConstraint->getMaxMotorImpulse();
default:
- WARN_PRINTS("The Bullet Hinge Joint doesn't support this parameter: " + itos(p_param));
+ WARN_PRINTS("HingeJoint doesn't support this parameter in the Bullet backend: " + itos(p_param));
return 0;
}
}
diff --git a/modules/bullet/shape_bullet.cpp b/modules/bullet/shape_bullet.cpp
index e4c1a5f9b5..fab8d0cf3d 100644
--- a/modules/bullet/shape_bullet.cpp
+++ b/modules/bullet/shape_bullet.cpp
@@ -44,19 +44,20 @@
@author AndreaCatania
*/
-ShapeBullet::ShapeBullet() {}
+ShapeBullet::ShapeBullet() :
+ margin(0.04) {}
ShapeBullet::~ShapeBullet() {}
-btCollisionShape *ShapeBullet::create_bt_shape(const Vector3 &p_implicit_scale, real_t p_margin) {
+btCollisionShape *ShapeBullet::create_bt_shape(const Vector3 &p_implicit_scale, real_t p_extra_edge) {
btVector3 s;
G_TO_B(p_implicit_scale, s);
- return create_bt_shape(s, p_margin);
+ return create_bt_shape(s, p_extra_edge);
}
btCollisionShape *ShapeBullet::prepare(btCollisionShape *p_btShape) const {
p_btShape->setUserPointer(const_cast<ShapeBullet *>(this));
- p_btShape->setMargin(0.);
+ p_btShape->setMargin(margin);
return p_btShape;
}
@@ -93,6 +94,15 @@ const Map<ShapeOwnerBullet *, int> &ShapeBullet::get_owners() const {
return owners;
}
+void ShapeBullet::set_margin(real_t p_margin) {
+ margin = p_margin;
+ notifyShapeChanged();
+}
+
+real_t ShapeBullet::get_margin() const {
+ return margin;
+}
+
btEmptyShape *ShapeBullet::create_shape_empty() {
return bulletnew(btEmptyShape);
}
@@ -166,7 +176,7 @@ void PlaneShapeBullet::setup(const Plane &p_plane) {
notifyShapeChanged();
}
-btCollisionShape *PlaneShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
+btCollisionShape *PlaneShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
btVector3 btPlaneNormal;
G_TO_B(plane.normal, btPlaneNormal);
return prepare(PlaneShapeBullet::create_shape_plane(btPlaneNormal, plane.d));
@@ -194,8 +204,8 @@ void SphereShapeBullet::setup(real_t p_radius) {
notifyShapeChanged();
}
-btCollisionShape *SphereShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
- return prepare(ShapeBullet::create_shape_sphere(radius * p_implicit_scale[0] + p_margin));
+btCollisionShape *SphereShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
+ return prepare(ShapeBullet::create_shape_sphere(radius * p_implicit_scale[0] + p_extra_edge));
}
/* Box */
@@ -221,8 +231,8 @@ void BoxShapeBullet::setup(const Vector3 &p_half_extents) {
notifyShapeChanged();
}
-btCollisionShape *BoxShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
- return prepare(ShapeBullet::create_shape_box((half_extents * p_implicit_scale) + btVector3(p_margin, p_margin, p_margin)));
+btCollisionShape *BoxShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
+ return prepare(ShapeBullet::create_shape_box((half_extents * p_implicit_scale) + btVector3(p_extra_edge, p_extra_edge, p_extra_edge)));
}
/* Capsule */
@@ -254,8 +264,8 @@ void CapsuleShapeBullet::setup(real_t p_height, real_t p_radius) {
notifyShapeChanged();
}
-btCollisionShape *CapsuleShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
- return prepare(ShapeBullet::create_shape_capsule(radius * p_implicit_scale[0] + p_margin, height * p_implicit_scale[1] + p_margin));
+btCollisionShape *CapsuleShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
+ return prepare(ShapeBullet::create_shape_capsule(radius * p_implicit_scale[0] + p_extra_edge, height * p_implicit_scale[1] + p_extra_edge));
}
/* Cylinder */
@@ -329,11 +339,10 @@ void ConvexPolygonShapeBullet::setup(const Vector<Vector3> &p_vertices) {
notifyShapeChanged();
}
-btCollisionShape *ConvexPolygonShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
+btCollisionShape *ConvexPolygonShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
btCollisionShape *cs(ShapeBullet::create_shape_convex(vertices));
cs->setLocalScaling(p_implicit_scale);
prepare(cs);
- cs->setMargin(p_margin);
return cs;
}
@@ -402,14 +411,13 @@ void ConcavePolygonShapeBullet::setup(PoolVector<Vector3> p_faces) {
notifyShapeChanged();
}
-btCollisionShape *ConcavePolygonShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
+btCollisionShape *ConcavePolygonShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
btCollisionShape *cs = ShapeBullet::create_shape_concave(meshShape);
if (!cs)
// This is necessary since if 0 faces the creation of concave return NULL
cs = ShapeBullet::create_shape_empty();
cs->setLocalScaling(p_implicit_scale);
prepare(cs);
- cs->setMargin(p_margin);
return cs;
}
@@ -495,11 +503,10 @@ void HeightMapShapeBullet::setup(PoolVector<real_t> &p_heights, int p_width, int
notifyShapeChanged();
}
-btCollisionShape *HeightMapShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
+btCollisionShape *HeightMapShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
btCollisionShape *cs(ShapeBullet::create_shape_height_field(heights, width, depth, min_height, max_height));
cs->setLocalScaling(p_implicit_scale);
prepare(cs);
- cs->setMargin(p_margin);
return cs;
}
@@ -533,6 +540,6 @@ void RayShapeBullet::setup(real_t p_length, bool p_slips_on_slope) {
notifyShapeChanged();
}
-btCollisionShape *RayShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin) {
- return prepare(ShapeBullet::create_shape_ray(length * p_implicit_scale[1] + p_margin, slips_on_slope));
+btCollisionShape *RayShapeBullet::create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge) {
+ return prepare(ShapeBullet::create_shape_ray(length * p_implicit_scale[1] + p_extra_edge, slips_on_slope));
}
diff --git a/modules/bullet/shape_bullet.h b/modules/bullet/shape_bullet.h
index 16a5ac1fc6..638e044e6a 100644
--- a/modules/bullet/shape_bullet.h
+++ b/modules/bullet/shape_bullet.h
@@ -52,6 +52,7 @@ class btBvhTriangleMeshShape;
class ShapeBullet : public RIDBullet {
Map<ShapeOwnerBullet *, int> owners;
+ real_t margin;
protected:
/// return self
@@ -62,14 +63,17 @@ public:
ShapeBullet();
virtual ~ShapeBullet();
- btCollisionShape *create_bt_shape(const Vector3 &p_implicit_scale, real_t p_margin = 0);
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0) = 0;
+ btCollisionShape *create_bt_shape(const Vector3 &p_implicit_scale, real_t p_extra_edge = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0) = 0;
void add_owner(ShapeOwnerBullet *p_owner);
void remove_owner(ShapeOwnerBullet *p_owner, bool p_permanentlyFromThisBody = false);
bool is_owner(ShapeOwnerBullet *p_owner) const;
const Map<ShapeOwnerBullet *, int> &get_owners() const;
+ void set_margin(real_t p_margin);
+ real_t get_margin() const;
+
/// Setup the shape
virtual void set_data(const Variant &p_data) = 0;
virtual Variant get_data() const = 0;
@@ -100,7 +104,7 @@ public:
virtual void set_data(const Variant &p_data);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(const Plane &p_plane);
@@ -117,7 +121,7 @@ public:
virtual void set_data(const Variant &p_data);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(real_t p_radius);
@@ -134,7 +138,7 @@ public:
virtual void set_data(const Variant &p_data);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(const Vector3 &p_half_extents);
@@ -153,7 +157,7 @@ public:
virtual void set_data(const Variant &p_data);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(real_t p_height, real_t p_radius);
@@ -189,7 +193,7 @@ public:
void get_vertices(Vector<Vector3> &out_vertices);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(const Vector<Vector3> &p_vertices);
@@ -207,7 +211,7 @@ public:
virtual void set_data(const Variant &p_data);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(PoolVector<Vector3> p_faces);
@@ -227,7 +231,7 @@ public:
virtual void set_data(const Variant &p_data);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(PoolVector<real_t> &p_heights, int p_width, int p_depth, real_t p_min_height, real_t p_max_height);
@@ -244,7 +248,7 @@ public:
virtual void set_data(const Variant &p_data);
virtual Variant get_data() const;
virtual PhysicsServer::ShapeType get_type() const;
- virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_margin = 0);
+ virtual btCollisionShape *create_bt_shape(const btVector3 &p_implicit_scale, real_t p_extra_edge = 0);
private:
void setup(real_t p_length, bool p_slips_on_slope);
diff --git a/modules/bullet/space_bullet.cpp b/modules/bullet/space_bullet.cpp
index 97228a972f..b5329bc347 100644
--- a/modules/bullet/space_bullet.cpp
+++ b/modules/bullet/space_bullet.cpp
@@ -61,7 +61,7 @@ BulletPhysicsDirectSpaceState::BulletPhysicsDirectSpaceState(SpaceBullet *p_spac
PhysicsDirectSpaceState(),
space(p_space) {}
-int BulletPhysicsDirectSpaceState::intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+int BulletPhysicsDirectSpaceState::intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
if (p_result_max <= 0)
return 0;
@@ -69,13 +69,13 @@ int BulletPhysicsDirectSpaceState::intersect_point(const Vector3 &p_point, Shape
btVector3 bt_point;
G_TO_B(p_point, bt_point);
- btSphereShape sphere_point(0.f);
+ btSphereShape sphere_point(0.001f);
btCollisionObject collision_object_point;
collision_object_point.setCollisionShape(&sphere_point);
collision_object_point.setWorldTransform(btTransform(btQuaternion::getIdentity(), bt_point));
// Setup query
- GodotAllContactResultCallback btResult(&collision_object_point, r_results, p_result_max, &p_exclude);
+ GodotAllContactResultCallback btResult(&collision_object_point, r_results, p_result_max, &p_exclude, p_collide_with_bodies, p_collide_with_areas);
btResult.m_collisionFilterGroup = 0;
btResult.m_collisionFilterMask = p_collision_mask;
space->dynamicsWorld->contactTest(&collision_object_point, btResult);
@@ -84,7 +84,7 @@ int BulletPhysicsDirectSpaceState::intersect_point(const Vector3 &p_point, Shape
return btResult.m_count;
}
-bool BulletPhysicsDirectSpaceState::intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_pick_ray) {
+bool BulletPhysicsDirectSpaceState::intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas, bool p_pick_ray) {
btVector3 btVec_from;
btVector3 btVec_to;
@@ -93,7 +93,7 @@ bool BulletPhysicsDirectSpaceState::intersect_ray(const Vector3 &p_from, const V
G_TO_B(p_to, btVec_to);
// setup query
- GodotClosestRayResultCallback btResult(btVec_from, btVec_to, &p_exclude);
+ GodotClosestRayResultCallback btResult(btVec_from, btVec_to, &p_exclude, p_collide_with_bodies, p_collide_with_areas);
btResult.m_collisionFilterGroup = 0;
btResult.m_collisionFilterMask = p_collision_mask;
btResult.m_pickRay = p_pick_ray;
@@ -117,7 +117,7 @@ bool BulletPhysicsDirectSpaceState::intersect_ray(const Vector3 &p_from, const V
}
}
-int BulletPhysicsDirectSpaceState::intersect_shape(const RID &p_shape, const Transform &p_xform, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+int BulletPhysicsDirectSpaceState::intersect_shape(const RID &p_shape, const Transform &p_xform, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
if (p_result_max <= 0)
return 0;
@@ -139,7 +139,7 @@ int BulletPhysicsDirectSpaceState::intersect_shape(const RID &p_shape, const Tra
collision_object.setCollisionShape(btConvex);
collision_object.setWorldTransform(bt_xform);
- GodotAllContactResultCallback btQuery(&collision_object, r_results, p_result_max, &p_exclude);
+ GodotAllContactResultCallback btQuery(&collision_object, r_results, p_result_max, &p_exclude, p_collide_with_bodies, p_collide_with_areas);
btQuery.m_collisionFilterGroup = 0;
btQuery.m_collisionFilterMask = p_collision_mask;
btQuery.m_closestDistanceThreshold = 0;
@@ -150,7 +150,7 @@ int BulletPhysicsDirectSpaceState::intersect_shape(const RID &p_shape, const Tra
return btQuery.m_count;
}
-bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude, uint32_t p_collision_mask, ShapeRestInfo *r_info) {
+bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas, ShapeRestInfo *r_info) {
ShapeBullet *shape = space->get_physics_server()->get_shape_owner()->get(p_shape);
btCollisionShape *btShape = shape->create_bt_shape(p_xform.basis.get_scale(), p_margin);
@@ -171,7 +171,7 @@ bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transf
btTransform bt_xform_to(bt_xform_from);
bt_xform_to.getOrigin() += bt_motion;
- GodotClosestConvexResultCallback btResult(bt_xform_from.getOrigin(), bt_xform_to.getOrigin(), &p_exclude);
+ GodotClosestConvexResultCallback btResult(bt_xform_from.getOrigin(), bt_xform_to.getOrigin(), &p_exclude, p_collide_with_bodies, p_collide_with_areas);
btResult.m_collisionFilterGroup = 0;
btResult.m_collisionFilterMask = p_collision_mask;
@@ -197,7 +197,7 @@ bool BulletPhysicsDirectSpaceState::cast_motion(const RID &p_shape, const Transf
}
/// Returns the list of contacts pairs in this order: Local contact, other body contact
-bool BulletPhysicsDirectSpaceState::collide_shape(RID p_shape, const Transform &p_shape_xform, float p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool BulletPhysicsDirectSpaceState::collide_shape(RID p_shape, const Transform &p_shape_xform, float p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
if (p_result_max <= 0)
return 0;
@@ -219,7 +219,7 @@ bool BulletPhysicsDirectSpaceState::collide_shape(RID p_shape, const Transform &
collision_object.setCollisionShape(btConvex);
collision_object.setWorldTransform(bt_xform);
- GodotContactPairContactResultCallback btQuery(&collision_object, r_results, p_result_max, &p_exclude);
+ GodotContactPairContactResultCallback btQuery(&collision_object, r_results, p_result_max, &p_exclude, p_collide_with_bodies, p_collide_with_areas);
btQuery.m_collisionFilterGroup = 0;
btQuery.m_collisionFilterMask = p_collision_mask;
btQuery.m_closestDistanceThreshold = 0;
@@ -231,7 +231,7 @@ bool BulletPhysicsDirectSpaceState::collide_shape(RID p_shape, const Transform &
return btQuery.m_count;
}
-bool BulletPhysicsDirectSpaceState::rest_info(RID p_shape, const Transform &p_shape_xform, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool BulletPhysicsDirectSpaceState::rest_info(RID p_shape, const Transform &p_shape_xform, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
ShapeBullet *shape = space->get_physics_server()->get_shape_owner()->get(p_shape);
@@ -251,7 +251,7 @@ bool BulletPhysicsDirectSpaceState::rest_info(RID p_shape, const Transform &p_sh
collision_object.setCollisionShape(btConvex);
collision_object.setWorldTransform(bt_xform);
- GodotRestInfoContactResultCallback btQuery(&collision_object, r_info, &p_exclude);
+ GodotRestInfoContactResultCallback btQuery(&collision_object, r_info, &p_exclude, p_collide_with_bodies, p_collide_with_areas);
btQuery.m_collisionFilterGroup = 0;
btQuery.m_collisionFilterMask = p_collision_mask;
btQuery.m_closestDistanceThreshold = 0;
@@ -819,7 +819,7 @@ static Ref<SpatialMaterial> red_mat;
static Ref<SpatialMaterial> blue_mat;
#endif
-bool SpaceBullet::test_body_motion(RigidBodyBullet *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, PhysicsServer::MotionResult *r_result) {
+bool SpaceBullet::test_body_motion(RigidBodyBullet *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, PhysicsServer::MotionResult *r_result, bool p_exclude_raycast_shapes) {
#if debug_test_motion
/// Yes I know this is not good, but I've used it as fast debugging hack.
@@ -894,6 +894,12 @@ bool SpaceBullet::test_body_motion(RigidBodyBullet *p_body, const Transform &p_f
// Skip no convex shape
continue;
}
+
+ if (p_exclude_raycast_shapes && p_body->get_bt_shape(shIndex)->getShapeType() == CUSTOM_CONVEX_SHAPE_TYPE) {
+ // Skip rayshape in order to implement custom separation process
+ continue;
+ }
+
btConvexShape *convex_shape_test(static_cast<btConvexShape *>(p_body->get_bt_shape(shIndex)));
btTransform shape_world_from = body_transform * p_body->get_kinematic_utilities()->shapes[shIndex].transform;
@@ -924,11 +930,11 @@ bool SpaceBullet::test_body_motion(RigidBodyBullet *p_body, const Transform &p_f
btVector3 __rec(0, 0, 0);
RecoverResult r_recover_result;
- has_penetration = recover_from_penetration(p_body, body_transform, 0, p_infinite_inertia, __rec, &r_recover_result);
+ has_penetration = recover_from_penetration(p_body, body_transform, 1, p_infinite_inertia, __rec, &r_recover_result);
// Parse results
if (r_result) {
- B_TO_G(motion + initial_recover_motion, r_result->motion);
+ B_TO_G(motion + initial_recover_motion + __rec, r_result->motion);
if (has_penetration) {
@@ -964,6 +970,39 @@ bool SpaceBullet::test_body_motion(RigidBodyBullet *p_body, const Transform &p_f
return has_penetration;
}
+int SpaceBullet::test_ray_separation(RigidBodyBullet *p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, PhysicsServer::SeparationResult *r_results, int p_result_max, float p_margin) {
+
+ btTransform body_transform;
+ G_TO_B(p_transform, body_transform);
+ UNSCALE_BT_BASIS(body_transform);
+
+ btVector3 recover_motion(0, 0, 0);
+
+ int rays_found;
+
+ for (int t(RECOVERING_MOVEMENT_CYCLES); 0 < t; --t) {
+ int last_ray_index = recover_from_penetration_ray(p_body, body_transform, RECOVERING_MOVEMENT_SCALE, p_infinite_inertia, p_result_max, recover_motion, r_results);
+
+ rays_found = MAX(last_ray_index, rays_found);
+ if (!rays_found) {
+ break;
+ } else {
+ body_transform.getOrigin() += recover_motion;
+ }
+ }
+
+ //optimize results (remove non colliding)
+ for (int i = 0; i < rays_found; i++) {
+ if (r_results[i].collision_depth >= 0) {
+ rays_found--;
+ SWAP(r_results[i], r_results[rays_found]);
+ }
+ }
+
+ B_TO_G(recover_motion, r_recover_motion);
+ return rays_found;
+}
+
struct RecoverPenetrationBroadPhaseCallback : public btBroadphaseAabbCallback {
private:
const btCollisionObject *self_collision_object;
@@ -1020,6 +1059,11 @@ bool SpaceBullet::recover_from_penetration(RigidBodyBullet *p_body, const btTran
continue;
}
+ if (kin_shape.shape->getShapeType() == CUSTOM_CONVEX_SHAPE_TYPE) {
+ // Skip rayshape in order to implement custom separation process
+ continue;
+ }
+
body_shape_position = p_body_position * kin_shape.transform;
body_shape_position_recovered = body_shape_position;
body_shape_position_recovered.getOrigin() += r_delta_recover_movement;
@@ -1122,7 +1166,6 @@ bool SpaceBullet::RFP_convex_world_test(const btConvexShape *p_shapeA, const btC
if (contactPointResult.hasHit()) {
r_delta_recover_movement += contactPointResult.m_pointNormalWorld * (contactPointResult.m_penetration_distance * -1 * p_recover_movement_scale);
-
if (r_recover_result) {
if (contactPointResult.m_penetration_distance < r_recover_result->penetration_distance) {
r_recover_result->hasPenetration = true;
@@ -1138,3 +1181,79 @@ bool SpaceBullet::RFP_convex_world_test(const btConvexShape *p_shapeA, const btC
}
return false;
}
+
+int SpaceBullet::recover_from_penetration_ray(RigidBodyBullet *p_body, const btTransform &p_body_position, btScalar p_recover_movement_scale, bool p_infinite_inertia, int p_result_max, btVector3 &r_delta_recover_movement, PhysicsServer::SeparationResult *r_results) {
+
+ RecoverPenetrationBroadPhaseCallback recover_broad_result(p_body->get_bt_collision_object(), p_body->get_collision_layer(), p_body->get_collision_mask());
+
+ btTransform body_shape_position;
+ btTransform body_shape_position_recovered;
+
+ // Broad phase support
+ btVector3 minAabb, maxAabb;
+
+ int ray_index = 0;
+
+ // For each shape
+ for (int kinIndex = p_body->get_kinematic_utilities()->shapes.size() - 1; 0 <= kinIndex; --kinIndex) {
+
+ recover_broad_result.reset();
+
+ if (ray_index >= p_result_max) {
+ break;
+ }
+
+ const RigidBodyBullet::KinematicShape &kin_shape(p_body->get_kinematic_utilities()->shapes[kinIndex]);
+ if (!kin_shape.is_active()) {
+ continue;
+ }
+
+ if (kin_shape.shape->getShapeType() != CUSTOM_CONVEX_SHAPE_TYPE) {
+ continue;
+ }
+
+ body_shape_position = p_body_position * kin_shape.transform;
+ body_shape_position_recovered = body_shape_position;
+ body_shape_position_recovered.getOrigin() += r_delta_recover_movement;
+
+ kin_shape.shape->getAabb(body_shape_position_recovered, minAabb, maxAabb);
+ dynamicsWorld->getBroadphase()->aabbTest(minAabb, maxAabb, recover_broad_result);
+
+ for (int i = recover_broad_result.result_collision_objects.size() - 1; 0 <= i; --i) {
+ btCollisionObject *otherObject = recover_broad_result.result_collision_objects[i];
+ if (p_infinite_inertia && !otherObject->isStaticOrKinematicObject()) {
+ otherObject->activate(); // Force activation of hitten rigid, soft body
+ continue;
+ } else if (!p_body->get_bt_collision_object()->checkCollideWith(otherObject) || !otherObject->checkCollideWith(p_body->get_bt_collision_object()))
+ continue;
+
+ if (otherObject->getCollisionShape()->isCompound()) {
+
+ // Each convex shape
+ btCompoundShape *cs = static_cast<btCompoundShape *>(otherObject->getCollisionShape());
+ for (int x = cs->getNumChildShapes() - 1; 0 <= x; --x) {
+
+ RecoverResult r_recover_result;
+ if (RFP_convex_world_test(kin_shape.shape, cs->getChildShape(x), p_body->get_bt_collision_object(), otherObject, kinIndex, x, body_shape_position, otherObject->getWorldTransform() * cs->getChildTransform(x), p_recover_movement_scale, r_delta_recover_movement, &r_recover_result)) {
+
+ const btRigidBody *btRigid = static_cast<const btRigidBody *>(otherObject);
+ CollisionObjectBullet *collisionObject = static_cast<CollisionObjectBullet *>(otherObject->getUserPointer());
+
+ r_results[ray_index].collision_depth = r_recover_result.penetration_distance;
+ B_TO_G(r_recover_result.pointWorld, r_results[ray_index].collision_point);
+ B_TO_G(r_recover_result.normal, r_results[ray_index].collision_normal);
+ B_TO_G(btRigid->getVelocityInLocalPoint(r_recover_result.pointWorld - btRigid->getWorldTransform().getOrigin()), r_results[ray_index].collider_velocity);
+ r_results[ray_index].collision_local_shape = kinIndex;
+ r_results[ray_index].collider_id = collisionObject->get_instance_id();
+ r_results[ray_index].collider = collisionObject->get_self();
+ r_results[ray_index].collider_shape = r_recover_result.other_compound_shape_index;
+ }
+ }
+ }
+ }
+
+ ++ray_index;
+ }
+
+ return ray_index;
+}
diff --git a/modules/bullet/space_bullet.h b/modules/bullet/space_bullet.h
index 6b86fc2f03..517ec67ffa 100644
--- a/modules/bullet/space_bullet.h
+++ b/modules/bullet/space_bullet.h
@@ -73,13 +73,13 @@ private:
public:
BulletPhysicsDirectSpaceState(SpaceBullet *p_space);
- virtual int intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_pick_ray = false);
- virtual int intersect_shape(const RID &p_shape, const Transform &p_xform, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, ShapeRestInfo *r_info = NULL);
+ virtual int intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, bool p_pick_ray = false);
+ virtual int intersect_shape(const RID &p_shape, const Transform &p_xform, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, ShapeRestInfo *r_info = NULL);
/// Returns the list of contacts pairs in this order: Local contact, other body contact
- virtual bool collide_shape(RID p_shape, const Transform &p_shape_xform, float p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool rest_info(RID p_shape, const Transform &p_shape_xform, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
+ virtual bool collide_shape(RID p_shape, const Transform &p_shape_xform, float p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool rest_info(RID p_shape, const Transform &p_shape_xform, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
virtual Vector3 get_closest_point_to_object_volume(RID p_object, const Vector3 p_point) const;
};
@@ -174,7 +174,8 @@ public:
void update_gravity();
- bool test_body_motion(RigidBodyBullet *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, PhysicsServer::MotionResult *r_result);
+ bool test_body_motion(RigidBodyBullet *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, PhysicsServer::MotionResult *r_result, bool p_exclude_raycast_shapes);
+ int test_ray_separation(RigidBodyBullet *p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, PhysicsServer::SeparationResult *r_results, int p_result_max, float p_margin);
private:
void create_empty_world(bool p_create_soft_world);
@@ -208,5 +209,7 @@ private:
/// This is an API that recover a kinematic object from penetration
/// Using this we leave Bullet to select the best algorithm, For example GJK in case we have Convex Convex, or a Bullet accelerated algorithm
bool RFP_convex_world_test(const btConvexShape *p_shapeA, const btCollisionShape *p_shapeB, btCollisionObject *p_objectA, btCollisionObject *p_objectB, int p_shapeId_A, int p_shapeId_B, const btTransform &p_transformA, const btTransform &p_transformB, btScalar p_recover_movement_scale, btVector3 &r_delta_recover_movement, RecoverResult *r_recover_result = NULL);
+
+ int recover_from_penetration_ray(RigidBodyBullet *p_body, const btTransform &p_body_position, btScalar p_recover_movement_scale, bool p_infinite_inertia, int p_result_max, btVector3 &r_delta_recover_movement, PhysicsServer::SeparationResult *r_results);
};
#endif
diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp
index 9f2171a82a..258c628d93 100644
--- a/modules/csg/csg_shape.cpp
+++ b/modules/csg/csg_shape.cpp
@@ -161,8 +161,6 @@ CSGBrush *CSGShape::_get_brush() {
void CSGShape::_update_shape() {
- //print_line("updating shape for " + String(get_path()));
-
if (parent)
return;
@@ -372,7 +370,6 @@ void CSGShape::_notification(int p_what) {
if (p_what == NOTIFICATION_LOCAL_TRANSFORM_CHANGED) {
- //print_line("local xform changed");
if (parent) {
parent->_make_dirty();
}
@@ -641,7 +638,6 @@ CSGBrush *CSGMesh::_build_brush() {
}
}
- //print_line("total vertices? " + itos(vertices.size()));
if (vertices.size() == 0)
return NULL;
diff --git a/modules/cvtt/SCsub b/modules/cvtt/SCsub
new file mode 100644
index 0000000000..5c396482aa
--- /dev/null
+++ b/modules/cvtt/SCsub
@@ -0,0 +1,21 @@
+#!/usr/bin/env python
+
+Import('env')
+Import('env_modules')
+
+env_cvtt = env_modules.Clone()
+
+# Thirdparty source files
+if env['builtin_squish']:
+ thirdparty_dir = "#thirdparty/cvtt/"
+ thirdparty_sources = [
+ "ConvectionKernels.cpp"
+ ]
+
+ thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
+
+ env_cvtt.add_source_files(env.modules_sources, thirdparty_sources)
+ env_cvtt.Append(CPPPATH=[thirdparty_dir])
+
+# Godot source files
+env_cvtt.add_source_files(env.modules_sources, "*.cpp")
diff --git a/modules/cvtt/config.py b/modules/cvtt/config.py
new file mode 100644
index 0000000000..098f1eafa9
--- /dev/null
+++ b/modules/cvtt/config.py
@@ -0,0 +1,5 @@
+def can_build(env, platform):
+ return env['tools']
+
+def configure(env):
+ pass
diff --git a/modules/cvtt/image_compress_cvtt.cpp b/modules/cvtt/image_compress_cvtt.cpp
new file mode 100644
index 0000000000..3a371c8597
--- /dev/null
+++ b/modules/cvtt/image_compress_cvtt.cpp
@@ -0,0 +1,394 @@
+/*************************************************************************/
+/* image_compress_cvtt.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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 "image_compress_cvtt.h"
+
+#include "os/os.h"
+#include "os/thread.h"
+#include "print_string.h"
+
+#include <ConvectionKernels.h>
+
+struct CVTTCompressionJobParams {
+ bool is_hdr;
+ bool is_signed;
+ int bytes_per_pixel;
+
+ cvtt::Options options;
+};
+
+struct CVTTCompressionRowTask {
+ const uint8_t *in_mm_bytes;
+ uint8_t *out_mm_bytes;
+ int y_start;
+ int width;
+ int height;
+};
+
+struct CVTTCompressionJobQueue {
+ CVTTCompressionJobParams job_params;
+ const CVTTCompressionRowTask *job_tasks;
+ uint32_t num_tasks;
+ uint32_t current_task;
+};
+
+static void _digest_row_task(const CVTTCompressionJobParams &p_job_params, const CVTTCompressionRowTask &p_row_task) {
+ const uint8_t *in_bytes = p_row_task.in_mm_bytes;
+ uint8_t *out_bytes = p_row_task.out_mm_bytes;
+ int w = p_row_task.width;
+ int h = p_row_task.height;
+
+ int y_start = p_row_task.y_start;
+ int y_end = y_start + 4;
+
+ int bytes_per_pixel = p_job_params.bytes_per_pixel;
+ bool is_hdr = p_job_params.is_hdr;
+ bool is_signed = p_job_params.is_signed;
+
+ cvtt::PixelBlockU8 input_blocks_ldr[cvtt::NumParallelBlocks];
+ cvtt::PixelBlockF16 input_blocks_hdr[cvtt::NumParallelBlocks];
+
+ for (int x_start = 0; x_start < w; x_start += 4 * cvtt::NumParallelBlocks) {
+ int x_end = x_start + 4 * cvtt::NumParallelBlocks;
+
+ for (int y = y_start; y < y_end; y++) {
+ int first_input_element = (y - y_start) * 4;
+ const uint8_t *row_start;
+ if (y >= h) {
+ row_start = in_bytes + (h - 1) * (w * bytes_per_pixel);
+ } else {
+ row_start = in_bytes + y * (w * bytes_per_pixel);
+ }
+
+ for (int x = x_start; x < x_end; x++) {
+ const uint8_t *pixel_start;
+ if (x >= w) {
+ pixel_start = row_start + (w - 1) * bytes_per_pixel;
+ } else {
+ pixel_start = row_start + x * bytes_per_pixel;
+ }
+
+ int block_index = (x - x_start) / 4;
+ int block_element = (x - x_start) % 4 + first_input_element;
+ if (is_hdr) {
+ memcpy(input_blocks_hdr[block_index].m_pixels[block_element], pixel_start, bytes_per_pixel);
+ input_blocks_hdr[block_index].m_pixels[block_element][3] = 0x3c00; // 1.0 (unused)
+ } else {
+ memcpy(input_blocks_ldr[block_index].m_pixels[block_element], pixel_start, bytes_per_pixel);
+ }
+ }
+ }
+
+ uint8_t output_blocks[16 * cvtt::NumParallelBlocks];
+
+ if (is_hdr) {
+ if (is_signed) {
+ cvtt::Kernels::EncodeBC6HS(output_blocks, input_blocks_hdr, p_job_params.options);
+ } else {
+ cvtt::Kernels::EncodeBC6HU(output_blocks, input_blocks_hdr, p_job_params.options);
+ }
+ } else {
+ cvtt::Kernels::EncodeBC7(output_blocks, input_blocks_ldr, p_job_params.options);
+ }
+
+ int num_real_blocks = ((w - x_start) + 3) / 4;
+ if (num_real_blocks > cvtt::NumParallelBlocks) {
+ num_real_blocks = cvtt::NumParallelBlocks;
+ }
+
+ memcpy(out_bytes, output_blocks, 16 * num_real_blocks);
+ out_bytes += 16 * num_real_blocks;
+ }
+}
+
+static void _digest_job_queue(void *p_job_queue) {
+ CVTTCompressionJobQueue *job_queue = static_cast<CVTTCompressionJobQueue *>(p_job_queue);
+
+ for (int next_task = atomic_increment(&job_queue->current_task); next_task <= job_queue->num_tasks; next_task = atomic_increment(&job_queue->current_task)) {
+ _digest_row_task(job_queue->job_params, job_queue->job_tasks[next_task - 1]);
+ }
+}
+
+void image_compress_cvtt(Image *p_image, float p_lossy_quality, Image::CompressSource p_source) {
+
+ if (p_image->get_format() >= Image::FORMAT_BPTC_RGBA)
+ return; //do not compress, already compressed
+
+ int w = p_image->get_width();
+ int h = p_image->get_height();
+
+ bool is_ldr = (p_image->get_format() <= Image::FORMAT_RGBA8);
+ bool is_hdr = (p_image->get_format() == Image::FORMAT_RGBH);
+
+ if (!is_ldr && !is_hdr) {
+ return; // Not a usable source format
+ }
+
+ cvtt::Options options;
+ uint32_t flags = cvtt::Flags::Fastest;
+
+ if (p_lossy_quality > 0.85)
+ flags = cvtt::Flags::Ultra;
+ else if (p_lossy_quality > 0.75)
+ flags = cvtt::Flags::Better;
+ else if (p_lossy_quality > 0.55)
+ flags = cvtt::Flags::Default;
+ else if (p_lossy_quality > 0.35)
+ flags = cvtt::Flags::Fast;
+ else if (p_lossy_quality > 0.15)
+ flags = cvtt::Flags::Faster;
+
+ flags |= cvtt::Flags::BC7_RespectPunchThrough;
+
+ if (p_source == Image::COMPRESS_SOURCE_NORMAL) {
+ flags |= cvtt::Flags::Uniform;
+ }
+
+ Image::Format target_format = Image::FORMAT_BPTC_RGBA;
+
+ bool is_signed = false;
+ if (is_hdr) {
+ PoolVector<uint8_t>::Read rb = p_image->get_data().read();
+
+ const uint16_t *source_data = reinterpret_cast<const uint16_t *>(&rb[0]);
+ int pixel_element_count = w * h * 3;
+ for (int i = 0; i < pixel_element_count; i++) {
+ if ((source_data[i] & 0x8000) != 0 && (source_data[i] & 0x7fff) != 0) {
+ is_signed = true;
+ break;
+ }
+ }
+
+ target_format = is_signed ? Image::FORMAT_BPTC_RGBF : Image::FORMAT_BPTC_RGBFU;
+ } else {
+ p_image->convert(Image::FORMAT_RGBA8); //still uses RGBA to convert
+ }
+
+ PoolVector<uint8_t>::Read rb = p_image->get_data().read();
+
+ PoolVector<uint8_t> data;
+ int target_size = Image::get_image_data_size(w, h, target_format, p_image->has_mipmaps());
+ int mm_count = p_image->has_mipmaps() ? Image::get_image_required_mipmaps(w, h, target_format) : 0;
+ data.resize(target_size);
+ int shift = Image::get_format_pixel_rshift(target_format);
+
+ PoolVector<uint8_t>::Write wb = data.write();
+
+ int dst_ofs = 0;
+
+ CVTTCompressionJobQueue job_queue;
+ job_queue.job_params.is_hdr = is_hdr;
+ job_queue.job_params.is_signed = is_signed;
+ job_queue.job_params.options = options;
+ job_queue.job_params.bytes_per_pixel = is_hdr ? 6 : 4;
+
+#ifdef NO_THREADS
+ int num_job_threads = 0;
+#else
+ int num_job_threads = OS::get_singleton()->can_use_threads() ? (OS::get_singleton()->get_processor_count() - 1) : 0;
+#endif
+
+ PoolVector<CVTTCompressionRowTask> tasks;
+
+ for (int i = 0; i <= mm_count; i++) {
+
+ int bw = w % 4 != 0 ? w + (4 - w % 4) : w;
+ int bh = h % 4 != 0 ? h + (4 - h % 4) : h;
+
+ int src_ofs = p_image->get_mipmap_offset(i);
+
+ const uint8_t *in_bytes = &rb[src_ofs];
+ uint8_t *out_bytes = &wb[dst_ofs];
+
+ for (int y_start = 0; y_start < h; y_start += 4) {
+ int y_end = y_start + 4;
+
+ CVTTCompressionRowTask row_task;
+ row_task.width = w;
+ row_task.height = h;
+ row_task.y_start = y_start;
+ row_task.in_mm_bytes = in_bytes;
+ row_task.out_mm_bytes = out_bytes;
+
+ if (num_job_threads > 0) {
+ tasks.push_back(row_task);
+ } else {
+ _digest_row_task(job_queue.job_params, row_task);
+ }
+
+ out_bytes += 16 * (bw / 4);
+ }
+
+ dst_ofs += (MAX(4, bw) * MAX(4, bh)) >> shift;
+ w >>= 1;
+ h >>= 1;
+ }
+
+ if (num_job_threads > 0) {
+ PoolVector<Thread *> threads;
+ threads.resize(num_job_threads);
+
+ PoolVector<Thread *>::Write threads_wb = threads.write();
+
+ PoolVector<CVTTCompressionRowTask>::Read tasks_rb = tasks.read();
+
+ job_queue.job_tasks = &tasks_rb[0];
+ job_queue.current_task = 0;
+ job_queue.num_tasks = static_cast<uint32_t>(tasks.size());
+
+ for (int i = 0; i < num_job_threads; i++) {
+ threads_wb[i] = Thread::create(_digest_job_queue, &job_queue);
+ }
+ _digest_job_queue(&job_queue);
+
+ for (int i = 0; i < num_job_threads; i++) {
+ Thread::wait_to_finish(threads_wb[i]);
+ memdelete(threads_wb[i]);
+ }
+ }
+
+ p_image->create(p_image->get_width(), p_image->get_height(), p_image->has_mipmaps(), target_format, data);
+}
+
+void image_decompress_cvtt(Image *p_image) {
+
+ Image::Format target_format;
+ bool is_signed = false;
+ bool is_hdr = false;
+
+ Image::Format input_format = p_image->get_format();
+
+ switch (input_format) {
+ case Image::FORMAT_BPTC_RGBA:
+ target_format = Image::FORMAT_RGBA8;
+ break;
+ case Image::FORMAT_BPTC_RGBF:
+ case Image::FORMAT_BPTC_RGBFU:
+ target_format = Image::FORMAT_RGBH;
+ is_signed = (input_format == Image::FORMAT_BPTC_RGBF);
+ is_hdr = true;
+ break;
+ default:
+ return; // Invalid input format
+ };
+
+ int w = p_image->get_width();
+ int h = p_image->get_height();
+
+ PoolVector<uint8_t>::Read rb = p_image->get_data().read();
+
+ PoolVector<uint8_t> data;
+ int target_size = Image::get_image_data_size(w, h, target_format, p_image->has_mipmaps());
+ int mm_count = p_image->get_mipmap_count();
+ data.resize(target_size);
+ int shift = Image::get_format_pixel_rshift(target_format);
+
+ PoolVector<uint8_t>::Write wb = data.write();
+
+ int bytes_per_pixel = is_hdr ? 6 : 4;
+
+ int dst_ofs = 0;
+
+ for (int i = 0; i <= mm_count; i++) {
+
+ int src_ofs = p_image->get_mipmap_offset(i);
+
+ const uint8_t *in_bytes = &rb[src_ofs];
+ uint8_t *out_bytes = &wb[dst_ofs];
+
+ cvtt::PixelBlockU8 output_blocks_ldr[cvtt::NumParallelBlocks];
+ cvtt::PixelBlockF16 output_blocks_hdr[cvtt::NumParallelBlocks];
+
+ for (int y_start = 0; y_start < h; y_start += 4) {
+ int y_end = y_start + 4;
+
+ for (int x_start = 0; x_start < w; x_start += 4 * cvtt::NumParallelBlocks) {
+ int x_end = x_start + 4 * cvtt::NumParallelBlocks;
+
+ uint8_t input_blocks[16 * cvtt::NumParallelBlocks];
+ memset(input_blocks, 0, sizeof(input_blocks));
+
+ int num_real_blocks = ((w - x_start) + 3) / 4;
+ if (num_real_blocks > cvtt::NumParallelBlocks) {
+ num_real_blocks = cvtt::NumParallelBlocks;
+ }
+
+ memcpy(input_blocks, in_bytes, 16 * num_real_blocks);
+ in_bytes += 16 * num_real_blocks;
+
+ if (is_hdr) {
+ if (is_signed) {
+ cvtt::Kernels::DecodeBC6HS(output_blocks_hdr, input_blocks);
+ } else {
+ cvtt::Kernels::DecodeBC6HU(output_blocks_hdr, input_blocks);
+ }
+ } else {
+ cvtt::Kernels::DecodeBC7(output_blocks_ldr, input_blocks);
+ }
+
+ for (int y = y_start; y < y_end; y++) {
+ int first_input_element = (y - y_start) * 4;
+ uint8_t *row_start;
+ if (y >= h) {
+ row_start = out_bytes + (h - 1) * (w * bytes_per_pixel);
+ } else {
+ row_start = out_bytes + y * (w * bytes_per_pixel);
+ }
+
+ for (int x = x_start; x < x_end; x++) {
+ uint8_t *pixel_start;
+ if (x >= w) {
+ pixel_start = row_start + (w - 1) * bytes_per_pixel;
+ } else {
+ pixel_start = row_start + x * bytes_per_pixel;
+ }
+
+ int block_index = (x - x_start) / 4;
+ int block_element = (x - x_start) % 4 + first_input_element;
+ if (is_hdr) {
+ memcpy(pixel_start, output_blocks_hdr[block_index].m_pixels[block_element], bytes_per_pixel);
+ } else {
+ memcpy(pixel_start, output_blocks_ldr[block_index].m_pixels[block_element], bytes_per_pixel);
+ }
+ }
+ }
+ }
+ }
+
+ dst_ofs += w * h * bytes_per_pixel;
+ w >>= 1;
+ h >>= 1;
+ }
+
+ rb = PoolVector<uint8_t>::Read();
+ wb = PoolVector<uint8_t>::Write();
+
+ p_image->create(p_image->get_width(), p_image->get_height(), p_image->has_mipmaps(), target_format, data);
+}
diff --git a/modules/cvtt/image_compress_cvtt.h b/modules/cvtt/image_compress_cvtt.h
new file mode 100644
index 0000000000..0e18b247e5
--- /dev/null
+++ b/modules/cvtt/image_compress_cvtt.h
@@ -0,0 +1,39 @@
+/*************************************************************************/
+/* image_compress_cvtt.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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 IMAGE_COMPRESS_CVTT_H
+#define IMAGE_COMPRESS_CVTT_H
+
+#include "image.h"
+
+void image_compress_cvtt(Image *p_image, float p_lossy_quality, Image::CompressSource p_source);
+void image_decompress_cvtt(Image *p_image);
+
+#endif // IMAGE_COMPRESS_CVTT_H
diff --git a/modules/cvtt/register_types.cpp b/modules/cvtt/register_types.cpp
new file mode 100644
index 0000000000..c96fbbf340
--- /dev/null
+++ b/modules/cvtt/register_types.cpp
@@ -0,0 +1,45 @@
+/*************************************************************************/
+/* register_types.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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 "register_types.h"
+
+#ifdef TOOLS_ENABLED
+
+#include "image_compress_cvtt.h"
+
+void register_cvtt_types() {
+
+ Image::set_compress_bptc_func(image_compress_cvtt);
+ Image::_image_decompress_bptc = image_decompress_cvtt;
+}
+
+void unregister_cvtt_types() {}
+
+#endif
diff --git a/modules/cvtt/register_types.h b/modules/cvtt/register_types.h
new file mode 100644
index 0000000000..73de9728d3
--- /dev/null
+++ b/modules/cvtt/register_types.h
@@ -0,0 +1,34 @@
+/*************************************************************************/
+/* register_types.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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. */
+/*************************************************************************/
+
+#ifdef TOOLS_ENABLED
+void register_cvtt_types();
+void unregister_cvtt_types();
+#endif
diff --git a/modules/dds/texture_loader_dds.cpp b/modules/dds/texture_loader_dds.cpp
index 9424080b6d..3cb24d0407 100644
--- a/modules/dds/texture_loader_dds.cpp
+++ b/modules/dds/texture_loader_dds.cpp
@@ -217,8 +217,6 @@ RES ResourceFormatDDS::load(const String &p_path, const String &p_original_path,
if (!(flags & DDSD_MIPMAPCOUNT))
mipmaps = 1;
- //print_line("found format: "+String(dds_format_info[dds_format].name));
-
PoolVector<uint8_t> src_data;
const DDSFormatInfo &info = dds_format_info[dds_format];
diff --git a/modules/etc/image_etc.cpp b/modules/etc/image_etc.cpp
index ddfa7af771..f5c817c816 100644
--- a/modules/etc/image_etc.cpp
+++ b/modules/etc/image_etc.cpp
@@ -199,7 +199,7 @@ static void _compress_etc(Image *p_img, float p_lossy_quality, bool force_etc1_f
int wofs = 0;
- print_line("begin encoding, format: " + Image::get_format_name(etc_format));
+ print_verbose("ETC: Begin encoding, format: " + Image::get_format_name(etc_format));
uint64_t t = OS::get_singleton()->get_ticks_msec();
for (int i = 0; i < mmc; i++) {
// convert source image to internal etc2comp format (which is equivalent to Image::FORMAT_RGBAF)
@@ -227,7 +227,7 @@ static void _compress_etc(Image *p_img, float p_lossy_quality, bool force_etc1_f
delete[] src_rgba_f;
}
- print_line("time encoding: " + rtos(OS::get_singleton()->get_ticks_msec() - t));
+ print_verbose("ETC: Time encoding: " + rtos(OS::get_singleton()->get_ticks_msec() - t));
p_img->create(imgw, imgh, p_img->has_mipmaps(), etc_format, dst_data);
}
diff --git a/modules/gdnative/doc_classes/NativeScript.xml b/modules/gdnative/doc_classes/NativeScript.xml
index 1d3053244b..37d5b79e7a 100644
--- a/modules/gdnative/doc_classes/NativeScript.xml
+++ b/modules/gdnative/doc_classes/NativeScript.xml
@@ -57,6 +57,10 @@
</member>
<member name="library" type="GDNativeLibrary" setter="set_library" getter="get_library">
</member>
+ <member name="script_class_icon_path" type="String" setter="set_script_class_icon_path" getter="get_script_class_icon_path">
+ </member>
+ <member name="script_class_name" type="String" setter="set_script_class_name" getter="get_script_class_name">
+ </member>
</members>
<constants>
</constants>
diff --git a/modules/gdnative/gdnative_api.json b/modules/gdnative/gdnative_api.json
index 217fd87c3e..e326d11a84 100644
--- a/modules/gdnative/gdnative_api.json
+++ b/modules/gdnative/gdnative_api.json
@@ -5876,6 +5876,14 @@
["int", "p_idx"],
["godot_object *", "p_object"]
]
+ },
+ {
+ "name": "godot_nativescript_profiling_add_data",
+ "return_type": "void",
+ "arguments": [
+ ["const char *", "p_signature"],
+ ["uint64_t", "p_line"]
+ ]
}
]
},
diff --git a/modules/gdnative/include/nativescript/godot_nativescript.h b/modules/gdnative/include/nativescript/godot_nativescript.h
index f28ba352ab..29bd9eec5a 100644
--- a/modules/gdnative/include/nativescript/godot_nativescript.h
+++ b/modules/gdnative/include/nativescript/godot_nativescript.h
@@ -68,6 +68,7 @@ typedef enum {
GODOT_PROPERTY_HINT_GLOBAL_DIR, ///< a directort path must be passed
GODOT_PROPERTY_HINT_RESOURCE_TYPE, ///< a resource object type
GODOT_PROPERTY_HINT_MULTILINE_TEXT, ///< used for string properties that can contain multiple lines
+ GODOT_PROPERTY_HINT_PLACEHOLDER_TEXT, ///< used to set a placeholder text for string properties
GODOT_PROPERTY_HINT_COLOR_NO_ALPHA, ///< used for ignoring alpha component when editing a color
GODOT_PROPERTY_HINT_IMAGE_COMPRESS_LOSSY,
GODOT_PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS,
@@ -237,6 +238,8 @@ void GDAPI godot_nativescript_unregister_instance_binding_data_functions(int p_i
void GDAPI *godot_nativescript_get_instance_binding_data(int p_idx, godot_object *p_object);
+void GDAPI godot_nativescript_profiling_add_data(const char *p_signature, uint64_t p_time);
+
#ifdef __cplusplus
}
#endif
diff --git a/modules/gdnative/nativescript/godot_nativescript.cpp b/modules/gdnative/nativescript/godot_nativescript.cpp
index ace2ecac5c..72606c8340 100644
--- a/modules/gdnative/nativescript/godot_nativescript.cpp
+++ b/modules/gdnative/nativescript/godot_nativescript.cpp
@@ -365,6 +365,10 @@ void GDAPI *godot_nativescript_get_instance_binding_data(int p_idx, godot_object
return NativeScriptLanguage::get_singleton()->get_instance_binding_data(p_idx, (Object *)p_object);
}
+void GDAPI godot_nativescript_profiling_add_data(const char *p_signature, uint64_t p_time) {
+ NativeScriptLanguage::get_singleton()->profiling_add_data(StringName(p_signature), p_time);
+}
+
#ifdef __cplusplus
}
#endif
diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp
index 24264c4256..608c7aa4a5 100644
--- a/modules/gdnative/nativescript/nativescript.cpp
+++ b/modules/gdnative/nativescript/nativescript.cpp
@@ -1010,6 +1010,10 @@ NativeScriptLanguage::NativeScriptLanguage() {
has_objects_to_register = false;
mutex = Mutex::create();
#endif
+
+#ifdef DEBUG_ENABLED
+ profiling = false;
+#endif
}
NativeScriptLanguage::~NativeScriptLanguage() {
@@ -1152,17 +1156,105 @@ void NativeScriptLanguage::get_public_constants(List<Pair<String, Variant> > *p_
}
void NativeScriptLanguage::profiling_start() {
+#ifdef DEBUG_ENABLED
+#ifndef NO_THREADS
+ MutexLock lock(mutex);
+#endif
+
+ profile_data.clear();
+ profiling = true;
+#endif
}
void NativeScriptLanguage::profiling_stop() {
+#ifdef DEBUG_ENABLED
+#ifndef NO_THREADS
+ MutexLock lock(mutex);
+#endif
+
+ profiling = false;
+#endif
}
int NativeScriptLanguage::profiling_get_accumulated_data(ProfilingInfo *p_info_arr, int p_info_max) {
+#ifdef DEBUG_ENABLED
+#ifndef NO_THREADS
+ MutexLock lock(mutex);
+#endif
+ int current = 0;
+
+ for (Map<StringName, ProfileData>::Element *d = profile_data.front(); d; d = d->next()) {
+ if (current >= p_info_max)
+ break;
+
+ p_info_arr[current].call_count = d->get().call_count;
+ p_info_arr[current].self_time = d->get().self_time;
+ p_info_arr[current].total_time = d->get().total_time;
+ p_info_arr[current].signature = d->get().signature;
+ current++;
+ }
+
+ return current;
+#else
return 0;
+#endif
}
int NativeScriptLanguage::profiling_get_frame_data(ProfilingInfo *p_info_arr, int p_info_max) {
+#ifdef DEBUG_ENABLED
+#ifndef NO_THREADS
+ MutexLock lock(mutex);
+#endif
+ int current = 0;
+
+ for (Map<StringName, ProfileData>::Element *d = profile_data.front(); d; d = d->next()) {
+ if (current >= p_info_max)
+ break;
+
+ if (d->get().last_frame_call_count) {
+ p_info_arr[current].call_count = d->get().last_frame_call_count;
+ p_info_arr[current].self_time = d->get().last_frame_self_time;
+ p_info_arr[current].total_time = d->get().last_frame_total_time;
+ p_info_arr[current].signature = d->get().signature;
+ current++;
+ }
+ }
+
+ return current;
+#else
return 0;
+#endif
+}
+
+void NativeScriptLanguage::profiling_add_data(StringName p_signature, uint64_t p_time) {
+#ifdef DEBUG_ENABLED
+#ifndef NO_THREADS
+ MutexLock lock(mutex);
+#endif
+
+ Map<StringName, ProfileData>::Element *d = profile_data.find(p_signature);
+ if (d) {
+ d->get().call_count += 1;
+ d->get().total_time += p_time;
+ d->get().frame_call_count += 1;
+ d->get().frame_total_time += p_time;
+ } else {
+ ProfileData data;
+
+ data.signature = p_signature;
+ data.call_count = 1;
+ data.self_time = 0;
+ data.total_time = p_time;
+ data.frame_call_count = 1;
+ data.frame_self_time = 0;
+ data.frame_total_time = p_time;
+ data.last_frame_call_count = 0;
+ data.last_frame_self_time = 0;
+ data.last_frame_total_time = 0;
+
+ profile_data.insert(p_signature, data);
+ }
+#endif
}
int NativeScriptLanguage::register_binding_functions(godot_instance_binding_functions p_binding_functions) {
@@ -1405,6 +1497,24 @@ void NativeScriptLanguage::frame() {
has_objects_to_register = false;
}
#endif
+
+#ifdef DEBUG_ENABLED
+ {
+#ifndef NO_THREADS
+ MutexLock lock(mutex);
+#endif
+
+ for (Map<StringName, ProfileData>::Element *d = profile_data.front(); d; d = d->next()) {
+ d->get().last_frame_call_count = d->get().frame_call_count;
+ d->get().last_frame_self_time = d->get().frame_self_time;
+ d->get().last_frame_total_time = d->get().frame_total_time;
+ d->get().frame_call_count = 0;
+ d->get().frame_self_time = 0;
+ d->get().frame_total_time = 0;
+ }
+ }
+#endif
+
call_libraries_cb(_frame_call_name);
}
diff --git a/modules/gdnative/nativescript/nativescript.h b/modules/gdnative/nativescript/nativescript.h
index c1f11646b0..6f18e2db27 100644
--- a/modules/gdnative/nativescript/nativescript.h
+++ b/modules/gdnative/nativescript/nativescript.h
@@ -254,6 +254,22 @@ private:
Map<int, HashMap<StringName, const void *> > global_type_tags;
+ struct ProfileData {
+ StringName signature;
+ uint64_t call_count;
+ uint64_t self_time;
+ uint64_t total_time;
+ uint64_t frame_call_count;
+ uint64_t frame_self_time;
+ uint64_t frame_total_time;
+ uint64_t last_frame_call_count;
+ uint64_t last_frame_self_time;
+ uint64_t last_frame_total_time;
+ };
+
+ Map<StringName, ProfileData> profile_data;
+ bool profiling;
+
public:
// These two maps must only be touched on the main thread
Map<String, Map<StringName, NativeScriptDesc> > library_classes;
@@ -343,6 +359,8 @@ public:
virtual bool handles_global_class_type(const String &p_type) const;
virtual String get_global_class_name(const String &p_path, String *r_base_type, String *r_icon_path) const;
+
+ void profiling_add_data(StringName p_signature, uint64_t p_time);
};
inline NativeScriptDesc *NativeScript::get_script_desc() const {
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp
index b987d2897f..e05bc7d591 100644
--- a/modules/gdscript/gdscript.cpp
+++ b/modules/gdscript/gdscript.cpp
@@ -294,11 +294,6 @@ bool GDScript::get_property_default_value(const StringName &p_property, Variant
#ifdef TOOLS_ENABLED
- /*
- for (const Map<StringName,Variant>::Element *I=member_default_values.front();I;I=I->next()) {
- print_line("\t"+String(String(I->key())+":"+String(I->get())));
- }
- */
const Map<StringName, Variant>::Element *E = member_default_values_cache.find(p_property);
if (E) {
r_value = E->get();
@@ -335,17 +330,8 @@ ScriptInstance *GDScript::instance_create(Object *p_this) {
PlaceHolderScriptInstance *GDScript::placeholder_instance_create(Object *p_this) {
#ifdef TOOLS_ENABLED
-
- //instance a fake script for editing the values
- //plist.invert();
-
- /*print_line("CREATING PLACEHOLDER");
- for(List<PropertyInfo>::Element *E=plist.front();E;E=E->next()) {
- print_line(E->get().name);
- }*/
PlaceHolderScriptInstance *si = memnew(PlaceHolderScriptInstance(GDScriptLanguage::get_singleton(), Ref<Script>(this), p_this));
placeholders.insert(si);
- //_update_placeholder(si);
_update_exports();
return si;
#else
@@ -409,7 +395,6 @@ bool GDScript::_update_exports() {
bool changed = false;
if (source_changed_cache) {
- //print_line("updating source for "+get_path());
source_changed_cache = false;
changed = true;
@@ -456,11 +441,8 @@ bool GDScript::_update_exports() {
if (bf.is_valid()) {
- //print_line("parent is: "+bf->get_path());
base_cache = bf;
bf->inheriters_cache.insert(get_instance_id());
-
- //bf->_update_exports(p_instances,true,false);
}
} else {
ERR_PRINT(("Path extending itself in " + path).utf8().get_data());
@@ -475,7 +457,6 @@ bool GDScript::_update_exports() {
continue;
members_cache.push_back(c->variables[i]._export);
- //print_line("found "+c->variables[i]._export.name);
member_default_values_cache[c->variables[i].identifier] = c->variables[i].default_value;
}
@@ -490,7 +471,6 @@ bool GDScript::_update_exports() {
}
}
} else {
- //print_line("unchanged is "+get_path());
}
if (base_cache.is_valid()) {
@@ -499,11 +479,9 @@ bool GDScript::_update_exports() {
}
}
- if (/*changed &&*/ placeholders.size()) { //hm :(
+ if (placeholders.size()) { //hm :(
- //print_line("updating placeholders for "+get_path());
-
- //update placeholders if any
+ // update placeholders if any
Map<StringName, Variant> values;
List<PropertyInfo> propnames;
_update_exports_values(values, propnames);
@@ -529,7 +507,6 @@ void GDScript::update_exports() {
Set<ObjectID> copy = inheriters_cache; //might get modified
- //print_line("update exports for "+get_path()+" ic: "+itos(copy.size()));
for (Set<ObjectID>::Element *E = copy.front(); E; E = E->next()) {
Object *id = ObjectDB::get_instance(E->get());
GDScript *s = Object::cast_to<GDScript>(id);
@@ -606,9 +583,11 @@ Error GDScript::reload(bool p_keep_state) {
}
#if DEBUG_ENABLED
for (const List<GDScriptWarning>::Element *E = parser.get_warnings().front(); E; E = E->next()) {
- String msg = "Script warning: " + E->get().get_name() + " (" + path + ") line " + itos(E->get().line) + ": ";
- msg += E->get().get_message();
- WARN_PRINTS(msg);
+ const GDScriptWarning &warning = E->get();
+ if (ScriptDebugger::get_singleton()) {
+ Vector<ScriptLanguage::StackInfo> si;
+ ScriptDebugger::get_singleton()->send_error("", get_path(), warning.line, warning.get_name(), warning.get_message(), ERR_HANDLER_WARNING, si);
+ }
}
#endif
@@ -823,7 +802,6 @@ Error GDScript::load_source_code(const String &p_path) {
#ifdef TOOLS_ENABLED
source_changed_cache = true;
#endif
- //print_line("LSC :"+get_path());
path = p_path;
return OK;
}
@@ -1505,7 +1483,6 @@ int GDScriptLanguage::profiling_get_frame_data(ProfilingInfo *p_info_arr, int p_
p_info_arr[current].self_time = elem->self()->profile.last_frame_self_time;
p_info_arr[current].total_time = elem->self()->profile.last_frame_total_time;
p_info_arr[current].signature = elem->self()->profile.signature;
- //print_line(String(elem->self()->profile.signature)+": "+itos(elem->self()->profile.last_frame_call_count));
current++;
}
elem = elem->next();
@@ -1544,7 +1521,7 @@ struct GDScriptDepSort {
void GDScriptLanguage::reload_all_scripts() {
#ifdef DEBUG_ENABLED
- print_line("RELOAD ALL SCRIPTS");
+ print_verbose("GDScript: Reloading all scripts");
if (lock) {
lock->lock();
}
@@ -1554,7 +1531,7 @@ void GDScriptLanguage::reload_all_scripts() {
SelfList<GDScript> *elem = script_list.first();
while (elem) {
if (elem->self()->get_path().is_resource_file()) {
- print_line("FOUND: " + elem->self()->get_path());
+ print_verbose("GDScript: Found: " + elem->self()->get_path());
scripts.push_back(Ref<GDScript>(elem->self())); //cast to gdscript to avoid being erased by accident
}
elem = elem->next();
@@ -1570,7 +1547,7 @@ void GDScriptLanguage::reload_all_scripts() {
for (List<Ref<GDScript> >::Element *E = scripts.front(); E; E = E->next()) {
- print_line("RELOADING: " + E->get()->get_path());
+ print_verbose("GDScript: Reloading: " + E->get()->get_path());
E->get()->load_source_code(E->get()->get_path());
E->get()->reload(true);
}
@@ -1701,7 +1678,6 @@ void GDScriptLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_so
void GDScriptLanguage::frame() {
- //print_line("calls: "+itos(calls));
calls = 0;
#ifdef DEBUG_ENABLED
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp
index fe393957db..1403184557 100644
--- a/modules/gdscript/gdscript_compiler.cpp
+++ b/modules/gdscript/gdscript_compiler.cpp
@@ -1009,8 +1009,6 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
return prev_pos;
int retval = prev_pos;
- //print_line("retval: "+itos(retval));
-
if (retval & GDScriptFunction::ADDR_TYPE_STACK << GDScriptFunction::ADDR_BITS) {
slevel++;
codegen.alloc_stack(slevel);
@@ -1994,8 +1992,11 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner
p_script->_signals[name] = p_class->_signals[i].arguments;
}
- if (!p_class->owner) {
+ if (p_class->owner) {
parsed_classes.insert(p_class->name);
+ if (parsing_classes.has(p_class->name)) {
+ parsing_classes.erase(p_class->name);
+ }
}
//parse sub-classes
@@ -2011,7 +2012,6 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner
Error err = _parse_class_level(subclass.ptr(), p_script, p_class->subclasses[i], p_keep_state);
if (err)
return err;
- parsing_classes.erase(name);
}
#ifdef TOOLS_ENABLED
@@ -2071,8 +2071,6 @@ Error GDScriptCompiler::_parse_class_blocks(GDScript *p_script, const GDScriptPa
//validate instances if keeping state
if (p_keep_state) {
-
- print_line("RELOAD KEEP " + p_script->path);
for (Set<Object *>::Element *E = p_script->instances.front(); E;) {
Set<Object *>::Element *N = E->next();
diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp
index abd56d2757..30400f01e9 100644
--- a/modules/gdscript/gdscript_editor.cpp
+++ b/modules/gdscript/gdscript_editor.cpp
@@ -46,12 +46,12 @@
void GDScriptLanguage::get_comment_delimiters(List<String> *p_delimiters) const {
p_delimiters->push_back("#");
- p_delimiters->push_back("\"\"\" \"\"\"");
}
void GDScriptLanguage::get_string_delimiters(List<String> *p_delimiters) const {
p_delimiters->push_back("\" \"");
p_delimiters->push_back("' '");
+ p_delimiters->push_back("\"\"\" \"\"\"");
}
Ref<Script> GDScriptLanguage::get_template(const String &p_class_name, const String &p_base_class_name) const {
#ifdef TOOLS_ENABLED
@@ -192,7 +192,6 @@ int GDScriptLanguage::find_function(const String &p_function, const String &p_co
if (tokenizer.get_token() == GDScriptTokenizer::TK_NEWLINE) {
indent = tokenizer.get_token_line_indent();
}
- //print_line("TOKEN: "+String(GDScriptTokenizer::get_token_name(tokenizer.get_token())));
if (indent == 0 && tokenizer.get_token() == GDScriptTokenizer::TK_PR_FUNCTION && tokenizer.get_token(1) == GDScriptTokenizer::TK_IDENTIFIER) {
String identifier = tokenizer.get_token_identifier(1);
@@ -201,7 +200,6 @@ int GDScriptLanguage::find_function(const String &p_function, const String &p_co
}
}
tokenizer.advance();
- //print_line("NEXT: "+String(GDScriptTokenizer::get_token_name(tokenizer.get_token())));
}
return -1;
}
@@ -2930,7 +2928,6 @@ void GDScriptLanguage::auto_indent_code(String &p_code, int p_from_line, int p_t
break;
}
- //print_line(itos(indent_stack.size())+","+itos(tc)+": "+l);
lines.write[i] = l;
}
diff --git a/modules/gdscript/gdscript_functions.cpp b/modules/gdscript/gdscript_functions.cpp
index f2e52d48dd..d9c20868bd 100644
--- a/modules/gdscript/gdscript_functions.cpp
+++ b/modules/gdscript/gdscript_functions.cpp
@@ -642,7 +642,6 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
str += p_args[i]->operator String();
}
- //str+="\n";
print_line(str);
r_ret = Variant();
@@ -657,7 +656,6 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
str += p_args[i]->operator String();
}
- //str+="\n";
print_line(str);
r_ret = Variant();
@@ -672,7 +670,6 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
str += p_args[i]->operator String();
}
- //str+="\n";
print_line(str);
r_ret = Variant();
@@ -686,7 +683,6 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
str += p_args[i]->operator String();
}
- //str+="\n";
print_error(str);
r_ret = Variant();
@@ -698,7 +694,6 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
str += p_args[i]->operator String();
}
- //str+="\n";
OS::get_singleton()->print("%s", str.utf8().get_data());
r_ret = Variant();
@@ -716,7 +711,6 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
str += "At: " + script->debug_get_stack_level_source(0) + ":" + itos(script->debug_get_stack_level_line(0)); // + " in function '" + script->debug_get_stack_level_function(0) + "'";
}
- //str+="\n";
print_line(str);
r_ret = Variant();
} break;
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp
index bec314866d..a3f5e1819e 100644
--- a/modules/gdscript/gdscript_parser.cpp
+++ b/modules/gdscript/gdscript_parser.cpp
@@ -1074,9 +1074,6 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
} else {
//find list [ or find dictionary {
-
- //print_line("found bug?");
-
_set_error("Error parsing expression, misplaced: " + String(tokenizer->get_token_name(tokenizer->get_token())));
return NULL; //nothing
}
@@ -2024,12 +2021,20 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
// bind
case GDScriptTokenizer::TK_PR_VAR: {
tokenizer->advance();
+ if (!tokenizer->is_token_literal()) {
+ _set_error("Expected identifier for binding variable name.");
+ return NULL;
+ }
pattern->pt_type = GDScriptParser::PatternNode::PT_BIND;
pattern->bind = tokenizer->get_token_identifier();
- // Check if binding is already used
- if (current_block->variables.has(pattern->bind)) {
- _set_error("Binding name of '" + pattern->bind.operator String() + "' was already used in the pattern.");
- return NULL;
+ // Check if variable name is already used
+ BlockNode *bl = current_block;
+ while (bl) {
+ if (bl->variables.has(pattern->bind)) {
+ _set_error("Binding name of '" + pattern->bind.operator String() + "' is already declared in this scope.");
+ return NULL;
+ }
+ bl = bl->parent_block;
}
// Create local variable for proper identifier detection later
LocalVarNode *lv = alloc_node<LocalVarNode>();
@@ -7389,7 +7394,7 @@ void GDScriptParser::_check_function_types(FunctionNode *p_function) {
}
}
#ifdef DEBUG_ENABLED
- if (p_function->arguments_usage[i] == 0) {
+ if (p_function->arguments_usage[i] == 0 && !p_function->arguments[i].operator String().begins_with("_")) {
_add_warning(GDScriptWarning::UNUSED_ARGUMENT, p_function->line, p_function->name, p_function->arguments[i].operator String());
}
#endif // DEBUG_ENABLED
@@ -7847,10 +7852,12 @@ void GDScriptParser::_check_block_types(BlockNode *p_block) {
// Warnings check
for (Map<StringName, LocalVarNode *>::Element *E = p_block->variables.front(); E; E = E->next()) {
LocalVarNode *lv = E->get();
- if (lv->usages == 0) {
- _add_warning(GDScriptWarning::UNUSED_VARIABLE, lv->line, lv->name);
- } else if (lv->assignments == 0) {
- _add_warning(GDScriptWarning::UNASSIGNED_VARIABLE, lv->line, lv->name);
+ if (!lv->name.operator String().begins_with("_")) {
+ if (lv->usages == 0) {
+ _add_warning(GDScriptWarning::UNUSED_VARIABLE, lv->line, lv->name);
+ } else if (lv->assignments == 0) {
+ _add_warning(GDScriptWarning::UNASSIGNED_VARIABLE, lv->line, lv->name);
+ }
}
}
#endif // DEBUG_ENABLED
diff --git a/modules/gdscript/gdscript_tokenizer.cpp b/modules/gdscript/gdscript_tokenizer.cpp
index 537a0c5eaf..6e7842f190 100644
--- a/modules/gdscript/gdscript_tokenizer.cpp
+++ b/modules/gdscript/gdscript_tokenizer.cpp
@@ -937,7 +937,6 @@ void GDScriptTokenizerText::_advance() {
_make_constant(val);
} else if (period_found || exponent_found) {
double val = str.to_double();
- //print_line("*%*%*%*% to convert: "+str+" result: "+rtos(val));
_make_constant(val);
} else {
int64_t val = str.to_int64();
diff --git a/modules/gdscript/gdscript_tokenizer.h b/modules/gdscript/gdscript_tokenizer.h
index 28a08bfaf8..11a291cb2e 100644
--- a/modules/gdscript/gdscript_tokenizer.h
+++ b/modules/gdscript/gdscript_tokenizer.h
@@ -283,8 +283,14 @@ public:
virtual String get_token_error(int p_offset = 0) const;
virtual void advance(int p_amount = 1);
#ifdef DEBUG_ENABLED
- virtual const Vector<Pair<int, String> > &get_warning_skips() const { return Vector<Pair<int, String> >(); }
- virtual const Set<String> &get_warning_global_skips() const { return Set<String>(); }
+ virtual const Vector<Pair<int, String> > &get_warning_skips() const {
+ static Vector<Pair<int, String> > v;
+ return v;
+ }
+ virtual const Set<String> &get_warning_global_skips() const {
+ static Set<String> s;
+ return s;
+ }
virtual const bool is_ignoring_warnings() const { return true; }
#endif // DEBUG_ENABLED
GDScriptTokenizerBuffer();
diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp
index 0c5df57d49..776c18da64 100644
--- a/modules/gridmap/grid_map.cpp
+++ b/modules/gridmap/grid_map.cpp
@@ -208,21 +208,35 @@ bool GridMap::get_collision_layer_bit(int p_bit) const {
return get_collision_layer() & (1 << p_bit);
}
+#ifndef DISABLE_DEPRECATED
void GridMap::set_theme(const Ref<MeshLibrary> &p_theme) {
- if (!theme.is_null())
- theme->unregister_owner(this);
- theme = p_theme;
- if (!theme.is_null())
- theme->register_owner(this);
+ WARN_PRINTS("GridMap.theme/set_theme() is deprecated and will be removed in a future version. Use GridMap.mesh_library/set_mesh_library() instead.");
+ set_mesh_library(p_theme);
+}
+
+Ref<MeshLibrary> GridMap::get_theme() const {
+
+ WARN_PRINTS("GridMap.theme/get_theme() is deprecated and will be removed in a future version. Use GridMap.mesh_library/get_mesh_library() instead.");
+ return get_mesh_library();
+}
+#endif // DISABLE_DEPRECATED
+
+void GridMap::set_mesh_library(const Ref<MeshLibrary> &p_mesh_library) {
+
+ if (!mesh_library.is_null())
+ mesh_library->unregister_owner(this);
+ mesh_library = p_mesh_library;
+ if (!mesh_library.is_null())
+ mesh_library->register_owner(this);
_recreate_octant_data();
- _change_notify("theme");
+ _change_notify("mesh_library");
}
-Ref<MeshLibrary> GridMap::get_theme() const {
+Ref<MeshLibrary> GridMap::get_mesh_library() const {
- return theme;
+ return mesh_library;
}
void GridMap::set_cell_size(const Vector3 &p_size) {
@@ -469,11 +483,9 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
ERR_CONTINUE(!cell_map.has(E->get()));
const Cell &c = cell_map[E->get()];
- if (!theme.is_valid() || !theme->has_item(c.item))
+ if (!mesh_library.is_valid() || !mesh_library->has_item(c.item))
continue;
- //print_line("OCTANT, CELLS: "+itos(ii.cells.size()));
-
Vector3 cellpos = Vector3(E->get().x, E->get().y, E->get().z);
Vector3 ofs = _get_offset();
@@ -488,7 +500,7 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
xform.set_origin(cellpos * cell_size + ofs);
xform.basis.scale(Vector3(cell_scale, cell_scale, cell_scale));
if (baked_meshes.size() == 0) {
- if (theme->get_item_mesh(c.item).is_valid()) {
+ if (mesh_library->get_item_mesh(c.item).is_valid()) {
if (!multimesh_items.has(c.item)) {
multimesh_items[c.item] = List<Pair<Transform, IndexKey> >();
}
@@ -500,7 +512,7 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
}
}
- Vector<MeshLibrary::ShapeData> shapes = theme->get_item_shapes(c.item);
+ Vector<MeshLibrary::ShapeData> shapes = mesh_library->get_item_shapes(c.item);
// add the item's shape at given xform to octant's static_body
for (int i = 0; i < shapes.size(); i++) {
// add the item's shape
@@ -510,12 +522,10 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
if (g.collision_debug.is_valid()) {
shapes.write[i].shape->add_vertices_to_array(col_debug, xform * shapes[i].local_transform);
}
-
- //print_line("PHIS x: "+xform);
}
// add the item's navmesh at given xform to GridMap's Navigation ancestor
- Ref<NavigationMesh> navmesh = theme->get_item_navmesh(c.item);
+ Ref<NavigationMesh> navmesh = mesh_library->get_item_navmesh(c.item);
if (navmesh.is_valid()) {
Octant::NavMesh nm;
nm.xform = xform;
@@ -537,7 +547,7 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
RID mm = VS::get_singleton()->multimesh_create();
VS::get_singleton()->multimesh_allocate(mm, E->get().size(), VS::MULTIMESH_TRANSFORM_3D, VS::MULTIMESH_COLOR_NONE);
- VS::get_singleton()->multimesh_set_mesh(mm, theme->get_item_mesh(E->key())->get_rid());
+ VS::get_singleton()->multimesh_set_mesh(mm, mesh_library->get_item_mesh(E->key())->get_rid());
int idx = 0;
for (List<Pair<Transform, IndexKey> >::Element *F = E->get().front(); F; F = F->next()) {
@@ -600,7 +610,6 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) {
Octant &g = *octant_map[p_key];
PhysicsServer::get_singleton()->body_set_state(g.static_body, PhysicsServer::BODY_STATE_TRANSFORM, get_global_transform());
PhysicsServer::get_singleton()->body_set_space(g.static_body, get_world()->get_space());
- //print_line("BODYPOS: "+get_global_transform());
if (g.collision_debug_instance.is_valid()) {
VS::get_singleton()->instance_set_scenario(g.collision_debug_instance, get_world()->get_scenario());
@@ -612,11 +621,11 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) {
VS::get_singleton()->instance_set_transform(g.multimesh_instances[i].instance, get_global_transform());
}
- if (navigation && theme.is_valid()) {
+ if (navigation && mesh_library.is_valid()) {
for (Map<IndexKey, Octant::NavMesh>::Element *F = g.navmesh_ids.front(); F; F = F->next()) {
if (cell_map.has(F->key()) && F->get().id < 0) {
- Ref<NavigationMesh> nm = theme->get_item_navmesh(cell_map[F->key()].item);
+ Ref<NavigationMesh> nm = mesh_library->get_item_navmesh(cell_map[F->key()].item);
if (nm.is_valid()) {
F->get().id = navigation->navmesh_add(nm, F->get().xform, this);
}
@@ -846,8 +855,13 @@ void GridMap::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_collision_layer_bit", "bit", "value"), &GridMap::set_collision_layer_bit);
ClassDB::bind_method(D_METHOD("get_collision_layer_bit", "bit"), &GridMap::get_collision_layer_bit);
+#ifndef DISABLE_DEPRECATED
ClassDB::bind_method(D_METHOD("set_theme", "theme"), &GridMap::set_theme);
ClassDB::bind_method(D_METHOD("get_theme"), &GridMap::get_theme);
+#endif // DISABLE_DEPRECATED
+
+ ClassDB::bind_method(D_METHOD("set_mesh_library", "mesh_library"), &GridMap::set_mesh_library);
+ ClassDB::bind_method(D_METHOD("get_mesh_library"), &GridMap::get_mesh_library);
ClassDB::bind_method(D_METHOD("set_cell_size", "size"), &GridMap::set_cell_size);
ClassDB::bind_method(D_METHOD("get_cell_size"), &GridMap::get_cell_size);
@@ -865,7 +879,6 @@ void GridMap::_bind_methods() {
ClassDB::bind_method(D_METHOD("world_to_map", "pos"), &GridMap::world_to_map);
ClassDB::bind_method(D_METHOD("map_to_world", "x", "y", "z"), &GridMap::map_to_world);
- //ClassDB::bind_method(D_METHOD("_recreate_octants"),&GridMap::_recreate_octants);
ClassDB::bind_method(D_METHOD("_update_octants_callback"), &GridMap::_update_octants_callback);
ClassDB::bind_method(D_METHOD("resource_changed", "resource"), &GridMap::resource_changed);
@@ -889,7 +902,11 @@ void GridMap::_bind_methods() {
ClassDB::bind_method(D_METHOD("clear_baked_meshes"), &GridMap::clear_baked_meshes);
ClassDB::bind_method(D_METHOD("make_baked_meshes", "gen_lightmap_uv", "lightmap_uv_texel_size"), &GridMap::make_baked_meshes, DEFVAL(false), DEFVAL(0.1));
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "theme", PROPERTY_HINT_RESOURCE_TYPE, "MeshLibrary"), "set_theme", "get_theme");
+#ifndef DISABLE_DEPRECATED
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "theme", PROPERTY_HINT_RESOURCE_TYPE, "MeshLibrary", PROPERTY_USAGE_NOEDITOR), "set_theme", "get_theme");
+#endif // DISABLE_DEPRECATED
+
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "mesh_library", PROPERTY_HINT_RESOURCE_TYPE, "MeshLibrary"), "set_mesh_library", "get_mesh_library");
ADD_GROUP("Cell", "cell_");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "cell_size"), "set_cell_size", "get_cell_size");
ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_octant_size", PROPERTY_HINT_RANGE, "1,1024,1"), "set_octant_size", "get_octant_size");
@@ -952,7 +969,7 @@ Array GridMap::get_used_cells() const {
Array GridMap::get_meshes() {
- if (theme.is_null())
+ if (mesh_library.is_null())
return Array();
Vector3 ofs = _get_offset();
@@ -961,9 +978,9 @@ Array GridMap::get_meshes() {
for (Map<IndexKey, Cell>::Element *E = cell_map.front(); E; E = E->next()) {
int id = E->get().item;
- if (!theme->has_item(id))
+ if (!mesh_library->has_item(id))
continue;
- Ref<Mesh> mesh = theme->get_item_mesh(id);
+ Ref<Mesh> mesh = mesh_library->get_item_mesh(id);
if (mesh.is_null())
continue;
@@ -1004,7 +1021,7 @@ void GridMap::clear_baked_meshes() {
void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texel_size) {
- if (!theme.is_valid())
+ if (!mesh_library.is_valid())
return;
//generate
@@ -1015,10 +1032,10 @@ void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texe
IndexKey key = E->key();
int item = E->get().item;
- if (!theme->has_item(item))
+ if (!mesh_library->has_item(item))
continue;
- Ref<Mesh> mesh = theme->get_item_mesh(item);
+ Ref<Mesh> mesh = mesh_library->get_item_mesh(item);
if (!mesh.is_valid())
continue;
@@ -1064,7 +1081,6 @@ void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texe
for (Map<OctantKey, Map<Ref<Material>, Ref<SurfaceTool> > >::Element *E = surface_map.front(); E; E = E->next()) {
- print_line("generating mesh " + itos(ofs++) + "/" + itos(surface_map.size()));
Ref<ArrayMesh> mesh;
mesh.instance();
for (Map<Ref<Material>, Ref<SurfaceTool> >::Element *F = E->get().front(); F; F = F->next()) {
@@ -1137,8 +1153,8 @@ GridMap::GridMap() {
GridMap::~GridMap() {
- if (!theme.is_null())
- theme->unregister_owner(this);
+ if (!mesh_library.is_null())
+ mesh_library->unregister_owner(this);
clear();
}
diff --git a/modules/gridmap/grid_map.h b/modules/gridmap/grid_map.h
index ed36751fc8..3d8be5c9c7 100644
--- a/modules/gridmap/grid_map.h
+++ b/modules/gridmap/grid_map.h
@@ -157,7 +157,7 @@ class GridMap : public Spatial {
Vector3::Axis clip_axis;
- Ref<MeshLibrary> theme;
+ Ref<MeshLibrary> mesh_library;
Map<OctantKey, Octant *> octant_map;
Map<IndexKey, Cell> cell_map;
@@ -227,8 +227,13 @@ public:
void set_collision_mask_bit(int p_bit, bool p_value);
bool get_collision_mask_bit(int p_bit) const;
+#ifndef DISABLE_DEPRECATED
void set_theme(const Ref<MeshLibrary> &p_theme);
Ref<MeshLibrary> get_theme() const;
+#endif // DISABLE_DEPRECATED
+
+ void set_mesh_library(const Ref<MeshLibrary> &p_mesh_library);
+ Ref<MeshLibrary> get_mesh_library() const;
void set_cell_size(const Vector3 &p_size);
Vector3 get_cell_size() const;
diff --git a/modules/gridmap/grid_map_editor_plugin.cpp b/modules/gridmap/grid_map_editor_plugin.cpp
index fc5972c810..90e28129cc 100644
--- a/modules/gridmap/grid_map_editor_plugin.cpp
+++ b/modules/gridmap/grid_map_editor_plugin.cpp
@@ -43,7 +43,7 @@ void GridMapEditor::_node_removed(Node *p_node) {
if (p_node == node) {
node = NULL;
hide();
- theme_pallete->hide();
+ mesh_library_palette->hide();
}
}
@@ -320,12 +320,12 @@ bool GridMapEditor::do_input_action(Camera *p_camera, const Point2 &p_point, boo
if (!spatial_editor)
return false;
- if (selected_pallete < 0 && input_action != INPUT_COPY && input_action != INPUT_SELECT && input_action != INPUT_DUPLICATE)
+ if (selected_palette < 0 && input_action != INPUT_COPY && input_action != INPUT_SELECT && input_action != INPUT_DUPLICATE)
return false;
- Ref<MeshLibrary> theme = node->get_theme();
- if (theme.is_null())
+ Ref<MeshLibrary> mesh_library = node->get_mesh_library();
+ if (mesh_library.is_null())
return false;
- if (input_action != INPUT_COPY && input_action != INPUT_SELECT && input_action != INPUT_DUPLICATE && !theme->has_item(selected_pallete))
+ if (input_action != INPUT_COPY && input_action != INPUT_SELECT && input_action != INPUT_DUPLICATE && !mesh_library->has_item(selected_palette))
return false;
Camera *camera = p_camera;
@@ -407,9 +407,9 @@ bool GridMapEditor::do_input_action(Camera *p_camera, const Point2 &p_point, boo
int item = node->get_cell_item(cell[0], cell[1], cell[2]);
if (item >= 0) {
- selected_pallete = item;
- theme_pallete->set_current(item);
- update_pallete();
+ selected_palette = item;
+ mesh_library_palette->set_current(item);
+ update_palette();
_update_cursor_instance();
}
return true;
@@ -417,12 +417,12 @@ bool GridMapEditor::do_input_action(Camera *p_camera, const Point2 &p_point, boo
if (input_action == INPUT_PAINT) {
SetItem si;
si.pos = Vector3(cell[0], cell[1], cell[2]);
- si.new_value = selected_pallete;
+ si.new_value = selected_palette;
si.new_orientation = cursor_rot;
si.old_value = node->get_cell_item(cell[0], cell[1], cell[2]);
si.old_orientation = node->get_cell_item_orientation(cell[0], cell[1], cell[2]);
set_items.push_back(si);
- node->set_cell_item(cell[0], cell[1], cell[2], selected_pallete, cursor_rot);
+ node->set_cell_item(cell[0], cell[1], cell[2], selected_palette, cursor_rot);
return true;
} else if (input_action == INPUT_ERASE) {
SetItem si;
@@ -474,7 +474,7 @@ void GridMapEditor::_fill_selection() {
for (int k = selection.begin.z; k <= selection.end.z; k++) {
- undo_redo->add_do_method(node, "set_cell_item", i, j, k, selected_pallete, cursor_rot);
+ undo_redo->add_do_method(node, "set_cell_item", i, j, k, selected_palette, cursor_rot);
undo_redo->add_undo_method(node, "set_cell_item", i, j, k, node->get_cell_item(i, j, k), node->get_cell_item_orientation(i, j, k));
}
}
@@ -712,42 +712,42 @@ void GridMapEditor::_set_display_mode(int p_mode) {
display_mode = p_mode;
- update_pallete();
+ update_palette();
}
-void GridMapEditor::update_pallete() {
- int selected = theme_pallete->get_current();
+void GridMapEditor::update_palette() {
+ int selected = mesh_library_palette->get_current();
- theme_pallete->clear();
+ mesh_library_palette->clear();
if (display_mode == DISPLAY_THUMBNAIL) {
- theme_pallete->set_max_columns(0);
- theme_pallete->set_icon_mode(ItemList::ICON_MODE_TOP);
+ mesh_library_palette->set_max_columns(0);
+ mesh_library_palette->set_icon_mode(ItemList::ICON_MODE_TOP);
} else if (display_mode == DISPLAY_LIST) {
- theme_pallete->set_max_columns(1);
- theme_pallete->set_icon_mode(ItemList::ICON_MODE_LEFT);
+ mesh_library_palette->set_max_columns(1);
+ mesh_library_palette->set_icon_mode(ItemList::ICON_MODE_LEFT);
}
float min_size = EDITOR_DEF("editors/grid_map/preview_size", 64);
- theme_pallete->set_fixed_icon_size(Size2(min_size, min_size));
- theme_pallete->set_fixed_column_width(min_size * 3 / 2);
- theme_pallete->set_max_text_lines(2);
+ mesh_library_palette->set_fixed_icon_size(Size2(min_size, min_size));
+ mesh_library_palette->set_fixed_column_width(min_size * 3 / 2);
+ mesh_library_palette->set_max_text_lines(2);
- Ref<MeshLibrary> theme = node->get_theme();
+ Ref<MeshLibrary> mesh_library = node->get_mesh_library();
- if (theme.is_null()) {
- last_theme = NULL;
+ if (mesh_library.is_null()) {
+ last_mesh_library = NULL;
return;
}
Vector<int> ids;
- ids = theme->get_item_list();
+ ids = mesh_library->get_item_list();
List<_CGMEItemSort> il;
for (int i = 0; i < ids.size(); i++) {
_CGMEItemSort is;
is.id = ids[i];
- is.name = theme->get_item_name(ids[i]);
+ is.name = mesh_library->get_item_name(ids[i]);
il.push_back(is);
}
il.sort();
@@ -757,28 +757,28 @@ void GridMapEditor::update_pallete() {
for (List<_CGMEItemSort>::Element *E = il.front(); E; E = E->next()) {
int id = E->get().id;
- theme_pallete->add_item("");
+ mesh_library_palette->add_item("");
- String name = theme->get_item_name(id);
- Ref<Texture> preview = theme->get_item_preview(id);
+ String name = mesh_library->get_item_name(id);
+ Ref<Texture> preview = mesh_library->get_item_preview(id);
if (!preview.is_null()) {
- theme_pallete->set_item_icon(item, preview);
- theme_pallete->set_item_tooltip(item, name);
+ mesh_library_palette->set_item_icon(item, preview);
+ mesh_library_palette->set_item_tooltip(item, name);
}
if (name != "") {
- theme_pallete->set_item_text(item, name);
+ mesh_library_palette->set_item_text(item, name);
}
- theme_pallete->set_item_metadata(item, id);
+ mesh_library_palette->set_item_metadata(item, id);
item++;
}
if (selected != -1) {
- theme_pallete->select(selected);
+ mesh_library_palette->select(selected);
}
- last_theme = theme.operator->();
+ last_mesh_library = mesh_library.operator->();
}
void GridMapEditor::edit(GridMap *p_gridmap) {
@@ -805,7 +805,7 @@ void GridMapEditor::edit(GridMap *p_gridmap) {
return;
}
- update_pallete();
+ update_palette();
set_process(true);
@@ -914,7 +914,7 @@ void GridMapEditor::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
- theme_pallete->connect("item_selected", this, "_item_selected_cbk");
+ mesh_library_palette->connect("item_selected", this, "_item_selected_cbk");
for (int i = 0; i < 3; i++) {
grid[i] = VS::get_singleton()->mesh_create();
@@ -959,9 +959,9 @@ void GridMapEditor::_notification(int p_what) {
}
grid_xform = xf;
}
- Ref<MeshLibrary> cgmt = node->get_theme();
- if (cgmt.operator->() != last_theme)
- update_pallete();
+ Ref<MeshLibrary> cgmt = node->get_mesh_library();
+ if (cgmt.operator->() != last_mesh_library)
+ update_palette();
if (lock_view) {
@@ -994,10 +994,10 @@ void GridMapEditor::_update_cursor_instance() {
VisualServer::get_singleton()->free(cursor_instance);
cursor_instance = RID();
- if (selected_pallete >= 0) {
+ if (selected_palette >= 0) {
- if (node && !node->get_theme().is_null()) {
- Ref<Mesh> mesh = node->get_theme()->get_item_mesh(selected_pallete);
+ if (node && !node->get_mesh_library().is_null()) {
+ Ref<Mesh> mesh = node->get_mesh_library()->get_item_mesh(selected_palette);
if (!mesh.is_null() && mesh->get_rid().is_valid()) {
cursor_instance = VisualServer::get_singleton()->instance_create2(mesh->get_rid(), get_tree()->get_root()->get_world()->get_scenario());
@@ -1008,7 +1008,7 @@ void GridMapEditor::_update_cursor_instance() {
}
void GridMapEditor::_item_selected_cbk(int idx) {
- selected_pallete = theme_pallete->get_item_metadata(idx);
+ selected_palette = mesh_library_palette->get_item_metadata(idx);
_update_cursor_instance();
}
@@ -1146,9 +1146,9 @@ GridMapEditor::GridMapEditor(EditorNode *p_editor) {
display_mode = DISPLAY_THUMBNAIL;
- theme_pallete = memnew(ItemList);
- add_child(theme_pallete);
- theme_pallete->set_v_size_flags(SIZE_EXPAND_FILL);
+ mesh_library_palette = memnew(ItemList);
+ add_child(mesh_library_palette);
+ mesh_library_palette->set_v_size_flags(SIZE_EXPAND_FILL);
edit_axis = Vector3::AXIS_Y;
edit_floor[0] = -1;
@@ -1156,7 +1156,7 @@ GridMapEditor::GridMapEditor(EditorNode *p_editor) {
edit_floor[2] = -1;
cursor_visible = false;
- selected_pallete = -1;
+ selected_palette = -1;
lock_view = false;
cursor_rot = 0;
last_mouseover = Vector3(-1, -1, -1);
@@ -1315,9 +1315,24 @@ GridMapEditor::~GridMapEditor() {
VisualServer::get_singleton()->free(duplicate_instance);
}
+void GridMapEditorPlugin::_notification(int p_what) {
+
+ if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
+
+ switch ((int)EditorSettings::get_singleton()->get("editors/grid_map/editor_side")) {
+ case 0: { // Left.
+ SpatialEditor::get_singleton()->get_palette_split()->move_child(grid_map_editor, 0);
+ } break;
+ case 1: { // Right.
+ SpatialEditor::get_singleton()->get_palette_split()->move_child(grid_map_editor, 1);
+ } break;
+ }
+ }
+}
+
void GridMapEditorPlugin::edit(Object *p_object) {
- gridmap_editor->edit(Object::cast_to<GridMap>(p_object));
+ grid_map_editor->edit(Object::cast_to<GridMap>(p_object));
}
bool GridMapEditorPlugin::handles(Object *p_object) const {
@@ -1328,29 +1343,35 @@ bool GridMapEditorPlugin::handles(Object *p_object) const {
void GridMapEditorPlugin::make_visible(bool p_visible) {
if (p_visible) {
- gridmap_editor->show();
- gridmap_editor->spatial_editor_hb->show();
- gridmap_editor->set_process(true);
+ grid_map_editor->show();
+ grid_map_editor->spatial_editor_hb->show();
+ grid_map_editor->set_process(true);
} else {
- gridmap_editor->spatial_editor_hb->hide();
- gridmap_editor->hide();
- gridmap_editor->edit(NULL);
- gridmap_editor->set_process(false);
+ grid_map_editor->spatial_editor_hb->hide();
+ grid_map_editor->hide();
+ grid_map_editor->edit(NULL);
+ grid_map_editor->set_process(false);
}
}
GridMapEditorPlugin::GridMapEditorPlugin(EditorNode *p_node) {
editor = p_node;
- gridmap_editor = memnew(GridMapEditor(editor));
- SpatialEditor::get_singleton()->get_palette_split()->add_child(gridmap_editor);
- // TODO: make this configurable, so the user can choose were to put this, it makes more sense
- // on the right, but some people might find it strange.
- SpatialEditor::get_singleton()->get_palette_split()->move_child(gridmap_editor, 1);
+ EDITOR_DEF("editors/grid_map/editor_side", 1);
+ EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "editors/grid_map/editor_side", PROPERTY_HINT_ENUM, "Left,Right"));
- gridmap_editor->hide();
+ grid_map_editor = memnew(GridMapEditor(editor));
+ switch ((int)EditorSettings::get_singleton()->get("editors/grid_map/editor_side")) {
+ case 0: { // Left.
+ add_control_to_container(CONTAINER_SPATIAL_EDITOR_SIDE_LEFT, grid_map_editor);
+ } break;
+ case 1: { // Right.
+ add_control_to_container(CONTAINER_SPATIAL_EDITOR_SIDE_RIGHT, grid_map_editor);
+ } break;
+ }
+ grid_map_editor->hide();
}
GridMapEditorPlugin::~GridMapEditorPlugin() {
diff --git a/modules/gridmap/grid_map_editor_plugin.h b/modules/gridmap/grid_map_editor_plugin.h
index 7c5feda125..663274f46e 100644
--- a/modules/gridmap/grid_map_editor_plugin.h
+++ b/modules/gridmap/grid_map_editor_plugin.h
@@ -97,7 +97,7 @@ class GridMapEditor : public VBoxContainer {
List<SetItem> set_items;
GridMap *node;
- MeshLibrary *last_theme;
+ MeshLibrary *last_mesh_library;
ClipMode clip_mode;
bool lock_view;
@@ -141,7 +141,7 @@ class GridMapEditor : public VBoxContainer {
Vector3 last_mouseover;
int display_mode;
- int selected_pallete;
+ int selected_palette;
int cursor_rot;
enum Menu {
@@ -185,9 +185,9 @@ class GridMapEditor : public VBoxContainer {
void update_grid();
void _configure();
void _menu_option(int);
- void update_pallete();
+ void update_palette();
void _set_display_mode(int p_mode);
- ItemList *theme_pallete;
+ ItemList *mesh_library_palette;
void _item_selected_cbk(int idx);
void _update_cursor_transform();
void _update_cursor_instance();
@@ -207,7 +207,6 @@ class GridMapEditor : public VBoxContainer {
bool do_input_action(Camera *p_camera, const Point2 &p_point, bool p_click);
friend class GridMapEditorPlugin;
- Panel *theme_panel;
protected:
void _notification(int p_what);
@@ -227,11 +226,14 @@ class GridMapEditorPlugin : public EditorPlugin {
GDCLASS(GridMapEditorPlugin, EditorPlugin);
- GridMapEditor *gridmap_editor;
+ GridMapEditor *grid_map_editor;
EditorNode *editor;
+protected:
+ void _notification(int p_what);
+
public:
- virtual bool forward_spatial_gui_input(Camera *p_camera, const Ref<InputEvent> &p_event) { return gridmap_editor->forward_spatial_input_event(p_camera, p_event); }
+ virtual bool forward_spatial_gui_input(Camera *p_camera, const Ref<InputEvent> &p_event) { return grid_map_editor->forward_spatial_input_event(p_camera, p_event); }
virtual String get_name() const { return "GridMap"; }
bool has_main_screen() const { return false; }
virtual void edit(Object *p_object);
diff --git a/modules/mono/config.py b/modules/mono/config.py
index c4f8dcfde8..70fd1a35f1 100644
--- a/modules/mono/config.py
+++ b/modules/mono/config.py
@@ -265,11 +265,13 @@ def pkgconfig_try_find_mono_root(mono_lib_names, sharedlib_ext):
def pkgconfig_try_find_mono_version():
+ from compat import decode_utf8
+
lines = subprocess.check_output(['pkg-config', 'monosgen-2', '--modversion']).splitlines()
greater_version = None
for line in lines:
try:
- version = LooseVersion(line)
+ version = LooseVersion(decode_utf8(line))
if greater_version is None or version > greater_version:
greater_version = version
except ValueError:
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index cd1a8266ed..b8b77924f7 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -2118,11 +2118,7 @@ Error CSharpScript::reload(bool p_keep_state) {
if (script_class) {
#ifdef DEBUG_ENABLED
- if (OS::get_singleton()->is_stdout_verbose()) {
- OS::get_singleton()->print(String("Found class " + script_class->get_namespace() + "." +
- script_class->get_name() + " for script " + get_path() + "\n")
- .utf8());
- }
+ print_verbose("Found class " + script_class->get_namespace() + "." + script_class->get_name() + " for script " + get_path());
#endif
tool = script_class->has_attribute(CACHED_CLASS(ToolAttribute));
diff --git a/modules/mono/editor/godotsharp_builds.cpp b/modules/mono/editor/godotsharp_builds.cpp
index 0fb8734410..2faab1718d 100644
--- a/modules/mono/editor/godotsharp_builds.cpp
+++ b/modules/mono/editor/godotsharp_builds.cpp
@@ -97,8 +97,7 @@ MonoString *godot_icall_BuildInstance_get_MSBuildPath() {
return GDMonoMarshal::mono_string_from_godot(msbuild_tools_path + "MSBuild.exe");
}
- if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->print("Cannot find executable for '" PROP_NAME_MSBUILD_VS "'. Trying with '" PROP_NAME_MSBUILD_MONO "'...\n");
+ print_verbose("Cannot find executable for '" PROP_NAME_MSBUILD_VS "'. Trying with '" PROP_NAME_MSBUILD_MONO "'...");
} // FALL THROUGH
case GodotSharpBuilds::MSBUILD_MONO: {
String msbuild_path = GDMono::get_singleton()->get_mono_reg_info().bin_dir.plus_file("msbuild.bat");
@@ -556,8 +555,9 @@ void GodotSharpBuilds::BuildProcess::start(bool p_blocking) {
exited = true;
exit_code = klass->get_field("exitCode")->get_int_value(mono_object);
- if (exit_code != 0 && OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->print(String("MSBuild finished with exit code " + itos(exit_code) + "\n").utf8());
+ if (exit_code != 0) {
+ print_verbose("MSBuild finished with exit code " + itos(exit_code));
+ }
build_tab->on_build_exit(exit_code == 0 ? MonoBuildTab::RESULT_SUCCESS : MonoBuildTab::RESULT_ERROR);
} else {
diff --git a/modules/mono/glue/cs_files/AABB.cs b/modules/mono/glue/cs_files/AABB.cs
index 39f2d2ed51..0df2e615f1 100644
--- a/modules/mono/glue/cs_files/AABB.cs
+++ b/modules/mono/glue/cs_files/AABB.cs
@@ -15,39 +15,33 @@ namespace Godot
{
public struct AABB : IEquatable<AABB>
{
- private Vector3 position;
- private Vector3 size;
+ private Vector3 _position;
+ private Vector3 _size;
public Vector3 Position
{
- get
- {
- return position;
- }
+ get { return _position; }
+ set { _position = value; }
}
public Vector3 Size
{
- get
- {
- return size;
- }
+ get { return _size; }
+ set { _size = value; }
}
public Vector3 End
{
- get
- {
- return position + size;
- }
+ get { return _position + _size; }
+ set { _size = value - _position; }
}
public bool Encloses(AABB with)
{
- Vector3 src_min = position;
- Vector3 src_max = position + size;
- Vector3 dst_min = with.position;
- Vector3 dst_max = with.position + with.size;
+ Vector3 src_min = _position;
+ Vector3 src_max = _position + _size;
+ Vector3 dst_min = with._position;
+ Vector3 dst_max = with._position + with._size;
return src_min.x <= dst_min.x &&
src_max.x > dst_max.x &&
@@ -59,8 +53,8 @@ namespace Godot
public AABB Expand(Vector3 to_point)
{
- Vector3 begin = position;
- Vector3 end = position + size;
+ Vector3 begin = _position;
+ Vector3 end = _position + _size;
if (to_point.x < begin.x)
begin.x = to_point.x;
@@ -81,7 +75,7 @@ namespace Godot
public real_t GetArea()
{
- return size.x * size.y * size.z;
+ return _size.x * _size.y * _size.z;
}
public Vector3 GetEndpoint(int idx)
@@ -89,21 +83,21 @@ namespace Godot
switch (idx)
{
case 0:
- return new Vector3(position.x, position.y, position.z);
+ return new Vector3(_position.x, _position.y, _position.z);
case 1:
- return new Vector3(position.x, position.y, position.z + size.z);
+ return new Vector3(_position.x, _position.y, _position.z + _size.z);
case 2:
- return new Vector3(position.x, position.y + size.y, position.z);
+ return new Vector3(_position.x, _position.y + _size.y, _position.z);
case 3:
- return new Vector3(position.x, position.y + size.y, position.z + size.z);
+ return new Vector3(_position.x, _position.y + _size.y, _position.z + _size.z);
case 4:
- return new Vector3(position.x + size.x, position.y, position.z);
+ return new Vector3(_position.x + _size.x, _position.y, _position.z);
case 5:
- return new Vector3(position.x + size.x, position.y, position.z + size.z);
+ return new Vector3(_position.x + _size.x, _position.y, _position.z + _size.z);
case 6:
- return new Vector3(position.x + size.x, position.y + size.y, position.z);
+ return new Vector3(_position.x + _size.x, _position.y + _size.y, _position.z);
case 7:
- return new Vector3(position.x + size.x, position.y + size.y, position.z + size.z);
+ return new Vector3(_position.x + _size.x, _position.y + _size.y, _position.z + _size.z);
default:
throw new ArgumentOutOfRangeException(nameof(idx), String.Format("Index is {0}, but a value from 0 to 7 is expected.", idx));
}
@@ -112,15 +106,15 @@ namespace Godot
public Vector3 GetLongestAxis()
{
var axis = new Vector3(1f, 0f, 0f);
- real_t max_size = size.x;
+ real_t max_size = _size.x;
- if (size.y > max_size)
+ if (_size.y > max_size)
{
axis = new Vector3(0f, 1f, 0f);
- max_size = size.y;
+ max_size = _size.y;
}
- if (size.z > max_size)
+ if (_size.z > max_size)
{
axis = new Vector3(0f, 0f, 1f);
}
@@ -131,15 +125,15 @@ namespace Godot
public Vector3.Axis GetLongestAxisIndex()
{
var axis = Vector3.Axis.X;
- real_t max_size = size.x;
+ real_t max_size = _size.x;
- if (size.y > max_size)
+ if (_size.y > max_size)
{
axis = Vector3.Axis.Y;
- max_size = size.y;
+ max_size = _size.y;
}
- if (size.z > max_size)
+ if (_size.z > max_size)
{
axis = Vector3.Axis.Z;
}
@@ -149,13 +143,13 @@ namespace Godot
public real_t GetLongestAxisSize()
{
- real_t max_size = size.x;
+ real_t max_size = _size.x;
- if (size.y > max_size)
- max_size = size.y;
+ if (_size.y > max_size)
+ max_size = _size.y;
- if (size.z > max_size)
- max_size = size.z;
+ if (_size.z > max_size)
+ max_size = _size.z;
return max_size;
}
@@ -163,15 +157,15 @@ namespace Godot
public Vector3 GetShortestAxis()
{
var axis = new Vector3(1f, 0f, 0f);
- real_t max_size = size.x;
+ real_t max_size = _size.x;
- if (size.y < max_size)
+ if (_size.y < max_size)
{
axis = new Vector3(0f, 1f, 0f);
- max_size = size.y;
+ max_size = _size.y;
}
- if (size.z < max_size)
+ if (_size.z < max_size)
{
axis = new Vector3(0f, 0f, 1f);
}
@@ -182,15 +176,15 @@ namespace Godot
public Vector3.Axis GetShortestAxisIndex()
{
var axis = Vector3.Axis.X;
- real_t max_size = size.x;
+ real_t max_size = _size.x;
- if (size.y < max_size)
+ if (_size.y < max_size)
{
axis = Vector3.Axis.Y;
- max_size = size.y;
+ max_size = _size.y;
}
- if (size.z < max_size)
+ if (_size.z < max_size)
{
axis = Vector3.Axis.Z;
}
@@ -200,21 +194,21 @@ namespace Godot
public real_t GetShortestAxisSize()
{
- real_t max_size = size.x;
+ real_t max_size = _size.x;
- if (size.y < max_size)
- max_size = size.y;
+ if (_size.y < max_size)
+ max_size = _size.y;
- if (size.z < max_size)
- max_size = size.z;
+ if (_size.z < max_size)
+ max_size = _size.z;
return max_size;
}
public Vector3 GetSupport(Vector3 dir)
{
- Vector3 half_extents = size * 0.5f;
- Vector3 ofs = position + half_extents;
+ Vector3 half_extents = _size * 0.5f;
+ Vector3 ofs = _position + half_extents;
return ofs + new Vector3(
dir.x > 0f ? -half_extents.x : half_extents.x,
@@ -226,39 +220,39 @@ namespace Godot
{
var res = this;
- res.position.x -= by;
- res.position.y -= by;
- res.position.z -= by;
- res.size.x += 2.0f * by;
- res.size.y += 2.0f * by;
- res.size.z += 2.0f * by;
+ res._position.x -= by;
+ res._position.y -= by;
+ res._position.z -= by;
+ res._size.x += 2.0f * by;
+ res._size.y += 2.0f * by;
+ res._size.z += 2.0f * by;
return res;
}
public bool HasNoArea()
{
- return size.x <= 0f || size.y <= 0f || size.z <= 0f;
+ return _size.x <= 0f || _size.y <= 0f || _size.z <= 0f;
}
public bool HasNoSurface()
{
- return size.x <= 0f && size.y <= 0f && size.z <= 0f;
+ return _size.x <= 0f && _size.y <= 0f && _size.z <= 0f;
}
public bool HasPoint(Vector3 point)
{
- if (point.x < position.x)
+ if (point.x < _position.x)
return false;
- if (point.y < position.y)
+ if (point.y < _position.y)
return false;
- if (point.z < position.z)
+ if (point.z < _position.z)
return false;
- if (point.x > position.x + size.x)
+ if (point.x > _position.x + _size.x)
return false;
- if (point.y > position.y + size.y)
+ if (point.y > _position.y + _size.y)
return false;
- if (point.z > position.z + size.z)
+ if (point.z > _position.z + _size.z)
return false;
return true;
@@ -266,10 +260,10 @@ namespace Godot
public AABB Intersection(AABB with)
{
- Vector3 src_min = position;
- Vector3 src_max = position + size;
- Vector3 dst_min = with.position;
- Vector3 dst_max = with.position + with.size;
+ Vector3 src_min = _position;
+ Vector3 src_max = _position + _size;
+ Vector3 dst_min = with._position;
+ Vector3 dst_max = with._position + with._size;
Vector3 min, max;
@@ -302,17 +296,17 @@ namespace Godot
public bool Intersects(AABB with)
{
- if (position.x >= with.position.x + with.size.x)
+ if (_position.x >= with._position.x + with._size.x)
return false;
- if (position.x + size.x <= with.position.x)
+ if (_position.x + _size.x <= with._position.x)
return false;
- if (position.y >= with.position.y + with.size.y)
+ if (_position.y >= with._position.y + with._size.y)
return false;
- if (position.y + size.y <= with.position.y)
+ if (_position.y + _size.y <= with._position.y)
return false;
- if (position.z >= with.position.z + with.size.z)
+ if (_position.z >= with._position.z + with._size.z)
return false;
- if (position.z + size.z <= with.position.z)
+ if (_position.z + _size.z <= with._position.z)
return false;
return true;
@@ -322,14 +316,14 @@ namespace Godot
{
Vector3[] points =
{
- new Vector3(position.x, position.y, position.z),
- new Vector3(position.x, position.y, position.z + size.z),
- new Vector3(position.x, position.y + size.y, position.z),
- new Vector3(position.x, position.y + size.y, position.z + size.z),
- new Vector3(position.x + size.x, position.y, position.z),
- new Vector3(position.x + size.x, position.y, position.z + size.z),
- new Vector3(position.x + size.x, position.y + size.y, position.z),
- new Vector3(position.x + size.x, position.y + size.y, position.z + size.z)
+ new Vector3(_position.x, _position.y, _position.z),
+ new Vector3(_position.x, _position.y, _position.z + _size.z),
+ new Vector3(_position.x, _position.y + _size.y, _position.z),
+ new Vector3(_position.x, _position.y + _size.y, _position.z + _size.z),
+ new Vector3(_position.x + _size.x, _position.y, _position.z),
+ new Vector3(_position.x + _size.x, _position.y, _position.z + _size.z),
+ new Vector3(_position.x + _size.x, _position.y + _size.y, _position.z),
+ new Vector3(_position.x + _size.x, _position.y + _size.y, _position.z + _size.z)
};
bool over = false;
@@ -355,8 +349,8 @@ namespace Godot
{
real_t seg_from = from[i];
real_t seg_to = to[i];
- real_t box_begin = position[i];
- real_t box_end = box_begin + size[i];
+ real_t box_begin = _position[i];
+ real_t box_end = box_begin + _size[i];
real_t cmin, cmax;
if (seg_from < seg_to)
@@ -394,10 +388,10 @@ namespace Godot
public AABB Merge(AABB with)
{
- Vector3 beg_1 = position;
- Vector3 beg_2 = with.position;
- var end_1 = new Vector3(size.x, size.y, size.z) + beg_1;
- var end_2 = new Vector3(with.size.x, with.size.y, with.size.z) + beg_2;
+ Vector3 beg_1 = _position;
+ Vector3 beg_2 = with._position;
+ var end_1 = new Vector3(_size.x, _size.y, _size.z) + beg_1;
+ var end_2 = new Vector3(with._size.x, with._size.y, with._size.z) + beg_2;
var min = new Vector3(
beg_1.x < beg_2.x ? beg_1.x : beg_2.x,
@@ -417,8 +411,8 @@ namespace Godot
// Constructors
public AABB(Vector3 position, Vector3 size)
{
- this.position = position;
- this.size = size;
+ _position = position;
+ _size = size;
}
public static bool operator ==(AABB left, AABB right)
@@ -443,20 +437,20 @@ namespace Godot
public bool Equals(AABB other)
{
- return position == other.position && size == other.size;
+ return _position == other._position && _size == other._size;
}
public override int GetHashCode()
{
- return position.GetHashCode() ^ size.GetHashCode();
+ return _position.GetHashCode() ^ _size.GetHashCode();
}
public override string ToString()
{
return String.Format("{0} - {1}", new object[]
{
- position.ToString(),
- size.ToString()
+ _position.ToString(),
+ _size.ToString()
});
}
@@ -464,8 +458,8 @@ namespace Godot
{
return String.Format("{0} - {1}", new object[]
{
- position.ToString(format),
- size.ToString(format)
+ _position.ToString(format),
+ _size.ToString(format)
});
}
}
diff --git a/modules/mono/glue/cs_files/Color.cs b/modules/mono/glue/cs_files/Color.cs
index 1195071bd3..49e04b333a 100644
--- a/modules/mono/glue/cs_files/Color.cs
+++ b/modules/mono/glue/cs_files/Color.cs
@@ -258,11 +258,6 @@ namespace Godot
return res;
}
- public float Gray()
- {
- return (r + g + b) / 3.0f;
- }
-
public Color Inverted()
{
return new Color(
diff --git a/modules/mono/glue/cs_files/Plane.cs b/modules/mono/glue/cs_files/Plane.cs
index 1020f06bf5..9611dce11e 100644
--- a/modules/mono/glue/cs_files/Plane.cs
+++ b/modules/mono/glue/cs_files/Plane.cs
@@ -145,6 +145,15 @@ namespace Godot
return point - _normal * DistanceTo(point);
}
+ // Constants
+ private static readonly Plane _planeYZ = new Plane(1, 0, 0, 0);
+ private static readonly Plane _planeXZ = new Plane(0, 1, 0, 0);
+ private static readonly Plane _planeXY = new Plane(0, 0, 1, 0);
+
+ public static Plane PlaneYZ { get { return _planeYZ; } }
+ public static Plane PlaneXZ { get { return _planeXZ; } }
+ public static Plane PlaneXY { get { return _planeXY; } }
+
// Constructors
public Plane(real_t a, real_t b, real_t c, real_t d)
{
diff --git a/modules/mono/glue/cs_files/Rect2.cs b/modules/mono/glue/cs_files/Rect2.cs
index 6f16656573..cb25c267bc 100644
--- a/modules/mono/glue/cs_files/Rect2.cs
+++ b/modules/mono/glue/cs_files/Rect2.cs
@@ -11,24 +11,25 @@ namespace Godot
[StructLayout(LayoutKind.Sequential)]
public struct Rect2 : IEquatable<Rect2>
{
- private Vector2 position;
- private Vector2 size;
+ private Vector2 _position;
+ private Vector2 _size;
public Vector2 Position
{
- get { return position; }
- set { position = value; }
+ get { return _position; }
+ set { _position = value; }
}
public Vector2 Size
{
- get { return size; }
- set { size = value; }
+ get { return _size; }
+ set { _size = value; }
}
public Vector2 End
{
- get { return position + size; }
+ get { return _position + _size; }
+ set { _size = value - _position; }
}
public real_t Area
@@ -36,6 +37,13 @@ namespace Godot
get { return GetArea(); }
}
+ public Rect2 Abs()
+ {
+ Vector2 end = End;
+ Vector2 topLeft = new Vector2(Mathf.Min(_position.x, end.x), Mathf.Min(_position.y, end.y));
+ return new Rect2(topLeft, _size.Abs());
+ }
+
public Rect2 Clip(Rect2 b)
{
var newRect = b;
@@ -43,31 +51,31 @@ namespace Godot
if (!Intersects(newRect))
return new Rect2();
- newRect.position.x = Mathf.Max(b.position.x, position.x);
- newRect.position.y = Mathf.Max(b.position.y, position.y);
+ newRect._position.x = Mathf.Max(b._position.x, _position.x);
+ newRect._position.y = Mathf.Max(b._position.y, _position.y);
- Vector2 bEnd = b.position + b.size;
- Vector2 end = position + size;
+ Vector2 bEnd = b._position + b._size;
+ Vector2 end = _position + _size;
- newRect.size.x = Mathf.Min(bEnd.x, end.x) - newRect.position.x;
- newRect.size.y = Mathf.Min(bEnd.y, end.y) - newRect.position.y;
+ newRect._size.x = Mathf.Min(bEnd.x, end.x) - newRect._position.x;
+ newRect._size.y = Mathf.Min(bEnd.y, end.y) - newRect._position.y;
return newRect;
}
public bool Encloses(Rect2 b)
{
- return b.position.x >= position.x && b.position.y >= position.y &&
- b.position.x + b.size.x < position.x + size.x &&
- b.position.y + b.size.y < position.y + size.y;
+ return b._position.x >= _position.x && b._position.y >= _position.y &&
+ b._position.x + b._size.x < _position.x + _size.x &&
+ b._position.y + b._size.y < _position.y + _size.y;
}
public Rect2 Expand(Vector2 to)
{
var expanded = this;
- Vector2 begin = expanded.position;
- Vector2 end = expanded.position + expanded.size;
+ Vector2 begin = expanded._position;
+ Vector2 end = expanded._position + expanded._size;
if (to.x < begin.x)
begin.x = to.x;
@@ -79,25 +87,25 @@ namespace Godot
if (to.y > end.y)
end.y = to.y;
- expanded.position = begin;
- expanded.size = end - begin;
+ expanded._position = begin;
+ expanded._size = end - begin;
return expanded;
}
public real_t GetArea()
{
- return size.x * size.y;
+ return _size.x * _size.y;
}
public Rect2 Grow(real_t by)
{
var g = this;
- g.position.x -= by;
- g.position.y -= by;
- g.size.x += by * 2;
- g.size.y += by * 2;
+ g._position.x -= by;
+ g._position.y -= by;
+ g._size.x += by * 2;
+ g._size.y += by * 2;
return g;
}
@@ -106,10 +114,10 @@ namespace Godot
{
var g = this;
- g.position.x -= left;
- g.position.y -= top;
- g.size.x += left + right;
- g.size.y += top + bottom;
+ g._position.x -= left;
+ g._position.y -= top;
+ g._size.x += left + right;
+ g._size.y += top + bottom;
return g;
}
@@ -128,19 +136,19 @@ namespace Godot
public bool HasNoArea()
{
- return size.x <= 0 || size.y <= 0;
+ return _size.x <= 0 || _size.y <= 0;
}
public bool HasPoint(Vector2 point)
{
- if (point.x < position.x)
+ if (point.x < _position.x)
return false;
- if (point.y < position.y)
+ if (point.y < _position.y)
return false;
- if (point.x >= position.x + size.x)
+ if (point.x >= _position.x + _size.x)
return false;
- if (point.y >= position.y + size.y)
+ if (point.y >= _position.y + _size.y)
return false;
return true;
@@ -148,13 +156,13 @@ namespace Godot
public bool Intersects(Rect2 b)
{
- if (position.x > b.position.x + b.size.x)
+ if (_position.x > b._position.x + b._size.x)
return false;
- if (position.x + size.x < b.position.x)
+ if (_position.x + _size.x < b._position.x)
return false;
- if (position.y > b.position.y + b.size.y)
+ if (_position.y > b._position.y + b._size.y)
return false;
- if (position.y + size.y < b.position.y)
+ if (_position.y + _size.y < b._position.y)
return false;
return true;
@@ -164,13 +172,13 @@ namespace Godot
{
Rect2 newRect;
- newRect.position.x = Mathf.Min(b.position.x, position.x);
- newRect.position.y = Mathf.Min(b.position.y, position.y);
+ newRect._position.x = Mathf.Min(b._position.x, _position.x);
+ newRect._position.y = Mathf.Min(b._position.y, _position.y);
- newRect.size.x = Mathf.Max(b.position.x + b.size.x, position.x + size.x);
- newRect.size.y = Mathf.Max(b.position.y + b.size.y, position.y + size.y);
+ newRect._size.x = Mathf.Max(b._position.x + b._size.x, _position.x + _size.x);
+ newRect._size.y = Mathf.Max(b._position.y + b._size.y, _position.y + _size.y);
- newRect.size = newRect.size - newRect.position; // Make relative again
+ newRect._size = newRect._size - newRect._position; // Make relative again
return newRect;
}
@@ -178,23 +186,23 @@ namespace Godot
// Constructors
public Rect2(Vector2 position, Vector2 size)
{
- this.position = position;
- this.size = size;
+ _position = position;
+ _size = size;
}
public Rect2(Vector2 position, real_t width, real_t height)
{
- this.position = position;
- size = new Vector2(width, height);
+ _position = position;
+ _size = new Vector2(width, height);
}
public Rect2(real_t x, real_t y, Vector2 size)
{
- position = new Vector2(x, y);
- this.size = size;
+ _position = new Vector2(x, y);
+ _size = size;
}
public Rect2(real_t x, real_t y, real_t width, real_t height)
{
- position = new Vector2(x, y);
- size = new Vector2(width, height);
+ _position = new Vector2(x, y);
+ _size = new Vector2(width, height);
}
public static bool operator ==(Rect2 left, Rect2 right)
@@ -219,20 +227,20 @@ namespace Godot
public bool Equals(Rect2 other)
{
- return position.Equals(other.position) && size.Equals(other.size);
+ return _position.Equals(other._position) && _size.Equals(other._size);
}
public override int GetHashCode()
{
- return position.GetHashCode() ^ size.GetHashCode();
+ return _position.GetHashCode() ^ _size.GetHashCode();
}
public override string ToString()
{
return String.Format("({0}, {1})", new object[]
{
- position.ToString(),
- size.ToString()
+ _position.ToString(),
+ _size.ToString()
});
}
@@ -240,8 +248,8 @@ namespace Godot
{
return String.Format("({0}, {1})", new object[]
{
- position.ToString(format),
- size.ToString(format)
+ _position.ToString(format),
+ _size.ToString(format)
});
}
}
diff --git a/modules/mono/glue/cs_files/Vector2.cs b/modules/mono/glue/cs_files/Vector2.cs
index 14c8de6986..080b8802ba 100644
--- a/modules/mono/glue/cs_files/Vector2.cs
+++ b/modules/mono/glue/cs_files/Vector2.cs
@@ -184,6 +184,11 @@ namespace Godot
return result;
}
+ public Vector2 Project(Vector2 onNormal)
+ {
+ return onNormal * (Dot(onNormal) / onNormal.LengthSquared());
+ }
+
public Vector2 Reflect(Vector2 n)
{
return 2.0f * n * Dot(n) - this;
diff --git a/modules/mono/glue/cs_files/Vector3.cs b/modules/mono/glue/cs_files/Vector3.cs
index 861d9c54d9..6fffe5e4d6 100644
--- a/modules/mono/glue/cs_files/Vector3.cs
+++ b/modules/mono/glue/cs_files/Vector3.cs
@@ -210,6 +210,11 @@ namespace Godot
);
}
+ public Vector3 Project(Vector3 onNormal)
+ {
+ return onNormal * (Dot(onNormal) / onNormal.LengthSquared());
+ }
+
public Vector3 Reflect(Vector3 n)
{
#if DEBUG
diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp
index f564b93f8f..fadac941e9 100644
--- a/modules/mono/mono_gd/gd_mono.cpp
+++ b/modules/mono/mono_gd/gd_mono.cpp
@@ -148,7 +148,7 @@ void GDMono::initialize() {
ERR_FAIL_NULL(Engine::get_singleton());
- OS::get_singleton()->print("Mono: Initializing module...\n");
+ print_verbose("Mono: Initializing module...");
#ifdef DEBUG_METHODS_ENABLED
_initialize_and_check_api_hashes();
@@ -202,7 +202,7 @@ void GDMono::initialize() {
runtime_initialized = true;
- OS::get_singleton()->print("Mono: Runtime initialized\n");
+ print_verbose("Mono: Runtime initialized");
// mscorlib assembly MUST be present at initialization
ERR_EXPLAIN("Mono: Failed to load mscorlib assembly");
@@ -226,7 +226,7 @@ void GDMono::initialize() {
#ifdef DEBUG_ENABLED
bool debugger_attached = _wait_for_debugger_msecs(500);
if (!debugger_attached && OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->printerr("Mono: Debugger wait timeout\n");
+ print_error("Mono: Debugger wait timeout");
#endif
_register_internal_calls();
@@ -256,7 +256,7 @@ void GDMono::initialize() {
metadata_set_api_assembly_invalidated(APIAssembly::API_EDITOR, true);
}
- OS::get_singleton()->print("Mono: Proceeding to unload scripts domain because of invalid API assemblies\n");
+ print_line("Mono: Proceeding to unload scripts domain because of invalid API assemblies.");
Error err = _unload_scripts_domain();
if (err != OK) {
@@ -269,11 +269,10 @@ void GDMono::initialize() {
}
}
#else
- if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->print("Mono: Glue disabled, ignoring script assemblies\n");
+ print_verbose("Mono: Glue disabled, ignoring script assemblies.");
#endif
- OS::get_singleton()->print("Mono: INITIALIZED\n");
+ print_verbose("Mono: INITIALIZED");
}
#ifndef MONO_GLUE_DISABLED
@@ -352,8 +351,7 @@ bool GDMono::load_assembly(const String &p_name, MonoAssemblyName *p_aname, GDMo
CRASH_COND(!r_assembly);
- if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->print((String() + "Mono: Loading assembly " + p_name + (p_refonly ? " (refonly)" : "") + "...\n").utf8());
+ print_verbose("Mono: Loading assembly " + p_name + (p_refonly ? " (refonly)" : "") + "...");
MonoImageOpenStatus status = MONO_IMAGE_OK;
MonoAssembly *assembly = mono_assembly_load_full(p_aname, NULL, &status, p_refonly);
@@ -372,8 +370,7 @@ bool GDMono::load_assembly(const String &p_name, MonoAssemblyName *p_aname, GDMo
*r_assembly = *stored_assembly;
- if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->print(String("Mono: Assembly " + p_name + (p_refonly ? " (refonly)" : "") + " loaded from path: " + (*r_assembly)->get_path() + "\n").utf8());
+ print_verbose("Mono: Assembly " + p_name + (p_refonly ? " (refonly)" : "") + " loaded from path: " + (*r_assembly)->get_path());
return true;
}
@@ -500,7 +497,7 @@ bool GDMono::_load_project_assembly() {
mono_assembly_set_main(project_assembly->get_assembly());
} else {
if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->printerr("Mono: Failed to load project assembly\n");
+ print_error("Mono: Failed to load project assembly");
}
return success;
@@ -510,13 +507,13 @@ bool GDMono::_load_api_assemblies() {
if (!_load_core_api_assembly()) {
if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->printerr("Mono: Failed to load Core API assembly\n");
+ print_error("Mono: Failed to load Core API assembly");
return false;
} else {
#ifdef TOOLS_ENABLED
if (!_load_editor_api_assembly()) {
if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->printerr("Mono: Failed to load Editor API assembly\n");
+ print_error("Mono: Failed to load Editor API assembly");
return false;
}
#endif
@@ -593,9 +590,7 @@ Error GDMono::_load_scripts_domain() {
ERR_FAIL_COND_V(scripts_domain != NULL, ERR_BUG);
- if (OS::get_singleton()->is_stdout_verbose()) {
- OS::get_singleton()->print("Mono: Loading scripts domain...\n");
- }
+ print_verbose("Mono: Loading scripts domain...");
scripts_domain = GDMonoUtils::create_domain("GodotEngine.ScriptsDomain");
@@ -611,9 +606,7 @@ Error GDMono::_unload_scripts_domain() {
ERR_FAIL_NULL_V(scripts_domain, ERR_BUG);
- if (OS::get_singleton()->is_stdout_verbose()) {
- OS::get_singleton()->print("Mono: Unloading scripts domain...\n");
- }
+ print_verbose("Mono: Unloading scripts domain...");
_GodotSharp::get_singleton()->_dispose_callback();
@@ -661,9 +654,7 @@ Error GDMono::_load_tools_domain() {
ERR_FAIL_COND_V(tools_domain != NULL, ERR_BUG);
- if (OS::get_singleton()->is_stdout_verbose()) {
- OS::get_singleton()->print("Mono: Loading tools domain...\n");
- }
+ print_verbose("Mono: Loading tools domain...");
tools_domain = GDMonoUtils::create_domain("GodotEngine.ToolsDomain");
@@ -728,8 +719,7 @@ Error GDMono::reload_scripts_domain() {
if (!_load_project_assembly())
return ERR_CANT_OPEN;
#else
- if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->print("Mono: Glue disabled, ignoring script assemblies\n");
+ print_verbose("Mono: Glue disabled, ignoring script assemblies.");
#endif
return OK;
@@ -742,9 +732,7 @@ Error GDMono::finalize_and_unload_domain(MonoDomain *p_domain) {
String domain_name = mono_domain_get_friendly_name(p_domain);
- if (OS::get_singleton()->is_stdout_verbose()) {
- OS::get_singleton()->print(String("Mono: Unloading domain `" + domain_name + "`...\n").utf8());
- }
+ print_verbose("Mono: Unloading domain `" + domain_name + "`...");
if (mono_domain_get() != root_domain)
mono_domain_set(root_domain, true);
@@ -877,7 +865,7 @@ GDMono::~GDMono() {
GDMonoUtils::clear_cache();
- OS::get_singleton()->print("Mono: Runtime cleanup...\n");
+ print_verbose("Mono: Runtime cleanup...");
runtime_initialized = false;
mono_jit_cleanup(root_domain);
diff --git a/modules/mono/mono_gd/gd_mono_assembly.cpp b/modules/mono/mono_gd/gd_mono_assembly.cpp
index 9d3bee2176..27ce39b6d7 100644
--- a/modules/mono/mono_gd/gd_mono_assembly.cpp
+++ b/modules/mono/mono_gd/gd_mono_assembly.cpp
@@ -42,8 +42,25 @@
#include "gd_mono_class.h"
bool GDMonoAssembly::no_search = false;
+bool GDMonoAssembly::in_preload = false;
+
Vector<String> GDMonoAssembly::search_dirs;
+void GDMonoAssembly::assembly_load_hook(MonoAssembly *assembly, void *user_data) {
+
+ if (no_search)
+ return;
+
+ // If our search and preload hooks fail to load the assembly themselves, the mono runtime still might.
+ // Just do Assembly.LoadFrom("/Full/Path/On/Disk.dll");
+ // In this case, we wouldn't have the assembly known in GDMono, which causes crashes
+ // if any class inside the assembly is looked up by Godot.
+ // And causing a lookup like that is as easy as throwing an exception defined in it...
+ // No, we can't make the assembly load hooks smart enough because they get passed a MonoAssemblyName* only,
+ // not the disk path passed to say Assembly.LoadFrom().
+ _wrap_mono_assembly(assembly);
+}
+
MonoAssembly *GDMonoAssembly::assembly_search_hook(MonoAssemblyName *aname, void *user_data) {
return GDMonoAssembly::_search_hook(aname, user_data, false);
}
@@ -111,6 +128,8 @@ MonoAssembly *GDMonoAssembly::_search_hook(MonoAssemblyName *aname, void *user_d
return res ? res->get_assembly() : NULL;
}
+static _THREAD_LOCAL_(MonoImage *) image_corlib_loading = NULL;
+
MonoAssembly *GDMonoAssembly::_preload_hook(MonoAssemblyName *aname, char **assemblies_path, void *user_data, bool refonly) {
(void)user_data; // UNUSED
@@ -138,16 +157,38 @@ MonoAssembly *GDMonoAssembly::_preload_hook(MonoAssemblyName *aname, char **asse
}
}
+ {
+ // If we find the assembly here, we load it with `mono_assembly_load_from_full`,
+ // which in turn invokes load hooks before returning the MonoAssembly to us.
+ // One of the load hooks is `load_aot_module`. This hook can end up calling preload hooks
+ // again for the same assembly in certain in certain circumstances (the `do_load_image` part).
+ // If this is the case and we return NULL due to the no_search condition below,
+ // it will result in an internal crash later on. Therefore we need to return the assembly we didn't
+ // get yet from `mono_assembly_load_from_full`. Luckily we have the image, which already got it.
+ // This must be done here. If done in search hooks, it would cause `mono_assembly_load_from_full`
+ // to think another MonoAssembly for this assembly was already loaded, making it delete its own,
+ // when in fact both pointers were the same... This hooks thing is confusing.
+ if (image_corlib_loading) {
+ return mono_image_get_assembly(image_corlib_loading);
+ }
+ }
+
+ if (no_search)
+ return NULL;
+
+ no_search = true;
+ in_preload = true;
+
String name = mono_assembly_name_get_name(aname);
bool has_extension = name.ends_with(".dll");
+ GDMonoAssembly *res = NULL;
if (has_extension ? name == "mscorlib.dll" : name == "mscorlib") {
GDMonoAssembly **stored_assembly = GDMono::get_singleton()->get_loaded_assembly(has_extension ? name.get_basename() : name);
if (stored_assembly)
return (*stored_assembly)->get_assembly();
String path;
- GDMonoAssembly *res = NULL;
for (int i = 0; i < search_dirs.size(); i++) {
const String &search_dir = search_dirs[i];
@@ -168,11 +209,12 @@ MonoAssembly *GDMonoAssembly::_preload_hook(MonoAssemblyName *aname, char **asse
}
}
}
-
- return res ? res->get_assembly() : NULL;
}
- return NULL;
+ no_search = false;
+ in_preload = false;
+
+ return res ? res->get_assembly() : NULL;
}
GDMonoAssembly *GDMonoAssembly::_load_assembly_from(const String &p_name, const String &p_path, bool p_refonly) {
@@ -192,12 +234,30 @@ GDMonoAssembly *GDMonoAssembly::_load_assembly_from(const String &p_name, const
return assembly;
}
+void GDMonoAssembly::_wrap_mono_assembly(MonoAssembly *assembly) {
+ String name = mono_assembly_name_get_name(mono_assembly_get_name(assembly));
+
+ MonoImage *image = mono_assembly_get_image(assembly);
+
+ GDMonoAssembly *gdassembly = memnew(GDMonoAssembly(name, mono_image_get_filename(image)));
+ Error err = gdassembly->wrapper_for_image(image);
+
+ if (err != OK) {
+ memdelete(gdassembly);
+ ERR_FAIL();
+ }
+
+ MonoDomain *domain = mono_domain_get();
+ GDMono::get_singleton()->add_assembly(domain ? mono_domain_get_id(domain) : 0, gdassembly);
+}
+
void GDMonoAssembly::initialize() {
mono_install_assembly_search_hook(&assembly_search_hook, NULL);
mono_install_assembly_refonly_search_hook(&assembly_refonly_search_hook, NULL);
mono_install_assembly_preload_hook(&assembly_preload_hook, NULL);
mono_install_assembly_refonly_preload_hook(&assembly_refonly_preload_hook, NULL);
+ mono_install_assembly_load_hook(&assembly_load_hook, NULL);
}
Error GDMonoAssembly::load(bool p_refonly) {
@@ -241,8 +301,16 @@ no_pdb:
#endif
+ bool is_corlib_preload = in_preload && name == "mscorlib";
+
+ if (is_corlib_preload)
+ image_corlib_loading = image;
+
assembly = mono_assembly_load_from_full(image, image_filename.utf8().get_data(), &status, refonly);
+ if (is_corlib_preload)
+ image_corlib_loading = NULL;
+
ERR_FAIL_COND_V(status != MONO_IMAGE_OK || assembly == NULL, ERR_FILE_CANT_OPEN);
loaded = true;
diff --git a/modules/mono/mono_gd/gd_mono_assembly.h b/modules/mono/mono_gd/gd_mono_assembly.h
index 5cf744a5a2..2c6d367fc6 100644
--- a/modules/mono/mono_gd/gd_mono_assembly.h
+++ b/modules/mono/mono_gd/gd_mono_assembly.h
@@ -89,8 +89,10 @@ class GDMonoAssembly {
#endif
static bool no_search;
+ static bool in_preload;
static Vector<String> search_dirs;
+ static void assembly_load_hook(MonoAssembly *assembly, void *user_data);
static MonoAssembly *assembly_search_hook(MonoAssemblyName *aname, void *user_data);
static MonoAssembly *assembly_refonly_search_hook(MonoAssemblyName *aname, void *user_data);
static MonoAssembly *assembly_preload_hook(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
@@ -100,6 +102,7 @@ class GDMonoAssembly {
static MonoAssembly *_preload_hook(MonoAssemblyName *aname, char **assemblies_path, void *user_data, bool refonly);
static GDMonoAssembly *_load_assembly_from(const String &p_name, const String &p_path, bool p_refonly);
+ static void _wrap_mono_assembly(MonoAssembly *assembly);
friend class GDMono;
static void initialize();
diff --git a/modules/mono/mono_gd/gd_mono_log.cpp b/modules/mono/mono_gd/gd_mono_log.cpp
index eabea8dc3c..5224d309de 100644
--- a/modules/mono/mono_gd/gd_mono_log.cpp
+++ b/modules/mono/mono_gd/gd_mono_log.cpp
@@ -152,8 +152,7 @@ void GDMonoLog::initialize() {
log_level_id = log_level_get_id(log_level);
if (log_file) {
- if (OS::get_singleton()->is_stdout_verbose())
- OS::get_singleton()->print(String("Mono: Logfile is " + log_file_path + "\n").utf8());
+ print_verbose("Mono: Logfile is " + log_file_path);
mono_trace_set_log_handler(gdmono_MonoLogCallback, this);
} else {
OS::get_singleton()->printerr("Mono: No log file, using default log handler\n");
diff --git a/modules/mono/utils/thread_local.cpp b/modules/mono/utils/thread_local.cpp
index ae9f130518..a0e28fca5f 100644
--- a/modules/mono/utils/thread_local.cpp
+++ b/modules/mono/utils/thread_local.cpp
@@ -69,7 +69,7 @@ struct ThreadLocalStorage::Impl {
#define _CALLBACK_FUNC_
#endif
- Impl(void (_CALLBACK_FUNC_ *p_destr_callback_func)(void *)) {
+ Impl(void(_CALLBACK_FUNC_ *p_destr_callback_func)(void *)) {
#ifdef WINDOWS_ENABLED
dwFlsIndex = FlsAlloc(p_destr_callback_func);
ERR_FAIL_COND(dwFlsIndex == FLS_OUT_OF_INDEXES);
@@ -95,7 +95,7 @@ void ThreadLocalStorage::set_value(void *p_value) const {
pimpl->set_value(p_value);
}
-void ThreadLocalStorage::alloc(void (_CALLBACK_FUNC_ *p_destr_callback)(void *)) {
+void ThreadLocalStorage::alloc(void(_CALLBACK_FUNC_ *p_destr_callback)(void *)) {
pimpl = memnew(ThreadLocalStorage::Impl(p_destr_callback));
}
diff --git a/modules/mono/utils/thread_local.h b/modules/mono/utils/thread_local.h
index 783e40dc01..84dae1d86b 100644
--- a/modules/mono/utils/thread_local.h
+++ b/modules/mono/utils/thread_local.h
@@ -76,7 +76,7 @@ struct ThreadLocalStorage {
void *get_value() const;
void set_value(void *p_value) const;
- void alloc(void (_CALLBACK_FUNC_ *p_dest_callback)(void *));
+ void alloc(void(_CALLBACK_FUNC_ *p_dest_callback)(void *));
void free();
private:
@@ -95,7 +95,6 @@ class ThreadLocal {
memdelete(static_cast<T *>(tls_data));
}
-
T *_tls_get_value() const {
void *tls_data = storage.get_value();
diff --git a/modules/pvr/texture_loader_pvr.cpp b/modules/pvr/texture_loader_pvr.cpp
index f5d35714e1..6ec44023c1 100644
--- a/modules/pvr/texture_loader_pvr.cpp
+++ b/modules/pvr/texture_loader_pvr.cpp
@@ -93,7 +93,7 @@ RES ResourceFormatPVR::load(const String &p_path, const String &p_original_path,
print_line("bmask: "+itos(bmask));
print_line("amask: "+itos(amask));
print_line("surfcount: "+itos(surfcount));
-*/
+ */
PoolVector<uint8_t> data;
data.resize(surfsize);
@@ -159,8 +159,6 @@ RES ResourceFormatPVR::load(const String &p_path, const String &p_original_path,
if (mipmaps)
tex_flags |= Texture::FLAG_MIPMAPS;
- print_line("flip: " + itos(flags & PVR_VFLIP));
-
Ref<Image> image = memnew(Image(width, height, mipmaps, format, data));
ERR_FAIL_COND_V(image->empty(), RES());
@@ -646,12 +644,6 @@ static void decompress_pvrtc(PVRTCBlock *p_comp_img, const int p_2bit, const int
static void _pvrtc_decompress(Image *p_img) {
- /*
- static void decompress_pvrtc(const void *p_comp_img, const int p_2bit, const int p_width, const int p_height, unsigned char* p_dst) {
- decompress_pvrtc((PVRTCBlock*)p_comp_img,p_2bit,p_width,p_height,1,p_dst);
- }
- */
-
ERR_FAIL_COND(p_img->get_format() != Image::FORMAT_PVRTC2 && p_img->get_format() != Image::FORMAT_PVRTC2A && p_img->get_format() != Image::FORMAT_PVRTC4 && p_img->get_format() != Image::FORMAT_PVRTC4A);
bool _2bit = (p_img->get_format() == Image::FORMAT_PVRTC2 || p_img->get_format() == Image::FORMAT_PVRTC2A);
@@ -665,12 +657,6 @@ static void _pvrtc_decompress(Image *p_img) {
decompress_pvrtc((PVRTCBlock *)r.ptr(), _2bit, p_img->get_width(), p_img->get_height(), 0, (unsigned char *)w.ptr());
- /*
- for(int i=0;i<newdata.size();i++) {
- print_line(itos(w[i]));
- }
- */
-
w = PoolVector<uint8_t>::Write();
r = PoolVector<uint8_t>::Read();
diff --git a/modules/squish/image_compress_squish.cpp b/modules/squish/image_compress_squish.cpp
index f6be537413..653dd82351 100644
--- a/modules/squish/image_compress_squish.cpp
+++ b/modules/squish/image_compress_squish.cpp
@@ -32,12 +32,6 @@
#include "print_string.h"
-#if defined(__SSE2__)
-#define SQUISH_USE_SSE 2
-#elif defined(__SSE__)
-#define SQUISH_USE_SSE 1
-#endif
-
#include <squish.h>
void image_decompress_squish(Image *p_image) {
@@ -65,7 +59,7 @@ void image_decompress_squish(Image *p_image) {
} else if (p_image->get_format() == Image::FORMAT_RGTC_RG) {
squish_flags = squish::kBc5;
} else {
- print_line("Can't decompress unknown format: " + itos(p_image->get_format()));
+ ERR_EXPLAIN("Squish: Can't decompress unknown format: " + itos(p_image->get_format()));
ERR_FAIL_COND(true);
return;
}
@@ -81,7 +75,7 @@ void image_decompress_squish(Image *p_image) {
p_image->create(p_image->get_width(), p_image->get_height(), p_image->has_mipmaps(), target_format, data);
}
-void image_compress_squish(Image *p_image, Image::CompressSource p_source) {
+void image_compress_squish(Image *p_image, float p_lossy_quality, Image::CompressSource p_source) {
if (p_image->get_format() >= Image::FORMAT_DXT1)
return; //do not compress, already compressed
@@ -92,6 +86,12 @@ void image_compress_squish(Image *p_image, Image::CompressSource p_source) {
if (p_image->get_format() <= Image::FORMAT_RGBA8) {
int squish_comp = squish::kColourRangeFit;
+
+ if (p_lossy_quality > 0.85)
+ squish_comp = squish::kColourIterativeClusterFit;
+ else if (p_lossy_quality > 0.75)
+ squish_comp = squish::kColourClusterFit;
+
Image::Format target_format = Image::FORMAT_RGBA8;
Image::DetectChannels dc = p_image->get_detected_channels();
diff --git a/modules/squish/image_compress_squish.h b/modules/squish/image_compress_squish.h
index c022063fe5..6da947beea 100644
--- a/modules/squish/image_compress_squish.h
+++ b/modules/squish/image_compress_squish.h
@@ -33,7 +33,7 @@
#include "image.h"
-void image_compress_squish(Image *p_image, Image::CompressSource p_source);
+void image_compress_squish(Image *p_image, float p_lossy_quality, Image::CompressSource p_source);
void image_decompress_squish(Image *p_image);
#endif // IMAGE_COMPRESS_SQUISH_H
diff --git a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
index c95a8ac2dd..0e533d3978 100644
--- a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
+++ b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp
@@ -208,8 +208,6 @@ void AudioStreamOGGVorbis::set_data(const PoolVector<uint8_t> &p_data) {
//does this work? (it's less mem..)
//decode_mem_size = ogg_alloc.alloc_buffer_length_in_bytes + info.setup_memory_required + info.temp_memory_required + info.max_frame_size;
- //print_line("succeeded "+itos(ogg_alloc.alloc_buffer_length_in_bytes)+" setup "+itos(info.setup_memory_required)+" setup temp "+itos(info.setup_temp_memory_required)+" temp "+itos(info.temp_memory_required)+" maxframe"+itos(info.max_frame_size));
-
length = stb_vorbis_stream_length_in_seconds(ogg_stream);
stb_vorbis_close(ogg_stream);
diff --git a/modules/theora/video_stream_theora.cpp b/modules/theora/video_stream_theora.cpp
index 881808873b..68087ac01f 100644
--- a/modules/theora/video_stream_theora.cpp
+++ b/modules/theora/video_stream_theora.cpp
@@ -387,7 +387,6 @@ void VideoStreamPlaybackTheora::update(float p_delta) {
thread_sem->post();
#endif
- //print_line("play "+rtos(p_delta));
time += p_delta;
if (videobuf_time > get_time()) {
@@ -442,16 +441,8 @@ void VideoStreamPlaybackTheora::update(float p_delta) {
int tr = vorbis_synthesis_read(&vd, ret - to_read);
- if (vd.granulepos >= 0) {
- //print_line("wrote: "+itos(audio_frames_wrote)+" gpos: "+itos(vd.granulepos));
- }
-
- //print_line("mix audio!");
-
audio_frames_wrote += ret - to_read;
- //print_line("AGP: "+itos(vd.granulepos)+" added "+itos(ret-to_read));
-
} else {
/* no pending audio; is there a pending packet to decode? */
@@ -460,7 +451,6 @@ void VideoStreamPlaybackTheora::update(float p_delta) {
vorbis_synthesis_blockin(&vd, &vb);
}
} else { /* we need more data; break out to suck in another page */
- //printf("need moar data\n");
break;
};
}
diff --git a/modules/visual_script/visual_script_builtin_funcs.cpp b/modules/visual_script/visual_script_builtin_funcs.cpp
index 73b6d702c1..8e98b08b22 100644
--- a/modules/visual_script/visual_script_builtin_funcs.cpp
+++ b/modules/visual_script/visual_script_builtin_funcs.cpp
@@ -1144,15 +1144,12 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in
case VisualScriptBuiltinFunc::TEXT_PRINTERR: {
String str = *p_inputs[0];
-
- //str+="\n";
print_error(str);
} break;
case VisualScriptBuiltinFunc::TEXT_PRINTRAW: {
- String str = *p_inputs[0];
- //str+="\n";
+ String str = *p_inputs[0];
OS::get_singleton()->print("%s", str.utf8().get_data());
} break;
diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp
index 45a27d1e79..4471fbd0c4 100644
--- a/modules/visual_script/visual_script_editor.cpp
+++ b/modules/visual_script/visual_script_editor.cpp
@@ -882,7 +882,6 @@ void VisualScriptEditor::_member_selected() {
ERR_FAIL_COND(!ti);
selected = ti->get_metadata(0);
- //print_line("selected: "+String(selected));
if (ti->get_parent() == members->get_root()->get_children()) {
diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp
index ad886bc758..f926d4e2eb 100644
--- a/modules/visual_script/visual_script_func_nodes.cpp
+++ b/modules/visual_script/visual_script_func_nodes.cpp
@@ -394,7 +394,6 @@ void VisualScriptFunctionCall::_update_method_cache() {
}
}
- //print_line("BASE: "+String(type)+" FUNC: "+String(function));
MethodBind *mb = ClassDB::get_method(type, function);
if (mb) {
use_default_args = mb->get_default_argument_count();
diff --git a/modules/visual_script/visual_script_property_selector.cpp b/modules/visual_script/visual_script_property_selector.cpp
index e4dfc5fe45..f79c81ad88 100644
--- a/modules/visual_script/visual_script_property_selector.cpp
+++ b/modules/visual_script/visual_script_property_selector.cpp
@@ -285,7 +285,6 @@ void VisualScriptPropertySelector::_update_search() {
Ref<Texture> icon;
script_methods = false;
- print_line("name: " + E->get().name);
String rep = E->get().name.replace("*", "");
if (E->get().name == "*Script Methods") {
icon = get_icon("Script", "EditorIcons");
diff --git a/platform/android/SCsub b/platform/android/SCsub
index a65dab9668..31fee5722c 100644
--- a/platform/android/SCsub
+++ b/platform/android/SCsub
@@ -2,6 +2,8 @@
import shutil
from compat import open_utf8
+from distutils.version import LooseVersion
+from detect import get_ndk_version
Import('env')
@@ -169,3 +171,7 @@ if lib_arch_dir != '':
out_dir = '#platform/android/java/libs/' + lib_type_dir + '/' + lib_arch_dir
env_android.Command(out_dir + '/libgodot_android.so', '#bin/libgodot' + env['SHLIBSUFFIX'], Move("$TARGET", "$SOURCE"))
+ ndk_version = get_ndk_version(env["ANDROID_NDK_ROOT"])
+ if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("15.0.4075724"):
+ stl_lib_path = str(env['ANDROID_NDK_ROOT']) + '/sources/cxx-stl/llvm-libc++/libs/' + lib_arch_dir + '/libc++_shared.so'
+ env_android.Command(out_dir + '/libc++_shared.so', stl_lib_path, Copy("$TARGET", "$SOURCE")) \ No newline at end of file
diff --git a/platform/android/audio_driver_jandroid.cpp b/platform/android/audio_driver_jandroid.cpp
index b9f1f1eab0..46bd691290 100644
--- a/platform/android/audio_driver_jandroid.cpp
+++ b/platform/android/audio_driver_jandroid.cpp
@@ -82,9 +82,7 @@ Error AudioDriverAndroid::init() {
int latency = GLOBAL_DEF_RST("audio/output_latency", 25);
unsigned int buffer_size = next_power_of_2(latency * mix_rate / 1000);
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("audio buffer size: " + itos(buffer_size));
- }
+ print_verbose("Audio buffer size: " + itos(buffer_size));
audioBuffer = env->CallObjectMethod(io, _init_audio, mix_rate, buffer_size);
diff --git a/platform/android/detect.py b/platform/android/detect.py
index ada36e2814..b22e85b2c1 100644
--- a/platform/android/detect.py
+++ b/platform/android/detect.py
@@ -128,7 +128,7 @@ def configure(env):
env.extra_suffix = ".armv7" + env.extra_suffix
elif env["android_arch"] == "arm64v8":
if get_platform(env["ndk_platform"]) < 21:
- print("WARNING: android_arch=arm64v8 is not supported by ndk_platform lower than andorid-21; setting ndk_platform=android-21")
+ print("WARNING: android_arch=arm64v8 is not supported by ndk_platform lower than android-21; setting ndk_platform=android-21")
env["ndk_platform"] = "android-21"
env['ARCH'] = 'arch-arm64'
target_subpath = "aarch64-linux-android-4.9"
@@ -204,18 +204,26 @@ def configure(env):
## Compile flags
+ if env['android_stl']:
+ env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/llvm-libc++/include"])
+ env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/llvm-libc++abi/include"])
+ env.Append(CXXFLAGS=['-frtti',"-std=gnu++14"])
+ else:
+ env.Append(CXXFLAGS=['-fno-rtti', '-fno-exceptions', '-DNO_SAFE_CAST'])
+
ndk_version = get_ndk_version(env["ANDROID_NDK_ROOT"])
if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("15.0.4075724"):
print("Using NDK unified headers")
sysroot = env["ANDROID_NDK_ROOT"] + "/sysroot"
- env.Append(CPPFLAGS=["-isystem", sysroot + "/usr/include"])
+ env.Append(CPPFLAGS=["--sysroot="+sysroot])
env.Append(CPPFLAGS=["-isystem", sysroot + "/usr/include/" + abi_subpath])
+ env.Append(CPPFLAGS=["-isystem", env["ANDROID_NDK_ROOT"] + "/sources/android/support/include"])
# For unified headers this define has to be set manually
env.Append(CPPFLAGS=["-D__ANDROID_API__=" + str(get_platform(env['ndk_platform']))])
else:
print("Using NDK deprecated headers")
env.Append(CPPFLAGS=["-isystem", lib_sysroot + "/usr/include"])
-
+
env.Append(CPPFLAGS='-fpic -ffunction-sections -funwind-tables -fstack-protector-strong -fvisibility=hidden -fno-strict-aliasing'.split())
env.Append(CPPFLAGS='-DNO_STATVFS -DGLES_ENABLED'.split())
@@ -246,23 +254,24 @@ def configure(env):
env.Append(CPPFLAGS=target_opts)
env.Append(CPPFLAGS=common_opts)
- if env['android_stl']:
- env.Append(CPPPATH=[env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/gnu-libstdc++/4.9/include"])
- env.Append(CPPPATH=[env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/gnu-libstdc++/4.9/libs/" + arch_subpath + "/include"])
- env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/gnu-libstdc++/4.9/libs/" + arch_subpath])
- env.Append(LIBS=["gnustl_static"])
- else:
- env.Append(CXXFLAGS=['-fno-rtti', '-fno-exceptions', '-DNO_SAFE_CAST'])
-
## Link flags
-
- env['LINKFLAGS'] = ['-shared', '--sysroot=' + lib_sysroot, '-Wl,--warn-shared-textrel']
+ if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("15.0.4075724"):
+ if LooseVersion(ndk_version) >= LooseVersion("17.1.4828580"):
+ env.Append(LINKFLAGS=['-Wl,--exclude-libs,libgcc.a','-Wl,--exclude-libs,libatomic.a','-nostdlib++'])
+ env.Append(LINKFLAGS=['-shared', '--sysroot=' + lib_sysroot, '-Wl,--warn-shared-textrel'])
+ env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"] + "/sources/cxx-stl/llvm-libc++/libs/"+arch_subpath+"/"])
+ env.Append(LINKFLAGS=[env["ANDROID_NDK_ROOT"] +"/sources/cxx-stl/llvm-libc++/libs/"+arch_subpath+"/libandroid_support.a"])
+ env.Append(LINKFLAGS=[env["ANDROID_NDK_ROOT"] +"/sources/cxx-stl/llvm-libc++/libs/"+arch_subpath+"/libc++_shared.so"])
+ else:
+ env.Append(LINKFLAGS=['-shared', '--sysroot=' + lib_sysroot, '-Wl,--warn-shared-textrel'])
+ if mt_link:
+ env.Append(LINKFLAGS=['-Wl,--threads'])
+
if env["android_arch"] == "armv7":
env.Append(LINKFLAGS='-Wl,--fix-cortex-a8'.split())
env.Append(LINKFLAGS='-Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now'.split())
env.Append(LINKFLAGS='-Wl,-soname,libgodot_android.so -Wl,--gc-sections'.split())
- if mt_link:
- env.Append(LINKFLAGS=['-Wl,--threads'])
+
env.Append(LINKFLAGS=target_opts)
env.Append(LINKFLAGS=common_opts)
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp
index 9ad0219746..b76b0d5dbe 100644
--- a/platform/android/export/export.cpp
+++ b/platform/android/export/export.cpp
@@ -257,7 +257,6 @@ class EditorExportAndroid : public EditorExportPlatform {
if (dpos == -1)
continue;
d = d.substr(0, dpos).strip_edges();
- //print_line("found device: "+d);
ldevices.push_back(d);
}
@@ -345,8 +344,6 @@ class EditorExportAndroid : public EditorExportPlatform {
}
d.name = vendor + " " + device;
- //print_line("name: "+d.name);
- //print_line("description: "+d.description);
}
ndevices.push_back(d);
@@ -671,19 +668,14 @@ class EditorExportAndroid : public EditorExportPlatform {
ucstring.write[len] = 0;
string_table.write[i] = ucstring.ptr();
}
-
- //print_line("String "+itos(i)+": "+string_table[i]);
}
for (uint32_t i = string_end; i < (ofs + size); i++) {
stable_extra.push_back(p_manifest[i]);
}
- //printf("stable extra: %i\n",int(stable_extra.size()));
string_table_ends = ofs + size;
- //print_line("STABLE SIZE: "+itos(size)+" ACTUAL: "+itos(string_table_ends));
-
} break;
case CHUNK_XML_START_TAG: {
@@ -714,35 +706,25 @@ class EditorExportAndroid : public EditorExportPlatform {
//replace project information
if (tname == "manifest" && attrname == "package") {
-
- print_line("FOUND package");
string_table.write[attr_value] = get_package_name(package_name);
}
- if (tname == "manifest" && /*nspace=="android" &&*/ attrname == "versionCode") {
-
- print_line("FOUND versionCode");
+ if (tname == "manifest" && attrname == "versionCode") {
encode_uint32(version_code, &p_manifest.write[iofs + 16]);
}
- if (tname == "manifest" && /*nspace=="android" &&*/ attrname == "versionName") {
-
- print_line("FOUND versionName");
+ if (tname == "manifest" && attrname == "versionName") {
if (attr_value == 0xFFFFFFFF) {
WARN_PRINT("Version name in a resource, should be plaintext")
} else
string_table.write[attr_value] = version_name;
}
- if (tname == "activity" && /*nspace=="android" &&*/ attrname == "screenOrientation") {
+ if (tname == "activity" && attrname == "screenOrientation") {
encode_uint32(orientation == 0 ? 0 : 1, &p_manifest.write[iofs + 16]);
}
- if (tname == "uses-feature" && /*nspace=="android" &&*/ attrname == "glEsVersion") {
- print_line("version number: " + itos(decode_uint32(&p_manifest[iofs + 16])));
- }
-
if (tname == "supports-screens") {
if (attrname == "smallScreens") {
@@ -773,7 +755,6 @@ class EditorExportAndroid : public EditorExportPlatform {
String tname = string_table[name];
if (tname == "manifest") {
- print_line("Found manifest end");
// save manifest ending so we can restore it
Vector<uint8_t> manifest_end;
@@ -913,8 +894,6 @@ class EditorExportAndroid : public EditorExportPlatform {
encode_uint32(string_table.size(), &ret.write[16]); //update new number of strings
encode_uint32(string_data_offset - 8, &ret.write[28]); //update new string data offset
- //print_line("file size: "+itos(ret.size()));
-
p_manifest = ret;
}
@@ -956,7 +935,6 @@ class EditorExportAndroid : public EditorExportPlatform {
void _fix_resources(const Ref<EditorExportPreset> &p_preset, Vector<uint8_t> &p_manifest) {
const int UTF8_FLAG = 0x00000100;
- print_line("*******************GORRRGLE***********************");
uint32_t string_block_len = decode_uint32(&p_manifest[16]);
uint32_t string_count = decode_uint32(&p_manifest[20]);
@@ -1086,16 +1064,15 @@ public:
virtual void get_export_options(List<ExportOption> *r_options) {
- /*r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "graphics/api", PROPERTY_HINT_ENUM, "OpenGL ES 2.0,OpenGL ES 3.0"), 1));*/
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "graphics/32_bits_framebuffer"), true));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "one_click_deploy/clear_previous_install"), true));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "apk"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/release", PROPERTY_HINT_GLOBAL_FILE, "apk"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "*.apk"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/release", PROPERTY_HINT_GLOBAL_FILE, "*.apk"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "command_line/extra_args"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "version/code", PROPERTY_HINT_RANGE, "1,4096,1,or_greater"), 1));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "version/name"), "1.0"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/unique_name"), "org.godotengine.$genname"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/unique_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "com.example.$genname"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game Name"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/signed"), true));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "screen/immersive_mode"), true));
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "screen/orientation", PROPERTY_HINT_ENUM, "Landscape,Portrait"), 0));
@@ -1105,10 +1082,10 @@ public:
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "screen/support_xlarge"), true));
for (int i = 0; i < sizeof(launcher_icons) / sizeof(launcher_icons[0]); ++i) {
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, launcher_icons[i].option_id, PROPERTY_HINT_FILE, "png"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, launcher_icons[i].option_id, PROPERTY_HINT_FILE, "*.png"), ""));
}
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/release", PROPERTY_HINT_GLOBAL_FILE, "keystore"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/release", PROPERTY_HINT_GLOBAL_FILE, "*.keystore"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/release_user"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/release_password"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "apk_expansion/enable"), false));
@@ -1133,8 +1110,6 @@ public:
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "user_permissions/" + itos(i)), false));
}
-
- //r_options->push_back( PropertyInfo( Variant::INT, "resources/pack_mode", PROPERTY_HINT_ENUM,"Copy,Single Exec.,Pack (.pck),Bundles (Optical)"));
}
virtual String get_name() const {
@@ -1237,8 +1212,8 @@ public:
err = OS::get_singleton()->execute(adb, args, true, NULL, NULL, &rv);
}
- print_line("Installing into device (please wait..): " + devices[p_device].name);
- ep.step("Installing to Device (please wait..)..", 2);
+ print_line("Installing to device (please wait...): " + devices[p_device].name);
+ ep.step("Installing to device (please wait...)", 2);
args.clear();
args.push_back("-s");
@@ -1336,12 +1311,28 @@ public:
virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
+ String err;
r_missing_templates = find_export_template("android_debug.apk") == String() || find_export_template("android_release.apk") == String();
+ if (p_preset->get("custom_package/debug") != "") {
+ if (FileAccess::exists(p_preset->get("custom_package/debug"))) {
+ r_missing_templates = false;
+ } else {
+ err += "Custom debug package not found.\n";
+ }
+ }
+
+ if (p_preset->get("custom_package/release") != "") {
+ if (FileAccess::exists(p_preset->get("custom_package/release"))) {
+ r_missing_templates = false;
+ } else {
+ err += "Custom release package not found.\n";
+ }
+ }
+
bool valid = !r_missing_templates;
String adb = EditorSettings::get_singleton()->get("export/android/adb");
- String err;
if (!FileAccess::exists(adb)) {
@@ -1847,6 +1838,9 @@ public:
r_features->push_back("Android");
}
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
+ }
+
EditorExportAndroid() {
Ref<Image> img = memnew(Image(_android_logo));
@@ -1883,7 +1877,7 @@ void register_android_exporter() {
EDITOR_DEF("export/android/jarsigner", "");
EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/android/jarsigner", PROPERTY_HINT_GLOBAL_FILE, exe_ext));
EDITOR_DEF("export/android/debug_keystore", "");
- EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/android/debug_keystore", PROPERTY_HINT_GLOBAL_FILE, "keystore"));
+ EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING, "export/android/debug_keystore", PROPERTY_HINT_GLOBAL_FILE, "*.keystore"));
EDITOR_DEF("export/android/debug_keystore_user", "androiddebugkey");
EDITOR_DEF("export/android/debug_keystore_pass", "android");
EDITOR_DEF("export/android/force_system_user", false);
diff --git a/platform/android/godot_android.cpp b/platform/android/godot_android.cpp
index 0e5f4fb93a..061e05f5ee 100644
--- a/platform/android/godot_android.cpp
+++ b/platform/android/godot_android.cpp
@@ -928,7 +928,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_Godot_registerMethod(JNIEnv *e
jmethodID mid = env->GetMethodID(cls, mname.ascii().get_data(), cs.ascii().get_data());
if (!mid) {
- print_line("FAILED GETTING METHOD ID " + mname);
+ print_line("RegisterMethod: Failed getting method ID: " + mname);
}
s->add_method(mname, mid, types, get_jni_type(retval));
diff --git a/platform/android/java_class_wrapper.cpp b/platform/android/java_class_wrapper.cpp
index 446a5911e5..022ccb7d89 100644
--- a/platform/android/java_class_wrapper.cpp
+++ b/platform/android/java_class_wrapper.cpp
@@ -554,7 +554,6 @@ bool JavaClassWrapper::_get_type_sig(JNIEnv *env, jobject obj, uint32_t &sig, St
jstring name2 = (jstring)env->CallObjectMethod(obj, Class_getName);
String str_type = env->GetStringUTFChars(name2, NULL);
- print_line("name: " + str_type);
env->DeleteLocalRef(name2);
uint32_t t = 0;
@@ -1191,9 +1190,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
env->DeleteLocalRef(obj);
env->DeleteLocalRef(param_types);
env->DeleteLocalRef(return_type);
-
- //args[i] = _jobject_to_variant(env, obj);
- //print_line("\targ"+itos(i)+": "+Variant::get_type_name(args[i].get_type()));
};
env->DeleteLocalRef(methods);
@@ -1210,7 +1206,6 @@ Ref<JavaClass> JavaClassWrapper::wrap(const String &p_class) {
jstring name = (jstring)env->CallObjectMethod(obj, Field_getName);
String str_field = env->GetStringUTFChars(name, NULL);
env->DeleteLocalRef(name);
- print_line("FIELD: " + str_field);
int mods = env->CallIntMethod(obj, Field_getModifiers);
if ((mods & 0x8) && (mods & 0x10) && (mods & 0x1)) { //static final public!
diff --git a/platform/android/os_android.cpp b/platform/android/os_android.cpp
index f9eda9dff1..c8bdf98923 100644
--- a/platform/android/os_android.cpp
+++ b/platform/android/os_android.cpp
@@ -337,8 +337,6 @@ void OS_Android::process_event(Ref<InputEvent> p_event) {
void OS_Android::process_touch(int p_what, int p_pointer, const Vector<TouchPos> &p_points) {
- //print_line("ev: "+itos(p_what)+" pnt: "+itos(p_pointer)+" pointc: "+itos(p_points.size()));
-
switch (p_what) {
case 0: { //gesture begin
diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp
index e59c81a148..008e213e5e 100644
--- a/platform/iphone/export/export.cpp
+++ b/platform/iphone/export/export.cpp
@@ -119,6 +119,9 @@ public:
r_features->push_back("iOS");
}
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
+ }
+
EditorExportPlatformIOS();
~EditorExportPlatformIOS();
};
@@ -169,39 +172,39 @@ static const LoadingScreenInfo loading_screen_infos[] = {
void EditorExportPlatformIOS::get_export_options(List<ExportOption> *r_options) {
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/release", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/release", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/app_store_team_id"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/provisioning_profile_uuid_debug"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/code_sign_identity_debug"), "iPhone Developer"));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/code_sign_identity_debug", PROPERTY_HINT_PLACEHOLDER_TEXT, "iPhone Developer"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "application/export_method_debug", PROPERTY_HINT_ENUM, "App Store,Development,Ad-Hoc,Enterprise"), 1));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/provisioning_profile_uuid_release"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/code_sign_identity_release"), "iPhone Distribution"));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/code_sign_identity_release", PROPERTY_HINT_PLACEHOLDER_TEXT, "iPhone Distribution"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "application/export_method_release", PROPERTY_HINT_ENUM, "App Store,Development,Ad-Hoc,Enterprise"), 0));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game Name"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/info"), "Made with Godot Engine"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/identifier"), "org.godotengine.iosgame"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/signature"), "????"));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/identifier", PROPERTY_HINT_PLACEHOLDER_TEXT, "come.example.game"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/signature"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/short_version"), "1.0"));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/version"), "1.0"));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/copyright"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/iphone_120x120", PROPERTY_HINT_FILE, "png"), "")); // Home screen on iPhone/iPod Touch with retina display
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/ipad_76x76", PROPERTY_HINT_FILE, "png"), "")); // Home screen on iPad
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/app_store_1024x1024", PROPERTY_HINT_FILE, "png"), "")); // App Store
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/iphone_120x120", PROPERTY_HINT_FILE, "*.png"), "")); // Home screen on iPhone/iPod Touch with retina display
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/ipad_76x76", PROPERTY_HINT_FILE, "*.png"), "")); // Home screen on iPad
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "required_icons/app_store_1024x1024", PROPERTY_HINT_FILE, "*.png"), "")); // App Store
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/iphone_180x180", PROPERTY_HINT_FILE, "png"), "")); // Home screen on iPhone with retina HD display
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/ipad_152x152", PROPERTY_HINT_FILE, "png"), "")); // Home screen on iPad with retina display
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/ipad_167x167", PROPERTY_HINT_FILE, "png"), "")); // Home screen on iPad Pro
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/spotlight_40x40", PROPERTY_HINT_FILE, "png"), "")); // Spotlight
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/spotlight_80x80", PROPERTY_HINT_FILE, "png"), "")); // Spotlight on devices with retina display
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/iphone_180x180", PROPERTY_HINT_FILE, "*.png"), "")); // Home screen on iPhone with retina HD display
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/ipad_152x152", PROPERTY_HINT_FILE, "*.png"), "")); // Home screen on iPad with retina display
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/ipad_167x167", PROPERTY_HINT_FILE, "*.png"), "")); // Home screen on iPad Pro
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/spotlight_40x40", PROPERTY_HINT_FILE, "*.png"), "")); // Spotlight
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "optional_icons/spotlight_80x80", PROPERTY_HINT_FILE, "*.png"), "")); // Spotlight on devices with retina display
for (int i = 0; i < sizeof(loading_screen_infos) / sizeof(loading_screen_infos[0]); ++i) {
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, loading_screen_infos[i].preset_key, PROPERTY_HINT_FILE, "png"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, loading_screen_infos[i].preset_key, PROPERTY_HINT_FILE, "*.png"), ""));
}
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/s3tc"), false));
@@ -736,7 +739,7 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p
String library_to_use = "libgodot.iphone." + String(p_debug ? "debug" : "release") + ".fat.a";
- print_line("static library: " + library_to_use);
+ print_line("Static library: " + library_to_use);
String pkg_name;
if (p_preset->get("application/name") != "")
pkg_name = p_preset->get("application/name"); // app_name
@@ -806,7 +809,6 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p
file = file.replace_first("iphone/", "");
if (files_to_parse.has(file)) {
- print_line(String("parse ") + file);
_fix_config_file(p_preset, data, config_data, p_debug);
} else if (file.begins_with("libgodot.iphone")) {
if (file != library_to_use) {
diff --git a/platform/javascript/SCsub b/platform/javascript/SCsub
index 98988d97fd..a93c98a89f 100644
--- a/platform/javascript/SCsub
+++ b/platform/javascript/SCsub
@@ -32,6 +32,6 @@ zip_files = env.InstallAs([
], [
js_wrapped,
wasm,
- '#misc/dist/html/default.html'
+ '#misc/dist/html/full-size.html'
])
env.Zip('#bin/godot', zip_files, ZIPROOT=zip_dir, ZIPSUFFIX='${PROGSUFFIX}${ZIPSUFFIX}', ZIPCOMSTR='Archving $SOURCES as $TARGET')
diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp
index 7cff6ba172..a7f0084562 100644
--- a/platform/javascript/export/export.cpp
+++ b/platform/javascript/export/export.cpp
@@ -74,6 +74,9 @@ public:
r_features->push_back(get_os_name());
}
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
+ }
+
EditorExportPlatformJavaScript();
};
@@ -117,10 +120,10 @@ void EditorExportPlatformJavaScript::get_export_options(List<ExportOption> *r_op
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"), true));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "html/custom_html_shell", PROPERTY_HINT_FILE, "html"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "html/custom_html_shell", PROPERTY_HINT_FILE, "*.html"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "html/head_include", PROPERTY_HINT_MULTILINE_TEXT), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
}
String EditorExportPlatformJavaScript::get_name() const {
@@ -140,14 +143,35 @@ Ref<Texture> EditorExportPlatformJavaScript::get_logo() const {
bool EditorExportPlatformJavaScript::can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
- r_missing_templates = false;
+ bool valid = false;
+ String err;
+
+ if (find_export_template(EXPORT_TEMPLATE_WEBASSEMBLY_RELEASE) != "")
+ valid = true;
+ else if (find_export_template(EXPORT_TEMPLATE_WEBASSEMBLY_DEBUG) != "")
+ valid = true;
+
+ if (p_preset->get("custom_template/debug") != "") {
+ if (FileAccess::exists(p_preset->get("custom_template/debug"))) {
+ valid = true;
+ } else {
+ err += "Custom debug template not found.\n";
+ }
+ }
+
+ if (p_preset->get("custom_template/release") != "") {
+ if (FileAccess::exists(p_preset->get("custom_template/release"))) {
+ valid = true;
+ } else {
+ err += "Custom release template not found.\n";
+ }
+ }
- if (find_export_template(EXPORT_TEMPLATE_WEBASSEMBLY_RELEASE) == String())
- r_missing_templates = true;
- else if (find_export_template(EXPORT_TEMPLATE_WEBASSEMBLY_DEBUG) == String())
- r_missing_templates = true;
+ if (!err.empty())
+ r_error = err;
- return !r_missing_templates;
+ r_missing_templates = !valid;
+ return valid;
}
String EditorExportPlatformJavaScript::get_binary_extension(const Ref<EditorExportPreset> &p_preset) const {
diff --git a/platform/javascript/http_request.js b/platform/javascript/http_request.js
index c420052e54..ee1c06c623 100644
--- a/platform/javascript/http_request.js
+++ b/platform/javascript/http_request.js
@@ -82,7 +82,7 @@ var GodotHTTPRequest = {
godot_xhr_send_string: function(xhrId, strPtr) {
if (!strPtr) {
- Module.printErr("Failed to send string per XHR: null pointer");
+ console.warn("Failed to send string per XHR: null pointer");
return;
}
GodotHTTPRequest.requests[xhrId].send(UTF8ToString(strPtr));
@@ -90,11 +90,11 @@ var GodotHTTPRequest = {
godot_xhr_send_data: function(xhrId, ptr, len) {
if (!ptr) {
- Module.printErr("Failed to send data per XHR: null pointer");
+ console.warn("Failed to send data per XHR: null pointer");
return;
}
if (len < 0) {
- Module.printErr("Failed to send data per XHR: buffer length less than 0");
+ console.warn("Failed to send data per XHR: buffer length less than 0");
return;
}
GodotHTTPRequest.requests[xhrId].send(HEAPU8.subarray(ptr, ptr + len));
diff --git a/platform/javascript/javascript_eval.cpp b/platform/javascript/javascript_eval.cpp
index 2ef88345f6..07b4c192e6 100644
--- a/platform/javascript/javascript_eval.cpp
+++ b/platform/javascript/javascript_eval.cpp
@@ -69,7 +69,7 @@ Variant JavaScript::eval(const String &p_code, bool p_use_global_exec_context) {
eval_ret = eval(UTF8ToString(CODE));
}
} catch (e) {
- Module.printErr(e);
+ console.warn(e);
eval_ret = null;
}
@@ -97,7 +97,7 @@ Variant JavaScript::eval(const String &p_code, bool p_use_global_exec_context) {
if (array_ptr!==0) {
_free(array_ptr)
}
- Module.printErr(e);
+ console.warn(e);
// fall through
}
break;
diff --git a/platform/javascript/os_javascript.cpp b/platform/javascript/os_javascript.cpp
index b9d586e233..5a8a05d4df 100644
--- a/platform/javascript/os_javascript.cpp
+++ b/platform/javascript/os_javascript.cpp
@@ -71,14 +71,6 @@ static bool is_canvas_focused() {
static bool cursor_inside_canvas = true;
-EM_BOOL OS_JavaScript::browser_resize_callback(int p_event_type, const EmscriptenUiEvent *p_event, void *p_user_data) {
-
- // The order of the fullscreen change event and the window size change
- // event varies, even within just one browser, so defer handling.
- get_singleton()->canvas_size_adjustment_requested = true;
- return false;
-}
-
EM_BOOL OS_JavaScript::fullscreen_change_callback(int p_event_type, const EmscriptenFullscreenChangeEvent *p_event, void *p_user_data) {
OS_JavaScript *os = get_singleton();
@@ -88,7 +80,13 @@ EM_BOOL OS_JavaScript::fullscreen_change_callback(int p_event_type, const Emscri
// This event property is the only reliable data on
// browser fullscreen state.
os->video_mode.fullscreen = p_event->isFullscreen;
- os->canvas_size_adjustment_requested = true;
+ if (os->video_mode.fullscreen) {
+ os->entering_fullscreen = false;
+ } else {
+ // Restoring maximized window now will cause issues,
+ // so delay until main_loop_iterate.
+ os->just_exited_fullscreen = true;
+ }
}
return false;
}
@@ -114,14 +112,14 @@ Size2 OS_JavaScript::get_screen_size(int p_screen) const {
void OS_JavaScript::set_window_size(const Size2 p_size) {
windowed_size = p_size;
- if (is_window_fullscreen()) {
+ if (video_mode.fullscreen) {
window_maximized = false;
set_window_fullscreen(false);
- } else if (is_window_maximized()) {
- set_window_maximized(false);
} else {
- video_mode.width = p_size.x;
- video_mode.height = p_size.y;
+ if (window_maximized) {
+ emscripten_exit_soft_fullscreen();
+ window_maximized = false;
+ }
emscripten_set_canvas_size(p_size.x, p_size.y);
}
}
@@ -135,31 +133,22 @@ Size2 OS_JavaScript::get_window_size() const {
void OS_JavaScript::set_window_maximized(bool p_enabled) {
- window_maximized = p_enabled;
- if (is_window_fullscreen()) {
+ if (video_mode.fullscreen) {
+ window_maximized = p_enabled;
set_window_fullscreen(false);
- return;
- }
- // Calling emscripten_enter_soft_fullscreen mutltiple times hides all
- // page elements except the canvas permanently, so track state.
- if (p_enabled && !soft_fullscreen_enabled) {
-
+ } else if (!p_enabled) {
+ emscripten_exit_soft_fullscreen();
+ window_maximized = false;
+ } else if (!window_maximized) {
+ // Prevent calling emscripten_enter_soft_fullscreen mutltiple times,
+ // this would hide page elements permanently.
EmscriptenFullscreenStrategy strategy;
strategy.scaleMode = EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH;
strategy.canvasResolutionScaleMode = EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_STDDEF;
strategy.filteringMode = EMSCRIPTEN_FULLSCREEN_FILTERING_DEFAULT;
strategy.canvasResizedCallback = NULL;
emscripten_enter_soft_fullscreen(NULL, &strategy);
- soft_fullscreen_enabled = true;
- video_mode.width = get_window_size().width;
- video_mode.height = get_window_size().height;
- } else if (!p_enabled) {
-
- emscripten_exit_soft_fullscreen();
- soft_fullscreen_enabled = false;
- video_mode.width = windowed_size.width;
- video_mode.height = windowed_size.height;
- emscripten_set_canvas_size(video_mode.width, video_mode.height);
+ window_maximized = p_enabled;
}
}
@@ -170,30 +159,33 @@ bool OS_JavaScript::is_window_maximized() const {
void OS_JavaScript::set_window_fullscreen(bool p_enabled) {
- if (p_enabled == is_window_fullscreen()) {
+ if (p_enabled == video_mode.fullscreen) {
return;
}
- // Just request changes here, if successful, canvas is resized in
- // _browser_resize_callback or _fullscreen_change_callback.
- EMSCRIPTEN_RESULT result;
+ // Just request changes here, if successful, logic continues in
+ // fullscreen_change_callback.
if (p_enabled) {
if (window_maximized) {
- // Soft fullsreen during real fulllscreen can cause issues.
- set_window_maximized(false);
- window_maximized = true;
+ // Soft fullsreen during real fullscreen can cause issues, so exit.
+ // This must be called before requesting full screen.
+ emscripten_exit_soft_fullscreen();
}
EmscriptenFullscreenStrategy strategy;
strategy.scaleMode = EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH;
strategy.canvasResolutionScaleMode = EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_STDDEF;
strategy.filteringMode = EMSCRIPTEN_FULLSCREEN_FILTERING_DEFAULT;
strategy.canvasResizedCallback = NULL;
- emscripten_request_fullscreen_strategy(NULL, false, &strategy);
+ EMSCRIPTEN_RESULT result = emscripten_request_fullscreen_strategy(NULL, false, &strategy);
+ ERR_EXPLAIN("Enabling fullscreen is only possible from an input callback for the HTML5 platform");
+ ERR_FAIL_COND(result == EMSCRIPTEN_RESULT_FAILED_NOT_DEFERRED);
+ ERR_FAIL_COND(result != EMSCRIPTEN_RESULT_SUCCESS);
+ // Not fullscreen yet, so prevent "windowed" canvas dimensions from
+ // being overwritten.
+ entering_fullscreen = true;
} else {
- result = emscripten_exit_fullscreen();
- if (result != EMSCRIPTEN_RESULT_SUCCESS) {
- ERR_PRINTS("Failed to exit fullscreen: Code " + itos(result));
- }
+ // No logic allowed here, since exiting w/ ESC key won't use this function.
+ ERR_FAIL_COND(emscripten_exit_fullscreen() != EMSCRIPTEN_RESULT_SUCCESS);
}
}
@@ -725,7 +717,6 @@ Error OS_JavaScript::initialize(const VideoMode &p_desired, int p_video_driver,
SET_EM_CALLBACK("#canvas", keydown, keydown_callback)
SET_EM_CALLBACK("#canvas", keypress, keypress_callback)
SET_EM_CALLBACK("#canvas", keyup, keyup_callback)
- SET_EM_CALLBACK(NULL, resize, browser_resize_callback)
SET_EM_CALLBACK(NULL, fullscreenchange, fullscreen_change_callback)
SET_EM_CALLBACK_NOTARGET(gamepadconnected, gamepad_change_callback)
SET_EM_CALLBACK_NOTARGET(gamepaddisconnected, gamepad_change_callback)
@@ -788,24 +779,38 @@ bool OS_JavaScript::main_loop_iterate() {
/* clang-format off */
EM_ASM(
FS.syncfs(function(err) {
- if (err) { Module.printErr('Failed to save IDB file system: ' + err.message); }
+ if (err) { console.warn('Failed to save IDB file system: ' + err.message); }
});
);
/* clang-format on */
}
}
+
process_joypads();
- if (canvas_size_adjustment_requested) {
- if (video_mode.fullscreen || window_maximized) {
- video_mode.width = get_window_size().width;
- video_mode.height = get_window_size().height;
- }
- if (!video_mode.fullscreen) {
- set_window_maximized(window_maximized);
+ if (just_exited_fullscreen) {
+ if (window_maximized) {
+ EmscriptenFullscreenStrategy strategy;
+ strategy.scaleMode = EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH;
+ strategy.canvasResolutionScaleMode = EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_STDDEF;
+ strategy.filteringMode = EMSCRIPTEN_FULLSCREEN_FILTERING_DEFAULT;
+ strategy.canvasResizedCallback = NULL;
+ emscripten_enter_soft_fullscreen(NULL, &strategy);
+ } else {
+ emscripten_set_canvas_size(windowed_size.width, windowed_size.height);
}
- canvas_size_adjustment_requested = false;
+ just_exited_fullscreen = false;
}
+
+ int canvas[3];
+ emscripten_get_canvas_size(canvas, canvas + 1, canvas + 2);
+ video_mode.width = canvas[0];
+ video_mode.height = canvas[1];
+ if (!window_maximized && !video_mode.fullscreen && !just_exited_fullscreen && !entering_fullscreen) {
+ windowed_size.width = canvas[0];
+ windowed_size.height = canvas[1];
+ }
+
return Main::iteration();
}
@@ -958,8 +963,8 @@ OS_JavaScript::OS_JavaScript(int p_argc, char *p_argv[]) {
set_cmdline(p_argv[0], arguments);
window_maximized = false;
- soft_fullscreen_enabled = false;
- canvas_size_adjustment_requested = false;
+ entering_fullscreen = false;
+ just_exited_fullscreen = false;
main_loop = NULL;
diff --git a/platform/javascript/os_javascript.h b/platform/javascript/os_javascript.h
index 915320fe39..f40fb8fc7e 100644
--- a/platform/javascript/os_javascript.h
+++ b/platform/javascript/os_javascript.h
@@ -44,8 +44,8 @@ class OS_JavaScript : public OS_Unix {
VideoMode video_mode;
Vector2 windowed_size;
bool window_maximized;
- bool soft_fullscreen_enabled;
- bool canvas_size_adjustment_requested;
+ bool entering_fullscreen;
+ bool just_exited_fullscreen;
InputDefault *input;
Ref<InputEventKey> deferred_key_event;
@@ -59,7 +59,6 @@ class OS_JavaScript : public OS_Unix {
int64_t sync_wait_time;
int64_t last_sync_check_time;
- static EM_BOOL browser_resize_callback(int p_event_type, const EmscriptenUiEvent *p_event, void *p_user_data);
static EM_BOOL fullscreen_change_callback(int p_event_type, const EmscriptenFullscreenChangeEvent *p_event, void *p_user_data);
static EM_BOOL keydown_callback(int p_event_type, const EmscriptenKeyboardEvent *p_event, void *p_user_data);
diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp
index b630e4f223..880705b507 100644
--- a/platform/osx/export/export.cpp
+++ b/platform/osx/export/export.cpp
@@ -86,6 +86,9 @@ public:
r_features->push_back("OSX");
}
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
+ }
+
EditorExportPlatformOSX();
~EditorExportPlatformOSX();
};
@@ -106,14 +109,14 @@ void EditorExportPlatformOSX::get_preset_features(const Ref<EditorExportPreset>
void EditorExportPlatformOSX::get_export_options(List<ExportOption> *r_options) {
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/release", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/debug", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_package/release", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game Name"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/info"), "Made with Godot Engine"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/icon", PROPERTY_HINT_FILE, "png"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/identifier"), "org.godotengine.macgame"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/signature"), "godotmacgame"));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/icon", PROPERTY_HINT_FILE, "*.png"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/identifier", PROPERTY_HINT_PLACEHOLDER_TEXT, "com.example.game"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/signature"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/short_version"), "1.0"));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/version"), "1.0"));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/copyright"), ""));
@@ -377,7 +380,6 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p
String file = fname;
- print_line("READ: " + file);
Vector<uint8_t> data;
data.resize(info.uncompressed_size);
@@ -391,7 +393,6 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p
file = file.replace_first("osx_template.app/", "");
if (file == "Contents/Info.plist") {
- print_line("parse plist");
_fix_plist(p_preset, data, pkg_name);
}
@@ -412,13 +413,12 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p
iconpath = p_preset->get("application/icon");
else
iconpath = ProjectSettings::get_singleton()->get("application/config/icon");
- print_line("icon? " + iconpath);
+
if (iconpath != "") {
Ref<Image> icon;
icon.instance();
icon->load(iconpath);
if (!icon->empty()) {
- print_line("loaded?");
_make_icon(icon, data);
}
}
@@ -472,9 +472,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p
Z_DEFLATED,
Z_DEFAULT_COMPRESSION);
- print_line("OPEN ERR: " + itos(zerr));
zerr = zipWriteInFileInZip(dst_pkg_zip, data.ptr(), data.size());
- print_line("WRITE ERR: " + itos(zerr));
zipCloseFileInZip(dst_pkg_zip);
}
}
diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp
index ebc2c2d7a2..1ad5293b44 100644
--- a/platform/uwp/export/export.cpp
+++ b/platform/uwp/export/export.cpp
@@ -1050,15 +1050,15 @@ public:
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "command_line/extra_args"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/display_name"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/short_name"), "Godot"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/unique_name"), "Godot.Engine"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/description"), "Godot Engine"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/publisher"), "CN=GodotEngine"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/publisher_display_name"), "Godot Engine"));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/display_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game Name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/short_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game Name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/unique_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game.Name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/description"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/publisher", PROPERTY_HINT_PLACEHOLDER_TEXT, "CN=CompanyName"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "package/publisher_display_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Company Name"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "identity/product_guid"), "00000000-0000-0000-0000-000000000000"));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "identity/publisher_guid"), "00000000-0000-0000-0000-000000000000"));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "identity/product_guid", PROPERTY_HINT_PLACEHOLDER_TEXT, "00000000-0000-0000-0000-000000000000"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "identity/publisher_guid", PROPERTY_HINT_PLACEHOLDER_TEXT, "00000000-0000-0000-0000-000000000000"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "signing/certificate", PROPERTY_HINT_GLOBAL_FILE, "*.pfx"), ""));
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "signing/password"), ""));
@@ -1087,8 +1087,8 @@ public:
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "tiles/show_name_on_wide310x150"), false));
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "tiles/show_name_on_square310x310"), false));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE, "zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE, "*.zip"), ""));
// Capabilities
const char **basic = uwp_capabilities;
@@ -1454,6 +1454,9 @@ public:
r_features->push_back("UWP");
}
+ virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) {
+ }
+
EditorExportUWP() {
Ref<Image> img = memnew(Image(_uwp_logo));
logo.instance();
diff --git a/platform/windows/context_gl_win.cpp b/platform/windows/context_gl_win.cpp
index a158237418..59435b04ea 100644
--- a/platform/windows/context_gl_win.cpp
+++ b/platform/windows/context_gl_win.cpp
@@ -68,20 +68,6 @@ void ContextGL_Win::swap_buffers() {
SwapBuffers(hDC);
}
-/*
-static GLWrapperFuncPtr wrapper_get_proc_address(const char* p_function) {
-
- print_line(String()+"getting proc of: "+p_function);
- GLWrapperFuncPtr func=(GLWrapperFuncPtr)get_gl_proc_address(p_function);
- if (!func) {
- print_line("Couldn't find function: "+String(p_function));
- print_line("error: "+itos(GetLastError()));
- }
- return func;
-
-}
-*/
-
void ContextGL_Win::set_use_vsync(bool p_use) {
if (wglSwapIntervalEXT) {
diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index 34fc3e09b5..dcd3597e88 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -172,6 +172,7 @@ def configure_msvc(env, manual_msvc_config):
env.Append(CCFLAGS=['/O1'])
env.Append(LINKFLAGS=['/SUBSYSTEM:WINDOWS'])
env.Append(LINKFLAGS=['/ENTRY:mainCRTStartup'])
+ env.Append(LINKFLAGS=['/OPT:REF'])
elif (env["target"] == "release_debug"):
if (env["optimize"] == "speed"): #optimize for speed (default)
@@ -180,12 +181,7 @@ def configure_msvc(env, manual_msvc_config):
env.Append(CCFLAGS=['/O1'])
env.AppendUnique(CPPDEFINES = ['DEBUG_ENABLED'])
env.Append(LINKFLAGS=['/SUBSYSTEM:CONSOLE'])
-
- elif (env["target"] == "debug_release"):
- env.Append(CCFLAGS=['/Z7', '/Od'])
- env.Append(LINKFLAGS=['/DEBUG'])
- env.Append(LINKFLAGS=['/SUBSYSTEM:WINDOWS'])
- env.Append(LINKFLAGS=['/ENTRY:mainCRTStartup'])
+ env.Append(LINKFLAGS=['/OPT:REF'])
elif (env["target"] == "debug"):
env.AppendUnique(CCFLAGS=['/Z7', '/Od', '/EHsc'])
@@ -194,6 +190,10 @@ def configure_msvc(env, manual_msvc_config):
env.Append(LINKFLAGS=['/SUBSYSTEM:CONSOLE'])
env.Append(LINKFLAGS=['/DEBUG'])
+ if (env["debug_symbols"] == "full" or env["debug_symbols"] == "yes"):
+ env.AppendUnique(CCFLAGS=['/Z7'])
+ env.AppendUnique(LINKFLAGS=['/DEBUG'])
+
## Compile/link flags
env.AppendUnique(CCFLAGS=['/MT', '/Gd', '/GR', '/nologo'])
diff --git a/platform/windows/export/export.cpp b/platform/windows/export/export.cpp
index 97544c18f5..38fd6366c7 100644
--- a/platform/windows/export/export.cpp
+++ b/platform/windows/export/export.cpp
@@ -137,14 +137,14 @@ Error EditorExportPlatformWindows::export_project(const Ref<EditorExportPreset>
void EditorExportPlatformWindows::get_export_options(List<ExportOption> *r_options) {
EditorExportPlatformPC::get_export_options(r_options);
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/icon", PROPERTY_HINT_GLOBAL_FILE, "*.ico"), String()));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/file_version"), String()));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/product_version"), String()));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/company_name"), String()));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/product_name"), String()));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/file_description"), String()));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/copyright"), String()));
- r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/trademarks"), String()));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/icon", PROPERTY_HINT_GLOBAL_FILE, "*.ico"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/file_version"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/product_version"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/company_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Company Name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/product_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Game Name"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/file_description"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/copyright"), ""));
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/trademarks"), ""));
}
void register_windows_exporter() {
diff --git a/platform/windows/joypad.cpp b/platform/windows/joypad.cpp
index 796531fe24..b56fb6509e 100644
--- a/platform/windows/joypad.cpp
+++ b/platform/windows/joypad.cpp
@@ -540,9 +540,7 @@ void JoypadWindows::load_xinput() {
}
if (!xinput_dll) {
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line("Could not find XInput, using DirectInput only");
- }
+ print_verbose("Could not find XInput, using DirectInput only");
return;
}
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp
index d6cfd039d9..b7b207dde1 100644
--- a/platform/windows/os_windows.cpp
+++ b/platform/windows/os_windows.cpp
@@ -190,6 +190,28 @@ BOOL WINAPI HandlerRoutine(_In_ DWORD dwCtrlType) {
}
}
+BOOL CALLBACK _CloseWindowsEnum(HWND hWnd, LPARAM lParam) {
+ DWORD dwID;
+
+ GetWindowThreadProcessId(hWnd, &dwID);
+
+ if (dwID == (DWORD)lParam) {
+ PostMessage(hWnd, WM_CLOSE, 0, 0);
+ }
+
+ return TRUE;
+}
+
+bool _close_gracefully(const PROCESS_INFORMATION &pi, const DWORD dwStopWaitMsec) {
+ if (!EnumWindows(_CloseWindowsEnum, pi.dwProcessId))
+ return false;
+
+ if (WaitForSingleObject(pi.hProcess, dwStopWaitMsec) != WAIT_OBJECT_0)
+ return false;
+
+ return true;
+}
+
void OS_Windows::initialize_debugging() {
SetConsoleCtrlHandler(HandlerRoutine, TRUE);
@@ -387,7 +409,84 @@ LRESULT OS_Windows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
input->set_mouse_in_window(false);
} break;
+ case WM_INPUT: {
+ if (mouse_mode != MOUSE_MODE_CAPTURED || !use_raw_input) {
+ break;
+ }
+
+ UINT dwSize;
+
+ GetRawInputData((HRAWINPUT)lParam, RID_INPUT, NULL, &dwSize, sizeof(RAWINPUTHEADER));
+ LPBYTE lpb = new BYTE[dwSize];
+ if (lpb == NULL) {
+ return 0;
+ }
+
+ if (GetRawInputData((HRAWINPUT)lParam, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER)) != dwSize)
+ OutputDebugString(TEXT("GetRawInputData does not return correct size !\n"));
+
+ RAWINPUT *raw = (RAWINPUT *)lpb;
+
+ if (raw->header.dwType == RIM_TYPEMOUSE) {
+ Ref<InputEventMouseMotion> mm;
+ mm.instance();
+
+ mm->set_control(control_mem);
+ mm->set_shift(shift_mem);
+ mm->set_alt(alt_mem);
+
+ mm->set_button_mask(last_button_state);
+
+ Point2i c(video_mode.width / 2, video_mode.height / 2);
+
+ // centering just so it works as before
+ POINT pos = { (int)c.x, (int)c.y };
+ ClientToScreen(hWnd, &pos);
+ SetCursorPos(pos.x, pos.y);
+
+ mm->set_position(c);
+ mm->set_global_position(c);
+ input->set_mouse_position(c);
+ mm->set_speed(Vector2(0, 0));
+
+ if (raw->data.mouse.usFlags == MOUSE_MOVE_RELATIVE) {
+ mm->set_relative(Vector2(raw->data.mouse.lLastX, raw->data.mouse.lLastY));
+
+ } else if (raw->data.mouse.usFlags == MOUSE_MOVE_ABSOLUTE) {
+
+ int nScreenWidth = GetSystemMetrics(SM_CXVIRTUALSCREEN);
+ int nScreenHeight = GetSystemMetrics(SM_CYVIRTUALSCREEN);
+ int nScreenLeft = GetSystemMetrics(SM_XVIRTUALSCREEN);
+ int nScreenTop = GetSystemMetrics(SM_YVIRTUALSCREEN);
+
+ Vector2 abs_pos(
+ (double(raw->data.mouse.lLastX) - 65536.0 / (nScreenWidth)) * nScreenWidth / 65536.0 + nScreenLeft,
+ (double(raw->data.mouse.lLastY) - 65536.0 / (nScreenHeight)) * nScreenHeight / 65536.0 + nScreenTop);
+
+ POINT coords; //client coords
+ coords.x = abs_pos.x;
+ coords.y = abs_pos.y;
+
+ ScreenToClient(hWnd, &coords);
+
+ mm->set_relative(Vector2(coords.x - old_x, coords.y - old_y));
+ old_x = coords.x;
+ old_y = coords.y;
+
+ /*Input.mi.dx = (int)((((double)(pos.x)-nScreenLeft) * 65536) / nScreenWidth + 65536 / (nScreenWidth));
+ Input.mi.dy = (int)((((double)(pos.y)-nScreenTop) * 65536) / nScreenHeight + 65536 / (nScreenHeight));
+ */
+ }
+
+ if (window_has_focus && main_loop)
+ input->parse_input_event(mm);
+ }
+ delete[] lpb;
+ } break;
case WM_MOUSEMOVE: {
+ if (mouse_mode == MOUSE_MODE_CAPTURED && use_raw_input) {
+ break;
+ }
if (input->is_emulating_mouse_from_touch()) {
// Universal translation enabled; ignore OS translation
@@ -754,14 +853,6 @@ LRESULT OS_Windows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (ke.uMsg == WM_SYSKEYUP)
ke.uMsg = WM_KEYUP;
- /*if (ke.uMsg==WM_KEYDOWN && alt_mem && uMsg!=WM_SYSKEYDOWN) {
- //altgr hack for intl keyboards, not sure how good it is
- //windows is weeeeird
- ke.mod_state.alt=false;
- ke.mod_state.control=false;
- print_line("")
- }*/
-
ke.wParam = wParam;
ke.lParam = lParam;
key_event_buffer[key_event_pos++] = ke;
@@ -769,7 +860,7 @@ LRESULT OS_Windows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
} break;
case WM_INPUTLANGCHANGEREQUEST: {
- print_line("input lang change");
+ // FIXME: Do something?
} break;
case WM_TOUCH: {
@@ -1024,7 +1115,6 @@ Error OS_Windows::initialize(const VideoMode &p_desired, int p_video_driver, int
WNDCLASSEXW wc;
if (is_hidpi_allowed()) {
- print_line("hidpi aware?");
HMODULE Shcore = LoadLibraryW(L"Shcore.dll");
if (Shcore != NULL) {
@@ -1066,6 +1156,20 @@ Error OS_Windows::initialize(const VideoMode &p_desired, int p_video_driver, int
return ERR_UNAVAILABLE;
}
+ use_raw_input = true;
+
+ RAWINPUTDEVICE Rid[1];
+
+ Rid[0].usUsagePage = 0x01;
+ Rid[0].usUsage = 0x02;
+ Rid[0].dwFlags = 0;
+ Rid[0].hwndTarget = 0;
+
+ if (RegisterRawInputDevices(Rid, 1, sizeof(Rid[0])) == FALSE) {
+ //registration failed.
+ use_raw_input = false;
+ }
+
pre_fs_valid = true;
if (video_mode.fullscreen) {
@@ -1085,8 +1189,6 @@ Error OS_Windows::initialize(const VideoMode &p_desired, int p_video_driver, int
WindowRect.right = data.size.width;
WindowRect.bottom = data.size.height;
- print_line("wr right " + itos(WindowRect.right) + ", " + itos(WindowRect.bottom));
-
/* DEVMODE dmScreenSettings;
memset(&dmScreenSettings,0,sizeof(dmScreenSettings));
dmScreenSettings.dmSize=sizeof(dmScreenSettings);
@@ -1374,12 +1476,6 @@ void OS_Windows::finalize() {
if (user_proc) {
SetWindowLongPtr(hWnd, GWLP_WNDPROC, (LONG_PTR)user_proc);
};
-
- /*
- if (debugger_connection_console) {
- memdelete(debugger_connection_console);
- }
- */
}
void OS_Windows::finalize_core() {
@@ -1643,9 +1739,6 @@ void OS_Windows::set_window_fullscreen(bool p_enabled) {
if (pre_fs_valid) {
GetWindowRect(hWnd, &pre_fs_rect);
- //print_line("A: "+itos(pre_fs_rect.left)+","+itos(pre_fs_rect.top)+","+itos(pre_fs_rect.right-pre_fs_rect.left)+","+itos(pre_fs_rect.bottom-pre_fs_rect.top));
- //MapWindowPoints(hWnd, GetParent(hWnd), (LPPOINT) &pre_fs_rect, 2);
- //print_line("B: "+itos(pre_fs_rect.left)+","+itos(pre_fs_rect.top)+","+itos(pre_fs_rect.right-pre_fs_rect.left)+","+itos(pre_fs_rect.bottom-pre_fs_rect.top));
}
int cs = get_current_screen();
@@ -2322,20 +2415,26 @@ Error OS_Windows::execute(const String &p_path, const List<String> &p_arguments,
return OK;
};
-Error OS_Windows::kill(const ProcessID &p_pid) {
-
+Error OS_Windows::kill(const ProcessID &p_pid, const int p_max_wait_msec) {
ERR_FAIL_COND_V(!process_map->has(p_pid), FAILED);
const PROCESS_INFORMATION pi = (*process_map)[p_pid].pi;
process_map->erase(p_pid);
- const int ret = TerminateProcess(pi.hProcess, 0);
+ Error result;
+
+ if (p_max_wait_msec != -1 && _close_gracefully(pi, p_max_wait_msec)) {
+ result = OK;
+ } else {
+ const int ret = TerminateProcess(pi.hProcess, 0);
+ result = ret != 0 ? OK : FAILED;
+ }
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
- return ret != 0 ? OK : FAILED;
-};
+ return result;
+}
int OS_Windows::get_process_id() const {
return _getpid();
@@ -2777,7 +2876,7 @@ int OS_Windows::get_power_percent_left() {
bool OS_Windows::_check_internal_feature_support(const String &p_feature) {
- return p_feature == "pc" || p_feature == "s3tc";
+ return p_feature == "pc" || p_feature == "s3tc" || p_feature == "bptc";
}
void OS_Windows::disable_crash_handler() {
@@ -2790,9 +2889,13 @@ bool OS_Windows::is_disable_crash_handler() const {
Error OS_Windows::move_to_trash(const String &p_path) {
SHFILEOPSTRUCTW sf;
+ WCHAR *from = new WCHAR[p_path.length() + 2];
+ wcscpy(from, p_path.c_str());
+ from[p_path.length() + 1] = 0;
+
sf.hwnd = hWnd;
sf.wFunc = FO_DELETE;
- sf.pFrom = p_path.c_str();
+ sf.pFrom = from;
sf.pTo = NULL;
sf.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION;
sf.fAnyOperationsAborted = FALSE;
@@ -2800,6 +2903,7 @@ Error OS_Windows::move_to_trash(const String &p_path) {
sf.lpszProgressTitle = NULL;
int ret = SHFileOperationW(&sf);
+ delete[] from;
if (ret) {
ERR_PRINTS("SHFileOperation error: " + itos(ret));
diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h
index 69c7d851b8..243d4bb328 100644
--- a/platform/windows/os_windows.h
+++ b/platform/windows/os_windows.h
@@ -125,6 +125,7 @@ class OS_Windows : public OS {
bool force_quit;
bool window_has_focus;
uint32_t last_button_state;
+ bool use_raw_input;
HCURSOR cursors[CURSOR_MAX] = { NULL };
CursorShape cursor_shape;
@@ -258,7 +259,7 @@ public:
virtual uint64_t get_ticks_usec() const;
virtual Error execute(const String &p_path, const List<String> &p_arguments, bool p_blocking, ProcessID *r_child_id = NULL, String *r_pipe = NULL, int *r_exitcode = NULL, bool read_stderr = false);
- virtual Error kill(const ProcessID &p_pid);
+ virtual Error kill(const ProcessID &p_pid, const int p_stop_max_wait_msec = -1);
virtual int get_process_id() const;
virtual bool has_environment(const String &p_var) const;
diff --git a/platform/x11/context_gl_x11.cpp b/platform/x11/context_gl_x11.cpp
index cd76667c64..5a239e326b 100644
--- a/platform/x11/context_gl_x11.cpp
+++ b/platform/x11/context_gl_x11.cpp
@@ -65,19 +65,6 @@ void ContextGL_X11::swap_buffers() {
glXSwapBuffers(x11_display, x11_window);
}
-/*
-static GLWrapperFuncPtr wrapper_get_proc_address(const char* p_function) {
-
- //print_line(String()+"getting proc of: "+p_function);
- GLWrapperFuncPtr func=(GLWrapperFuncPtr)glXGetProcAddress( (const GLubyte*) p_function);
- if (!func) {
- print_line("Couldn't find function: "+String(p_function));
- }
-
- return func;
-
-}*/
-
static bool ctxErrorOccurred = false;
static int ctxErrorHandler(Display *dpy, XErrorEvent *ev) {
ctxErrorOccurred = true;
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp
index a1e844898e..043902f48c 100644
--- a/platform/x11/os_x11.cpp
+++ b/platform/x11/os_x11.cpp
@@ -170,13 +170,13 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
#ifdef TOUCH_ENABLED
if (!XQueryExtension(x11_display, "XInputExtension", &touch.opcode, &event_base, &error_base)) {
- fprintf(stderr, "XInput extension not available");
+ print_verbose("XInput extension not available, touch support disabled.");
} else {
// 2.2 is the first release with multitouch
int xi_major = 2;
int xi_minor = 2;
if (XIQueryVersion(x11_display, &xi_major, &xi_minor) != Success) {
- fprintf(stderr, "XInput 2.2 not available (server supports %d.%d)\n", xi_major, xi_minor);
+ print_verbose(vformat("XInput 2.2 not available (server supports %d.%d), touch support disabled.", xi_major, xi_minor));
touch.opcode = 0;
} else {
int dev_count;
@@ -198,14 +198,14 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
}
if (direct_touch) {
touch.devices.push_back(dev->deviceid);
- fprintf(stderr, "Using touch device: %s\n", dev->name);
+ print_verbose("XInput: Using touch device: " + String(dev->name));
}
}
XIFreeDeviceInfo(info);
- if (is_stdout_verbose() && !touch.devices.size()) {
- fprintf(stderr, "No touch devices found\n");
+ if (!touch.devices.size()) {
+ print_verbose("XInput: No touch devices found.");
}
}
}
@@ -266,7 +266,6 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
*/
// maybe contextgl wants to be in charge of creating the window
-//print_line("def videomode "+itos(current_videomode.width)+","+itos(current_videomode.height));
#if defined(OPENGL_ENABLED)
ContextGL_X11::ContextType opengl_api_type = ContextGL_X11::GLES_3_0_COMPATIBLE;
@@ -427,9 +426,7 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
cursor_theme = XcursorGetTheme(x11_display);
if (!cursor_theme) {
- if (is_stdout_verbose()) {
- print_line("XcursorGetTheme could not get cursor theme");
- }
+ print_verbose("XcursorGetTheme could not get cursor theme");
cursor_theme = "default";
}
@@ -442,7 +439,6 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
current_cursor = CURSOR_ARROW;
if (cursor_theme) {
- //print_line("cursor theme: "+String(cursor_theme));
for (int i = 0; i < CURSOR_MAX; i++) {
static const char *cursor_file[] = {
@@ -468,10 +464,8 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
img[i] = XcursorLibraryLoadImage(cursor_file[i], cursor_theme, cursor_size);
if (img[i]) {
cursors[i] = XcursorImageLoadCursor(x11_display, img[i]);
- //print_line("found cursor: "+String(cursor_file[i])+" id "+itos(cursors[i]));
} else {
- if (OS::is_stdout_verbose())
- print_line("failed cursor: " + String(cursor_file[i]));
+ print_verbose("Failed loading custom cursor: " + String(cursor_file[i]));
}
}
}
@@ -1516,7 +1510,6 @@ void OS_X11::handle_key_event(XKeyEvent *p_event, bool p_echo) {
// KeyMappingX11 also translates keysym to unicode.
// It does a binary search on a table to translate
// most properly.
- //print_line("keysym_unicode: "+rtos(keysym_unicode));
unsigned int unicode = keysym_unicode > 0 ? KeyMappingX11::get_unicode_from_keysym(keysym_unicode) : 0;
/* Phase 4, determine if event must be filtered */
@@ -1539,7 +1532,7 @@ void OS_X11::handle_key_event(XKeyEvent *p_event, bool p_echo) {
// know Mod1 was ALT and Mod4 was META (applekey/winkey)
// just tried Mods until i found them.
- //print_line("mod1: "+itos(xkeyevent->state&Mod1Mask)+" mod 5: "+itos(xkeyevent->state&Mod5Mask));
+ //print_verbose("mod1: "+itos(xkeyevent->state&Mod1Mask)+" mod 5: "+itos(xkeyevent->state&Mod5Mask));
Ref<InputEventKey> k;
k.instance();
@@ -2344,7 +2337,7 @@ Error OS_X11::shell_open(String p_uri) {
bool OS_X11::_check_internal_feature_support(const String &p_feature) {
- return p_feature == "pc" || p_feature == "s3tc";
+ return p_feature == "pc" || p_feature == "s3tc" || p_feature == "bptc";
}
String OS_X11::get_config_path() const {
diff --git a/scene/2d/audio_stream_player_2d.cpp b/scene/2d/audio_stream_player_2d.cpp
index 507499a324..559e041dbf 100644
--- a/scene/2d/audio_stream_player_2d.cpp
+++ b/scene/2d/audio_stream_player_2d.cpp
@@ -296,6 +296,7 @@ float AudioStreamPlayer2D::get_volume_db() const {
}
void AudioStreamPlayer2D::set_pitch_scale(float p_pitch_scale) {
+ ERR_FAIL_COND(p_pitch_scale <= 0.0);
pitch_scale = p_pitch_scale;
}
float AudioStreamPlayer2D::get_pitch_scale() const {
diff --git a/scene/2d/canvas_item.cpp b/scene/2d/canvas_item.cpp
index a035d9021f..7f7e3542ed 100644
--- a/scene/2d/canvas_item.cpp
+++ b/scene/2d/canvas_item.cpp
@@ -349,23 +349,12 @@ void CanvasItem::_update_callback() {
Transform2D CanvasItem::get_global_transform_with_canvas() const {
- const CanvasItem *ci = this;
- Transform2D xform;
- const CanvasItem *last_valid = NULL;
-
- while (ci) {
-
- last_valid = ci;
- xform = ci->get_transform() * xform;
- ci = ci->get_parent_item();
- }
-
- if (last_valid->canvas_layer)
- return last_valid->canvas_layer->get_transform() * xform;
+ if (canvas_layer)
+ return canvas_layer->get_transform() * get_global_transform();
else if (is_inside_tree())
- return get_viewport()->get_canvas_transform() * xform;
-
- return xform;
+ return get_viewport()->get_canvas_transform() * get_global_transform();
+ else
+ return get_global_transform();
}
Transform2D CanvasItem::get_global_transform() const {
diff --git a/scene/2d/collision_shape_2d.cpp b/scene/2d/collision_shape_2d.cpp
index 83ef4df8f4..ff5f7062c4 100644
--- a/scene/2d/collision_shape_2d.cpp
+++ b/scene/2d/collision_shape_2d.cpp
@@ -119,7 +119,7 @@ void CollisionShape2D::_notification(int p_what) {
Color draw_col = get_tree()->get_debug_collisions_color();
if (disabled) {
- float g = draw_col.gray();
+ float g = draw_col.get_v();
draw_col.r = g;
draw_col.g = g;
draw_col.b = g;
diff --git a/scene/2d/navigation2d.cpp b/scene/2d/navigation2d.cpp
index e3b048fd74..9eec8e6cc3 100644
--- a/scene/2d/navigation2d.cpp
+++ b/scene/2d/navigation2d.cpp
@@ -121,7 +121,6 @@ void Navigation2D::_navpoly_link(int p_id) {
pending.edge = j;
p.edges.write[j].P = C->get().pending.push_back(pending);
continue;
- //print_line(String()+_get_vertex(ek.a)+" -> "+_get_vertex(ek.b));
}
C->get().B = &p;
@@ -144,8 +143,6 @@ void Navigation2D::_navpoly_unlink(int p_id) {
NavMesh &nm = navpoly_map[p_id];
ERR_FAIL_COND(!nm.linked);
- //print_line("UNLINK");
-
for (List<Polygon>::Element *E = nm.polygons.front(); E; E = E->next()) {
Polygon &p = E->get();
@@ -341,7 +338,6 @@ Vector<Vector2> Navigation2D::get_simple_path(const Vector2 &p_start, const Vect
path.resize(2);
path.write[0] = begin_point;
path.write[1] = end_point;
- //print_line("Direct Path");
return path;
}
@@ -379,7 +375,6 @@ Vector<Vector2> Navigation2D::get_simple_path(const Vector2 &p_start, const Vect
while (!found_route) {
if (open_list.size() == 0) {
- //print_line("NOU OPEN LIST");
break;
}
//check open list
@@ -526,7 +521,6 @@ Vector<Vector2> Navigation2D::get_simple_path(const Vector2 &p_start, const Vect
if (portal_left.distance_squared_to(apex_point) < CMP_EPSILON || CLOCK_TANGENT(apex_point, left, portal_right) > 0) {
left_poly = p;
portal_left = left;
- //print_line("***ADVANCE LEFT");
} else {
apex_point = portal_right;
@@ -537,8 +531,6 @@ Vector<Vector2> Navigation2D::get_simple_path(const Vector2 &p_start, const Vect
if (!path.size() || path[path.size() - 1].distance_to(apex_point) > CMP_EPSILON)
path.push_back(apex_point);
skip = true;
- //print_line("addpoint left");
- //print_line("***CLIP LEFT");
}
}
@@ -547,7 +539,6 @@ Vector<Vector2> Navigation2D::get_simple_path(const Vector2 &p_start, const Vect
if (portal_right.distance_squared_to(apex_point) < CMP_EPSILON || CLOCK_TANGENT(apex_point, right, portal_left) < 0) {
right_poly = p;
portal_right = right;
- //print_line("***ADVANCE RIGHT");
} else {
apex_point = portal_left;
@@ -557,8 +548,6 @@ Vector<Vector2> Navigation2D::get_simple_path(const Vector2 &p_start, const Vect
portal_left = apex_point;
if (!path.size() || path[path.size() - 1].distance_to(apex_point) > CMP_EPSILON)
path.push_back(apex_point);
- //print_line("addpoint right");
- //print_line("***CLIP RIGHT");
}
}
diff --git a/scene/2d/navigation_polygon.cpp b/scene/2d/navigation_polygon.cpp
index 2d6679272a..84b12b0bfe 100644
--- a/scene/2d/navigation_polygon.cpp
+++ b/scene/2d/navigation_polygon.cpp
@@ -257,7 +257,7 @@ void NavigationPolygon::make_polygons_from_outlines() {
TriangulatorPartition tpart;
if (tpart.ConvexPartition_HM(&in_poly, &out_poly) == 0) { //failed!
- print_line("convex partition failed!");
+ ERR_PRINTS("NavigationPolygon: Convex partition failed!");
return;
}
diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp
index 8758ffef9f..8e31688d90 100644
--- a/scene/2d/physics_body_2d.cpp
+++ b/scene/2d/physics_body_2d.cpp
@@ -365,13 +365,6 @@ void RigidBody2D::_body_inout(int p_status, ObjectID p_instance, int p_body_shap
ERR_FAIL_COND(!contact_monitor);
Map<ObjectID, BodyState>::Element *E = contact_monitor->body_map.find(objid);
- /*if (obj) {
- if (body_in)
- print_line("in: "+String(obj->call("get_name")));
- else
- print_line("out: "+String(obj->call("get_name")));
- }*/
-
ERR_FAIL_COND(!body_in && !E);
if (body_in) {
@@ -1207,7 +1200,7 @@ bool KinematicBody2D::move_and_collide(const Vector2 &p_motion, bool p_infinite_
//so, if you pass 45 as limit, avoid numerical precision erros when angle is 45.
#define FLOOR_ANGLE_THRESHOLD 0.01
-Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const Vector2 &p_floor_direction, bool p_infinite_inertia, float p_slope_stop_min_velocity, int p_max_slides, float p_floor_max_angle) {
+Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const Vector2 &p_floor_direction, bool p_infinite_inertia, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle) {
Vector2 floor_motion = floor_velocity;
if (on_floor && on_floor_body.is_valid()) {
@@ -1228,6 +1221,8 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
colliders.clear();
floor_velocity = Vector2();
+ Vector2 lv_n = p_linear_velocity.normalized();
+
while (p_max_slides) {
Collision collision;
@@ -1254,8 +1249,10 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
if (collided) {
+ colliders.push_back(collision);
motion = collision.remainder;
+ bool is_on_slope = false;
if (p_floor_direction == Vector2()) {
//all is a wall
on_wall = true;
@@ -1266,15 +1263,17 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
on_floor_body = collision.collider_rid;
floor_velocity = collision.collider_vel;
- Vector2 rel_v = lv - floor_velocity;
- Vector2 hv = rel_v - p_floor_direction * p_floor_direction.dot(rel_v);
-
- if (collision.travel.length() < 1 && hv.length() < p_slope_stop_min_velocity) {
- Transform2D gt = get_global_transform();
- gt.elements[2] -= collision.travel;
- set_global_transform(gt);
- return Vector2();
+ if (p_stop_on_slope) {
+ if (Vector2() == lv_n + p_floor_direction) {
+ Transform2D gt = get_global_transform();
+ gt.elements[2] -= collision.travel;
+ set_global_transform(gt);
+ return Vector2();
+ }
}
+
+ is_on_slope = true;
+
} else if (collision.normal.dot(-p_floor_direction) >= Math::cos(p_floor_max_angle + FLOOR_ANGLE_THRESHOLD)) { //ceiling
on_ceiling = true;
} else {
@@ -1282,12 +1281,18 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
}
}
- Vector2 n = collision.normal;
- motion = motion.slide(n);
- lv = lv.slide(n);
-
- colliders.push_back(collision);
+ if (p_stop_on_slope && is_on_slope) {
+ motion = motion.slide(p_floor_direction);
+ lv = lv.slide(p_floor_direction);
+ } else {
+ Vector2 n = collision.normal;
+ motion = motion.slide(n);
+ lv = lv.slide(n);
+ }
}
+
+ if (p_stop_on_slope)
+ break;
}
if (!found_collision) {
@@ -1301,11 +1306,11 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const
return lv;
}
-Vector2 KinematicBody2D::move_and_slide_with_snap(const Vector2 &p_linear_velocity, const Vector2 &p_snap, const Vector2 &p_floor_direction, bool p_infinite_inertia, float p_slope_stop_min_velocity, int p_max_slides, float p_floor_max_angle) {
+Vector2 KinematicBody2D::move_and_slide_with_snap(const Vector2 &p_linear_velocity, const Vector2 &p_snap, const Vector2 &p_floor_direction, bool p_infinite_inertia, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle) {
bool was_on_floor = on_floor;
- Vector2 ret = move_and_slide(p_linear_velocity, p_floor_direction, p_infinite_inertia, p_slope_stop_min_velocity, p_max_slides, p_floor_max_angle);
+ Vector2 ret = move_and_slide(p_linear_velocity, p_floor_direction, p_infinite_inertia, p_stop_on_slope, p_max_slides, p_floor_max_angle);
if (!was_on_floor || p_snap == Vector2()) {
return ret;
}
@@ -1439,8 +1444,8 @@ void KinematicBody2D::_notification(int p_what) {
void KinematicBody2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("move_and_collide", "rel_vec", "infinite_inertia", "exclude_raycast_shapes", "test_only"), &KinematicBody2D::_move, DEFVAL(true), DEFVAL(true), DEFVAL(false));
- ClassDB::bind_method(D_METHOD("move_and_slide", "linear_velocity", "floor_normal", "infinite_inertia", "slope_stop_min_velocity", "max_bounces", "floor_max_angle"), &KinematicBody2D::move_and_slide, DEFVAL(Vector2(0, 0)), DEFVAL(true), DEFVAL(5), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)));
- ClassDB::bind_method(D_METHOD("move_and_slide_with_snap", "linear_velocity", "snap", "floor_normal", "infinite_inertia", "slope_stop_min_velocity", "max_bounces", "floor_max_angle"), &KinematicBody2D::move_and_slide_with_snap, DEFVAL(Vector2(0, 0)), DEFVAL(true), DEFVAL(5), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)));
+ ClassDB::bind_method(D_METHOD("move_and_slide", "linear_velocity", "floor_normal", "infinite_inertia", "stop_on_slope", "max_bounces", "floor_max_angle"), &KinematicBody2D::move_and_slide, DEFVAL(Vector2(0, 0)), DEFVAL(true), DEFVAL(false), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)));
+ ClassDB::bind_method(D_METHOD("move_and_slide_with_snap", "linear_velocity", "snap", "floor_normal", "infinite_inertia", "stop_on_slope", "max_bounces", "floor_max_angle"), &KinematicBody2D::move_and_slide_with_snap, DEFVAL(Vector2(0, 0)), DEFVAL(true), DEFVAL(false), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)));
ClassDB::bind_method(D_METHOD("test_move", "from", "rel_vec", "infinite_inertia"), &KinematicBody2D::test_move);
diff --git a/scene/2d/physics_body_2d.h b/scene/2d/physics_body_2d.h
index 0a2ce0918b..852963a721 100644
--- a/scene/2d/physics_body_2d.h
+++ b/scene/2d/physics_body_2d.h
@@ -338,8 +338,8 @@ public:
void set_safe_margin(float p_margin);
float get_safe_margin() const;
- Vector2 move_and_slide(const Vector2 &p_linear_velocity, const Vector2 &p_floor_direction = Vector2(0, 0), bool p_infinite_inertia = true, float p_slope_stop_min_velocity = 5, int p_max_slides = 4, float p_floor_max_angle = Math::deg2rad((float)45));
- Vector2 move_and_slide_with_snap(const Vector2 &p_linear_velocity, const Vector2 &p_snap, const Vector2 &p_floor_direction = Vector2(0, 0), bool p_infinite_inertia = true, float p_slope_stop_min_velocity = 5, int p_max_slides = 4, float p_floor_max_angle = Math::deg2rad((float)45));
+ Vector2 move_and_slide(const Vector2 &p_linear_velocity, const Vector2 &p_floor_direction = Vector2(0, 0), bool p_infinite_inertia = true, bool p_stop_on_slope = false, int p_max_slides = 4, float p_floor_max_angle = Math::deg2rad((float)45));
+ Vector2 move_and_slide_with_snap(const Vector2 &p_linear_velocity, const Vector2 &p_snap, const Vector2 &p_floor_direction = Vector2(0, 0), bool p_infinite_inertia = true, bool p_stop_on_slope = false, int p_max_slides = 4, float p_floor_max_angle = Math::deg2rad((float)45));
bool is_on_floor() const;
bool is_on_wall() const;
bool is_on_ceiling() const;
diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp
index 34f4ccc03e..fc0741cc5c 100644
--- a/scene/2d/polygon_2d.cpp
+++ b/scene/2d/polygon_2d.cpp
@@ -253,7 +253,6 @@ void Polygon2D::_notification(int p_what) {
//normalize
for (int j = 0; j < 4; j++) {
weightsw[i * 4 + j] /= tw;
- // print_line("point " + itos(i) + " idx " + itos(j) + " index: " + itos(bonesw[i * 4 + j]) + " weight: " + rtos(weightsw[i * 4 + j]));
}
}
}
@@ -345,8 +344,6 @@ void Polygon2D::_notification(int p_what) {
}
}
- //print_line("loops: " + itos(loops.size()) + " indices: " + itos(indices.size()));
-
VS::get_singleton()->canvas_item_add_triangle_array(get_canvas_item(), indices, points, colors, uvs, bones, weights, texture.is_valid() ? texture->get_rid() : RID());
}
diff --git a/scene/2d/ray_cast_2d.cpp b/scene/2d/ray_cast_2d.cpp
index 255d2d38d5..9582c08110 100644
--- a/scene/2d/ray_cast_2d.cpp
+++ b/scene/2d/ray_cast_2d.cpp
@@ -209,7 +209,7 @@ void RayCast2D::_update_raycast_state() {
Physics2DDirectSpaceState::RayResult rr;
- if (dss->intersect_ray(gt.get_origin(), gt.xform(to), rr, exclude, collision_mask)) {
+ if (dss->intersect_ray(gt.get_origin(), gt.xform(to), rr, exclude, collision_mask, collide_with_bodies, collide_with_areas)) {
collided = true;
against = rr.collider_id;
@@ -258,6 +258,26 @@ void RayCast2D::clear_exceptions() {
exclude.clear();
}
+void RayCast2D::set_collide_with_areas(bool p_clip) {
+
+ collide_with_areas = p_clip;
+}
+
+bool RayCast2D::is_collide_with_areas_enabled() const {
+
+ return collide_with_areas;
+}
+
+void RayCast2D::set_collide_with_bodies(bool p_clip) {
+
+ collide_with_bodies = p_clip;
+}
+
+bool RayCast2D::is_collide_with_bodies_enabled() const {
+
+ return collide_with_bodies;
+}
+
void RayCast2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &RayCast2D::set_enabled);
@@ -291,10 +311,20 @@ void RayCast2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_exclude_parent_body", "mask"), &RayCast2D::set_exclude_parent_body);
ClassDB::bind_method(D_METHOD("get_exclude_parent_body"), &RayCast2D::get_exclude_parent_body);
+ ClassDB::bind_method(D_METHOD("set_collide_with_areas", "enable"), &RayCast2D::set_collide_with_areas);
+ ClassDB::bind_method(D_METHOD("is_collide_with_areas_enabled"), &RayCast2D::is_collide_with_areas_enabled);
+
+ ClassDB::bind_method(D_METHOD("set_collide_with_bodies", "enable"), &RayCast2D::set_collide_with_bodies);
+ ClassDB::bind_method(D_METHOD("is_collide_with_bodies_enabled"), &RayCast2D::is_collide_with_bodies_enabled);
+
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "is_enabled");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "exclude_parent"), "set_exclude_parent_body", "get_exclude_parent_body");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "cast_to"), "set_cast_to", "get_cast_to");
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_collision_mask", "get_collision_mask");
+
+ ADD_GROUP("Collide With", "collide_with");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_areas", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collide_with_areas", "is_collide_with_areas_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_bodies", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collide_with_bodies", "is_collide_with_bodies_enabled");
}
RayCast2D::RayCast2D() {
@@ -306,4 +336,6 @@ RayCast2D::RayCast2D() {
collision_mask = 1;
cast_to = Vector2(0, 50);
exclude_parent_body = true;
+ collide_with_bodies = true;
+ collide_with_areas = false;
}
diff --git a/scene/2d/ray_cast_2d.h b/scene/2d/ray_cast_2d.h
index 0850cdc7cc..a438be87b6 100644
--- a/scene/2d/ray_cast_2d.h
+++ b/scene/2d/ray_cast_2d.h
@@ -49,12 +49,21 @@ class RayCast2D : public Node2D {
Vector2 cast_to;
+ bool collide_with_areas;
+ bool collide_with_bodies;
+
protected:
void _notification(int p_what);
void _update_raycast_state();
static void _bind_methods();
public:
+ void set_collide_with_areas(bool p_clip);
+ bool is_collide_with_areas_enabled() const;
+
+ void set_collide_with_bodies(bool p_clip);
+ bool is_collide_with_bodies_enabled() const;
+
void set_enabled(bool p_enabled);
bool is_enabled() const;
diff --git a/scene/2d/remote_transform_2d.cpp b/scene/2d/remote_transform_2d.cpp
index 63c3d78dfd..f0274e5206 100644
--- a/scene/2d/remote_transform_2d.cpp
+++ b/scene/2d/remote_transform_2d.cpp
@@ -67,7 +67,7 @@ void RemoteTransform2D::_update_remote() {
} else {
Transform2D n_trans = n->get_global_transform();
Transform2D our_trans = get_global_transform();
- Vector2 n_scale = n->get_global_scale();
+ Vector2 n_scale = n->get_scale();
if (!update_remote_position)
our_trans.set_origin(n_trans.get_origin());
@@ -131,8 +131,10 @@ void RemoteTransform2D::_notification(int p_what) {
void RemoteTransform2D::set_remote_node(const NodePath &p_remote_node) {
remote_node = p_remote_node;
- if (is_inside_tree())
+ if (is_inside_tree()) {
_update_cache();
+ _update_remote();
+ }
update_configuration_warning();
}
@@ -144,6 +146,7 @@ NodePath RemoteTransform2D::get_remote_node() const {
void RemoteTransform2D::set_use_global_coordinates(const bool p_enable) {
use_global_coordinates = p_enable;
+ _update_remote();
}
bool RemoteTransform2D::get_use_global_coordinates() const {
diff --git a/scene/2d/skeleton_2d.cpp b/scene/2d/skeleton_2d.cpp
index e6e9bde20a..2c362f1b31 100644
--- a/scene/2d/skeleton_2d.cpp
+++ b/scene/2d/skeleton_2d.cpp
@@ -288,7 +288,7 @@ void Skeleton2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("_update_transform"), &Skeleton2D::_update_transform);
ClassDB::bind_method(D_METHOD("get_bone_count"), &Skeleton2D::get_bone_count);
- ClassDB::bind_method(D_METHOD("get_bone"), &Skeleton2D::get_bone);
+ ClassDB::bind_method(D_METHOD("get_bone", "idx"), &Skeleton2D::get_bone);
ClassDB::bind_method(D_METHOD("get_skeleton"), &Skeleton2D::get_skeleton);
}
diff --git a/scene/2d/sprite.cpp b/scene/2d/sprite.cpp
index ebe0e81f6e..bb5990fa79 100644
--- a/scene/2d/sprite.cpp
+++ b/scene/2d/sprite.cpp
@@ -298,6 +298,11 @@ int Sprite::get_hframes() const {
bool Sprite::_edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const {
+ return is_pixel_opaque(p_point);
+}
+
+bool Sprite::is_pixel_opaque(const Point2 &p_point) const {
+
if (texture.is_null())
return false;
@@ -316,32 +321,6 @@ bool Sprite::_edit_is_selected_on_click(const Point2 &p_point, double p_toleranc
q.y = 1.0f - q.y;
q = q * src_rect.size + src_rect.position;
- Ref<Image> image;
- Ref<AtlasTexture> atlasTexture = texture;
- if (atlasTexture.is_null()) {
- image = texture->get_data();
- } else {
- ERR_FAIL_COND_V(atlasTexture->get_atlas().is_null(), false);
-
- image = atlasTexture->get_atlas()->get_data();
-
- Rect2 region = atlasTexture->get_region();
- Rect2 margin = atlasTexture->get_margin();
-
- q -= margin.position;
-
- if ((q.x > region.size.width) || (q.y > region.size.height)) {
- return false;
- }
-
- q += region.position;
- }
-
- ERR_FAIL_COND_V(image.is_null(), false);
- if (image->is_compressed()) {
- return dst_rect.has_point(p_point);
- }
-
bool is_repeat = texture->get_flags() & Texture::FLAG_REPEAT;
bool is_mirrored_repeat = texture->get_flags() & Texture::FLAG_MIRRORED_REPEAT;
if (is_repeat) {
@@ -363,11 +342,8 @@ bool Sprite::_edit_is_selected_on_click(const Point2 &p_point, double p_toleranc
q.x = MIN(q.x, texture->get_size().width - 1);
q.y = MIN(q.y, texture->get_size().height - 1);
}
- image->lock();
- const Color c = image->get_pixel((int)q.x, (int)q.y);
- image->unlock();
- return c.a > 0.01;
+ return texture->is_pixel_opaque((int)q.x, (int)q.y);
}
Rect2 Sprite::get_rect() const {
@@ -437,6 +413,8 @@ void Sprite::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_region", "enabled"), &Sprite::set_region);
ClassDB::bind_method(D_METHOD("is_region"), &Sprite::is_region);
+ ClassDB::bind_method(D_METHOD("is_pixel_opaque", "pos"), &Sprite::is_pixel_opaque);
+
ClassDB::bind_method(D_METHOD("set_region_rect", "rect"), &Sprite::set_region_rect);
ClassDB::bind_method(D_METHOD("get_region_rect"), &Sprite::get_region_rect);
diff --git a/scene/2d/sprite.h b/scene/2d/sprite.h
index 0a5ff002cd..ab444f89fc 100644
--- a/scene/2d/sprite.h
+++ b/scene/2d/sprite.h
@@ -75,6 +75,8 @@ public:
virtual bool _edit_use_pivot() const;
virtual bool _edit_is_selected_on_click(const Point2 &p_point, double p_tolerance) const;
+ bool is_pixel_opaque(const Point2 &p_point) const;
+
virtual Rect2 _edit_get_rect() const;
virtual bool _edit_use_rect() const;
diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp
index 5f0ac3dd80..8504a18f54 100644
--- a/scene/3d/audio_stream_player_3d.cpp
+++ b/scene/3d/audio_stream_player_3d.cpp
@@ -626,6 +626,7 @@ float AudioStreamPlayer3D::get_max_db() const {
}
void AudioStreamPlayer3D::set_pitch_scale(float p_pitch_scale) {
+ ERR_FAIL_COND(p_pitch_scale <= 0.0);
pitch_scale = p_pitch_scale;
}
float AudioStreamPlayer3D::get_pitch_scale() const {
diff --git a/scene/3d/baked_lightmap.cpp b/scene/3d/baked_lightmap.cpp
index 26fd5ed658..2cb59c871c 100644
--- a/scene/3d/baked_lightmap.cpp
+++ b/scene/3d/baked_lightmap.cpp
@@ -374,9 +374,6 @@ BakedLightmap::BakeError BakedLightmap::bake(Node *p_from_node, bool p_create_vi
capture_subdiv--;
css *= 2.0;
}
-
- print_line("bake subdiv: " + itos(bake_subdiv));
- print_line("capture subdiv: " + itos(capture_subdiv));
}
baker.begin_bake(bake_subdiv, bake_bounds);
diff --git a/scene/3d/camera.cpp b/scene/3d/camera.cpp
index 2176b45faf..a4582b7d7d 100644
--- a/scene/3d/camera.cpp
+++ b/scene/3d/camera.cpp
@@ -31,9 +31,10 @@
#include "camera.h"
#include "camera_matrix.h"
+#include "collision_object.h"
+#include "engine.h"
#include "scene/resources/material.h"
#include "scene/resources/surface_tool.h"
-
void Camera::_update_audio_listener_state() {
}
@@ -313,6 +314,32 @@ bool Camera::is_position_behind(const Vector3 &p_pos) const {
return eyedir.dot(p_pos) < (eyedir.dot(t.origin) + near);
}
+Vector<Vector3> Camera::get_near_plane_points() const {
+ if (!is_inside_tree()) {
+ ERR_EXPLAIN("Camera is not inside scene.");
+ ERR_FAIL_COND_V(!is_inside_tree(), Vector<Vector3>());
+ }
+
+ Size2 viewport_size = get_viewport()->get_visible_rect().size;
+
+ CameraMatrix cm;
+
+ if (mode == PROJECTION_ORTHOGONAL)
+ cm.set_orthogonal(size, viewport_size.aspect(), near, far, keep_aspect == KEEP_WIDTH);
+ else
+ cm.set_perspective(fov, viewport_size.aspect(), near, far, keep_aspect == KEEP_WIDTH);
+
+ Vector3 endpoints[8];
+ cm.get_endpoints(Transform(), endpoints);
+
+ Vector<Vector3> points;
+ points.push_back(Vector3());
+ for (int i = 0; i < 4; i++) {
+ points.push_back(endpoints[i + 4]);
+ }
+ return points;
+}
+
Point2 Camera::unproject_position(const Vector3 &p_pos) const {
if (!is_inside_tree()) {
@@ -484,7 +511,7 @@ void Camera::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "current"), "set_current", "is_current");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "fov", PROPERTY_HINT_RANGE, "1,179,0.1"), "set_fov", "get_fov");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "size", PROPERTY_HINT_RANGE, "0.1,16384,0.01"), "set_size", "get_size");
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "near", PROPERTY_HINT_EXP_RANGE, "0.1,8192,0.1,or_greater"), "set_znear", "get_znear");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "near", PROPERTY_HINT_EXP_RANGE, "0.01,8192,0.01,or_greater"), "set_znear", "get_znear");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "far", PROPERTY_HINT_EXP_RANGE, "0.1,8192,0.1,or_greater"), "set_zfar", "get_zfar");
BIND_ENUM_CONSTANT(PROJECTION_PERSPECTIVE);
@@ -638,3 +665,224 @@ Camera::~Camera() {
VisualServer::get_singleton()->free(camera);
}
+
+////////////////////////////////////////
+
+void ClippedCamera::set_margin(float p_margin) {
+ margin = p_margin;
+}
+float ClippedCamera::get_margin() const {
+ return margin;
+}
+void ClippedCamera::set_process_mode(ProcessMode p_mode) {
+
+ if (process_mode == p_mode) {
+ return;
+ }
+ set_process_internal(p_mode == CLIP_PROCESS_IDLE);
+ set_physics_process_internal(p_mode == CLIP_PROCESS_PHYSICS);
+}
+ClippedCamera::ProcessMode ClippedCamera::get_process_mode() const {
+ return process_mode;
+}
+
+Transform ClippedCamera::get_camera_transform() const {
+
+ Transform t = Camera::get_camera_transform();
+ t.origin += -t.basis.get_axis(Vector3::AXIS_Z).normalized() * clip_offset;
+ return t;
+}
+
+void ClippedCamera::_notification(int p_what) {
+ if (p_what == NOTIFICATION_INTERNAL_PROCESS || p_what == NOTIFICATION_INTERNAL_PHYSICS_PROCESS) {
+
+ Spatial *parent = Object::cast_to<Spatial>(get_parent());
+ if (!parent) {
+ return;
+ }
+
+ PhysicsDirectSpaceState *dspace = get_world()->get_direct_space_state();
+ ERR_FAIL_COND(!dspace); // most likely physics set to threads
+
+ Vector3 cam_fw = -get_global_transform().basis.get_axis(Vector3::AXIS_Z).normalized();
+ Vector3 cam_pos = get_global_transform().origin;
+ Vector3 parent_pos = parent->get_global_transform().origin;
+
+ Plane parent_plane(parent_pos, cam_fw);
+
+ if (parent_plane.is_point_over(cam_pos)) {
+ //cam is beyond parent plane
+ return;
+ }
+
+ Vector3 ray_from = parent_plane.project(cam_pos);
+
+ clip_offset = 0; //reset by defau;t
+
+ { //check if points changed
+ Vector<Vector3> local_points = get_near_plane_points();
+
+ bool all_equal = true;
+
+ for (int i = 0; i < 5; i++) {
+ if (points[i] != local_points[i]) {
+ all_equal = false;
+ break;
+ }
+ }
+
+ if (!all_equal) {
+ PhysicsServer::get_singleton()->shape_set_data(pyramid_shape, local_points);
+ points = local_points;
+ }
+ }
+
+ Transform xf = get_global_transform();
+ xf.origin = ray_from;
+ xf.orthonormalize();
+
+ float csafe, cunsafe;
+ if (dspace->cast_motion(pyramid_shape, xf, cam_pos - ray_from, margin, csafe, cunsafe, exclude, collision_mask, clip_to_bodies, clip_to_areas)) {
+ clip_offset = cam_pos.distance_to(ray_from + (cam_pos - ray_from).normalized() * csafe);
+ }
+
+ _update_camera();
+ }
+
+ if (p_what == NOTIFICATION_LOCAL_TRANSFORM_CHANGED) {
+ update_gizmo();
+ }
+}
+
+void ClippedCamera::set_collision_mask(uint32_t p_mask) {
+
+ collision_mask = p_mask;
+}
+
+uint32_t ClippedCamera::get_collision_mask() const {
+
+ return collision_mask;
+}
+
+void ClippedCamera::set_collision_mask_bit(int p_bit, bool p_value) {
+
+ uint32_t mask = get_collision_mask();
+ if (p_value)
+ mask |= 1 << p_bit;
+ else
+ mask &= ~(1 << p_bit);
+ set_collision_mask(mask);
+}
+
+bool ClippedCamera::get_collision_mask_bit(int p_bit) const {
+
+ return get_collision_mask() & (1 << p_bit);
+}
+
+void ClippedCamera::add_exception_rid(const RID &p_rid) {
+
+ exclude.insert(p_rid);
+}
+
+void ClippedCamera::add_exception(const Object *p_object) {
+
+ ERR_FAIL_NULL(p_object);
+ const CollisionObject *co = Object::cast_to<CollisionObject>(p_object);
+ if (!co)
+ return;
+ add_exception_rid(co->get_rid());
+}
+
+void ClippedCamera::remove_exception_rid(const RID &p_rid) {
+
+ exclude.erase(p_rid);
+}
+
+void ClippedCamera::remove_exception(const Object *p_object) {
+
+ ERR_FAIL_NULL(p_object);
+ const CollisionObject *co = Object::cast_to<CollisionObject>(p_object);
+ if (!co)
+ return;
+ remove_exception_rid(co->get_rid());
+}
+
+void ClippedCamera::clear_exceptions() {
+
+ exclude.clear();
+}
+
+void ClippedCamera::set_clip_to_areas(bool p_clip) {
+
+ clip_to_areas = p_clip;
+}
+
+bool ClippedCamera::is_clip_to_areas_enabled() const {
+
+ return clip_to_areas;
+}
+
+void ClippedCamera::set_clip_to_bodies(bool p_clip) {
+
+ clip_to_bodies = p_clip;
+}
+
+bool ClippedCamera::is_clip_to_bodies_enabled() const {
+
+ return clip_to_bodies;
+}
+
+void ClippedCamera::_bind_methods() {
+
+ ClassDB::bind_method(D_METHOD("set_margin", "margin"), &ClippedCamera::set_margin);
+ ClassDB::bind_method(D_METHOD("get_margin"), &ClippedCamera::get_margin);
+
+ ClassDB::bind_method(D_METHOD("set_process_mode", "process_mode"), &ClippedCamera::set_process_mode);
+ ClassDB::bind_method(D_METHOD("get_process_mode"), &ClippedCamera::get_process_mode);
+
+ ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &ClippedCamera::set_collision_mask);
+ ClassDB::bind_method(D_METHOD("get_collision_mask"), &ClippedCamera::get_collision_mask);
+
+ ClassDB::bind_method(D_METHOD("set_collision_mask_bit", "bit", "value"), &ClippedCamera::set_collision_mask_bit);
+ ClassDB::bind_method(D_METHOD("get_collision_mask_bit", "bit"), &ClippedCamera::get_collision_mask_bit);
+
+ ClassDB::bind_method(D_METHOD("add_exception_rid", "rid"), &ClippedCamera::add_exception_rid);
+ ClassDB::bind_method(D_METHOD("add_exception", "node"), &ClippedCamera::add_exception);
+
+ ClassDB::bind_method(D_METHOD("remove_exception_rid", "rid"), &ClippedCamera::remove_exception_rid);
+ ClassDB::bind_method(D_METHOD("remove_exception", "node"), &ClippedCamera::remove_exception);
+
+ ClassDB::bind_method(D_METHOD("set_clip_to_areas", "enable"), &ClippedCamera::set_clip_to_areas);
+ ClassDB::bind_method(D_METHOD("is_clip_to_areas_enabled"), &ClippedCamera::is_clip_to_areas_enabled);
+
+ ClassDB::bind_method(D_METHOD("set_clip_to_bodies", "enable"), &ClippedCamera::set_clip_to_bodies);
+ ClassDB::bind_method(D_METHOD("is_clip_to_bodies_enabled"), &ClippedCamera::is_clip_to_bodies_enabled);
+
+ ClassDB::bind_method(D_METHOD("clear_exceptions"), &ClippedCamera::clear_exceptions);
+
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "margin", PROPERTY_HINT_RANGE, "0,32,0.01"), "set_margin", "get_margin");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "process_mode", PROPERTY_HINT_ENUM, "Physics,Idle"), "set_process_mode", "get_process_mode");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask");
+
+ ADD_GROUP("Clip To", "clip_to");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "clip_to_areas", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_clip_to_areas", "is_clip_to_areas_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "clip_to_bodies", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_clip_to_bodies", "is_clip_to_bodies_enabled");
+
+ BIND_ENUM_CONSTANT(CLIP_PROCESS_PHYSICS);
+ BIND_ENUM_CONSTANT(CLIP_PROCESS_IDLE);
+}
+ClippedCamera::ClippedCamera() {
+ margin = 0;
+ clip_offset = 0;
+ process_mode = CLIP_PROCESS_PHYSICS;
+ set_physics_process_internal(true);
+ collision_mask = 1;
+ set_notify_local_transform(Engine::get_singleton()->is_editor_hint());
+ points.resize(5);
+ pyramid_shape = PhysicsServer::get_singleton()->shape_create(PhysicsServer::SHAPE_CONVEX_POLYGON);
+ clip_to_areas = false;
+ clip_to_bodies = true;
+}
+ClippedCamera::~ClippedCamera() {
+ PhysicsServer::get_singleton()->free(pyramid_shape);
+}
diff --git a/scene/3d/camera.h b/scene/3d/camera.h
index 97705d8ae0..a35c9d6e7f 100644
--- a/scene/3d/camera.h
+++ b/scene/3d/camera.h
@@ -139,6 +139,8 @@ public:
bool is_position_behind(const Vector3 &p_pos) const;
virtual Vector3 project_position(const Point2 &p_point) const;
+ Vector<Vector3> get_near_plane_points() const;
+
void set_cull_mask(uint32_t p_layers);
uint32_t get_cull_mask() const;
@@ -172,4 +174,62 @@ VARIANT_ENUM_CAST(Camera::Projection);
VARIANT_ENUM_CAST(Camera::KeepAspect);
VARIANT_ENUM_CAST(Camera::DopplerTracking);
+class ClippedCamera : public Camera {
+
+ GDCLASS(ClippedCamera, Camera);
+
+public:
+ enum ProcessMode {
+ CLIP_PROCESS_PHYSICS,
+ CLIP_PROCESS_IDLE,
+ };
+
+private:
+ ProcessMode process_mode;
+ RID pyramid_shape;
+ float margin;
+ float clip_offset;
+ uint32_t collision_mask;
+ bool clip_to_areas;
+ bool clip_to_bodies;
+
+ Set<RID> exclude;
+
+ Vector<Vector3> points;
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods();
+ virtual Transform get_camera_transform() const;
+
+public:
+ void set_clip_to_areas(bool p_clip);
+ bool is_clip_to_areas_enabled() const;
+
+ void set_clip_to_bodies(bool p_clip);
+ bool is_clip_to_bodies_enabled() const;
+
+ void set_margin(float p_margin);
+ float get_margin() const;
+
+ void set_process_mode(ProcessMode p_mode);
+ ProcessMode get_process_mode() const;
+
+ void set_collision_mask(uint32_t p_mask);
+ uint32_t get_collision_mask() const;
+
+ void set_collision_mask_bit(int p_bit, bool p_value);
+ bool get_collision_mask_bit(int p_bit) const;
+
+ void add_exception_rid(const RID &p_rid);
+ void add_exception(const Object *p_object);
+ void remove_exception_rid(const RID &p_rid);
+ void remove_exception(const Object *p_object);
+ void clear_exceptions();
+
+ ClippedCamera();
+ ~ClippedCamera();
+};
+
+VARIANT_ENUM_CAST(ClippedCamera::ProcessMode);
#endif
diff --git a/scene/3d/cpu_particles.cpp b/scene/3d/cpu_particles.cpp
index 8b2000d2e9..af8bfcbe9b 100644
--- a/scene/3d/cpu_particles.cpp
+++ b/scene/3d/cpu_particles.cpp
@@ -921,8 +921,6 @@ void CPUParticles::_update_particle_data_buffer() {
t = un_transform * t;
}
- // print_line(" particle " + itos(i) + ": " + String(r[idx].active ? "[x]" : "[ ]") + "\n\txform " + r[idx].transform + "\n\t" + r[idx].velocity + "\n\tcolor: " + r[idx].color);
-
if (r[idx].active) {
ptr[0] = t.basis.elements[0][0];
ptr[1] = t.basis.elements[0][1];
diff --git a/scene/3d/navigation.cpp b/scene/3d/navigation.cpp
index f5b77d361c..8d84d2408c 100644
--- a/scene/3d/navigation.cpp
+++ b/scene/3d/navigation.cpp
@@ -120,9 +120,7 @@ void Navigation::_navmesh_link(int p_id) {
pending.edge = j;
p.edges.write[j].P = C->get().pending.push_back(pending);
continue;
- //print_line(String()+_get_vertex(ek.a)+" -> "+_get_vertex(ek.b));
}
- //ERR_CONTINUE(C->get().B!=NULL); //wut
C->get().B = &p;
C->get().B_edge = j;
@@ -312,7 +310,6 @@ Vector<Vector3> Navigation::get_simple_path(const Vector3 &p_start, const Vector
if (!begin_poly || !end_poly) {
- //print_line("No Path Path");
return Vector<Vector3>(); //no path
}
@@ -322,7 +319,6 @@ Vector<Vector3> Navigation::get_simple_path(const Vector3 &p_start, const Vector
path.resize(2);
path.write[0] = begin_point;
path.write[1] = end_point;
- //print_line("Direct Path");
return path;
}
@@ -347,7 +343,6 @@ Vector<Vector3> Navigation::get_simple_path(const Vector3 &p_start, const Vector
while (!found_route) {
if (open_list.size() == 0) {
- //print_line("NOU OPEN LIST");
break;
}
//check open list
@@ -581,10 +576,6 @@ Vector3 Navigation::get_closest_point_to_segment(const Vector3 &p_from, const Ve
}
}
- if (closest_navmesh && closest_navmesh->owner) {
- //print_line("navmesh is: "+Object::cast_to<Node>(closest_navmesh->owner)->get_name());
- }
-
return closest_point;
}
diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp
index e53ccb4cf4..2df6ef7c8a 100644
--- a/scene/3d/physics_body.cpp
+++ b/scene/3d/physics_body.cpp
@@ -1078,10 +1078,10 @@ void RigidBody::_reload_physics_characteristics() {
//////////////////////////////////////////////////////
//////////////////////////
-Ref<KinematicCollision> KinematicBody::_move(const Vector3 &p_motion, bool p_infinite_inertia) {
+Ref<KinematicCollision> KinematicBody::_move(const Vector3 &p_motion, bool p_infinite_inertia, bool p_test_only) {
Collision col;
- if (move_and_collide(p_motion, p_infinite_inertia, col)) {
+ if (move_and_collide(p_motion, p_infinite_inertia, col, p_test_only)) {
if (motion_cache.is_null()) {
motion_cache.instance();
motion_cache->owner = this;
@@ -1095,7 +1095,7 @@ Ref<KinematicCollision> KinematicBody::_move(const Vector3 &p_motion, bool p_inf
return Ref<KinematicCollision>();
}
-bool KinematicBody::move_and_collide(const Vector3 &p_motion, bool p_infinite_inertia, Collision &r_collision) {
+bool KinematicBody::move_and_collide(const Vector3 &p_motion, bool p_infinite_inertia, Collision &r_collision, bool p_test_only) {
Transform gt = get_global_transform();
PhysicsServer::MotionResult result;
@@ -1108,6 +1108,7 @@ bool KinematicBody::move_and_collide(const Vector3 &p_motion, bool p_infinite_in
r_collision.collision = result.collision_point;
r_collision.normal = result.collision_normal;
r_collision.collider = result.collider_id;
+ r_collision.collider_rid = result.collider;
r_collision.travel = result.motion;
r_collision.remainder = result.remainder;
r_collision.local_shape = result.collision_local_shape;
@@ -1119,8 +1120,10 @@ bool KinematicBody::move_and_collide(const Vector3 &p_motion, bool p_infinite_in
}
}
- gt.origin += result.motion;
- set_global_transform(gt);
+ if (!p_test_only) {
+ gt.origin += result.motion;
+ set_global_transform(gt);
+ }
return colliding;
}
@@ -1128,7 +1131,7 @@ bool KinematicBody::move_and_collide(const Vector3 &p_motion, bool p_infinite_in
//so, if you pass 45 as limit, avoid numerical precision erros when angle is 45.
#define FLOOR_ANGLE_THRESHOLD 0.01
-Vector3 KinematicBody::move_and_slide(const Vector3 &p_linear_velocity, const Vector3 &p_floor_direction, float p_slope_stop_min_velocity, int p_max_slides, float p_floor_max_angle, bool p_infinite_inertia) {
+Vector3 KinematicBody::move_and_slide(const Vector3 &p_linear_velocity, const Vector3 &p_floor_direction, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle, bool p_infinite_inertia) {
Vector3 lv = p_linear_velocity;
@@ -1146,69 +1149,127 @@ Vector3 KinematicBody::move_and_slide(const Vector3 &p_linear_velocity, const Ve
colliders.clear();
floor_velocity = Vector3();
+ Vector3 lv_n = p_linear_velocity.normalized();
+
while (p_max_slides) {
Collision collision;
- bool collided = move_and_collide(motion, p_infinite_inertia, collision);
-
- if (collided) {
+ bool found_collision = false;
- motion = collision.remainder;
+ int test_type = 0;
- if (p_floor_direction == Vector3()) {
- //all is a wall
- on_wall = true;
+ do {
+ bool collided;
+ if (test_type == 0) { //collide
+ collided = move_and_collide(motion, p_infinite_inertia, collision);
+ if (!collided) {
+ motion = Vector3(); //clear because no collision happened and motion completed
+ }
} else {
- if (collision.normal.dot(p_floor_direction) >= Math::cos(p_floor_max_angle + FLOOR_ANGLE_THRESHOLD)) { //floor
+ collided = separate_raycast_shapes(p_infinite_inertia, collision);
+ if (collided) {
+ collision.remainder = motion; //keep
+ collision.travel = Vector3();
+ }
+ }
- on_floor = true;
- floor_velocity = collision.collider_vel;
+ if (collided) {
+ found_collision = true;
+ }
- Vector3 rel_v = lv - floor_velocity;
- Vector3 hv = rel_v - p_floor_direction * p_floor_direction.dot(rel_v);
+ if (collided) {
- if (collision.travel.length() < 0.05 && hv.length() < p_slope_stop_min_velocity) {
- Transform gt = get_global_transform();
- gt.origin -= collision.travel;
- set_global_transform(gt);
- return floor_velocity - p_floor_direction * p_floor_direction.dot(floor_velocity);
- }
- } else if (collision.normal.dot(-p_floor_direction) >= Math::cos(p_floor_max_angle + FLOOR_ANGLE_THRESHOLD)) { //ceiling
- on_ceiling = true;
- } else {
+ colliders.push_back(collision);
+ motion = collision.remainder;
+
+ bool is_on_slope = false;
+ if (p_floor_direction == Vector3()) {
+ //all is a wall
on_wall = true;
+ } else {
+ if (collision.normal.dot(p_floor_direction) >= Math::cos(p_floor_max_angle + FLOOR_ANGLE_THRESHOLD)) { //floor
+
+ on_floor = true;
+ on_floor_body = collision.collider_rid;
+ floor_velocity = collision.collider_vel;
+
+ if (p_stop_on_slope) {
+ if (Vector3() == lv_n + p_floor_direction) {
+ Transform gt = get_global_transform();
+ gt.origin -= collision.travel;
+ set_global_transform(gt);
+ return Vector3();
+ }
+ }
+
+ is_on_slope = true;
+
+ } else if (collision.normal.dot(-p_floor_direction) >= Math::cos(p_floor_max_angle + FLOOR_ANGLE_THRESHOLD)) { //ceiling
+ on_ceiling = true;
+ } else {
+ on_wall = true;
+ }
}
- }
- Vector3 n = collision.normal;
- motion = motion.slide(n);
- lv = lv.slide(n);
+ if (p_stop_on_slope && is_on_slope) {
+ motion = motion.slide(p_floor_direction);
+ lv = lv.slide(p_floor_direction);
+ } else {
+ Vector3 n = collision.normal;
+ motion = motion.slide(n);
+ lv = lv.slide(n);
+ }
- for (int i = 0; i < 3; i++) {
- if (locked_axis & (1 << i)) {
- lv[i] = 0;
+ for (int i = 0; i < 3; i++) {
+ if (locked_axis & (1 << i)) {
+ lv[i] = 0;
+ }
}
}
- colliders.push_back(collision);
+ ++test_type;
+ } while (!p_stop_on_slope && test_type < 2);
- } else {
+ if (!found_collision || motion == Vector3())
break;
- }
- p_max_slides--;
- if (motion == Vector3())
- break;
+ --p_max_slides;
}
return lv;
}
+Vector3 KinematicBody::move_and_slide_with_snap(const Vector3 &p_linear_velocity, const Vector3 &p_snap, const Vector3 &p_floor_direction, bool p_infinite_inertia, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle) {
+
+ bool was_on_floor = on_floor;
+
+ Vector3 ret = move_and_slide(p_linear_velocity, p_floor_direction, p_stop_on_slope, p_max_slides, p_floor_max_angle, p_infinite_inertia);
+ if (!was_on_floor || p_snap == Vector3()) {
+ return ret;
+ }
+
+ Collision col;
+ Transform gt = get_global_transform();
+
+ if (move_and_collide(p_snap, p_infinite_inertia, col, true)) {
+ gt.origin += col.travel;
+ if (p_floor_direction != Vector3() && Math::acos(p_floor_direction.normalized().dot(col.normal)) < p_floor_max_angle) {
+ on_floor = true;
+ on_floor_body = col.collider_rid;
+ floor_velocity = col.collider_vel;
+ }
+ set_global_transform(gt);
+ }
+
+ return ret;
+}
+
bool KinematicBody::is_on_floor() const {
return on_floor;
}
+
bool KinematicBody::is_on_wall() const {
return on_wall;
@@ -1230,6 +1291,43 @@ bool KinematicBody::test_move(const Transform &p_from, const Vector3 &p_motion,
return PhysicsServer::get_singleton()->body_test_motion(get_rid(), p_from, p_motion, p_infinite_inertia);
}
+bool KinematicBody::separate_raycast_shapes(bool p_infinite_inertia, Collision &r_collision) {
+
+ PhysicsServer::SeparationResult sep_res[8]; //max 8 rays
+
+ Transform gt = get_global_transform();
+
+ Vector3 recover;
+ int hits = PhysicsServer::get_singleton()->body_test_ray_separation(get_rid(), gt, p_infinite_inertia, recover, sep_res, 8, margin);
+ int deepest = -1;
+ float deepest_depth;
+ for (int i = 0; i < hits; i++) {
+ if (deepest == -1 || sep_res[i].collision_depth > deepest_depth) {
+ deepest = i;
+ deepest_depth = sep_res[i].collision_depth;
+ }
+ }
+
+ gt.origin += recover;
+ set_global_transform(gt);
+
+ if (deepest != -1) {
+ r_collision.collider = sep_res[deepest].collider_id;
+ r_collision.collider_metadata = sep_res[deepest].collider_metadata;
+ r_collision.collider_shape = sep_res[deepest].collider_shape;
+ r_collision.collider_vel = sep_res[deepest].collider_velocity;
+ r_collision.collision = sep_res[deepest].collision_point;
+ r_collision.normal = sep_res[deepest].collision_normal;
+ r_collision.local_shape = sep_res[deepest].collision_local_shape;
+ r_collision.travel = recover;
+ r_collision.remainder = Vector3();
+
+ return true;
+ } else {
+ return false;
+ }
+}
+
void KinematicBody::set_axis_lock(PhysicsServer::BodyAxis p_axis, bool p_lock) {
PhysicsServer::get_singleton()->body_set_axis_lock(get_rid(), p_axis, p_lock);
}
@@ -1276,8 +1374,9 @@ Ref<KinematicCollision> KinematicBody::_get_slide_collision(int p_bounce) {
void KinematicBody::_bind_methods() {
- ClassDB::bind_method(D_METHOD("move_and_collide", "rel_vec", "infinite_inertia"), &KinematicBody::_move, DEFVAL(true));
- ClassDB::bind_method(D_METHOD("move_and_slide", "linear_velocity", "floor_normal", "slope_stop_min_velocity", "max_slides", "floor_max_angle", "infinite_inertia"), &KinematicBody::move_and_slide, DEFVAL(Vector3(0, 0, 0)), DEFVAL(0.05), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)), DEFVAL(true));
+ ClassDB::bind_method(D_METHOD("move_and_collide", "rel_vec", "infinite_inertia", "test_only"), &KinematicBody::_move, DEFVAL(true), DEFVAL(false));
+ ClassDB::bind_method(D_METHOD("move_and_slide", "linear_velocity", "floor_normal", "stop_on_slope", "max_slides", "floor_max_angle", "infinite_inertia"), &KinematicBody::move_and_slide, DEFVAL(Vector3(0, 0, 0)), DEFVAL(false), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)), DEFVAL(true));
+ ClassDB::bind_method(D_METHOD("move_and_slide_with_snap", "linear_velocity", "snap", "floor_normal", "infinite_inertia", "stop_on_slope", "max_bounces", "floor_max_angle"), &KinematicBody::move_and_slide_with_snap, DEFVAL(Vector3(0, 0, 0)), DEFVAL(true), DEFVAL(false), DEFVAL(4), DEFVAL(Math::deg2rad((float)45)));
ClassDB::bind_method(D_METHOD("test_move", "from", "rel_vec", "infinite_inertia"), &KinematicBody::test_move);
@@ -1295,13 +1394,9 @@ void KinematicBody::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_slide_count"), &KinematicBody::get_slide_count);
ClassDB::bind_method(D_METHOD("get_slide_collision", "slide_idx"), &KinematicBody::_get_slide_collision);
- ADD_GROUP("Axis Lock", "axis_lock_");
- ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "axis_lock_linear_x"), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_LINEAR_X);
- ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "axis_lock_linear_y"), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_LINEAR_Y);
- ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "axis_lock_linear_z"), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_LINEAR_Z);
- ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "axis_lock_angular_x"), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_ANGULAR_X);
- ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "axis_lock_angular_y"), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_ANGULAR_Y);
- ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "axis_lock_angular_z"), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_ANGULAR_Z);
+ ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "move_lock_x", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_LINEAR_X);
+ ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "move_lock_y", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_LINEAR_Y);
+ ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "move_lock_z", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_axis_lock", "get_axis_lock", PhysicsServer::BODY_AXIS_LINEAR_Z);
ADD_PROPERTY(PropertyInfo(Variant::REAL, "collision/safe_margin", PROPERTY_HINT_RANGE, "0.001,256,0.001"), "set_safe_margin", "get_safe_margin");
}
diff --git a/scene/3d/physics_body.h b/scene/3d/physics_body.h
index 80bf422c98..c4db41f577 100644
--- a/scene/3d/physics_body.h
+++ b/scene/3d/physics_body.h
@@ -285,6 +285,7 @@ public:
Vector3 normal;
Vector3 collider_vel;
ObjectID collider;
+ RID collider_rid;
int collider_shape;
Variant collider_metadata;
Vector3 remainder;
@@ -298,6 +299,7 @@ private:
float margin;
Vector3 floor_velocity;
+ RID on_floor_body;
bool on_floor;
bool on_ceiling;
bool on_wall;
@@ -307,23 +309,26 @@ private:
_FORCE_INLINE_ bool _ignores_mode(PhysicsServer::BodyMode) const;
- Ref<KinematicCollision> _move(const Vector3 &p_motion, bool p_infinite_inertia = true);
+ Ref<KinematicCollision> _move(const Vector3 &p_motion, bool p_infinite_inertia = true, bool p_test_only = false);
Ref<KinematicCollision> _get_slide_collision(int p_bounce);
protected:
static void _bind_methods();
public:
- bool move_and_collide(const Vector3 &p_motion, bool p_infinite_inertia, Collision &r_collisionz);
+ bool move_and_collide(const Vector3 &p_motion, bool p_infinite_inertia, Collision &r_collisionz, bool p_test_only = false);
bool test_move(const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia);
+ bool separate_raycast_shapes(bool p_infinite_inertia, Collision &r_collision);
+
void set_axis_lock(PhysicsServer::BodyAxis p_axis, bool p_lock);
bool get_axis_lock(PhysicsServer::BodyAxis p_axis) const;
void set_safe_margin(float p_margin);
float get_safe_margin() const;
- Vector3 move_and_slide(const Vector3 &p_linear_velocity, const Vector3 &p_floor_direction = Vector3(0, 0, 0), float p_slope_stop_min_velocity = 0.05, int p_max_slides = 4, float p_floor_max_angle = Math::deg2rad((float)45), bool p_infinite_inertia = true);
+ Vector3 move_and_slide(const Vector3 &p_linear_velocity, const Vector3 &p_floor_direction = Vector3(0, 0, 0), bool p_stop_on_slope = false, int p_max_slides = 4, float p_floor_max_angle = Math::deg2rad((float)45), bool p_infinite_inertia = true);
+ Vector3 move_and_slide_with_snap(const Vector3 &p_linear_velocity, const Vector3 &p_snap, const Vector3 &p_floor_direction = Vector3(0, 0, 0), bool p_infinite_inertia = true, bool p_stop_on_slope = false, int p_max_slides = 4, float p_floor_max_angle = Math::deg2rad((float)45));
bool is_on_floor() const;
bool is_on_wall() const;
bool is_on_ceiling() const;
diff --git a/scene/3d/ray_cast.cpp b/scene/3d/ray_cast.cpp
index 7f83e2c3ea..b846a5b6c0 100644
--- a/scene/3d/ray_cast.cpp
+++ b/scene/3d/ray_cast.cpp
@@ -208,7 +208,7 @@ void RayCast::_update_raycast_state() {
PhysicsDirectSpaceState::RayResult rr;
- if (dss->intersect_ray(gt.get_origin(), gt.xform(to), rr, exclude, collision_mask)) {
+ if (dss->intersect_ray(gt.get_origin(), gt.xform(to), rr, exclude, collision_mask, collide_with_bodies, collide_with_areas)) {
collided = true;
against = rr.collider_id;
@@ -259,6 +259,26 @@ void RayCast::clear_exceptions() {
exclude.clear();
}
+void RayCast::set_collide_with_areas(bool p_clip) {
+
+ collide_with_areas = p_clip;
+}
+
+bool RayCast::is_collide_with_areas_enabled() const {
+
+ return collide_with_areas;
+}
+
+void RayCast::set_collide_with_bodies(bool p_clip) {
+
+ collide_with_bodies = p_clip;
+}
+
+bool RayCast::is_collide_with_bodies_enabled() const {
+
+ return collide_with_bodies;
+}
+
void RayCast::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &RayCast::set_enabled);
@@ -292,10 +312,20 @@ void RayCast::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_exclude_parent_body", "mask"), &RayCast::set_exclude_parent_body);
ClassDB::bind_method(D_METHOD("get_exclude_parent_body"), &RayCast::get_exclude_parent_body);
+ ClassDB::bind_method(D_METHOD("set_collide_with_areas", "enable"), &RayCast::set_collide_with_areas);
+ ClassDB::bind_method(D_METHOD("is_collide_with_areas_enabled"), &RayCast::is_collide_with_areas_enabled);
+
+ ClassDB::bind_method(D_METHOD("set_collide_with_bodies", "enable"), &RayCast::set_collide_with_bodies);
+ ClassDB::bind_method(D_METHOD("is_collide_with_bodies_enabled"), &RayCast::is_collide_with_bodies_enabled);
+
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "enabled"), "set_enabled", "is_enabled");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "exclude_parent"), "set_exclude_parent_body", "get_exclude_parent_body");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "cast_to"), "set_cast_to", "get_cast_to");
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask");
+
+ ADD_GROUP("Collide With", "collide_with");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_areas", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collide_with_areas", "is_collide_with_areas_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_bodies", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collide_with_bodies", "is_collide_with_bodies_enabled");
}
void RayCast::_create_debug_shape() {
@@ -370,4 +400,6 @@ RayCast::RayCast() {
cast_to = Vector3(0, -1, 0);
debug_shape = NULL;
exclude_parent_body = true;
+ collide_with_areas = false;
+ collide_with_bodies = true;
}
diff --git a/scene/3d/ray_cast.h b/scene/3d/ray_cast.h
index 20cea80700..e95382e1fe 100644
--- a/scene/3d/ray_cast.h
+++ b/scene/3d/ray_cast.h
@@ -45,7 +45,6 @@ class RayCast : public Spatial {
Vector3 collision_normal;
Vector3 cast_to;
-
Set<RID> exclude;
uint32_t collision_mask;
@@ -58,12 +57,21 @@ class RayCast : public Spatial {
void _update_debug_shape();
void _clear_debug_shape();
+ bool collide_with_areas;
+ bool collide_with_bodies;
+
protected:
void _notification(int p_what);
void _update_raycast_state();
static void _bind_methods();
public:
+ void set_collide_with_areas(bool p_clip);
+ bool is_collide_with_areas_enabled() const;
+
+ void set_collide_with_bodies(bool p_clip);
+ bool is_collide_with_bodies_enabled() const;
+
void set_enabled(bool p_enabled);
bool is_enabled() const;
diff --git a/scene/3d/remote_transform.cpp b/scene/3d/remote_transform.cpp
index 2156e24cd0..c12e49fb47 100644
--- a/scene/3d/remote_transform.cpp
+++ b/scene/3d/remote_transform.cpp
@@ -124,8 +124,10 @@ void RemoteTransform::_notification(int p_what) {
void RemoteTransform::set_remote_node(const NodePath &p_remote_node) {
remote_node = p_remote_node;
- if (is_inside_tree())
+ if (is_inside_tree()) {
_update_cache();
+ _update_remote();
+ }
update_configuration_warning();
}
diff --git a/scene/3d/spring_arm.cpp b/scene/3d/spring_arm.cpp
new file mode 100644
index 0000000000..492c6b806e
--- /dev/null
+++ b/scene/3d/spring_arm.cpp
@@ -0,0 +1,172 @@
+/*************************************************************************/
+/* spring_arm.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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 "spring_arm.h"
+#include "engine.h"
+#include "scene/3d/collision_object.h"
+#include "scene/resources/sphere_shape.h"
+#include "servers/physics_server.h"
+
+SpringArm::SpringArm() :
+ spring_length(1),
+ mask(1),
+ current_spring_length(0),
+ margin(0.01) {}
+
+void SpringArm::_notification(int p_what) {
+ switch (p_what) {
+ case NOTIFICATION_ENTER_TREE:
+ if (!Engine::get_singleton()->is_editor_hint()) {
+ set_process_internal(true);
+ }
+ break;
+ case NOTIFICATION_EXIT_TREE:
+ if (!Engine::get_singleton()->is_editor_hint()) {
+ set_process_internal(false);
+ }
+ break;
+ case NOTIFICATION_INTERNAL_PROCESS:
+ process_spring();
+ break;
+ }
+}
+
+void SpringArm::_bind_methods() {
+
+ ClassDB::bind_method(D_METHOD("get_hit_length"), &SpringArm::get_hit_length);
+
+ ClassDB::bind_method(D_METHOD("set_length", "length"), &SpringArm::set_length);
+ ClassDB::bind_method(D_METHOD("get_length"), &SpringArm::get_length);
+
+ ClassDB::bind_method(D_METHOD("set_shape", "shape"), &SpringArm::set_shape);
+ ClassDB::bind_method(D_METHOD("get_shape"), &SpringArm::get_shape);
+
+ ClassDB::bind_method(D_METHOD("add_excluded_object", "RID"), &SpringArm::add_excluded_object);
+ ClassDB::bind_method(D_METHOD("remove_excluded_object", "RID"), &SpringArm::remove_excluded_object);
+ ClassDB::bind_method(D_METHOD("clear_excluded_objects"), &SpringArm::clear_excluded_objects);
+
+ ClassDB::bind_method(D_METHOD("set_collision_mask", "mask"), &SpringArm::set_mask);
+ ClassDB::bind_method(D_METHOD("get_collision_mask"), &SpringArm::get_mask);
+
+ ClassDB::bind_method(D_METHOD("set_margin", "margin"), &SpringArm::set_margin);
+ ClassDB::bind_method(D_METHOD("get_margin"), &SpringArm::get_margin);
+
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask");
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "shape", PROPERTY_HINT_RESOURCE_TYPE, "Shape"), "set_shape", "get_shape");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "spring_length"), "set_length", "get_length");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "margin"), "set_margin", "get_margin");
+}
+
+float SpringArm::get_length() const {
+ return spring_length;
+}
+
+void SpringArm::set_length(float p_length) {
+ if (is_inside_tree() && (Engine::get_singleton()->is_editor_hint() || get_tree()->is_debugging_collisions_hint()))
+ update_gizmo();
+
+ spring_length = p_length;
+}
+
+void SpringArm::set_shape(Ref<Shape> p_shape) {
+ shape = p_shape;
+}
+
+Ref<Shape> SpringArm::get_shape() const {
+ return shape;
+}
+
+void SpringArm::set_mask(uint32_t p_mask) {
+ mask = p_mask;
+}
+
+uint32_t SpringArm::get_mask() {
+ return mask;
+}
+
+float SpringArm::get_margin() {
+ return margin;
+}
+
+void SpringArm::set_margin(float p_margin) {
+ margin = p_margin;
+}
+
+void SpringArm::add_excluded_object(RID p_rid) {
+ excluded_objects.insert(p_rid);
+}
+
+bool SpringArm::remove_excluded_object(RID p_rid) {
+ return excluded_objects.erase(p_rid);
+}
+
+void SpringArm::clear_excluded_objects() {
+ excluded_objects.clear();
+}
+
+float SpringArm::get_hit_length() {
+ return current_spring_length;
+}
+
+void SpringArm::process_spring() {
+ // From
+ real_t motion_delta(1);
+ real_t motion_delta_unsafe(1);
+
+ Vector3 motion;
+ const Vector3 cast_direction(get_global_transform().basis.xform(Vector3(0, 0, 1)));
+
+ if (shape.is_null()) {
+ motion = Vector3(cast_direction * (spring_length));
+ PhysicsDirectSpaceState::RayResult r;
+ bool intersected = get_world()->get_direct_space_state()->intersect_ray(get_global_transform().origin, get_global_transform().origin + motion, r, excluded_objects, mask);
+ if (intersected) {
+ float dist = get_global_transform().origin.distance_to(r.position);
+ dist -= margin;
+ motion_delta = dist / (spring_length);
+ }
+ } else {
+ motion = Vector3(cast_direction * spring_length);
+ get_world()->get_direct_space_state()->cast_motion(shape->get_rid(), get_global_transform(), motion, 0, motion_delta, motion_delta_unsafe, excluded_objects, mask);
+ }
+
+ current_spring_length = spring_length * motion_delta;
+ Transform childs_transform;
+ childs_transform.origin = get_global_transform().origin + cast_direction * (spring_length * motion_delta);
+
+ for (int i = get_child_count() - 1; 0 <= i; --i) {
+
+ Spatial *child = Object::cast_to<Spatial>(get_child(i));
+ if (child) {
+ childs_transform.basis = child->get_global_transform().basis;
+ child->set_global_transform(childs_transform);
+ }
+ }
+}
diff --git a/scene/3d/spring_arm.h b/scene/3d/spring_arm.h
new file mode 100644
index 0000000000..24d912d371
--- /dev/null
+++ b/scene/3d/spring_arm.h
@@ -0,0 +1,71 @@
+/*************************************************************************/
+/* spring_arm.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2018 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 SPRING_ARM_H
+#define SPRING_ARM_H
+
+#include "scene/3d/spatial.h"
+
+class SpringArm : public Spatial {
+ GDCLASS(SpringArm, Spatial);
+
+ Ref<Shape> shape;
+ Set<RID> excluded_objects;
+ float spring_length;
+ bool keep_child_basis;
+ float current_spring_length;
+ uint32_t mask;
+ float margin;
+
+protected:
+ void _notification(int p_what);
+ static void _bind_methods();
+
+public:
+ void set_length(float p_length);
+ float get_length() const;
+ void set_shape(Ref<Shape> p_shape);
+ Ref<Shape> get_shape() const;
+ void set_mask(uint32_t p_mask);
+ uint32_t get_mask();
+ void add_excluded_object(RID p_rid);
+ bool remove_excluded_object(RID p_rid);
+ void clear_excluded_objects();
+ float get_hit_length();
+ void set_margin(float p_margin);
+ float get_margin();
+
+ SpringArm();
+
+private:
+ void process_spring();
+};
+
+#endif
diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp
index 26958930e4..f9d096633c 100644
--- a/scene/3d/vehicle_body.cpp
+++ b/scene/3d/vehicle_body.cpp
@@ -366,22 +366,14 @@ void VehicleBody::_update_wheel(int p_idx, PhysicsDirectBodyState *s) {
const Vector3 &right = wheel.m_raycastInfo.m_wheelAxleWS;
Vector3 fwd = up.cross(right);
fwd = fwd.normalized();
- //up = right.cross(fwd);
- //up.normalize();
//rotate around steering over de wheelAxleWS
real_t steering = wheel.steers ? m_steeringValue : 0.0;
- //print_line(itos(p_idx)+": "+rtos(steering));
Basis steeringMat(up, steering);
Basis rotatingMat(right, wheel.m_rotation);
- /*
- if (p_idx==1)
- print_line("steeringMat " +steeringMat);
- */
-
Basis basis2(
right[0], up[0], fwd[0],
right[1], up[1], fwd[1],
@@ -420,8 +412,6 @@ real_t VehicleBody::_ray_cast(int p_idx, PhysicsDirectBodyState *s) {
wheel.m_raycastInfo.m_groundObject = 0;
if (col) {
- //print_line("WHEEL "+itos(p_idx)+" FROM "+source+" TO: "+target);
- //print_line("WHEEL "+itos(p_idx)+" COLLIDE? "+itos(col));
param = source.distance_to(rr.position) / source.distance_to(target);
depth = raylen * param;
wheel.m_raycastInfo.m_contactNormalWS = rr.normal;
diff --git a/scene/3d/voxel_light_baker.cpp b/scene/3d/voxel_light_baker.cpp
index f3abdc6bbe..e846e1763d 100644
--- a/scene/3d/voxel_light_baker.cpp
+++ b/scene/3d/voxel_light_baker.cpp
@@ -491,8 +491,6 @@ Vector<Color> VoxelLightBaker::_get_bake_texture(Ref<Image> p_image, const Color
p_image = p_image->duplicate();
if (p_image->is_compressed()) {
- print_line("DECOMPRESSING!!!!");
-
p_image->decompress();
}
p_image->convert(Image::FORMAT_RGBA8);
@@ -859,7 +857,6 @@ void VoxelLightBaker::plot_light_directional(const Vector3 &p_direction, const C
int idx = first_leaf;
while (idx >= 0) {
- //print_line("plot idx " + itos(idx));
Light *light = &light_data[idx];
Vector3 to(light->x + 0.5, light->y + 0.5, light->z + 0.5);
@@ -949,7 +946,6 @@ void VoxelLightBaker::plot_light_omni(const Vector3 &p_pos, const Color &p_color
int idx = first_leaf;
while (idx >= 0) {
- //print_line("plot idx " + itos(idx));
Light *light = &light_data[idx];
Vector3 to(light->x + 0.5, light->y + 0.5, light->z + 0.5);
@@ -1079,7 +1075,6 @@ void VoxelLightBaker::plot_light_spot(const Vector3 &p_pos, const Vector3 &p_axi
int idx = first_leaf;
while (idx >= 0) {
- //print_line("plot idx " + itos(idx));
Light *light = &light_data[idx];
Vector3 to(light->x + 0.5, light->y + 0.5, light->z + 0.5);
@@ -1498,12 +1493,8 @@ void VoxelLightBaker::_sample_baked_octree_filtered_and_anisotropic(const Vector
for (int i = 0; i < 6; i++) {
//anisotropic read light
float amount = p_direction.dot(aniso_normal[i]);
- //if (c == 0) {
- // print_line("\t" + itos(n) + " aniso " + itos(i) + " " + rtos(light[cell].accum[i][0]) + " VEC: " + aniso_normal[i]);
- //}
if (amount < 0)
amount = 0;
- //amount = 1;
color[c][n].x += light[cell].accum[i][0] * amount;
color[c][n].y += light[cell].accum[i][1] * amount;
color[c][n].z += light[cell].accum[i][2] * amount;
@@ -1513,8 +1504,6 @@ void VoxelLightBaker::_sample_baked_octree_filtered_and_anisotropic(const Vector
color[c][n].y += cells[cell].emission[1];
color[c][n].z += cells[cell].emission[2];
}
-
- //print_line("\tlev " + itos(c) + " - " + itos(n) + " alpha: " + rtos(cells[test_cell].alpha) + " col: " + color[c][n]);
}
}
@@ -1559,8 +1548,6 @@ void VoxelLightBaker::_sample_baked_octree_filtered_and_anisotropic(const Vector
r_color = color_interp[0].linear_interpolate(color_interp[1], level_filter);
r_alpha = Math::lerp(alpha_interp[0], alpha_interp[1], level_filter);
-
- // print_line("pos: " + p_posf + " level " + rtos(p_level) + " down to " + itos(target_level) + "." + rtos(level_filter) + " color " + r_color + " alpha " + rtos(r_alpha));
}
Vector3 VoxelLightBaker::_voxel_cone_trace(const Vector3 &p_pos, const Vector3 &p_normal, float p_aperture) {
@@ -1577,8 +1564,6 @@ Vector3 VoxelLightBaker::_voxel_cone_trace(const Vector3 &p_pos, const Vector3 &
while (dist < max_distance && alpha < 0.95) {
float diameter = MAX(1.0, 2.0 * p_aperture * dist);
- //print_line("VCT: pos " + (p_pos + dist * p_normal) + " dist " + rtos(dist) + " mipmap " + rtos(log2(diameter)) + " alpha " + rtos(alpha));
- //Plane scolor = textureLod(probe, (pos + dist * direction) * cell_size, log2(diameter) );
_sample_baked_octree_filtered_and_anisotropic(p_pos + dist * p_normal, p_normal, log2(diameter), scolor, salpha);
float a = (1.0 - alpha);
color += scolor * a;
@@ -1601,7 +1586,6 @@ Vector3 VoxelLightBaker::_compute_pixel_light_at_pos(const Vector3 &p_pos, const
Vector3 bitangent = tangent.cross(p_normal).normalized();
Basis normal_xform = Basis(tangent, bitangent, p_normal).transposed();
- // print_line("normal xform: " + normal_xform);
const Vector3 *cone_dirs;
const float *cone_weights;
int cone_dir_count;
@@ -1667,10 +1651,7 @@ Vector3 VoxelLightBaker::_compute_pixel_light_at_pos(const Vector3 &p_pos, const
Vector3 accum;
for (int i = 0; i < cone_dir_count; i++) {
- // if (i > 0)
- // continue;
Vector3 dir = normal_xform.xform(cone_dirs[i]).normalized(); //normal may not completely correct when transformed to cell
- //print_line("direction: " + dir);
accum += _voxel_cone_trace(p_pos, dir, cone_aperture) * cone_weights[i];
}
@@ -1802,7 +1783,6 @@ void VoxelLightBaker::_lightmap_bake_point(uint32_t p_x, LightMap *p_line) {
LightMap *pixel = &p_line[p_x];
if (pixel->pos == Vector3())
return;
- //print_line("pos: " + pixel->pos + " normal " + pixel->normal);
switch (bake_mode) {
case BAKE_MODE_CONE_TRACE: {
pixel->light = _compute_pixel_light_at_pos(pixel->pos, pixel->normal) * energy;
@@ -1810,8 +1790,6 @@ void VoxelLightBaker::_lightmap_bake_point(uint32_t p_x, LightMap *p_line) {
case BAKE_MODE_RAY_TRACE: {
pixel->light = _compute_ray_trace_at_pos(pixel->pos, pixel->normal) * energy;
} break;
- // pixel->light = Vector3(1, 1, 1);
- //}
}
}
@@ -1895,7 +1873,6 @@ Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh
if (bake_mode == BAKE_MODE_RAY_TRACE) {
//blur
- print_line("bluring, use pos for separatable copy");
//gauss kernel, 7 step sigma 2
static const float gauss_kernel[4] = { 0.214607, 0.189879, 0.131514, 0.071303 };
//horizontal pass
@@ -1960,8 +1937,6 @@ Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh
#pragma omp parallel
#endif
for (int i = 0; i < height; i++) {
-
- //print_line("bake line " + itos(i) + " / " + itos(height));
#ifdef _OPENMP
#pragma omp parallel for schedule(dynamic, 1)
#endif
@@ -2304,7 +2279,6 @@ Ref<MultiMesh> VoxelLightBaker::create_debug_multimesh(DebugMode p_mode) {
mm->set_transform_format(MultiMesh::TRANSFORM_3D);
mm->set_color_format(MultiMesh::COLOR_8BIT);
- print_line("leaf voxels: " + itos(leaf_voxel_count));
mm->set_instance_count(leaf_voxel_count);
Ref<ArrayMesh> mesh;
diff --git a/scene/animation/animation_blend_space_1d.cpp b/scene/animation/animation_blend_space_1d.cpp
index 1bc9fa4b12..289cf7a3a7 100644
--- a/scene/animation/animation_blend_space_1d.cpp
+++ b/scene/animation/animation_blend_space_1d.cpp
@@ -1,12 +1,14 @@
#include "animation_blend_space_1d.h"
-void AnimationNodeBlendSpace1D::set_tree(AnimationTree *p_player) {
-
- AnimationRootNode::set_tree(p_player);
+void AnimationNodeBlendSpace1D::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::REAL, blend_position));
+}
+Variant AnimationNodeBlendSpace1D::get_parameter_default_value(const StringName &p_parameter) const {
+ return 0;
+}
- for (int i = 0; i < blend_points_used; i++) {
- blend_points[i].node->set_tree(p_player);
- }
+Ref<AnimationNode> AnimationNodeBlendSpace1D::get_child_by_name(const StringName &p_name) {
+ return get_blend_point_node(p_name.operator String().to_int());
}
void AnimationNodeBlendSpace1D::_validate_property(PropertyInfo &property) const {
@@ -20,6 +22,10 @@ void AnimationNodeBlendSpace1D::_validate_property(PropertyInfo &property) const
AnimationRootNode::_validate_property(property);
}
+void AnimationNodeBlendSpace1D::_tree_changed() {
+ emit_signal("tree_changed");
+}
+
void AnimationNodeBlendSpace1D::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_blend_point", "node", "pos", "at_index"), &AnimationNodeBlendSpace1D::add_blend_point, DEFVAL(-1));
ClassDB::bind_method(D_METHOD("set_blend_point_position", "point", "pos"), &AnimationNodeBlendSpace1D::set_blend_point_position);
@@ -38,30 +44,37 @@ void AnimationNodeBlendSpace1D::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_snap", "snap"), &AnimationNodeBlendSpace1D::set_snap);
ClassDB::bind_method(D_METHOD("get_snap"), &AnimationNodeBlendSpace1D::get_snap);
- ClassDB::bind_method(D_METHOD("set_blend_pos", "pos"), &AnimationNodeBlendSpace1D::set_blend_pos);
- ClassDB::bind_method(D_METHOD("get_blend_pos"), &AnimationNodeBlendSpace1D::get_blend_pos);
-
ClassDB::bind_method(D_METHOD("set_value_label", "text"), &AnimationNodeBlendSpace1D::set_value_label);
ClassDB::bind_method(D_METHOD("get_value_label"), &AnimationNodeBlendSpace1D::get_value_label);
ClassDB::bind_method(D_METHOD("_add_blend_point", "index", "node"), &AnimationNodeBlendSpace1D::_add_blend_point);
+ ClassDB::bind_method(D_METHOD("_tree_changed"), &AnimationNodeBlendSpace1D::_tree_changed);
+
for (int i = 0; i < MAX_BLEND_POINTS; i++) {
- ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "blend_point_" + itos(i) + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationRootNode", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE), "_add_blend_point", "get_blend_point_node", i);
+ ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "blend_point_" + itos(i) + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationRootNode", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "_add_blend_point", "get_blend_point_node", i);
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "blend_point_" + itos(i) + "/pos", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "set_blend_point_position", "get_blend_point_position", i);
}
ADD_PROPERTY(PropertyInfo(Variant::REAL, "min_space", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_min_space", "get_min_space");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "max_space", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_max_space", "get_max_space");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "snap", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_snap", "get_snap");
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "blend_pos", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_blend_pos", "get_blend_pos");
ADD_PROPERTY(PropertyInfo(Variant::STRING, "value_label", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_value_label", "get_value_label");
}
+void AnimationNodeBlendSpace1D::get_child_nodes(List<ChildNode> *r_child_nodes) {
+ for (int i = 0; i < blend_points_used; i++) {
+ ChildNode cn;
+ cn.name = itos(i);
+ cn.node = blend_points[i].node;
+ r_child_nodes->push_back(cn);
+ }
+}
+
void AnimationNodeBlendSpace1D::add_blend_point(const Ref<AnimationRootNode> &p_node, float p_position, int p_at_index) {
ERR_FAIL_COND(blend_points_used >= MAX_BLEND_POINTS);
ERR_FAIL_COND(p_node.is_null());
- ERR_FAIL_COND(p_node->get_parent().is_valid());
+
ERR_FAIL_COND(p_at_index < -1 || p_at_index > blend_points_used);
if (p_at_index == -1 || p_at_index == blend_points_used) {
@@ -75,10 +88,10 @@ void AnimationNodeBlendSpace1D::add_blend_point(const Ref<AnimationRootNode> &p_
blend_points[p_at_index].node = p_node;
blend_points[p_at_index].position = p_position;
- blend_points[p_at_index].node->set_parent(this);
- blend_points[p_at_index].node->set_tree(get_tree());
+ blend_points[p_at_index].node->connect("tree_changed", this, "_tree_changed", varray(), CONNECT_REFERENCE_COUNTED);
blend_points_used++;
+ emit_signal("tree_changed");
}
void AnimationNodeBlendSpace1D::set_blend_point_position(int p_point, float p_position) {
@@ -92,13 +105,13 @@ void AnimationNodeBlendSpace1D::set_blend_point_node(int p_point, const Ref<Anim
ERR_FAIL_COND(p_node.is_null());
if (blend_points[p_point].node.is_valid()) {
- blend_points[p_point].node->set_parent(NULL);
- blend_points[p_point].node->set_tree(NULL);
+ blend_points[p_point].node->disconnect("tree_changed", this, "_tree_changed");
}
blend_points[p_point].node = p_node;
- blend_points[p_point].node->set_parent(this);
- blend_points[p_point].node->set_tree(get_tree());
+ blend_points[p_point].node->connect("tree_changed", this, "_tree_changed", varray(), CONNECT_REFERENCE_COUNTED);
+
+ emit_signal("tree_changed");
}
float AnimationNodeBlendSpace1D::get_blend_point_position(int p_point) const {
@@ -114,14 +127,14 @@ Ref<AnimationRootNode> AnimationNodeBlendSpace1D::get_blend_point_node(int p_poi
void AnimationNodeBlendSpace1D::remove_blend_point(int p_point) {
ERR_FAIL_INDEX(p_point, blend_points_used);
- blend_points[p_point].node->set_parent(NULL);
- blend_points[p_point].node->set_tree(NULL);
+ blend_points[p_point].node->disconnect("tree_changed", this, "_tree_changed");
for (int i = p_point; i < blend_points_used - 1; i++) {
blend_points[i] = blend_points[i + 1];
}
blend_points_used--;
+ emit_signal("tree_changed");
}
int AnimationNodeBlendSpace1D::get_blend_point_count() const {
@@ -161,14 +174,6 @@ float AnimationNodeBlendSpace1D::get_snap() const {
return snap;
}
-void AnimationNodeBlendSpace1D::set_blend_pos(float p_pos) {
- blend_pos = p_pos;
-}
-
-float AnimationNodeBlendSpace1D::get_blend_pos() const {
- return blend_pos;
-}
-
void AnimationNodeBlendSpace1D::set_value_label(const String &p_label) {
value_label = p_label;
}
@@ -193,9 +198,11 @@ float AnimationNodeBlendSpace1D::process(float p_time, bool p_seek) {
if (blend_points_used == 1) {
// only one point available, just play that animation
- return blend_node(blend_points[0].node, p_time, p_seek, 1.0, FILTER_IGNORE, false);
+ return blend_node(blend_points[0].name, blend_points[0].node, p_time, p_seek, 1.0, FILTER_IGNORE, false);
}
+ float blend_pos = get_parameter(blend_position);
+
float weights[MAX_BLEND_POINTS] = {};
int point_lower = -1;
@@ -262,7 +269,7 @@ float AnimationNodeBlendSpace1D::process(float p_time, bool p_seek) {
float max_time_remaining = 0.0;
for (int i = 0; i < blend_points_used; i++) {
- float remaining = blend_node(blend_points[i].node, p_time, p_seek, weights[i], FILTER_IGNORE, false);
+ float remaining = blend_node(blend_points[i].name, blend_points[i].node, p_time, p_seek, weights[i], FILTER_IGNORE, false);
max_time_remaining = MAX(max_time_remaining, remaining);
}
@@ -276,18 +283,18 @@ String AnimationNodeBlendSpace1D::get_caption() const {
AnimationNodeBlendSpace1D::AnimationNodeBlendSpace1D() {
+ for (int i = 0; i < MAX_BLEND_POINTS; i++) {
+ blend_points[i].name = itos(i);
+ }
blend_points_used = 0;
max_space = 1;
min_space = -1;
snap = 0.1;
value_label = "value";
+
+ blend_position = "blend_position";
}
AnimationNodeBlendSpace1D::~AnimationNodeBlendSpace1D() {
-
- for (int i = 0; i < blend_points_used; i++) {
- blend_points[i].node->set_parent(this);
- blend_points[i].node->set_tree(get_tree());
- }
}
diff --git a/scene/animation/animation_blend_space_1d.h b/scene/animation/animation_blend_space_1d.h
index d1ed4c6a1f..f4e20f0d70 100644
--- a/scene/animation/animation_blend_space_1d.h
+++ b/scene/animation/animation_blend_space_1d.h
@@ -11,6 +11,7 @@ class AnimationNodeBlendSpace1D : public AnimationRootNode {
};
struct BlendPoint {
+ StringName name;
Ref<AnimationRootNode> node;
float position;
};
@@ -18,8 +19,6 @@ class AnimationNodeBlendSpace1D : public AnimationRootNode {
BlendPoint blend_points[MAX_BLEND_POINTS];
int blend_points_used;
- float blend_pos;
-
float max_space;
float min_space;
@@ -29,12 +28,19 @@ class AnimationNodeBlendSpace1D : public AnimationRootNode {
void _add_blend_point(int p_index, const Ref<AnimationRootNode> &p_node);
+ void _tree_changed();
+
+ StringName blend_position;
+
protected:
virtual void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
public:
- virtual void set_tree(AnimationTree *p_player);
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
+
+ virtual void get_child_nodes(List<ChildNode> *r_child_nodes);
void add_blend_point(const Ref<AnimationRootNode> &p_node, float p_position, int p_at_index = -1);
void set_blend_point_position(int p_point, float p_position);
@@ -54,15 +60,14 @@ public:
void set_snap(float p_snap);
float get_snap() const;
- void set_blend_pos(float p_pos);
- float get_blend_pos() const;
-
void set_value_label(const String &p_label);
String get_value_label() const;
float process(float p_time, bool p_seek);
String get_caption() const;
+ Ref<AnimationNode> get_child_by_name(const StringName &p_name);
+
AnimationNodeBlendSpace1D();
~AnimationNodeBlendSpace1D();
};
diff --git a/scene/animation/animation_blend_space_2d.cpp b/scene/animation/animation_blend_space_2d.cpp
index 3c93a0c8ec..3dc7f2a86f 100644
--- a/scene/animation/animation_blend_space_2d.cpp
+++ b/scene/animation/animation_blend_space_2d.cpp
@@ -1,18 +1,25 @@
#include "animation_blend_space_2d.h"
#include "math/delaunay.h"
-void AnimationNodeBlendSpace2D::set_tree(AnimationTree *p_player) {
- AnimationRootNode::set_tree(p_player);
+void AnimationNodeBlendSpace2D::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::VECTOR2, blend_position));
+}
+Variant AnimationNodeBlendSpace2D::get_parameter_default_value(const StringName &p_parameter) const {
+ return Vector2();
+}
+void AnimationNodeBlendSpace2D::get_child_nodes(List<ChildNode> *r_child_nodes) {
for (int i = 0; i < blend_points_used; i++) {
- blend_points[i].node->set_tree(p_player);
+ ChildNode cn;
+ cn.name = itos(i);
+ cn.node = blend_points[i].node;
+ r_child_nodes->push_back(cn);
}
}
void AnimationNodeBlendSpace2D::add_blend_point(const Ref<AnimationRootNode> &p_node, const Vector2 &p_position, int p_at_index) {
ERR_FAIL_COND(blend_points_used >= MAX_BLEND_POINTS);
ERR_FAIL_COND(p_node.is_null());
- ERR_FAIL_COND(p_node->get_parent().is_valid());
ERR_FAIL_COND(p_at_index < -1 || p_at_index > blend_points_used);
if (p_at_index == -1 || p_at_index == blend_points_used) {
@@ -32,13 +39,13 @@ void AnimationNodeBlendSpace2D::add_blend_point(const Ref<AnimationRootNode> &p_
blend_points[p_at_index].node = p_node;
blend_points[p_at_index].position = p_position;
- blend_points[p_at_index].node->set_parent(this);
- blend_points[p_at_index].node->set_tree(get_tree());
+ blend_points[p_at_index].node->connect("tree_changed", this, "_tree_changed", varray(), CONNECT_REFERENCE_COUNTED);
blend_points_used++;
if (auto_triangles) {
trianges_dirty = true;
}
+ emit_signal("tree_changed");
}
void AnimationNodeBlendSpace2D::set_blend_point_position(int p_point, const Vector2 &p_position) {
@@ -53,12 +60,12 @@ void AnimationNodeBlendSpace2D::set_blend_point_node(int p_point, const Ref<Anim
ERR_FAIL_COND(p_node.is_null());
if (blend_points[p_point].node.is_valid()) {
- blend_points[p_point].node->set_parent(NULL);
- blend_points[p_point].node->set_tree(NULL);
+ blend_points[p_point].node->disconnect("tree_changed", this, "_tree_changed");
}
blend_points[p_point].node = p_node;
- blend_points[p_point].node->set_parent(this);
- blend_points[p_point].node->set_tree(get_tree());
+ blend_points[p_point].node->connect("tree_changed", this, "_tree_changed", varray(), CONNECT_REFERENCE_COUNTED);
+
+ emit_signal("tree_changed");
}
Vector2 AnimationNodeBlendSpace2D::get_blend_point_position(int p_point) const {
ERR_FAIL_INDEX_V(p_point, blend_points_used, Vector2());
@@ -71,8 +78,7 @@ Ref<AnimationRootNode> AnimationNodeBlendSpace2D::get_blend_point_node(int p_poi
void AnimationNodeBlendSpace2D::remove_blend_point(int p_point) {
ERR_FAIL_INDEX(p_point, blend_points_used);
- blend_points[p_point].node->set_parent(NULL);
- blend_points[p_point].node->set_tree(NULL);
+ blend_points[p_point].node->disconnect("tree_changed", this, "_tree_changed");
for (int i = 0; i < triangles.size(); i++) {
bool erase = false;
@@ -95,6 +101,7 @@ void AnimationNodeBlendSpace2D::remove_blend_point(int p_point) {
blend_points[i] = blend_points[i + 1];
}
blend_points_used--;
+ emit_signal("tree_changed");
}
int AnimationNodeBlendSpace2D::get_blend_point_count() const {
@@ -217,13 +224,6 @@ Vector2 AnimationNodeBlendSpace2D::get_snap() const {
return snap;
}
-void AnimationNodeBlendSpace2D::set_blend_position(const Vector2 &p_pos) {
- blend_pos = p_pos;
-}
-Vector2 AnimationNodeBlendSpace2D::get_blend_position() const {
- return blend_pos;
-}
-
void AnimationNodeBlendSpace2D::set_x_label(const String &p_label) {
x_label = p_label;
}
@@ -381,6 +381,8 @@ float AnimationNodeBlendSpace2D::process(float p_time, bool p_seek) {
_update_triangles();
+ Vector2 blend_pos = get_parameter(blend_position);
+
if (triangles.size() == 0)
return 0;
@@ -443,7 +445,7 @@ float AnimationNodeBlendSpace2D::process(float p_time, bool p_seek) {
for (int j = 0; j < 3; j++) {
if (i == triangle_points[j]) {
//blend with the given weight
- float t = blend_node(blend_points[i].node, p_time, p_seek, blend_weights[j], FILTER_IGNORE, false);
+ float t = blend_node(blend_points[i].name, blend_points[i].node, p_time, p_seek, blend_weights[j], FILTER_IGNORE, false);
if (first || t < mind) {
mind = t;
first = false;
@@ -455,7 +457,7 @@ float AnimationNodeBlendSpace2D::process(float p_time, bool p_seek) {
if (!found) {
//ignore
- blend_node(blend_points[i].node, p_time, p_seek, 0, FILTER_IGNORE, false);
+ blend_node(blend_points[i].name, blend_points[i].node, p_time, p_seek, 0, FILTER_IGNORE, false);
}
}
return mind;
@@ -487,6 +489,14 @@ bool AnimationNodeBlendSpace2D::get_auto_triangles() const {
return auto_triangles;
}
+Ref<AnimationNode> AnimationNodeBlendSpace2D::get_child_by_name(const StringName &p_name) {
+ return get_blend_point_node(p_name.operator String().to_int());
+}
+
+void AnimationNodeBlendSpace2D::_tree_changed() {
+ emit_signal("tree_changed");
+}
+
void AnimationNodeBlendSpace2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("add_blend_point", "node", "pos", "at_index"), &AnimationNodeBlendSpace2D::add_blend_point, DEFVAL(-1));
@@ -511,9 +521,6 @@ void AnimationNodeBlendSpace2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_snap", "snap"), &AnimationNodeBlendSpace2D::set_snap);
ClassDB::bind_method(D_METHOD("get_snap"), &AnimationNodeBlendSpace2D::get_snap);
- ClassDB::bind_method(D_METHOD("set_blend_position", "pos"), &AnimationNodeBlendSpace2D::set_blend_position);
- ClassDB::bind_method(D_METHOD("get_blend_position"), &AnimationNodeBlendSpace2D::get_blend_position);
-
ClassDB::bind_method(D_METHOD("set_x_label", "text"), &AnimationNodeBlendSpace2D::set_x_label);
ClassDB::bind_method(D_METHOD("get_x_label"), &AnimationNodeBlendSpace2D::get_x_label);
@@ -528,10 +535,12 @@ void AnimationNodeBlendSpace2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_auto_triangles", "enable"), &AnimationNodeBlendSpace2D::set_auto_triangles);
ClassDB::bind_method(D_METHOD("get_auto_triangles"), &AnimationNodeBlendSpace2D::get_auto_triangles);
+ ClassDB::bind_method(D_METHOD("_tree_changed"), &AnimationNodeBlendSpace2D::_tree_changed);
+
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "auto_triangles", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_auto_triangles", "get_auto_triangles");
for (int i = 0; i < MAX_BLEND_POINTS; i++) {
- ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "blend_point_" + itos(i) + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationRootNode", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE), "_add_blend_point", "get_blend_point_node", i);
+ ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "blend_point_" + itos(i) + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationRootNode", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "_add_blend_point", "get_blend_point_node", i);
ADD_PROPERTYI(PropertyInfo(Variant::VECTOR2, "blend_point_" + itos(i) + "/pos", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "set_blend_point_position", "get_blend_point_position", i);
}
@@ -540,13 +549,15 @@ void AnimationNodeBlendSpace2D::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "min_space", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_min_space", "get_min_space");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "max_space", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_max_space", "get_max_space");
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "snap", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_snap", "get_snap");
- ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "blend_position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_blend_position", "get_blend_position");
ADD_PROPERTY(PropertyInfo(Variant::STRING, "x_label", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_x_label", "get_x_label");
ADD_PROPERTY(PropertyInfo(Variant::STRING, "y_label", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_y_label", "get_y_label");
}
AnimationNodeBlendSpace2D::AnimationNodeBlendSpace2D() {
+ for (int i = 0; i < MAX_BLEND_POINTS; i++) {
+ blend_points[i].name = itos(i);
+ }
auto_triangles = true;
blend_points_used = 0;
max_space = Vector2(1, 1);
@@ -555,12 +566,8 @@ AnimationNodeBlendSpace2D::AnimationNodeBlendSpace2D() {
x_label = "x";
y_label = "y";
trianges_dirty = false;
+ blend_position = "blend_position";
}
AnimationNodeBlendSpace2D::~AnimationNodeBlendSpace2D() {
-
- for (int i = 0; i < blend_points_used; i++) {
- blend_points[i].node->set_parent(this);
- blend_points[i].node->set_tree(get_tree());
- }
}
diff --git a/scene/animation/animation_blend_space_2d.h b/scene/animation/animation_blend_space_2d.h
index 74d20b6013..3e1c66c924 100644
--- a/scene/animation/animation_blend_space_2d.h
+++ b/scene/animation/animation_blend_space_2d.h
@@ -11,6 +11,7 @@ class AnimationNodeBlendSpace2D : public AnimationRootNode {
};
struct BlendPoint {
+ StringName name;
Ref<AnimationRootNode> node;
Vector2 position;
};
@@ -24,7 +25,7 @@ class AnimationNodeBlendSpace2D : public AnimationRootNode {
Vector<BlendTriangle> triangles;
- Vector2 blend_pos;
+ StringName blend_position;
Vector2 max_space;
Vector2 min_space;
Vector2 snap;
@@ -42,12 +43,17 @@ class AnimationNodeBlendSpace2D : public AnimationRootNode {
void _update_triangles();
+ void _tree_changed();
+
protected:
virtual void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
public:
- virtual void set_tree(AnimationTree *p_player);
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
+
+ virtual void get_child_nodes(List<ChildNode> *r_child_nodes);
void add_blend_point(const Ref<AnimationRootNode> &p_node, const Vector2 &p_position, int p_at_index = -1);
void set_blend_point_position(int p_point, const Vector2 &p_position);
@@ -72,9 +78,6 @@ public:
void set_snap(const Vector2 &p_snap);
Vector2 get_snap() const;
- void set_blend_position(const Vector2 &p_pos);
- Vector2 get_blend_position() const;
-
void set_x_label(const String &p_label);
String get_x_label() const;
@@ -89,6 +92,8 @@ public:
void set_auto_triangles(bool p_enable);
bool get_auto_triangles() const;
+ virtual Ref<AnimationNode> get_child_by_name(const StringName &p_name);
+
AnimationNodeBlendSpace2D();
~AnimationNodeBlendSpace2D();
};
diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp
index 65904410d3..10bab3ce38 100644
--- a/scene/animation/animation_blend_tree.cpp
+++ b/scene/animation/animation_blend_tree.cpp
@@ -3,6 +3,7 @@
void AnimationNodeAnimation::set_animation(const StringName &p_name) {
animation = p_name;
+ _change_notify("animation");
}
StringName AnimationNodeAnimation::get_animation() const {
@@ -13,43 +14,36 @@ float AnimationNodeAnimation::get_playback_time() const {
return time;
}
+Vector<String> (*AnimationNodeAnimation::get_editable_animation_list)() = NULL;
+
void AnimationNodeAnimation::_validate_property(PropertyInfo &property) const {
- if (property.name == "animation") {
- AnimationTree *gp = get_tree();
- if (gp && gp->has_node(gp->get_animation_player())) {
- AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(gp->get_node(gp->get_animation_player()));
- if (ap) {
- List<StringName> names;
- ap->get_animation_list(&names);
- String anims;
- for (List<StringName>::Element *E = names.front(); E; E = E->next()) {
- if (E != names.front()) {
- anims += ",";
- }
- anims += String(E->get());
- }
- if (anims != String()) {
- property.hint = PROPERTY_HINT_ENUM;
- property.hint_string = anims;
- }
+ if (property.name == "animation" && get_editable_animation_list) {
+ Vector<String> names = get_editable_animation_list();
+ String anims;
+ for (int i = 0; i < names.size(); i++) {
+
+ if (i > 0) {
+ anims += ",";
}
+ anims += String(names[i]);
+ }
+ if (anims != String()) {
+ property.hint = PROPERTY_HINT_ENUM;
+ property.hint_string = anims;
}
}
-
- AnimationRootNode::_validate_property(property);
}
float AnimationNodeAnimation::process(float p_time, bool p_seek) {
- AnimationPlayer *ap = get_player();
+ AnimationPlayer *ap = state->player;
ERR_FAIL_COND_V(!ap, 0);
- Ref<Animation> anim = ap->get_animation(animation);
- if (!anim.is_valid()) {
+ if (!ap->has_animation(animation)) {
- Ref<AnimationNodeBlendTree> tree = get_parent();
- if (tree.is_valid()) {
+ AnimationNodeBlendTree *tree = Object::cast_to<AnimationNodeBlendTree>(parent);
+ if (tree) {
String name = tree->get_node_name(Ref<AnimationNodeAnimation>(this));
make_invalid(vformat(RTR("On BlendTree node '%s', animation not found: '%s'"), name, animation));
@@ -60,6 +54,8 @@ float AnimationNodeAnimation::process(float p_time, bool p_seek) {
return 0;
}
+ Ref<Animation> anim = ap->get_animation(animation);
+
if (p_seek) {
time = p_time;
step = 0;
@@ -108,6 +104,20 @@ AnimationNodeAnimation::AnimationNodeAnimation() {
////////////////////////////////////////////////////////
+void AnimationNodeOneShot::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::BOOL, active));
+ r_list->push_back(PropertyInfo(Variant::BOOL, prev_active, PROPERTY_HINT_NONE, "", 0));
+ r_list->push_back(PropertyInfo(Variant::REAL, time, PROPERTY_HINT_NONE, "", 0));
+ r_list->push_back(PropertyInfo(Variant::REAL, remaining, PROPERTY_HINT_NONE, "", 0));
+}
+Variant AnimationNodeOneShot::get_parameter_default_value(const StringName &p_parameter) const {
+ if (p_parameter == active || p_parameter == prev_active) {
+ return false;
+ } else {
+ return 0.0;
+ }
+}
+
void AnimationNodeOneShot::set_fadein_time(float p_time) {
fade_in = p_time;
@@ -162,18 +172,6 @@ AnimationNodeOneShot::MixMode AnimationNodeOneShot::get_mix_mode() const {
return mix;
}
-void AnimationNodeOneShot::start() {
- active = true;
- do_start = true;
-}
-void AnimationNodeOneShot::stop() {
- active = false;
-}
-bool AnimationNodeOneShot::is_active() const {
-
- return active;
-}
-
String AnimationNodeOneShot::get_caption() const {
return "OneShot";
}
@@ -184,8 +182,16 @@ bool AnimationNodeOneShot::has_filter() const {
float AnimationNodeOneShot::process(float p_time, bool p_seek) {
+ bool active = get_parameter(this->active);
+ bool prev_active = get_parameter(this->prev_active);
+ float time = get_parameter(this->time);
+ float remaining = get_parameter(this->remaining);
+
if (!active) {
//make it as if this node doesn't exist, pass input 0 by.
+ if (prev_active) {
+ set_parameter(this->prev_active, false);
+ }
return blend_input(0, p_time, p_seek, 1.0, FILTER_IGNORE, !sync);
}
@@ -193,9 +199,12 @@ float AnimationNodeOneShot::process(float p_time, bool p_seek) {
if (p_seek)
time = p_time;
+ bool do_start = !prev_active;
+
if (do_start) {
time = 0;
os_seek = true;
+ set_parameter(this->prev_active, true);
}
float blend;
@@ -233,10 +242,15 @@ float AnimationNodeOneShot::process(float p_time, bool p_seek) {
if (!p_seek) {
time += p_time;
remaining = os_rem;
- if (remaining <= 0)
- active = false;
+ if (remaining <= 0) {
+ set_parameter(this->active, false);
+ set_parameter(this->prev_active, false);
+ }
}
+ set_parameter(this->time, time);
+ set_parameter(this->remaining, remaining);
+
return MAX(main_rem, remaining);
}
void AnimationNodeOneShot::set_use_sync(bool p_sync) {
@@ -269,10 +283,6 @@ void AnimationNodeOneShot::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_mix_mode", "mode"), &AnimationNodeOneShot::set_mix_mode);
ClassDB::bind_method(D_METHOD("get_mix_mode"), &AnimationNodeOneShot::get_mix_mode);
- ClassDB::bind_method(D_METHOD("start"), &AnimationNodeOneShot::start);
- ClassDB::bind_method(D_METHOD("stop"), &AnimationNodeOneShot::stop);
- ClassDB::bind_method(D_METHOD("is_active"), &AnimationNodeOneShot::is_active);
-
ClassDB::bind_method(D_METHOD("set_use_sync", "enable"), &AnimationNodeOneShot::set_use_sync);
ClassDB::bind_method(D_METHOD("is_using_sync"), &AnimationNodeOneShot::is_using_sync);
@@ -297,26 +307,27 @@ AnimationNodeOneShot::AnimationNodeOneShot() {
add_input("in");
add_input("shot");
- time = 0;
fade_in = 0.1;
fade_out = 0.1;
autorestart = false;
autorestart_delay = 1;
- autorestart_remaining = 0;
+
mix = MIX_MODE_BLEND;
- active = false;
- do_start = false;
sync = false;
+
+ active = "active";
+ prev_active = "prev_active";
+ time = "time";
+ remaining = "remaining";
}
////////////////////////////////////////////////
-void AnimationNodeAdd2::set_amount(float p_amount) {
- amount = p_amount;
+void AnimationNodeAdd2::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::REAL, add_amount, PROPERTY_HINT_RANGE, "0,1,0.01"));
}
-
-float AnimationNodeAdd2::get_amount() const {
- return amount;
+Variant AnimationNodeAdd2::get_parameter_default_value(const StringName &p_parameter) const {
+ return 0;
}
String AnimationNodeAdd2::get_caption() const {
@@ -339,6 +350,7 @@ bool AnimationNodeAdd2::has_filter() const {
float AnimationNodeAdd2::process(float p_time, bool p_seek) {
+ float amount = get_parameter(add_amount);
float rem0 = blend_input(0, p_time, p_seek, 1.0, FILTER_IGNORE, !sync);
blend_input(1, p_time, p_seek, amount, FILTER_PASS, !sync);
@@ -347,32 +359,27 @@ float AnimationNodeAdd2::process(float p_time, bool p_seek) {
void AnimationNodeAdd2::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_amount", "amount"), &AnimationNodeAdd2::set_amount);
- ClassDB::bind_method(D_METHOD("get_amount"), &AnimationNodeAdd2::get_amount);
-
ClassDB::bind_method(D_METHOD("set_use_sync", "enable"), &AnimationNodeAdd2::set_use_sync);
ClassDB::bind_method(D_METHOD("is_using_sync"), &AnimationNodeAdd2::is_using_sync);
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "amount", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_amount", "get_amount");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync");
}
AnimationNodeAdd2::AnimationNodeAdd2() {
+ add_amount = "add_amount";
add_input("in");
add_input("add");
- amount = 0;
sync = false;
}
////////////////////////////////////////////////
-void AnimationNodeAdd3::set_amount(float p_amount) {
- amount = p_amount;
+void AnimationNodeAdd3::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::REAL, add_amount, PROPERTY_HINT_RANGE, "-1,1,0.01"));
}
-
-float AnimationNodeAdd3::get_amount() const {
- return amount;
+Variant AnimationNodeAdd3::get_parameter_default_value(const StringName &p_parameter) const {
+ return 0;
}
String AnimationNodeAdd3::get_caption() const {
@@ -395,6 +402,7 @@ bool AnimationNodeAdd3::has_filter() const {
float AnimationNodeAdd3::process(float p_time, bool p_seek) {
+ float amount = get_parameter(add_amount);
blend_input(0, p_time, p_seek, MAX(0, -amount), FILTER_PASS, !sync);
float rem0 = blend_input(1, p_time, p_seek, 1.0, FILTER_IGNORE, !sync);
blend_input(2, p_time, p_seek, MAX(0, amount), FILTER_PASS, !sync);
@@ -404,39 +412,37 @@ float AnimationNodeAdd3::process(float p_time, bool p_seek) {
void AnimationNodeAdd3::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_amount", "amount"), &AnimationNodeAdd3::set_amount);
- ClassDB::bind_method(D_METHOD("get_amount"), &AnimationNodeAdd3::get_amount);
-
ClassDB::bind_method(D_METHOD("set_use_sync", "enable"), &AnimationNodeAdd3::set_use_sync);
ClassDB::bind_method(D_METHOD("is_using_sync"), &AnimationNodeAdd3::is_using_sync);
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "amount", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_amount", "get_amount");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync");
}
AnimationNodeAdd3::AnimationNodeAdd3() {
+ add_amount = "add_amount";
add_input("-add");
add_input("in");
add_input("+add");
- amount = 0;
sync = false;
}
/////////////////////////////////////////////
-void AnimationNodeBlend2::set_amount(float p_amount) {
- amount = p_amount;
+void AnimationNodeBlend2::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::REAL, blend_amount, PROPERTY_HINT_RANGE, "0,1,0.01"));
}
-
-float AnimationNodeBlend2::get_amount() const {
- return amount;
+Variant AnimationNodeBlend2::get_parameter_default_value(const StringName &p_parameter) const {
+ return 0; //for blend amount
}
+
String AnimationNodeBlend2::get_caption() const {
return "Blend2";
}
float AnimationNodeBlend2::process(float p_time, bool p_seek) {
+ float amount = get_parameter(blend_amount);
+
float rem0 = blend_input(0, p_time, p_seek, 1.0 - amount, FILTER_BLEND, !sync);
float rem1 = blend_input(1, p_time, p_seek, amount, FILTER_PASS, !sync);
@@ -459,31 +465,25 @@ bool AnimationNodeBlend2::has_filter() const {
}
void AnimationNodeBlend2::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_amount", "amount"), &AnimationNodeBlend2::set_amount);
- ClassDB::bind_method(D_METHOD("get_amount"), &AnimationNodeBlend2::get_amount);
-
ClassDB::bind_method(D_METHOD("set_use_sync", "enable"), &AnimationNodeBlend2::set_use_sync);
ClassDB::bind_method(D_METHOD("is_using_sync"), &AnimationNodeBlend2::is_using_sync);
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "amount", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_amount", "get_amount");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync");
}
AnimationNodeBlend2::AnimationNodeBlend2() {
+ blend_amount = "blend_amount";
add_input("in");
add_input("blend");
sync = false;
-
- amount = 0;
}
//////////////////////////////////////
-void AnimationNodeBlend3::set_amount(float p_amount) {
- amount = p_amount;
+void AnimationNodeBlend3::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::REAL, blend_amount, PROPERTY_HINT_RANGE, "-1,1,0.01"));
}
-
-float AnimationNodeBlend3::get_amount() const {
- return amount;
+Variant AnimationNodeBlend3::get_parameter_default_value(const StringName &p_parameter) const {
+ return 0; //for blend amount
}
String AnimationNodeBlend3::get_caption() const {
@@ -502,6 +502,7 @@ bool AnimationNodeBlend3::is_using_sync() const {
float AnimationNodeBlend3::process(float p_time, bool p_seek) {
+ float amount = get_parameter(blend_amount);
float rem0 = blend_input(0, p_time, p_seek, MAX(0, -amount), FILTER_IGNORE, !sync);
float rem1 = blend_input(1, p_time, p_seek, 1.0 - ABS(amount), FILTER_IGNORE, !sync);
float rem2 = blend_input(2, p_time, p_seek, MAX(0, amount), FILTER_IGNORE, !sync);
@@ -511,31 +512,26 @@ float AnimationNodeBlend3::process(float p_time, bool p_seek) {
void AnimationNodeBlend3::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_amount", "amount"), &AnimationNodeBlend3::set_amount);
- ClassDB::bind_method(D_METHOD("get_amount"), &AnimationNodeBlend3::get_amount);
-
ClassDB::bind_method(D_METHOD("set_use_sync", "enable"), &AnimationNodeBlend3::set_use_sync);
ClassDB::bind_method(D_METHOD("is_using_sync"), &AnimationNodeBlend3::is_using_sync);
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "amount", PROPERTY_HINT_RANGE, "-1,1,0.01"), "set_amount", "get_amount");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "sync"), "set_use_sync", "is_using_sync");
}
AnimationNodeBlend3::AnimationNodeBlend3() {
+ blend_amount = "blend_amount";
add_input("-blend");
add_input("in");
add_input("+blend");
sync = false;
- amount = 0;
}
/////////////////////////////////
-void AnimationNodeTimeScale::set_scale(float p_scale) {
- scale = p_scale;
+void AnimationNodeTimeScale::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::REAL, scale, PROPERTY_HINT_RANGE, "0,32,0.01,or_greater"));
}
-
-float AnimationNodeTimeScale::get_scale() const {
- return scale;
+Variant AnimationNodeTimeScale::get_parameter_default_value(const StringName &p_parameter) const {
+ return 1.0; //initial timescale
}
String AnimationNodeTimeScale::get_caption() const {
@@ -544,6 +540,7 @@ String AnimationNodeTimeScale::get_caption() const {
float AnimationNodeTimeScale::process(float p_time, bool p_seek) {
+ float scale = get_parameter(this->scale);
if (p_seek) {
return blend_input(0, p_time, true, 1.0, FILTER_IGNORE, false);
} else {
@@ -552,25 +549,19 @@ float AnimationNodeTimeScale::process(float p_time, bool p_seek) {
}
void AnimationNodeTimeScale::_bind_methods() {
-
- ClassDB::bind_method(D_METHOD("set_scale", "scale"), &AnimationNodeTimeScale::set_scale);
- ClassDB::bind_method(D_METHOD("get_scale"), &AnimationNodeTimeScale::get_scale);
-
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "scale", PROPERTY_HINT_RANGE, "0,32,0.01,or_greater"), "set_scale", "get_scale");
}
AnimationNodeTimeScale::AnimationNodeTimeScale() {
+ scale = "scale";
add_input("in");
- scale = 1.0;
}
////////////////////////////////////
-void AnimationNodeTimeSeek::set_seek_pos(float p_seek_pos) {
- seek_pos = p_seek_pos;
+void AnimationNodeTimeSeek::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::REAL, seek_pos, PROPERTY_HINT_RANGE, "-1,3600,0.01,or_greater"));
}
-
-float AnimationNodeTimeSeek::get_seek_pos() const {
- return seek_pos;
+Variant AnimationNodeTimeSeek::get_parameter_default_value(const StringName &p_parameter) const {
+ return 1.0; //initial timescale
}
String AnimationNodeTimeSeek::get_caption() const {
@@ -579,11 +570,12 @@ String AnimationNodeTimeSeek::get_caption() const {
float AnimationNodeTimeSeek::process(float p_time, bool p_seek) {
+ float seek_pos = get_parameter(this->seek_pos);
if (p_seek) {
return blend_input(0, p_time, true, 1.0, FILTER_IGNORE, false);
} else if (seek_pos >= 0) {
float ret = blend_input(0, seek_pos, true, 1.0, FILTER_IGNORE, false);
- seek_pos = -1;
+ set_parameter(this->seek_pos, -1.0); //reset
_change_notify("seek_pos");
return ret;
} else {
@@ -592,19 +584,41 @@ float AnimationNodeTimeSeek::process(float p_time, bool p_seek) {
}
void AnimationNodeTimeSeek::_bind_methods() {
-
- ClassDB::bind_method(D_METHOD("set_seek_pos", "seek_pos"), &AnimationNodeTimeSeek::set_seek_pos);
- ClassDB::bind_method(D_METHOD("get_seek_pos"), &AnimationNodeTimeSeek::get_seek_pos);
-
- ADD_PROPERTY(PropertyInfo(Variant::REAL, "seek_pos", PROPERTY_HINT_RANGE, "-1,3600,0.01,or_greater"), "set_seek_pos", "get_seek_pos");
}
+
AnimationNodeTimeSeek::AnimationNodeTimeSeek() {
add_input("in");
- seek_pos = -1;
+ seek_pos = "seek_position";
}
/////////////////////////////////////////////////
+void AnimationNodeTransition::get_parameter_list(List<PropertyInfo> *r_list) const {
+
+ String anims;
+ for (int i = 0; i < enabled_inputs; i++) {
+ if (i > 0) {
+ anims += ",";
+ }
+ anims += inputs[i].name;
+ }
+
+ r_list->push_back(PropertyInfo(Variant::INT, current, PROPERTY_HINT_ENUM, anims));
+ r_list->push_back(PropertyInfo(Variant::INT, prev_current, PROPERTY_HINT_NONE, "", 0));
+ r_list->push_back(PropertyInfo(Variant::INT, prev, PROPERTY_HINT_NONE, "", 0));
+ r_list->push_back(PropertyInfo(Variant::REAL, time, PROPERTY_HINT_NONE, "", 0));
+ r_list->push_back(PropertyInfo(Variant::REAL, prev_xfading, PROPERTY_HINT_NONE, "", 0));
+}
+Variant AnimationNodeTransition::get_parameter_default_value(const StringName &p_parameter) const {
+ if (p_parameter == time || p_parameter == prev_xfading) {
+ return 0.0;
+ } else if (p_parameter == prev || p_parameter == prev_current) {
+ return -1;
+ } else {
+ return 0;
+ }
+}
+
String AnimationNodeTransition::get_caption() const {
return "Transition";
}
@@ -650,18 +664,12 @@ String AnimationNodeTransition::get_input_caption(int p_input) const {
return inputs[p_input].name;
}
-void AnimationNodeTransition::set_current(int p_current) {
-
- if (current == p_current)
- return;
- ERR_FAIL_INDEX(p_current, enabled_inputs);
-
+#if 0
Ref<AnimationNodeBlendTree> tree = get_parent();
if (tree.is_valid() && current >= 0) {
prev = current;
- prev_xfading = xfade;
- prev_time = time;
+ prev_xfading = xfade;
time = 0;
current = p_current;
switched = true;
@@ -669,11 +677,8 @@ void AnimationNodeTransition::set_current(int p_current) {
} else {
current = p_current;
}
-}
+#endif
-int AnimationNodeTransition::get_current() const {
- return current;
-}
void AnimationNodeTransition::set_cross_fade_time(float p_fade) {
xfade = p_fade;
}
@@ -684,9 +689,34 @@ float AnimationNodeTransition::get_cross_fade_time() const {
float AnimationNodeTransition::process(float p_time, bool p_seek) {
+ int current = get_parameter(this->current);
+ int prev = get_parameter(this->prev);
+ int prev_current = get_parameter(this->prev_current);
+
+ float time = get_parameter(this->time);
+ float prev_xfading = get_parameter(this->prev_xfading);
+
+ bool switched = current != prev_current;
+
+ if (switched) {
+ set_parameter(this->prev_current, current);
+ set_parameter(this->prev, prev_current);
+
+ prev = prev_current;
+ prev_xfading = xfade;
+ time = 0;
+ switched = true;
+ }
+
+ if (current < 0 || current >= enabled_inputs || prev >= enabled_inputs) {
+ return 0;
+ }
+
+ float rem = 0;
+
if (prev < 0) { // process current animation, check for transition
- float rem = blend_input(current, p_time, p_seek, 1.0, FILTER_IGNORE, false);
+ rem = blend_input(current, p_time, p_seek, 1.0, FILTER_IGNORE, false);
if (p_seek)
time = p_time;
@@ -695,16 +725,13 @@ float AnimationNodeTransition::process(float p_time, bool p_seek) {
if (inputs[current].auto_advance && rem <= xfade) {
- set_current((current + 1) % enabled_inputs);
+ set_parameter(this->current, (current + 1) % enabled_inputs);
}
- return rem;
} else { // cross-fading from prev to current
float blend = xfade ? (prev_xfading / xfade) : 1;
- float rem;
-
if (!p_seek && switched) { //just switched, seek to start of current
rem = blend_input(current, 0, true, 1.0 - blend, FILTER_IGNORE, false);
@@ -723,28 +750,19 @@ float AnimationNodeTransition::process(float p_time, bool p_seek) {
time += p_time;
prev_xfading -= p_time;
if (prev_xfading < 0) {
- prev = -1;
+ set_parameter(this->prev, -1);
}
}
-
- return rem;
}
+
+ set_parameter(this->time, time);
+ set_parameter(this->prev_xfading, prev_xfading);
+
+ return rem;
}
void AnimationNodeTransition::_validate_property(PropertyInfo &property) const {
- if (property.name == "current" && enabled_inputs > 0) {
- property.hint = PROPERTY_HINT_ENUM;
- String anims;
- for (int i = 0; i < enabled_inputs; i++) {
- if (i > 0) {
- anims += ",";
- }
- anims += inputs[i].name;
- }
- property.hint_string = anims;
- }
-
if (property.name.begins_with("input_")) {
String n = property.name.get_slicec('/', 0).get_slicec('_', 1);
if (n != "count") {
@@ -769,14 +787,10 @@ void AnimationNodeTransition::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_input_caption", "input", "caption"), &AnimationNodeTransition::set_input_caption);
ClassDB::bind_method(D_METHOD("get_input_caption", "input"), &AnimationNodeTransition::get_input_caption);
- ClassDB::bind_method(D_METHOD("set_current", "index"), &AnimationNodeTransition::set_current);
- ClassDB::bind_method(D_METHOD("get_current"), &AnimationNodeTransition::get_current);
-
ClassDB::bind_method(D_METHOD("set_cross_fade_time", "time"), &AnimationNodeTransition::set_cross_fade_time);
ClassDB::bind_method(D_METHOD("get_cross_fade_time"), &AnimationNodeTransition::get_cross_fade_time);
ADD_PROPERTY(PropertyInfo(Variant::INT, "input_count", PROPERTY_HINT_RANGE, "0,64,1", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED), "set_enabled_inputs", "get_enabled_inputs");
- ADD_PROPERTY(PropertyInfo(Variant::INT, "current", PROPERTY_HINT_RANGE, "0,64,1"), "set_current", "get_current");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "xfade_time", PROPERTY_HINT_RANGE, "0,120,0.01"), "set_cross_fade_time", "get_cross_fade_time");
for (int i = 0; i < MAX_INPUTS; i++) {
@@ -786,13 +800,15 @@ void AnimationNodeTransition::_bind_methods() {
}
AnimationNodeTransition::AnimationNodeTransition() {
+
+ prev_xfading = "prev_xfading";
+ prev = "prev";
+ time = "time";
+ current = "current";
+ prev_current = "prev_current";
+ ;
+
enabled_inputs = 0;
- xfade = 0;
- current = -1;
- prev = -1;
- prev_time = 0;
- prev_xfading = 0;
- switched = false;
for (int i = 0; i < MAX_INPUTS; i++) {
inputs[i].auto_advance = false;
inputs[i].name = itos(i + 1);
@@ -814,69 +830,102 @@ AnimationNodeOutput::AnimationNodeOutput() {
}
///////////////////////////////////////////////////////
-void AnimationNodeBlendTree::add_node(const StringName &p_name, Ref<AnimationNode> p_node) {
+void AnimationNodeBlendTree::add_node(const StringName &p_name, Ref<AnimationNode> p_node, const Vector2 &p_position) {
ERR_FAIL_COND(nodes.has(p_name));
ERR_FAIL_COND(p_node.is_null());
- ERR_FAIL_COND(p_node->get_parent().is_valid());
- ERR_FAIL_COND(p_node->get_tree() != NULL);
ERR_FAIL_COND(p_name == SceneStringNames::get_singleton()->output);
ERR_FAIL_COND(String(p_name).find("/") != -1);
- nodes[p_name] = p_node;
- p_node->set_parent(this);
- p_node->set_tree(get_tree());
+ Node n;
+ n.node = p_node;
+ n.position = p_position;
+ n.connections.resize(n.node->get_input_count());
+ nodes[p_name] = n;
emit_changed();
+ emit_signal("tree_changed");
+
+ p_node->connect("tree_changed", this, "_tree_changed", varray(), CONNECT_REFERENCE_COUNTED);
+ p_node->connect("changed", this, "_node_changed", varray(p_name), CONNECT_REFERENCE_COUNTED);
}
Ref<AnimationNode> AnimationNodeBlendTree::get_node(const StringName &p_name) const {
ERR_FAIL_COND_V(!nodes.has(p_name), Ref<AnimationNode>());
- return nodes[p_name];
+ return nodes[p_name].node;
}
StringName AnimationNodeBlendTree::get_node_name(const Ref<AnimationNode> &p_node) const {
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- if (E->get() == p_node) {
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
+ if (E->get().node == p_node) {
return E->key();
}
}
ERR_FAIL_V(StringName());
}
+
+void AnimationNodeBlendTree::set_node_position(const StringName &p_node, const Vector2 &p_position) {
+ ERR_FAIL_COND(!nodes.has(p_node));
+ nodes[p_node].position = p_position;
+}
+
+Vector2 AnimationNodeBlendTree::get_node_position(const StringName &p_node) const {
+ ERR_FAIL_COND_V(!nodes.has(p_node), Vector2());
+ return nodes[p_node].position;
+}
+
+void AnimationNodeBlendTree::get_child_nodes(List<ChildNode> *r_child_nodes) {
+ Vector<StringName> ns;
+
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
+ ns.push_back(E->key());
+ }
+
+ ns.sort_custom<StringName::AlphCompare>();
+
+ for (int i = 0; i < ns.size(); i++) {
+ ChildNode cn;
+ cn.name = ns[i];
+ cn.node = nodes[cn.name].node;
+ r_child_nodes->push_back(cn);
+ }
+}
+
bool AnimationNodeBlendTree::has_node(const StringName &p_name) const {
return nodes.has(p_name);
}
+Vector<StringName> AnimationNodeBlendTree::get_node_connection_array(const StringName &p_name) const {
+
+ ERR_FAIL_COND_V(!nodes.has(p_name), Vector<StringName>());
+ return nodes[p_name].connections;
+}
void AnimationNodeBlendTree::remove_node(const StringName &p_name) {
ERR_FAIL_COND(!nodes.has(p_name));
ERR_FAIL_COND(p_name == SceneStringNames::get_singleton()->output); //can't delete output
{
- //erase node connections
- Ref<AnimationNode> node = nodes[p_name];
- for (int i = 0; i < node->get_input_count(); i++) {
- node->set_input_connection(i, StringName());
- }
- node->set_parent(NULL);
- node->set_tree(NULL);
+ Ref<AnimationNode> node = nodes[p_name].node;
+ node->disconnect("tree_changed", this, "_tree_changed");
+ node->disconnect("changed", this, "_node_changed");
}
nodes.erase(p_name);
//erase connections to name
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- Ref<AnimationNode> node = E->get();
- for (int i = 0; i < node->get_input_count(); i++) {
- if (node->get_input_connection(i) == p_name) {
- node->set_input_connection(i, StringName());
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
+ for (int i = 0; i < E->get().connections.size(); i++) {
+ if (E->get().connections[i] == p_name) {
+ E->get().connections.write[i] = StringName();
}
}
}
emit_changed();
+ emit_signal("tree_changed");
}
void AnimationNodeBlendTree::rename_node(const StringName &p_name, const StringName &p_new_name) {
@@ -886,18 +935,24 @@ void AnimationNodeBlendTree::rename_node(const StringName &p_name, const StringN
ERR_FAIL_COND(p_name == SceneStringNames::get_singleton()->output);
ERR_FAIL_COND(p_new_name == SceneStringNames::get_singleton()->output);
+ nodes[p_name].node->disconnect("changed", this, "_node_changed");
+
nodes[p_new_name] = nodes[p_name];
nodes.erase(p_name);
//rename connections
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- Ref<AnimationNode> node = E->get();
- for (int i = 0; i < node->get_input_count(); i++) {
- if (node->get_input_connection(i) == p_name) {
- node->set_input_connection(i, p_new_name);
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
+
+ for (int i = 0; i < E->get().connections.size(); i++) {
+ if (E->get().connections[i] == p_name) {
+ E->get().connections.write[i] = p_new_name;
}
}
}
+ //connection must be done with new name
+ nodes[p_new_name].node->connect("changed", this, "_node_changed", varray(p_new_name), CONNECT_REFERENCE_COUNTED);
+
+ emit_signal("tree_changed");
}
void AnimationNodeBlendTree::connect_node(const StringName &p_input_node, int p_input_index, const StringName &p_output_node) {
@@ -907,18 +962,18 @@ void AnimationNodeBlendTree::connect_node(const StringName &p_input_node, int p_
ERR_FAIL_COND(p_output_node == SceneStringNames::get_singleton()->output);
ERR_FAIL_COND(p_input_node == p_output_node);
- Ref<AnimationNode> input = nodes[p_input_node];
- ERR_FAIL_INDEX(p_input_index, input->get_input_count());
+ Ref<AnimationNode> input = nodes[p_input_node].node;
+ ERR_FAIL_INDEX(p_input_index, nodes[p_input_node].connections.size());
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- Ref<AnimationNode> node = E->get();
- for (int i = 0; i < node->get_input_count(); i++) {
- StringName output = node->get_input_connection(i);
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
+ for (int i = 0; i < E->get().connections.size(); i++) {
+ StringName output = E->get().connections[i];
ERR_FAIL_COND(output == p_output_node);
}
}
- input->set_input_connection(p_input_index, p_output_node);
+ nodes[p_input_node].connections.write[p_input_index] = p_output_node;
+
emit_changed();
}
@@ -926,20 +981,10 @@ void AnimationNodeBlendTree::disconnect_node(const StringName &p_node, int p_inp
ERR_FAIL_COND(!nodes.has(p_node));
- Ref<AnimationNode> input = nodes[p_node];
- ERR_FAIL_INDEX(p_input_index, input->get_input_count());
+ Ref<AnimationNode> input = nodes[p_node].node;
+ ERR_FAIL_INDEX(p_input_index, nodes[p_node].connections.size());
- input->set_input_connection(p_input_index, StringName());
-}
-
-float AnimationNodeBlendTree::get_connection_activity(const StringName &p_input_node, int p_input_index) const {
-
- ERR_FAIL_COND_V(!nodes.has(p_input_node), 0);
-
- Ref<AnimationNode> input = nodes[p_input_node];
- ERR_FAIL_INDEX_V(p_input_index, input->get_input_count(), 0);
-
- return input->get_input_activity(p_input_index);
+ nodes[p_node].connections.write[p_input_index] = StringName();
}
AnimationNodeBlendTree::ConnectionError AnimationNodeBlendTree::can_connect_node(const StringName &p_input_node, int p_input_index, const StringName &p_output_node) const {
@@ -956,20 +1001,19 @@ AnimationNodeBlendTree::ConnectionError AnimationNodeBlendTree::can_connect_node
return CONNECTION_ERROR_SAME_NODE;
}
- Ref<AnimationNode> input = nodes[p_input_node];
+ Ref<AnimationNode> input = nodes[p_input_node].node;
- if (p_input_index < 0 || p_input_index >= input->get_input_count()) {
+ if (p_input_index < 0 || p_input_index >= nodes[p_input_node].connections.size()) {
return CONNECTION_ERROR_NO_INPUT_INDEX;
}
- if (input->get_input_connection(p_input_index) != StringName()) {
+ if (nodes[p_input_node].connections[p_input_index] != StringName()) {
return CONNECTION_ERROR_CONNECTION_EXISTS;
}
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- Ref<AnimationNode> node = E->get();
- for (int i = 0; i < node->get_input_count(); i++) {
- StringName output = node->get_input_connection(i);
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
+ for (int i = 0; i < E->get().connections.size(); i++) {
+ StringName output = E->get().connections[i];
if (output == p_output_node) {
return CONNECTION_ERROR_CONNECTION_EXISTS;
}
@@ -980,10 +1024,9 @@ AnimationNodeBlendTree::ConnectionError AnimationNodeBlendTree::can_connect_node
void AnimationNodeBlendTree::get_node_connections(List<NodeConnection> *r_connections) const {
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- Ref<AnimationNode> node = E->get();
- for (int i = 0; i < node->get_input_count(); i++) {
- StringName output = node->get_input_connection(i);
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
+ for (int i = 0; i < E->get().connections.size(); i++) {
+ StringName output = E->get().connections[i];
if (output != StringName()) {
NodeConnection nc;
nc.input_node = E->key();
@@ -1001,13 +1044,13 @@ String AnimationNodeBlendTree::get_caption() const {
float AnimationNodeBlendTree::process(float p_time, bool p_seek) {
- Ref<AnimationNodeOutput> output = nodes[SceneStringNames::get_singleton()->output];
- return blend_node(output, p_time, p_seek, 1.0);
+ Ref<AnimationNodeOutput> output = nodes[SceneStringNames::get_singleton()->output].node;
+ return _blend_node("output", nodes[SceneStringNames::get_singleton()->output].connections, this, output, p_time, p_seek, 1.0);
}
void AnimationNodeBlendTree::get_node_list(List<StringName> *r_list) {
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
r_list->push_back(E->key());
}
}
@@ -1022,14 +1065,8 @@ Vector2 AnimationNodeBlendTree::get_graph_offset() const {
return graph_offset;
}
-void AnimationNodeBlendTree::set_tree(AnimationTree *p_player) {
-
- AnimationNode::set_tree(p_player);
-
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- Ref<AnimationNode> node = E->get();
- node->set_tree(p_player);
- }
+Ref<AnimationNode> AnimationNodeBlendTree::get_child_by_name(const StringName &p_name) {
+ return get_node(p_name);
}
bool AnimationNodeBlendTree::_set(const StringName &p_name, const Variant &p_value) {
@@ -1051,7 +1088,7 @@ bool AnimationNodeBlendTree::_set(const StringName &p_name, const Variant &p_val
if (what == "position") {
if (nodes.has(node_name)) {
- nodes[node_name]->set_position(p_value);
+ nodes[node_name].position = p_value;
}
return true;
}
@@ -1078,7 +1115,7 @@ bool AnimationNodeBlendTree::_get(const StringName &p_name, Variant &r_ret) cons
if (what == "node") {
if (nodes.has(node_name)) {
- r_ret = nodes[node_name];
+ r_ret = nodes[node_name].node;
return true;
}
}
@@ -1086,7 +1123,7 @@ bool AnimationNodeBlendTree::_get(const StringName &p_name, Variant &r_ret) cons
if (what == "position") {
if (nodes.has(node_name)) {
- r_ret = nodes[node_name]->get_position();
+ r_ret = nodes[node_name].position;
return true;
}
}
@@ -1113,7 +1150,7 @@ bool AnimationNodeBlendTree::_get(const StringName &p_name, Variant &r_ret) cons
void AnimationNodeBlendTree::_get_property_list(List<PropertyInfo> *p_list) const {
List<StringName> names;
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
+ for (Map<StringName, Node>::Element *E = nodes.front(); E; E = E->next()) {
names.push_back(E->key());
}
names.sort_custom<StringName::AlphCompare>();
@@ -1121,7 +1158,7 @@ void AnimationNodeBlendTree::_get_property_list(List<PropertyInfo> *p_list) cons
for (List<StringName>::Element *E = names.front(); E; E = E->next()) {
String name = E->get();
if (name != "output") {
- p_list->push_back(PropertyInfo(Variant::OBJECT, "nodes/" + name + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationNode", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE));
+ p_list->push_back(PropertyInfo(Variant::OBJECT, "nodes/" + name + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationNode", PROPERTY_USAGE_NOEDITOR));
}
p_list->push_back(PropertyInfo(Variant::VECTOR2, "nodes/" + name + "/position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR));
}
@@ -1129,9 +1166,19 @@ void AnimationNodeBlendTree::_get_property_list(List<PropertyInfo> *p_list) cons
p_list->push_back(PropertyInfo(Variant::ARRAY, "node_connections", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR));
}
+void AnimationNodeBlendTree::_tree_changed() {
+ emit_signal("tree_changed");
+}
+
+void AnimationNodeBlendTree::_node_changed(const StringName &p_node) {
+
+ ERR_FAIL_COND(!nodes.has(p_node));
+ nodes[p_node].connections.resize(nodes[p_node].node->get_input_count());
+}
+
void AnimationNodeBlendTree::_bind_methods() {
- ClassDB::bind_method(D_METHOD("add_node", "name", "node"), &AnimationNodeBlendTree::add_node);
+ ClassDB::bind_method(D_METHOD("add_node", "name", "node", "position"), &AnimationNodeBlendTree::add_node, DEFVAL(Vector2()));
ClassDB::bind_method(D_METHOD("get_node", "name"), &AnimationNodeBlendTree::get_node);
ClassDB::bind_method(D_METHOD("remove_node", "name"), &AnimationNodeBlendTree::remove_node);
ClassDB::bind_method(D_METHOD("rename_node", "name", "new_name"), &AnimationNodeBlendTree::rename_node);
@@ -1139,9 +1186,15 @@ void AnimationNodeBlendTree::_bind_methods() {
ClassDB::bind_method(D_METHOD("connect_node", "input_node", "input_index", "output_node"), &AnimationNodeBlendTree::connect_node);
ClassDB::bind_method(D_METHOD("disconnect_node", "input_node", "input_index"), &AnimationNodeBlendTree::disconnect_node);
+ ClassDB::bind_method(D_METHOD("set_node_position", "name", "position"), &AnimationNodeBlendTree::set_node_position);
+ ClassDB::bind_method(D_METHOD("get_node_position", "name"), &AnimationNodeBlendTree::get_node_position);
+
ClassDB::bind_method(D_METHOD("set_graph_offset", "offset"), &AnimationNodeBlendTree::set_graph_offset);
ClassDB::bind_method(D_METHOD("get_graph_offset"), &AnimationNodeBlendTree::get_graph_offset);
+ ClassDB::bind_method(D_METHOD("_tree_changed"), &AnimationNodeBlendTree::_tree_changed);
+ ClassDB::bind_method(D_METHOD("_node_changed", "node"), &AnimationNodeBlendTree::_node_changed);
+
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "graph_offset", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_graph_offset", "get_graph_offset");
BIND_CONSTANT(CONNECTION_OK);
@@ -1156,15 +1209,12 @@ AnimationNodeBlendTree::AnimationNodeBlendTree() {
Ref<AnimationNodeOutput> output;
output.instance();
- output->set_position(Vector2(300, 150));
- output->set_parent(this);
- nodes["output"] = output;
+ Node n;
+ n.node = output;
+ n.position = Vector2(300, 150);
+ n.connections.resize(1);
+ nodes["output"] = n;
}
AnimationNodeBlendTree::~AnimationNodeBlendTree() {
-
- for (Map<StringName, Ref<AnimationNode> >::Element *E = nodes.front(); E; E = E->next()) {
- E->get()->set_parent(NULL);
- E->get()->set_tree(NULL);
- }
}
diff --git a/scene/animation/animation_blend_tree.h b/scene/animation/animation_blend_tree.h
index e86cc2e823..7bf2917c1e 100644
--- a/scene/animation/animation_blend_tree.h
+++ b/scene/animation/animation_blend_tree.h
@@ -20,6 +20,8 @@ protected:
static void _bind_methods();
public:
+ static Vector<String> (*get_editable_animation_list)();
+
virtual String get_caption() const;
virtual float process(float p_time, bool p_seek);
@@ -41,8 +43,6 @@ public:
};
private:
- bool active;
- bool do_start;
float fade_in;
float fade_out;
@@ -51,15 +51,25 @@ private:
float autorestart_random_delay;
MixMode mix;
- float time;
- float remaining;
- float autorestart_remaining;
bool sync;
+ /* bool active;
+ bool do_start;
+ float time;
+ float remaining;*/
+
+ StringName active;
+ StringName prev_active;
+ StringName time;
+ StringName remaining;
+
protected:
static void _bind_methods();
public:
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
+
virtual String get_caption() const;
void set_fadein_time(float p_time);
@@ -79,10 +89,6 @@ public:
void set_mix_mode(MixMode p_mix);
MixMode get_mix_mode() const;
- void start();
- void stop();
- bool is_active() const;
-
void set_use_sync(bool p_sync);
bool is_using_sync() const;
@@ -97,17 +103,17 @@ VARIANT_ENUM_CAST(AnimationNodeOneShot::MixMode)
class AnimationNodeAdd2 : public AnimationNode {
GDCLASS(AnimationNodeAdd2, AnimationNode);
- float amount;
+ StringName add_amount;
bool sync;
protected:
static void _bind_methods();
public:
- virtual String get_caption() const;
+ void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
- void set_amount(float p_amount);
- float get_amount() const;
+ virtual String get_caption() const;
void set_use_sync(bool p_sync);
bool is_using_sync() const;
@@ -121,17 +127,17 @@ public:
class AnimationNodeAdd3 : public AnimationNode {
GDCLASS(AnimationNodeAdd3, AnimationNode);
- float amount;
+ StringName add_amount;
bool sync;
protected:
static void _bind_methods();
public:
- virtual String get_caption() const;
+ void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
- void set_amount(float p_amount);
- float get_amount() const;
+ virtual String get_caption() const;
void set_use_sync(bool p_sync);
bool is_using_sync() const;
@@ -145,19 +151,19 @@ public:
class AnimationNodeBlend2 : public AnimationNode {
GDCLASS(AnimationNodeBlend2, AnimationNode);
- float amount;
+ StringName blend_amount;
bool sync;
protected:
static void _bind_methods();
public:
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
+
virtual String get_caption() const;
virtual float process(float p_time, bool p_seek);
- void set_amount(float p_amount);
- float get_amount() const;
-
void set_use_sync(bool p_sync);
bool is_using_sync() const;
@@ -168,17 +174,17 @@ public:
class AnimationNodeBlend3 : public AnimationNode {
GDCLASS(AnimationNodeBlend3, AnimationNode);
- float amount;
+ StringName blend_amount;
bool sync;
protected:
static void _bind_methods();
public:
- virtual String get_caption() const;
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
- void set_amount(float p_amount);
- float get_amount() const;
+ virtual String get_caption() const;
void set_use_sync(bool p_sync);
bool is_using_sync() const;
@@ -190,16 +196,16 @@ public:
class AnimationNodeTimeScale : public AnimationNode {
GDCLASS(AnimationNodeTimeScale, AnimationNode);
- float scale;
+ StringName scale;
protected:
static void _bind_methods();
public:
- virtual String get_caption() const;
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
- void set_scale(float p_scale);
- float get_scale() const;
+ virtual String get_caption() const;
float process(float p_time, bool p_seek);
@@ -209,16 +215,16 @@ public:
class AnimationNodeTimeSeek : public AnimationNode {
GDCLASS(AnimationNodeTimeSeek, AnimationNode);
- float seek_pos;
+ StringName seek_pos;
protected:
static void _bind_methods();
public:
- virtual String get_caption() const;
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
- void set_seek_pos(float p_sec);
- float get_seek_pos() const;
+ virtual String get_caption() const;
float process(float p_time, bool p_seek);
@@ -241,13 +247,18 @@ class AnimationNodeTransition : public AnimationNode {
InputData inputs[MAX_INPUTS];
int enabled_inputs;
- float prev_time;
+ /*
float prev_xfading;
int prev;
- bool switched;
-
float time;
int current;
+ int prev_current; */
+
+ StringName prev_xfading;
+ StringName prev;
+ StringName time;
+ StringName current;
+ StringName prev_current;
float xfade;
@@ -258,6 +269,9 @@ protected:
void _validate_property(PropertyInfo &property) const;
public:
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
+
virtual String get_caption() const;
void set_enabled_inputs(int p_inputs);
@@ -269,9 +283,6 @@ public:
void set_input_caption(int p_input, const String &p_name);
String get_input_caption(int p_input) const;
- void set_current(int p_current);
- int get_current() const;
-
void set_cross_fade_time(float p_fade);
float get_cross_fade_time() const;
@@ -293,10 +304,19 @@ public:
class AnimationNodeBlendTree : public AnimationRootNode {
GDCLASS(AnimationNodeBlendTree, AnimationRootNode)
- Map<StringName, Ref<AnimationNode> > nodes;
+ struct Node {
+ Ref<AnimationNode> node;
+ Vector2 position;
+ Vector<StringName> connections;
+ };
+
+ Map<StringName, Node> nodes;
Vector2 graph_offset;
+ void _tree_changed();
+ void _node_changed(const StringName &p_node);
+
protected:
static void _bind_methods();
bool _set(const StringName &p_name, const Variant &p_value);
@@ -314,16 +334,21 @@ public:
//no need to check for cycles due to tree topology
};
- void add_node(const StringName &p_name, Ref<AnimationNode> p_node);
+ void add_node(const StringName &p_name, Ref<AnimationNode> p_node, const Vector2 &p_position = Vector2());
Ref<AnimationNode> get_node(const StringName &p_name) const;
void remove_node(const StringName &p_name);
void rename_node(const StringName &p_name, const StringName &p_new_name);
bool has_node(const StringName &p_name) const;
StringName get_node_name(const Ref<AnimationNode> &p_node) const;
+ Vector<StringName> get_node_connection_array(const StringName &p_name) const;
+
+ void set_node_position(const StringName &p_node, const Vector2 &p_position);
+ Vector2 get_node_position(const StringName &p_node) const;
+
+ virtual void get_child_nodes(List<ChildNode> *r_child_nodes);
void connect_node(const StringName &p_input_node, int p_input_index, const StringName &p_output_node);
void disconnect_node(const StringName &p_node, int p_input_index);
- float get_connection_activity(const StringName &p_input_node, int p_input_index) const;
struct NodeConnection {
StringName input_node;
@@ -342,7 +367,8 @@ public:
void set_graph_offset(const Vector2 &p_graph_offset);
Vector2 get_graph_offset() const;
- virtual void set_tree(AnimationTree *p_player);
+ virtual Ref<AnimationNode> get_child_by_name(const StringName &p_name);
+
AnimationNodeBlendTree();
~AnimationNodeBlendTree();
};
diff --git a/scene/animation/animation_node_state_machine.cpp b/scene/animation/animation_node_state_machine.cpp
index f478112a36..09c36eb081 100644
--- a/scene/animation/animation_node_state_machine.cpp
+++ b/scene/animation/animation_node_state_machine.cpp
@@ -20,6 +20,26 @@ bool AnimationNodeStateMachineTransition::has_auto_advance() const {
return auto_advance;
}
+void AnimationNodeStateMachineTransition::set_advance_condition(const StringName &p_condition) {
+ String cs = p_condition;
+ ERR_FAIL_COND(cs.find("/") != -1 || cs.find(":") != -1);
+ advance_condition = p_condition;
+ if (cs != String()) {
+ advance_condition_name = "conditions/" + cs;
+ } else {
+ advance_condition_name = StringName();
+ }
+ emit_signal("advance_condition_changed");
+}
+
+StringName AnimationNodeStateMachineTransition::get_advance_condition() const {
+ return advance_condition;
+}
+
+StringName AnimationNodeStateMachineTransition::get_advance_condition_name() const {
+ return advance_condition_name;
+}
+
void AnimationNodeStateMachineTransition::set_xfade_time(float p_xfade) {
ERR_FAIL_COND(p_xfade < 0);
@@ -56,6 +76,9 @@ void AnimationNodeStateMachineTransition::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_auto_advance", "auto_advance"), &AnimationNodeStateMachineTransition::set_auto_advance);
ClassDB::bind_method(D_METHOD("has_auto_advance"), &AnimationNodeStateMachineTransition::has_auto_advance);
+ ClassDB::bind_method(D_METHOD("set_advance_condition", "name"), &AnimationNodeStateMachineTransition::set_advance_condition);
+ ClassDB::bind_method(D_METHOD("get_advance_condition"), &AnimationNodeStateMachineTransition::get_advance_condition);
+
ClassDB::bind_method(D_METHOD("set_xfade_time", "secs"), &AnimationNodeStateMachineTransition::set_xfade_time);
ClassDB::bind_method(D_METHOD("get_xfade_time"), &AnimationNodeStateMachineTransition::get_xfade_time);
@@ -67,6 +90,7 @@ void AnimationNodeStateMachineTransition::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::INT, "switch_mode", PROPERTY_HINT_ENUM, "Immediate,Sync,AtEnd"), "set_switch_mode", "get_switch_mode");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "auto_advance"), "set_auto_advance", "has_auto_advance");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "advance_condition"), "set_advance_condition", "get_advance_condition");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "xfade_time", PROPERTY_HINT_RANGE, "0,240,0.01"), "set_xfade_time", "get_xfade_time");
ADD_PROPERTY(PropertyInfo(Variant::INT, "priority", PROPERTY_HINT_RANGE, "0,32,1"), "set_priority", "get_priority");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "disabled"), "set_disabled", "is_disabled");
@@ -74,6 +98,8 @@ void AnimationNodeStateMachineTransition::_bind_methods() {
BIND_ENUM_CONSTANT(SWITCH_MODE_IMMEDIATE);
BIND_ENUM_CONSTANT(SWITCH_MODE_SYNC);
BIND_ENUM_CONSTANT(SWITCH_MODE_AT_END);
+
+ ADD_SIGNAL(MethodInfo("advance_condition_changed"));
}
AnimationNodeStateMachineTransition::AnimationNodeStateMachineTransition() {
@@ -85,277 +111,240 @@ AnimationNodeStateMachineTransition::AnimationNodeStateMachineTransition() {
priority = 1;
}
-///////////////////////////////////////////////////////
-void AnimationNodeStateMachine::add_node(const StringName &p_name, Ref<AnimationNode> p_node) {
-
- ERR_FAIL_COND(states.has(p_name));
- ERR_FAIL_COND(p_node.is_null());
- ERR_FAIL_COND(p_node->get_parent().is_valid());
- ERR_FAIL_COND(p_node->get_tree() != NULL);
- ERR_FAIL_COND(String(p_name).find("/") != -1);
- states[p_name] = p_node;
+////////////////////////////////////////////////////////
- p_node->set_parent(this);
- p_node->set_tree(get_tree());
+void AnimationNodeStateMachinePlayback::travel(const StringName &p_state) {
- emit_changed();
+ start_request_travel = true;
+ start_request = p_state;
+ stop_request = false;
}
-Ref<AnimationNode> AnimationNodeStateMachine::get_node(const StringName &p_name) const {
-
- ERR_FAIL_COND_V(!states.has(p_name), Ref<AnimationNode>());
-
- return states[p_name];
+void AnimationNodeStateMachinePlayback::start(const StringName &p_state) {
+ start_request_travel = false;
+ start_request = p_state;
+ stop_request = false;
}
+void AnimationNodeStateMachinePlayback::stop() {
-StringName AnimationNodeStateMachine::get_node_name(const Ref<AnimationNode> &p_node) const {
- for (Map<StringName, Ref<AnimationRootNode> >::Element *E = states.front(); E; E = E->next()) {
- if (E->get() == p_node) {
- return E->key();
- }
- }
-
- ERR_FAIL_V(StringName());
+ stop_request = true;
}
-
-bool AnimationNodeStateMachine::has_node(const StringName &p_name) const {
- return states.has(p_name);
+bool AnimationNodeStateMachinePlayback::is_playing() const {
+ return playing;
+}
+StringName AnimationNodeStateMachinePlayback::get_current_node() const {
+ return current;
+}
+StringName AnimationNodeStateMachinePlayback::get_blend_from_node() const {
+ return fading_from;
+}
+Vector<StringName> AnimationNodeStateMachinePlayback::get_travel_path() const {
+ return path;
+}
+float AnimationNodeStateMachinePlayback::get_current_play_pos() const {
+ return pos_current;
+}
+float AnimationNodeStateMachinePlayback::get_current_length() const {
+ return len_current;
}
-void AnimationNodeStateMachine::remove_node(const StringName &p_name) {
-
- ERR_FAIL_COND(!states.has(p_name));
-
- {
- //erase node connections
- Ref<AnimationNode> node = states[p_name];
- for (int i = 0; i < node->get_input_count(); i++) {
- node->set_input_connection(i, StringName());
- }
- node->set_parent(NULL);
- node->set_tree(NULL);
- }
- states.erase(p_name);
- path.erase(p_name);
+bool AnimationNodeStateMachinePlayback::_travel(AnimationNodeStateMachine *sm, const StringName &p_travel) {
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == p_name || transitions[i].to == p_name) {
- transitions.remove(i);
- i--;
- }
- }
+ ERR_FAIL_COND_V(!playing, false);
+ ERR_FAIL_COND_V(!sm->states.has(p_travel), false);
+ ERR_FAIL_COND_V(!sm->states.has(current), false);
- if (start_node == p_name) {
- start_node = StringName();
- }
+ path.clear(); //a new one will be needed
- if (end_node == p_name) {
- end_node = StringName();
- }
+ if (current == p_travel)
+ return true; //nothing to do
- if (playing && current == p_name) {
- stop();
- }
- emit_changed();
-}
+ loops_current = 0; // reset loops, so fade does not happen immediately
-void AnimationNodeStateMachine::rename_node(const StringName &p_name, const StringName &p_new_name) {
+ Vector2 current_pos = sm->states[current].position;
+ Vector2 target_pos = sm->states[p_travel].position;
- ERR_FAIL_COND(!states.has(p_name));
- ERR_FAIL_COND(states.has(p_new_name));
+ Map<StringName, AStarCost> cost_map;
- states[p_new_name] = states[p_name];
- states.erase(p_name);
+ List<int> open_list;
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == p_name) {
- transitions.write[i].from = p_new_name;
- }
+ //build open list
+ for (int i = 0; i < sm->transitions.size(); i++) {
+ if (sm->transitions[i].from == current) {
+ open_list.push_back(i);
+ float cost = sm->states[sm->transitions[i].to].position.distance_to(current_pos);
+ cost *= sm->transitions[i].transition->get_priority();
+ AStarCost ap;
+ ap.prev = current;
+ ap.distance = cost;
+ cost_map[sm->transitions[i].to] = ap;
- if (transitions[i].to == p_name) {
- transitions.write[i].to = p_new_name;
+ if (sm->transitions[i].to == p_travel) { //prematurely found it! :D
+ path.push_back(p_travel);
+ return true;
+ }
}
}
- if (start_node == p_name) {
- start_node = p_new_name;
- }
+ //begin astar
+ bool found_route = false;
+ while (!found_route) {
- if (end_node == p_name) {
- end_node = p_new_name;
- }
+ if (open_list.size() == 0) {
+ return false; //no path found
+ }
- if (playing && current == p_name) {
- current = p_new_name;
- }
+ //find the last cost transition
+ List<int>::Element *least_cost_transition = NULL;
+ float least_cost = 1e20;
- path.clear(); //clear path
-}
+ for (List<int>::Element *E = open_list.front(); E; E = E->next()) {
-void AnimationNodeStateMachine::get_node_list(List<StringName> *r_nodes) const {
+ float cost = cost_map[sm->transitions[E->get()].to].distance;
+ cost += sm->states[sm->transitions[E->get()].to].position.distance_to(target_pos);
- List<StringName> nodes;
- for (Map<StringName, Ref<AnimationRootNode> >::Element *E = states.front(); E; E = E->next()) {
- nodes.push_back(E->key());
- }
- nodes.sort_custom<StringName::AlphCompare>();
+ if (cost < least_cost) {
+ least_cost_transition = E;
+ }
+ }
- for (List<StringName>::Element *E = nodes.front(); E; E = E->next()) {
- r_nodes->push_back(E->get());
- }
-}
+ StringName transition_prev = sm->transitions[least_cost_transition->get()].from;
+ StringName transition = sm->transitions[least_cost_transition->get()].to;
-bool AnimationNodeStateMachine::has_transition(const StringName &p_from, const StringName &p_to) const {
+ for (int i = 0; i < sm->transitions.size(); i++) {
+ if (sm->transitions[i].from != transition || sm->transitions[i].to == transition_prev) {
+ continue; //not interested on those
+ }
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == p_from && transitions[i].to == p_to)
- return true;
- }
- return false;
-}
+ float distance = sm->states[sm->transitions[i].from].position.distance_to(sm->states[sm->transitions[i].to].position);
+ distance *= sm->transitions[i].transition->get_priority();
+ distance += cost_map[sm->transitions[i].from].distance;
-int AnimationNodeStateMachine::find_transition(const StringName &p_from, const StringName &p_to) const {
+ if (cost_map.has(sm->transitions[i].to)) {
+ //oh this was visited already, can we win the cost?
+ if (distance < cost_map[sm->transitions[i].to].distance) {
+ cost_map[sm->transitions[i].to].distance = distance;
+ cost_map[sm->transitions[i].to].prev = sm->transitions[i].from;
+ }
+ } else {
+ //add to open list
+ AStarCost ac;
+ ac.prev = sm->transitions[i].from;
+ ac.distance = distance;
+ cost_map[sm->transitions[i].to] = ac;
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == p_from && transitions[i].to == p_to)
- return i;
- }
- return -1;
-}
+ open_list.push_back(i);
-void AnimationNodeStateMachine::add_transition(const StringName &p_from, const StringName &p_to, const Ref<AnimationNodeStateMachineTransition> &p_transition) {
+ if (sm->transitions[i].to == p_travel) {
+ found_route = true;
+ break;
+ }
+ }
+ }
- ERR_FAIL_COND(p_from == p_to);
- ERR_FAIL_COND(!states.has(p_from));
- ERR_FAIL_COND(!states.has(p_to));
- ERR_FAIL_COND(p_transition.is_null());
+ if (found_route) {
+ break;
+ }
- for (int i = 0; i < transitions.size(); i++) {
- ERR_FAIL_COND(transitions[i].from == p_from && transitions[i].to == p_to);
+ open_list.erase(least_cost_transition);
}
- Transition tr;
- tr.from = p_from;
- tr.to = p_to;
- tr.transition = p_transition;
-
- transitions.push_back(tr);
-}
-
-Ref<AnimationNodeStateMachineTransition> AnimationNodeStateMachine::get_transition(int p_transition) const {
- ERR_FAIL_INDEX_V(p_transition, transitions.size(), Ref<AnimationNodeStateMachineTransition>());
- return transitions[p_transition].transition;
-}
-StringName AnimationNodeStateMachine::get_transition_from(int p_transition) const {
+ //make path
+ StringName at = p_travel;
+ while (at != current) {
+ path.push_back(at);
+ at = cost_map[at].prev;
+ }
- ERR_FAIL_INDEX_V(p_transition, transitions.size(), StringName());
- return transitions[p_transition].from;
-}
-StringName AnimationNodeStateMachine::get_transition_to(int p_transition) const {
+ path.invert();
- ERR_FAIL_INDEX_V(p_transition, transitions.size(), StringName());
- return transitions[p_transition].to;
+ return true;
}
-int AnimationNodeStateMachine::get_transition_count() const {
-
- return transitions.size();
-}
-void AnimationNodeStateMachine::remove_transition(const StringName &p_from, const StringName &p_to) {
+float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm, float p_time, bool p_seek) {
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == p_from && transitions[i].to == p_to) {
- transitions.remove(i);
- return;
+ //if not playing and it can restart, then restart
+ if (!playing && start_request == StringName()) {
+ if (!stop_request && sm->start_node) {
+ start(sm->start_node);
+ } else {
+ return 0;
}
}
- if (playing) {
- path.clear();
- }
-}
-
-void AnimationNodeStateMachine::remove_transition_by_index(int p_transition) {
-
- transitions.remove(p_transition);
- if (playing) {
- path.clear();
+ if (playing && stop_request) {
+ stop_request = false;
+ playing = false;
+ return 0;
}
-}
-
-void AnimationNodeStateMachine::set_start_node(const StringName &p_node) {
-
- ERR_FAIL_COND(p_node != StringName() && !states.has(p_node));
- start_node = p_node;
-}
-
-String AnimationNodeStateMachine::get_start_node() const {
-
- return start_node;
-}
-
-void AnimationNodeStateMachine::set_end_node(const StringName &p_node) {
-
- ERR_FAIL_COND(p_node != StringName() && !states.has(p_node));
- end_node = p_node;
-}
-
-String AnimationNodeStateMachine::get_end_node() const {
-
- return end_node;
-}
-void AnimationNodeStateMachine::set_graph_offset(const Vector2 &p_offset) {
- graph_offset = p_offset;
-}
+ bool play_start = false;
-Vector2 AnimationNodeStateMachine::get_graph_offset() const {
- return graph_offset;
-}
+ if (start_request != StringName()) {
-float AnimationNodeStateMachine::process(float p_time, bool p_seek) {
+ if (start_request_travel) {
+ if (!playing) {
+ start_request = StringName();
+ ERR_EXPLAIN("Can't travel to '" + String(start_request) + "' if state machine is not active.");
+ ERR_FAIL_V(0);
+ }
- //if not playing and it can restart, then restart
- if (!playing) {
- if (start_node) {
- start(start_node);
+ if (!_travel(sm, start_request)) {
+ //cant travel, then teleport
+ path.clear();
+ current = start_request;
+ }
} else {
- return 0;
+ path.clear();
+ current = start_request;
+ playing = true;
+ play_start = true;
}
+
+ start_request = StringName(); //clear start request
}
bool do_start = (p_seek && p_time == 0) || play_start || current == StringName();
if (do_start) {
- if (start_node != StringName() && p_seek && p_time == 0) {
- current = start_node;
+ if (sm->start_node != StringName() && p_seek && p_time == 0) {
+ current = sm->start_node;
}
- len_current = blend_node(states[current], 0, true, 1.0, FILTER_IGNORE, false);
+ len_current = sm->blend_node(current, sm->states[current].node, 0, true, 1.0, AnimationNode::FILTER_IGNORE, false);
pos_current = 0;
loops_current = 0;
play_start = false;
}
+ if (!sm->states.has(current)) {
+ playing = false; //current does not exist
+ current = StringName();
+ return 0;
+ }
float fade_blend = 1.0;
if (fading_from != StringName()) {
- if (!p_seek) {
- fading_pos += p_time;
- }
- fade_blend = MIN(1.0, fading_pos / fading_time);
- if (fade_blend >= 1.0) {
+ if (!sm->states.has(fading_from)) {
fading_from = StringName();
+ } else {
+ if (!p_seek) {
+ fading_pos += p_time;
+ }
+ fade_blend = MIN(1.0, fading_pos / fading_time);
+ if (fade_blend >= 1.0) {
+ fading_from = StringName();
+ }
}
}
- float rem = blend_node(states[current], p_time, p_seek, fade_blend, FILTER_IGNORE, false);
+ float rem = sm->blend_node(current, sm->states[current].node, p_time, p_seek, fade_blend, AnimationNode::FILTER_IGNORE, false);
if (fading_from != StringName()) {
- blend_node(states[fading_from], p_time, p_seek, 1.0 - fade_blend, FILTER_IGNORE, false);
+ sm->blend_node(current, sm->states[fading_from].node, p_time, p_seek, 1.0 - fade_blend, AnimationNode::FILTER_IGNORE, false);
}
//guess playback position
@@ -380,29 +369,39 @@ float AnimationNodeStateMachine::process(float p_time, bool p_seek) {
if (path.size()) {
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == current && transitions[i].to == path[0]) {
- next_xfade = transitions[i].transition->get_xfade_time();
- switch_mode = transitions[i].transition->get_switch_mode();
+ for (int i = 0; i < sm->transitions.size(); i++) {
+ if (sm->transitions[i].from == current && sm->transitions[i].to == path[0]) {
+ next_xfade = sm->transitions[i].transition->get_xfade_time();
+ switch_mode = sm->transitions[i].transition->get_switch_mode();
next = path[0];
}
}
} else {
float priority_best = 1e20;
int auto_advance_to = -1;
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == current && transitions[i].transition->has_auto_advance()) {
+ for (int i = 0; i < sm->transitions.size(); i++) {
+
+ bool auto_advance = false;
+ if (sm->transitions[i].transition->has_auto_advance()) {
+ auto_advance = true;
+ }
+ StringName advance_condition_name = sm->transitions[i].transition->get_advance_condition_name();
+ if (advance_condition_name != StringName() && bool(sm->get_parameter(advance_condition_name))) {
+ auto_advance = true;
+ }
+
+ if (sm->transitions[i].from == current && sm->transitions[i].transition->has_auto_advance()) {
- if (transitions[i].transition->get_priority() < priority_best) {
+ if (sm->transitions[i].transition->get_priority() < priority_best) {
auto_advance_to = i;
}
}
}
if (auto_advance_to != -1) {
- next = transitions[auto_advance_to].to;
- next_xfade = transitions[auto_advance_to].transition->get_xfade_time();
- switch_mode = transitions[auto_advance_to].transition->get_switch_mode();
+ next = sm->transitions[auto_advance_to].to;
+ next_xfade = sm->transitions[auto_advance_to].transition->get_xfade_time();
+ switch_mode = sm->transitions[auto_advance_to].transition->get_switch_mode();
}
}
@@ -437,12 +436,12 @@ float AnimationNodeStateMachine::process(float p_time, bool p_seek) {
}
current = next;
if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_SYNC) {
- len_current = blend_node(states[current], 0, true, 0, FILTER_IGNORE, false);
+ len_current = sm->blend_node(current, sm->states[current].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
pos_current = MIN(pos_current, len_current);
- blend_node(states[current], pos_current, true, 0, FILTER_IGNORE, false);
+ sm->blend_node(current, sm->states[current].node, pos_current, true, 0, AnimationNode::FILTER_IGNORE, false);
} else {
- len_current = blend_node(states[current], 0, true, 0, FILTER_IGNORE, false);
+ len_current = sm->blend_node(current, sm->states[current].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
pos_current = 0;
}
@@ -453,169 +452,321 @@ float AnimationNodeStateMachine::process(float p_time, bool p_seek) {
//compute time left for transitions by using the end node
- if (end_node != StringName() && end_node != current) {
+ if (sm->end_node != StringName() && sm->end_node != current) {
- rem = blend_node(states[end_node], 0, true, 0, FILTER_IGNORE, false);
+ rem = sm->blend_node(current, sm->states[sm->end_node].node, 0, true, 0, AnimationNode::FILTER_IGNORE, false);
}
return rem;
}
-bool AnimationNodeStateMachine::travel(const StringName &p_state) {
- ERR_FAIL_COND_V(!playing, false);
- ERR_FAIL_COND_V(!states.has(p_state), false);
- ERR_FAIL_COND_V(!states.has(current), false);
+void AnimationNodeStateMachinePlayback::_bind_methods() {
- path.clear(); //a new one will be needed
+ ClassDB::bind_method(D_METHOD("travel", "to_node"), &AnimationNodeStateMachinePlayback::travel);
+ ClassDB::bind_method(D_METHOD("start", "node"), &AnimationNodeStateMachinePlayback::start);
+ ClassDB::bind_method(D_METHOD("stop"), &AnimationNodeStateMachinePlayback::stop);
+ ClassDB::bind_method(D_METHOD("is_playing"), &AnimationNodeStateMachinePlayback::is_playing);
+ ClassDB::bind_method(D_METHOD("get_current_node"), &AnimationNodeStateMachinePlayback::get_current_node);
+ ClassDB::bind_method(D_METHOD("get_travel_path"), &AnimationNodeStateMachinePlayback::get_travel_path);
+}
- if (current == p_state)
- return true; //nothing to do
+AnimationNodeStateMachinePlayback::AnimationNodeStateMachinePlayback() {
+ set_local_to_scene(true); //only one per instanced scene
- loops_current = 0; // reset loops, so fade does not happen immediately
+ playing = false;
+ len_current = 0;
+ fading_time = 0;
+ stop_request = false;
+}
- Vector2 current_pos = states[current]->get_position();
- Vector2 target_pos = states[p_state]->get_position();
+///////////////////////////////////////////////////////
- Map<StringName, AStarCost> cost_map;
+void AnimationNodeStateMachine::get_parameter_list(List<PropertyInfo> *r_list) const {
+ r_list->push_back(PropertyInfo(Variant::OBJECT, playback, PROPERTY_HINT_RESOURCE_TYPE, "AnimationNodeStateMachinePlayback", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE));
+ List<StringName> advance_conditions;
+ for (int i = 0; i < transitions.size(); i++) {
+ StringName ac = transitions[i].transition->get_advance_condition_name();
+ if (ac != StringName() && advance_conditions.find(ac) == NULL) {
+ advance_conditions.push_back(ac);
+ }
+ }
- List<int> open_list;
+ advance_conditions.sort_custom<StringName::AlphCompare>();
+ for (List<StringName>::Element *E = advance_conditions.front(); E; E = E->next()) {
+ r_list->push_back(PropertyInfo(Variant::BOOL, E->get()));
+ }
+}
- //build open list
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from == current) {
- open_list.push_back(i);
- float cost = states[transitions[i].to]->get_position().distance_to(current_pos);
- cost *= transitions[i].transition->get_priority();
- AStarCost ap;
- ap.prev = current;
- ap.distance = cost;
- cost_map[transitions[i].to] = ap;
+Variant AnimationNodeStateMachine::get_parameter_default_value(const StringName &p_parameter) const {
- if (transitions[i].to == p_state) { //prematurely found it! :D
- path.push_back(p_state);
- return true;
- }
- }
+ if (p_parameter == playback) {
+ Ref<AnimationNodeStateMachinePlayback> p;
+ p.instance();
+ return p;
+ } else {
+ return false; //advance condition
}
+}
- //begin astar
- bool found_route = false;
- while (!found_route) {
+void AnimationNodeStateMachine::add_node(const StringName &p_name, Ref<AnimationNode> p_node, const Vector2 &p_position) {
- if (open_list.size() == 0) {
- return false; //no path found
+ ERR_FAIL_COND(states.has(p_name));
+ ERR_FAIL_COND(p_node.is_null());
+ ERR_FAIL_COND(String(p_name).find("/") != -1);
+
+ State state;
+ state.node = p_node;
+ state.position = p_position;
+
+ states[p_name] = state;
+
+ emit_changed();
+ emit_signal("tree_changed");
+
+ p_node->connect("tree_changed", this, "_tree_changed", varray(), CONNECT_REFERENCE_COUNTED);
+}
+
+Ref<AnimationNode> AnimationNodeStateMachine::get_node(const StringName &p_name) const {
+
+ ERR_FAIL_COND_V(!states.has(p_name), Ref<AnimationNode>());
+
+ return states[p_name].node;
+}
+
+StringName AnimationNodeStateMachine::get_node_name(const Ref<AnimationNode> &p_node) const {
+ for (Map<StringName, State>::Element *E = states.front(); E; E = E->next()) {
+ if (E->get().node == p_node) {
+ return E->key();
}
+ }
- //find the last cost transition
- List<int>::Element *least_cost_transition = NULL;
- float least_cost = 1e20;
+ ERR_FAIL_V(StringName());
+}
- for (List<int>::Element *E = open_list.front(); E; E = E->next()) {
+void AnimationNodeStateMachine::get_child_nodes(List<ChildNode> *r_child_nodes) {
+ Vector<StringName> nodes;
- float cost = cost_map[transitions[E->get()].to].distance;
- cost += states[transitions[E->get()].to]->get_position().distance_to(target_pos);
+ for (Map<StringName, State>::Element *E = states.front(); E; E = E->next()) {
+ nodes.push_back(E->key());
+ }
- if (cost < least_cost) {
- least_cost_transition = E;
- }
+ nodes.sort_custom<StringName::AlphCompare>();
+
+ for (int i = 0; i < nodes.size(); i++) {
+ ChildNode cn;
+ cn.name = nodes[i];
+ cn.node = states[cn.name].node;
+ r_child_nodes->push_back(cn);
+ }
+}
+
+bool AnimationNodeStateMachine::has_node(const StringName &p_name) const {
+ return states.has(p_name);
+}
+void AnimationNodeStateMachine::remove_node(const StringName &p_name) {
+
+ ERR_FAIL_COND(!states.has(p_name));
+
+ {
+ Ref<AnimationNode> node = states[p_name].node;
+ node->disconnect("tree_changed", this, "_tree_changed");
+ }
+
+ states.erase(p_name);
+ //path.erase(p_name);
+
+ for (int i = 0; i < transitions.size(); i++) {
+ if (transitions[i].from == p_name || transitions[i].to == p_name) {
+ transitions.write[i].transition->disconnect("advance_condition_changed", this, "_tree_changed");
+ transitions.remove(i);
+ i--;
}
+ }
- StringName transition_prev = transitions[least_cost_transition->get()].from;
- StringName transition = transitions[least_cost_transition->get()].to;
+ if (start_node == p_name) {
+ start_node = StringName();
+ }
- for (int i = 0; i < transitions.size(); i++) {
- if (transitions[i].from != transition || transitions[i].to == transition_prev) {
- continue; //not interested on those
- }
+ if (end_node == p_name) {
+ end_node = StringName();
+ }
- float distance = states[transitions[i].from]->get_position().distance_to(states[transitions[i].to]->get_position());
- distance *= transitions[i].transition->get_priority();
- distance += cost_map[transitions[i].from].distance;
+ /*if (playing && current == p_name) {
+ stop();
+ }*/
- if (cost_map.has(transitions[i].to)) {
- //oh this was visited already, can we win the cost?
- if (distance < cost_map[transitions[i].to].distance) {
- cost_map[transitions[i].to].distance = distance;
- cost_map[transitions[i].to].prev = transitions[i].from;
- }
- } else {
- //add to open list
- AStarCost ac;
- ac.prev = transitions[i].from;
- ac.distance = distance;
- cost_map[transitions[i].to] = ac;
+ emit_changed();
+ emit_signal("tree_changed");
+}
- open_list.push_back(i);
+void AnimationNodeStateMachine::rename_node(const StringName &p_name, const StringName &p_new_name) {
- if (transitions[i].to == p_state) {
- found_route = true;
- break;
- }
- }
+ ERR_FAIL_COND(!states.has(p_name));
+ ERR_FAIL_COND(states.has(p_new_name));
+
+ states[p_new_name] = states[p_name];
+ states.erase(p_name);
+
+ for (int i = 0; i < transitions.size(); i++) {
+ if (transitions[i].from == p_name) {
+ transitions.write[i].from = p_new_name;
}
- if (found_route) {
- break;
+ if (transitions[i].to == p_name) {
+ transitions.write[i].to = p_new_name;
}
+ }
- open_list.erase(least_cost_transition);
+ if (start_node == p_name) {
+ start_node = p_new_name;
}
- //make path
- StringName at = p_state;
- while (at != current) {
- path.push_back(at);
- at = cost_map[at].prev;
+ if (end_node == p_name) {
+ end_node = p_new_name;
}
- path.invert();
+ /*if (playing && current == p_name) {
+ current = p_new_name;
+ }*/
- return true;
+ //path.clear(); //clear path
+ emit_signal("tree_changed");
}
-void AnimationNodeStateMachine::start(const StringName &p_state) {
+void AnimationNodeStateMachine::get_node_list(List<StringName> *r_nodes) const {
- ERR_FAIL_COND(!states.has(p_state));
- path.clear();
- current = p_state;
- playing = true;
- play_start = true;
+ List<StringName> nodes;
+ for (Map<StringName, State>::Element *E = states.front(); E; E = E->next()) {
+ nodes.push_back(E->key());
+ }
+ nodes.sort_custom<StringName::AlphCompare>();
+
+ for (List<StringName>::Element *E = nodes.front(); E; E = E->next()) {
+ r_nodes->push_back(E->get());
+ }
}
-void AnimationNodeStateMachine::stop() {
- playing = false;
- play_start = false;
- current = StringName();
+
+bool AnimationNodeStateMachine::has_transition(const StringName &p_from, const StringName &p_to) const {
+
+ for (int i = 0; i < transitions.size(); i++) {
+ if (transitions[i].from == p_from && transitions[i].to == p_to)
+ return true;
+ }
+ return false;
}
-bool AnimationNodeStateMachine::is_playing() const {
- return playing;
+int AnimationNodeStateMachine::find_transition(const StringName &p_from, const StringName &p_to) const {
+
+ for (int i = 0; i < transitions.size(); i++) {
+ if (transitions[i].from == p_from && transitions[i].to == p_to)
+ return i;
+ }
+ return -1;
}
-StringName AnimationNodeStateMachine::get_current_node() const {
- if (!playing) {
- return StringName();
+
+void AnimationNodeStateMachine::add_transition(const StringName &p_from, const StringName &p_to, const Ref<AnimationNodeStateMachineTransition> &p_transition) {
+
+ ERR_FAIL_COND(p_from == p_to);
+ ERR_FAIL_COND(!states.has(p_from));
+ ERR_FAIL_COND(!states.has(p_to));
+ ERR_FAIL_COND(p_transition.is_null());
+
+ for (int i = 0; i < transitions.size(); i++) {
+ ERR_FAIL_COND(transitions[i].from == p_from && transitions[i].to == p_to);
}
- return current;
+ Transition tr;
+ tr.from = p_from;
+ tr.to = p_to;
+ tr.transition = p_transition;
+
+ tr.transition->connect("advance_condition_changed", this, "_tree_changed", varray(), CONNECT_REFERENCE_COUNTED);
+
+ transitions.push_back(tr);
+}
+
+Ref<AnimationNodeStateMachineTransition> AnimationNodeStateMachine::get_transition(int p_transition) const {
+ ERR_FAIL_INDEX_V(p_transition, transitions.size(), Ref<AnimationNodeStateMachineTransition>());
+ return transitions[p_transition].transition;
}
+StringName AnimationNodeStateMachine::get_transition_from(int p_transition) const {
+
+ ERR_FAIL_INDEX_V(p_transition, transitions.size(), StringName());
+ return transitions[p_transition].from;
+}
+StringName AnimationNodeStateMachine::get_transition_to(int p_transition) const {
+
+ ERR_FAIL_INDEX_V(p_transition, transitions.size(), StringName());
+ return transitions[p_transition].to;
+}
+
+int AnimationNodeStateMachine::get_transition_count() const {
+
+ return transitions.size();
+}
+void AnimationNodeStateMachine::remove_transition(const StringName &p_from, const StringName &p_to) {
-StringName AnimationNodeStateMachine::get_blend_from_node() const {
- if (!playing) {
- return StringName();
+ for (int i = 0; i < transitions.size(); i++) {
+ if (transitions[i].from == p_from && transitions[i].to == p_to) {
+ transitions.write[i].transition->disconnect("advance_condition_changed", this, "_tree_changed");
+ transitions.remove(i);
+ return;
+ }
}
- return fading_from;
+ /*if (playing) {
+ path.clear();
+ }*/
}
-float AnimationNodeStateMachine::get_current_play_pos() const {
- return pos_current;
+void AnimationNodeStateMachine::remove_transition_by_index(int p_transition) {
+
+ ERR_FAIL_INDEX(p_transition, transitions.size());
+ transitions.write[p_transition].transition->disconnect("advance_condition_changed", this, "_tree_changed");
+ transitions.remove(p_transition);
+ /*if (playing) {
+ path.clear();
+ }*/
}
-float AnimationNodeStateMachine::get_current_length() const {
- return len_current;
+
+void AnimationNodeStateMachine::set_start_node(const StringName &p_node) {
+
+ ERR_FAIL_COND(p_node != StringName() && !states.has(p_node));
+ start_node = p_node;
}
-Vector<StringName> AnimationNodeStateMachine::get_travel_path() const {
- return path;
+String AnimationNodeStateMachine::get_start_node() const {
+
+ return start_node;
+}
+
+void AnimationNodeStateMachine::set_end_node(const StringName &p_node) {
+
+ ERR_FAIL_COND(p_node != StringName() && !states.has(p_node));
+ end_node = p_node;
+}
+
+String AnimationNodeStateMachine::get_end_node() const {
+
+ return end_node;
+}
+
+void AnimationNodeStateMachine::set_graph_offset(const Vector2 &p_offset) {
+ graph_offset = p_offset;
+}
+
+Vector2 AnimationNodeStateMachine::get_graph_offset() const {
+ return graph_offset;
+}
+
+float AnimationNodeStateMachine::process(float p_time, bool p_seek) {
+
+ Ref<AnimationNodeStateMachinePlayback> playback = get_parameter(this->playback);
+ ERR_FAIL_COND_V(playback.is_null(), 0.0);
+
+ return playback->process(this, p_time, p_seek);
}
+
String AnimationNodeStateMachine::get_caption() const {
return "StateMachine";
}
@@ -623,14 +774,8 @@ String AnimationNodeStateMachine::get_caption() const {
void AnimationNodeStateMachine::_notification(int p_what) {
}
-void AnimationNodeStateMachine::set_tree(AnimationTree *p_player) {
-
- AnimationNode::set_tree(p_player);
-
- for (Map<StringName, Ref<AnimationRootNode> >::Element *E = states.front(); E; E = E->next()) {
- Ref<AnimationRootNode> node = E->get();
- node->set_tree(p_player);
- }
+Ref<AnimationNode> AnimationNodeStateMachine::get_child_by_name(const StringName &p_name) {
+ return get_node(p_name);
}
bool AnimationNodeStateMachine::_set(const StringName &p_name, const Variant &p_value) {
@@ -651,7 +796,7 @@ bool AnimationNodeStateMachine::_set(const StringName &p_name, const Variant &p_
if (what == "position") {
if (states.has(node_name)) {
- states[node_name]->set_position(p_value);
+ states[node_name].position = p_value;
}
return true;
}
@@ -687,7 +832,7 @@ bool AnimationNodeStateMachine::_get(const StringName &p_name, Variant &r_ret) c
if (what == "node") {
if (states.has(node_name)) {
- r_ret = states[node_name];
+ r_ret = states[node_name].node;
return true;
}
}
@@ -695,7 +840,7 @@ bool AnimationNodeStateMachine::_get(const StringName &p_name, Variant &r_ret) c
if (what == "position") {
if (states.has(node_name)) {
- r_ret = states[node_name]->get_position();
+ r_ret = states[node_name].position;
return true;
}
}
@@ -727,14 +872,14 @@ bool AnimationNodeStateMachine::_get(const StringName &p_name, Variant &r_ret) c
void AnimationNodeStateMachine::_get_property_list(List<PropertyInfo> *p_list) const {
List<StringName> names;
- for (Map<StringName, Ref<AnimationRootNode> >::Element *E = states.front(); E; E = E->next()) {
+ for (Map<StringName, State>::Element *E = states.front(); E; E = E->next()) {
names.push_back(E->key());
}
names.sort_custom<StringName::AlphCompare>();
for (List<StringName>::Element *E = names.front(); E; E = E->next()) {
String name = E->get();
- p_list->push_back(PropertyInfo(Variant::OBJECT, "states/" + name + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationNode", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE));
+ p_list->push_back(PropertyInfo(Variant::OBJECT, "states/" + name + "/node", PROPERTY_HINT_RESOURCE_TYPE, "AnimationNode", PROPERTY_USAGE_NOEDITOR));
p_list->push_back(PropertyInfo(Variant::VECTOR2, "states/" + name + "/position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR));
}
@@ -744,16 +889,34 @@ void AnimationNodeStateMachine::_get_property_list(List<PropertyInfo> *p_list) c
p_list->push_back(PropertyInfo(Variant::VECTOR2, "graph_offset", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR));
}
+void AnimationNodeStateMachine::set_node_position(const StringName &p_name, const Vector2 &p_position) {
+ ERR_FAIL_COND(!states.has(p_name));
+ states[p_name].position = p_position;
+}
+
+Vector2 AnimationNodeStateMachine::get_node_position(const StringName &p_name) const {
+
+ ERR_FAIL_COND_V(!states.has(p_name), Vector2());
+ return states[p_name].position;
+}
+
+void AnimationNodeStateMachine::_tree_changed() {
+ emit_signal("tree_changed");
+}
+
void AnimationNodeStateMachine::_bind_methods() {
- ClassDB::bind_method(D_METHOD("add_node", "name", "node"), &AnimationNodeStateMachine::add_node);
+ ClassDB::bind_method(D_METHOD("add_node", "name", "node", "position"), &AnimationNodeStateMachine::add_node, DEFVAL(Vector2()));
ClassDB::bind_method(D_METHOD("get_node", "name"), &AnimationNodeStateMachine::get_node);
ClassDB::bind_method(D_METHOD("remove_node", "name"), &AnimationNodeStateMachine::remove_node);
ClassDB::bind_method(D_METHOD("rename_node", "name", "new_name"), &AnimationNodeStateMachine::rename_node);
ClassDB::bind_method(D_METHOD("has_node", "name"), &AnimationNodeStateMachine::has_node);
ClassDB::bind_method(D_METHOD("get_node_name", "node"), &AnimationNodeStateMachine::get_node_name);
- ClassDB::bind_method(D_METHOD("has_transition", "from", "to"), &AnimationNodeStateMachine::add_transition);
+ ClassDB::bind_method(D_METHOD("set_node_position", "name", "position"), &AnimationNodeStateMachine::set_node_position);
+ ClassDB::bind_method(D_METHOD("get_node_position", "name"), &AnimationNodeStateMachine::get_node_position);
+
+ ClassDB::bind_method(D_METHOD("has_transition", "from", "to"), &AnimationNodeStateMachine::has_transition);
ClassDB::bind_method(D_METHOD("add_transition", "from", "to", "transition"), &AnimationNodeStateMachine::add_transition);
ClassDB::bind_method(D_METHOD("get_transition", "idx"), &AnimationNodeStateMachine::get_transition);
ClassDB::bind_method(D_METHOD("get_transition_from", "idx"), &AnimationNodeStateMachine::get_transition_from);
@@ -771,20 +934,10 @@ void AnimationNodeStateMachine::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_graph_offset", "name"), &AnimationNodeStateMachine::set_graph_offset);
ClassDB::bind_method(D_METHOD("get_graph_offset"), &AnimationNodeStateMachine::get_graph_offset);
- ClassDB::bind_method(D_METHOD("travel", "to_node"), &AnimationNodeStateMachine::travel);
- ClassDB::bind_method(D_METHOD("start", "node"), &AnimationNodeStateMachine::start);
- ClassDB::bind_method(D_METHOD("stop"), &AnimationNodeStateMachine::stop);
- ClassDB::bind_method(D_METHOD("is_playing"), &AnimationNodeStateMachine::is_playing);
- ClassDB::bind_method(D_METHOD("get_current_node"), &AnimationNodeStateMachine::get_current_node);
- ClassDB::bind_method(D_METHOD("get_travel_path"), &AnimationNodeStateMachine::get_travel_path);
+ ClassDB::bind_method(D_METHOD("_tree_changed"), &AnimationNodeStateMachine::_tree_changed);
}
AnimationNodeStateMachine::AnimationNodeStateMachine() {
- play_start = false;
-
- playing = false;
- len_current = 0;
-
- fading_time = 0;
+ playback = "playback";
}
diff --git a/scene/animation/animation_node_state_machine.h b/scene/animation/animation_node_state_machine.h
index e7357e09ea..5d633d6334 100644
--- a/scene/animation/animation_node_state_machine.h
+++ b/scene/animation/animation_node_state_machine.h
@@ -15,6 +15,8 @@ public:
private:
SwitchMode switch_mode;
bool auto_advance;
+ StringName advance_condition;
+ StringName advance_condition_name;
float xfade;
bool disabled;
int priority;
@@ -29,6 +31,11 @@ public:
void set_auto_advance(bool p_enable);
bool has_auto_advance() const;
+ void set_advance_condition(const StringName &p_condition);
+ StringName get_advance_condition() const;
+
+ StringName get_advance_condition_name() const;
+
void set_xfade_time(float p_xfade);
float get_xfade_time() const;
@@ -43,39 +50,24 @@ public:
VARIANT_ENUM_CAST(AnimationNodeStateMachineTransition::SwitchMode)
-class AnimationNodeStateMachine : public AnimationRootNode {
-
- GDCLASS(AnimationNodeStateMachine, AnimationRootNode);
+class AnimationNodeStateMachine;
-private:
- Map<StringName, Ref<AnimationRootNode> > states;
+class AnimationNodeStateMachinePlayback : public Resource {
+ GDCLASS(AnimationNodeStateMachinePlayback, Resource);
- struct Transition {
-
- StringName from;
- StringName to;
- Ref<AnimationNodeStateMachineTransition> transition;
- };
+ friend class AnimationNodeStateMachine;
struct AStarCost {
float distance;
StringName prev;
};
- Vector<Transition> transitions;
-
float len_total;
float len_current;
float pos_current;
int loops_current;
- bool play_start;
- StringName start_node;
- StringName end_node;
-
- Vector2 graph_offset;
-
StringName current;
StringName fading_from;
@@ -85,6 +77,63 @@ private:
Vector<StringName> path;
bool playing;
+ StringName start_request;
+ bool start_request_travel;
+ bool stop_request;
+
+ bool _travel(AnimationNodeStateMachine *p_state_machine, const StringName &p_travel);
+
+ float process(AnimationNodeStateMachine *p_state_machine, float p_time, bool p_seek);
+
+protected:
+ static void _bind_methods();
+
+public:
+ void travel(const StringName &p_state);
+ void start(const StringName &p_state);
+ void stop();
+ bool is_playing() const;
+ StringName get_current_node() const;
+ StringName get_blend_from_node() const;
+ Vector<StringName> get_travel_path() const;
+ float get_current_play_pos() const;
+ float get_current_length() const;
+
+ AnimationNodeStateMachinePlayback();
+};
+
+class AnimationNodeStateMachine : public AnimationRootNode {
+
+ GDCLASS(AnimationNodeStateMachine, AnimationRootNode);
+
+private:
+ friend class AnimationNodeStateMachinePlayback;
+
+ struct State {
+ Ref<AnimationRootNode> node;
+ Vector2 position;
+ };
+
+ Map<StringName, State> states;
+
+ struct Transition {
+
+ StringName from;
+ StringName to;
+ Ref<AnimationNodeStateMachineTransition> transition;
+ };
+
+ Vector<Transition> transitions;
+
+ StringName playback;
+
+ StringName start_node;
+ StringName end_node;
+
+ Vector2 graph_offset;
+
+ void _tree_changed();
+
protected:
void _notification(int p_what);
static void _bind_methods();
@@ -94,7 +143,10 @@ protected:
void _get_property_list(List<PropertyInfo> *p_list) const;
public:
- void add_node(const StringName &p_name, Ref<AnimationNode> p_node);
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
+
+ void add_node(const StringName &p_name, Ref<AnimationNode> p_node, const Vector2 &p_position = Vector2());
Ref<AnimationNode> get_node(const StringName &p_name) const;
void remove_node(const StringName &p_name);
void rename_node(const StringName &p_name, const StringName &p_new_name);
@@ -102,6 +154,11 @@ public:
StringName get_node_name(const Ref<AnimationNode> &p_node) const;
void get_node_list(List<StringName> *r_nodes) const;
+ void set_node_position(const StringName &p_name, const Vector2 &p_position);
+ Vector2 get_node_position(const StringName &p_name) const;
+
+ virtual void get_child_nodes(List<ChildNode> *r_child_nodes);
+
bool has_transition(const StringName &p_from, const StringName &p_to) const;
int find_transition(const StringName &p_from, const StringName &p_to) const;
void add_transition(const StringName &p_from, const StringName &p_to, const Ref<AnimationNodeStateMachineTransition> &p_transition);
@@ -124,17 +181,7 @@ public:
virtual float process(float p_time, bool p_seek);
virtual String get_caption() const;
- bool travel(const StringName &p_state);
- void start(const StringName &p_state);
- void stop();
- bool is_playing() const;
- StringName get_current_node() const;
- StringName get_blend_from_node() const;
- Vector<StringName> get_travel_path() const;
- float get_current_play_pos() const;
- float get_current_length() const;
-
- virtual void set_tree(AnimationTree *p_player);
+ virtual Ref<AnimationNode> get_child_by_name(const StringName &p_name);
AnimationNodeStateMachine();
};
diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp
index a660665d3f..d8db1973d2 100644
--- a/scene/animation/animation_player.cpp
+++ b/scene/animation/animation_player.cpp
@@ -960,8 +960,6 @@ Error AnimationPlayer::add_animation(const StringName &p_name, const Ref<Animati
ERR_FAIL_COND_V(p_animation.is_null(), ERR_INVALID_PARAMETER);
- //print_line("Add anim: "+String(p_name)+" name: "+p_animation->get_name());
-
if (animation_set.has(p_name)) {
_unref_anim(animation_set[p_name].animation);
diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp
index 8bbc05eed3..76f0ee9359 100644
--- a/scene/animation/animation_tree.cpp
+++ b/scene/animation/animation_tree.cpp
@@ -5,6 +5,34 @@
#include "scene/scene_string_names.h"
#include "servers/audio/audio_stream.h"
+void AnimationNode::get_parameter_list(List<PropertyInfo> *r_list) const {
+}
+
+Variant AnimationNode::get_parameter_default_value(const StringName &p_parameter) const {
+ return Variant();
+}
+
+void AnimationNode::set_parameter(const StringName &p_name, const Variant &p_value) {
+ ERR_FAIL_COND(!state);
+ ERR_FAIL_COND(!state->tree->property_parent_map.has(base_path));
+ ERR_FAIL_COND(!state->tree->property_parent_map[base_path].has(p_name));
+ StringName path = state->tree->property_parent_map[base_path][p_name];
+
+ state->tree->property_map[path] = p_value;
+}
+
+Variant AnimationNode::get_parameter(const StringName &p_name) const {
+ ERR_FAIL_COND_V(!state, Variant());
+ ERR_FAIL_COND_V(!state->tree->property_parent_map.has(base_path), Variant());
+ ERR_FAIL_COND_V(!state->tree->property_parent_map[base_path].has(p_name), Variant());
+
+ StringName path = state->tree->property_parent_map[base_path][p_name];
+ return state->tree->property_map[path];
+}
+
+void AnimationNode::get_child_nodes(List<ChildNode> *r_child_nodes) {
+}
+
void AnimationNode::blend_animation(const StringName &p_animation, float p_time, float p_delta, bool p_seeked, float p_blend) {
ERR_FAIL_COND(!state);
@@ -14,8 +42,8 @@ void AnimationNode::blend_animation(const StringName &p_animation, float p_time,
if (animation.is_null()) {
- Ref<AnimationNodeBlendTree> btree = get_parent();
- if (btree.is_valid()) {
+ AnimationNodeBlendTree *btree = Object::cast_to<AnimationNodeBlendTree>(parent);
+ if (btree) {
String name = btree->get_node_name(Ref<AnimationNodeAnimation>(this));
make_invalid(vformat(RTR("In node '%s', invalid animation: '%s'."), name, p_animation));
} else {
@@ -37,10 +65,20 @@ void AnimationNode::blend_animation(const StringName &p_animation, float p_time,
state->animation_states.push_back(anim_state);
}
-float AnimationNode::_pre_process(State *p_state, float p_time, bool p_seek) {
+float AnimationNode::_pre_process(const StringName &p_base_path, AnimationNode *p_parent, State *p_state, float p_time, bool p_seek, const Vector<StringName> &p_connections) {
+
+ base_path = p_base_path;
+ parent = p_parent;
+ connections = p_connections;
state = p_state;
+
float t = process(p_time, p_seek);
+
state = NULL;
+ parent = NULL;
+ base_path = StringName();
+ connections.clear();
+
return t;
}
@@ -56,39 +94,39 @@ void AnimationNode::make_invalid(const String &p_reason) {
float AnimationNode::blend_input(int p_input, float p_time, bool p_seek, float p_blend, FilterAction p_filter, bool p_optimize) {
ERR_FAIL_INDEX_V(p_input, inputs.size(), 0);
ERR_FAIL_COND_V(!state, 0);
- ERR_FAIL_COND_V(!get_tree(), 0); //should not happen, but used to catch bugs
- Ref<AnimationNodeBlendTree> tree = get_parent();
+ AnimationNodeBlendTree *blend_tree = Object::cast_to<AnimationNodeBlendTree>(parent);
+ ERR_FAIL_COND_V(!blend_tree, 0);
+
+ StringName node_name = connections[p_input];
- if (!tree.is_valid() && get_tree()->get_tree_root().ptr() != this) {
- make_invalid(RTR("Can't blend input because node is not in a tree"));
+ if (!blend_tree->has_node(node_name)) {
+ String name = blend_tree->get_node_name(Ref<AnimationNode>(this));
+ make_invalid(vformat(RTR("Nothing connected to input '%s' of node '%s'."), get_input_name(p_input), name));
return 0;
}
- ERR_FAIL_COND_V(!tree.is_valid(), 0); //should not happen
-
- StringName anim_name = inputs[p_input].connected_to;
+ Ref<AnimationNode> node = blend_tree->get_node(node_name);
- Ref<AnimationNode> node = tree->get_node(anim_name);
+ //inputs.write[p_input].last_pass = state->last_pass;
+ float activity=0;
+ float ret = _blend_node(node_name, blend_tree->get_node_connection_array(node_name), NULL, node, p_time, p_seek, p_blend, p_filter, p_optimize, &activity);
- if (node.is_null()) {
+ Vector<AnimationTree::Activity> *activity_ptr = state->tree->input_activity_map.getptr(base_path);
- String name = tree->get_node_name(Ref<AnimationNodeAnimation>(this));
- make_invalid(vformat(RTR("Nothing connected to input '%s' of node '%s'."), get_input_name(p_input), name));
- return 0;
+ if (activity_ptr && p_input<activity_ptr->size()) {
+ activity_ptr->write[p_input].last_pass = state->last_pass;
+ activity_ptr->write[p_input].activity = activity;
}
-
- inputs.write[p_input].last_pass = state->last_pass;
-
- return _blend_node(node, p_time, p_seek, p_blend, p_filter, p_optimize, &inputs.write[p_input].activity);
+ return ret;
}
-float AnimationNode::blend_node(Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter, bool p_optimize) {
+float AnimationNode::blend_node(const StringName &p_sub_path, Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter, bool p_optimize) {
- return _blend_node(p_node, p_time, p_seek, p_blend, p_filter, p_optimize);
+ return _blend_node(p_sub_path, Vector<StringName>(), this, p_node, p_time, p_seek, p_blend, p_filter, p_optimize);
}
-float AnimationNode::_blend_node(Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter, bool p_optimize, float *r_max) {
+float AnimationNode::_blend_node(const StringName &p_subpath, const Vector<StringName> &p_connections, AnimationNode *p_new_parent, Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter, bool p_optimize, float *r_max) {
ERR_FAIL_COND_V(!p_node.is_valid(), 0);
ERR_FAIL_COND_V(!state, 0);
@@ -189,7 +227,19 @@ float AnimationNode::_blend_node(Ref<AnimationNode> p_node, float p_time, bool p
if (!p_seek && p_optimize && !any_valid) //pointless to go on, all are zero
return 0;
- return p_node->_pre_process(state, p_time, p_seek);
+ String new_path;
+ AnimationNode *new_parent;
+
+ //this is the slowest part of processing, but as strings process in powers of 2, and the paths always exist, it will not result in that many allocations
+ if (p_new_parent) {
+ new_parent = p_new_parent;
+ new_path = String(base_path) + String(p_subpath) + "/";
+ } else {
+ ERR_FAIL_COND_V(!parent, 0);
+ new_parent = parent;
+ new_path = String(parent->base_path) + String(p_subpath) + "/";
+ }
+ return p_node->_pre_process(new_path, new_parent, state, p_time, p_seek, p_connections);
}
int AnimationNode::get_input_count() const {
@@ -201,29 +251,6 @@ String AnimationNode::get_input_name(int p_input) {
return inputs[p_input].name;
}
-float AnimationNode::get_input_activity(int p_input) const {
-
- ERR_FAIL_INDEX_V(p_input, inputs.size(), 0);
- if (!get_tree())
- return 0;
-
- if (get_tree()->get_last_process_pass() != inputs[p_input].last_pass) {
- return 0;
- }
- return inputs[p_input].activity;
-}
-StringName AnimationNode::get_input_connection(int p_input) {
-
- ERR_FAIL_INDEX_V(p_input, inputs.size(), StringName());
- return inputs[p_input].connected_to;
-}
-
-void AnimationNode::set_input_connection(int p_input, const StringName &p_connection) {
-
- ERR_FAIL_INDEX(p_input, inputs.size());
- inputs.write[p_input].connected_to = p_connection;
-}
-
String AnimationNode::get_caption() const {
if (get_script_instance()) {
@@ -239,8 +266,6 @@ void AnimationNode::add_input(const String &p_name) {
Input input;
ERR_FAIL_COND(p_name.find(".") != -1 || p_name.find("/") != -1);
input.name = p_name;
- input.activity = 0;
- input.last_pass = 0;
inputs.push_back(input);
emit_changed();
}
@@ -258,35 +283,6 @@ void AnimationNode::remove_input(int p_index) {
emit_changed();
}
-void AnimationNode::_set_parent(Object *p_parent) {
- set_parent(Object::cast_to<AnimationNode>(p_parent));
-}
-
-void AnimationNode::set_parent(AnimationNode *p_parent) {
- parent = p_parent; //do not use ref because parent contains children
- if (get_script_instance()) {
- get_script_instance()->call("_parent_set", p_parent);
- }
-}
-
-Ref<AnimationNode> AnimationNode::get_parent() const {
- if (parent) {
- return Ref<AnimationNode>(parent);
- }
-
- return Ref<AnimationNode>();
-}
-
-AnimationTree *AnimationNode::get_tree() const {
-
- return player;
-}
-
-AnimationPlayer *AnimationNode::get_player() const {
- ERR_FAIL_COND_V(!state, NULL);
- return state->player;
-}
-
float AnimationNode::process(float p_time, bool p_seek) {
if (get_script_instance()) {
@@ -320,22 +316,6 @@ bool AnimationNode::has_filter() const {
return false;
}
-void AnimationNode::set_position(const Vector2 &p_position) {
- position = p_position;
-}
-
-Vector2 AnimationNode::get_position() const {
- return position;
-}
-
-void AnimationNode::set_tree(AnimationTree *p_player) {
-
- if (player != NULL && p_player == NULL) {
- emit_signal("removed_from_graph");
- }
- player = p_player;
-}
-
Array AnimationNode::_get_filters() const {
Array paths;
@@ -361,12 +341,14 @@ void AnimationNode::_validate_property(PropertyInfo &property) const {
}
}
+Ref<AnimationNode> AnimationNode::get_child_by_name(const StringName &p_name) {
+ return Ref<AnimationNode>();
+}
+
void AnimationNode::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_input_count"), &AnimationNode::get_input_count);
ClassDB::bind_method(D_METHOD("get_input_name", "input"), &AnimationNode::get_input_name);
- ClassDB::bind_method(D_METHOD("get_input_connection", "input"), &AnimationNode::get_input_connection);
- ClassDB::bind_method(D_METHOD("get_input_activity", "input"), &AnimationNode::get_input_activity);
ClassDB::bind_method(D_METHOD("add_input", "name"), &AnimationNode::add_input);
ClassDB::bind_method(D_METHOD("remove_input", "index"), &AnimationNode::remove_input);
@@ -377,19 +359,15 @@ void AnimationNode::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_filter_enabled", "enable"), &AnimationNode::set_filter_enabled);
ClassDB::bind_method(D_METHOD("is_filter_enabled"), &AnimationNode::is_filter_enabled);
- ClassDB::bind_method(D_METHOD("set_position", "position"), &AnimationNode::set_position);
- ClassDB::bind_method(D_METHOD("get_position"), &AnimationNode::get_position);
-
ClassDB::bind_method(D_METHOD("_set_filters", "filters"), &AnimationNode::_set_filters);
ClassDB::bind_method(D_METHOD("_get_filters"), &AnimationNode::_get_filters);
ClassDB::bind_method(D_METHOD("blend_animation", "animation", "time", "delta", "seeked", "blend"), &AnimationNode::blend_animation);
- ClassDB::bind_method(D_METHOD("blend_node", "node", "time", "seek", "blend", "filter", "optimize"), &AnimationNode::blend_node, DEFVAL(FILTER_IGNORE), DEFVAL(true));
+ ClassDB::bind_method(D_METHOD("blend_node", "name", "node", "time", "seek", "blend", "filter", "optimize"), &AnimationNode::blend_node, DEFVAL(FILTER_IGNORE), DEFVAL(true));
ClassDB::bind_method(D_METHOD("blend_input", "input_index", "time", "seek", "blend", "filter", "optimize"), &AnimationNode::blend_input, DEFVAL(FILTER_IGNORE), DEFVAL(true));
- ClassDB::bind_method(D_METHOD("set_parent", "parent"), &AnimationNode::_set_parent);
- ClassDB::bind_method(D_METHOD("get_parent"), &AnimationNode::get_parent);
- ClassDB::bind_method(D_METHOD("get_tree"), &AnimationNode::get_tree);
+ ClassDB::bind_method(D_METHOD("set_parameter", "name", "value"), &AnimationNode::set_parameter);
+ ClassDB::bind_method(D_METHOD("get_parameter", "name"), &AnimationNode::get_parameter);
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "filter_enabled", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_filter_enabled", "is_filter_enabled");
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "filters", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "_set_filters", "_get_filters");
@@ -397,9 +375,11 @@ void AnimationNode::_bind_methods() {
BIND_VMETHOD(MethodInfo("process", PropertyInfo(Variant::REAL, "time"), PropertyInfo(Variant::BOOL, "seek")));
BIND_VMETHOD(MethodInfo(Variant::STRING, "get_caption"));
BIND_VMETHOD(MethodInfo(Variant::STRING, "has_filter"));
- BIND_VMETHOD(MethodInfo("_parent_set", PropertyInfo(Variant::OBJECT, "parent")));
ADD_SIGNAL(MethodInfo("removed_from_graph"));
+
+ ADD_SIGNAL(MethodInfo("tree_changed"));
+
BIND_ENUM_CONSTANT(FILTER_IGNORE);
BIND_ENUM_CONSTANT(FILTER_PASS);
BIND_ENUM_CONSTANT(FILTER_STOP);
@@ -410,8 +390,6 @@ AnimationNode::AnimationNode() {
state = NULL;
parent = NULL;
- player = NULL;
- set_local_to_scene(true);
filter_enabled = false;
}
@@ -420,18 +398,17 @@ AnimationNode::AnimationNode() {
void AnimationTree::set_tree_root(const Ref<AnimationNode> &p_root) {
if (root.is_valid()) {
- root->set_tree(NULL);
- }
- if (p_root.is_valid()) {
- ERR_EXPLAIN("root node already set to another player");
- ERR_FAIL_COND(p_root->player);
+ root->disconnect("tree_changed", this, "_tree_changed");
}
+
root = p_root;
if (root.is_valid()) {
- root->set_tree(this);
+ root->connect("tree_changed", this, "_tree_changed");
}
+ properties_dirty = true;
+
update_configuration_warning();
}
@@ -699,7 +676,10 @@ void AnimationTree::_clear_caches() {
void AnimationTree::_process_graph(float p_delta) {
+ _update_properties(); //if properties need updating, update them
+
//check all tracks, see if they need modification
+
root_motion_transform = Transform();
if (!root.is_valid()) {
@@ -741,6 +721,7 @@ void AnimationTree::_process_graph(float p_delta) {
state.valid = true;
state.player = player;
state.last_pass = process_pass;
+ state.tree = this;
// root source blends
@@ -757,11 +738,11 @@ void AnimationTree::_process_graph(float p_delta) {
if (started) {
//if started, seek
- root->_pre_process(&state, 0, true);
+ root->_pre_process(SceneStringNames::get_singleton()->parameters_base_path, NULL, &state, 0, true, Vector<StringName>());
started = false;
}
- root->_pre_process(&state, p_delta, false);
+ root->_pre_process(SceneStringNames::get_singleton()->parameters_base_path, NULL, &state, p_delta, false, Vector<StringName>());
}
if (!state.valid) {
@@ -1297,6 +1278,149 @@ Transform AnimationTree::get_root_motion_transform() const {
return root_motion_transform;
}
+void AnimationTree::_tree_changed() {
+ if (properties_dirty) {
+ return;
+ }
+
+ call_deferred("_update_properties");
+ properties_dirty = true;
+}
+
+void AnimationTree::_update_properties_for_node(const String &p_base_path, Ref<AnimationNode> node) {
+
+ if (!property_parent_map.has(p_base_path)) {
+ property_parent_map[p_base_path] = HashMap<StringName, StringName>();
+ }
+
+ if (node->get_input_count() && !input_activity_map.has(p_base_path)) {
+
+ Vector<Activity> activity;
+ for(int i=0;i<node->get_input_count();i++) {
+ Activity a;
+ a.last_pass=0;
+ activity.push_back(a);
+ }
+ input_activity_map[p_base_path] = activity;
+ input_activity_map_get[String(p_base_path).substr(0,String(p_base_path).length()-1)]=&input_activity_map[p_base_path];
+ }
+
+ List<PropertyInfo> plist;
+ node->get_parameter_list(&plist);
+ for (List<PropertyInfo>::Element *E = plist.front(); E; E = E->next()) {
+ PropertyInfo pinfo = E->get();
+
+ StringName key = pinfo.name;
+
+ if (!property_map.has(p_base_path + key)) {
+ property_map[p_base_path + key] = node->get_parameter_default_value(key);
+ }
+
+ property_parent_map[p_base_path][key] = p_base_path + key;
+
+ pinfo.name = p_base_path + key;
+ properties.push_back(pinfo);
+ }
+
+ List<AnimationNode::ChildNode> children;
+ node->get_child_nodes(&children);
+
+ for (List<AnimationNode::ChildNode>::Element *E = children.front(); E; E = E->next()) {
+ _update_properties_for_node(p_base_path + E->get().name + "/", E->get().node);
+ }
+}
+
+void AnimationTree::_update_properties() {
+ if (!properties_dirty) {
+ return;
+ }
+
+ properties.clear();
+ property_parent_map.clear();
+ input_activity_map.clear();
+ input_activity_map_get.clear();
+
+ if (root.is_valid()) {
+ _update_properties_for_node(SceneStringNames::get_singleton()->parameters_base_path, root);
+ }
+
+ properties_dirty = false;
+
+ _change_notify();
+}
+
+bool AnimationTree::_set(const StringName &p_name, const Variant &p_value) {
+ if (properties_dirty) {
+ _update_properties();
+ }
+
+ if (property_map.has(p_name)) {
+ property_map[p_name] = p_value;
+#ifdef TOOLS_ENABLED
+ _change_notify(p_name.operator String().utf8().get_data());
+#endif
+ return true;
+ }
+
+ return false;
+}
+
+bool AnimationTree::_get(const StringName &p_name, Variant &r_ret) const {
+ if (properties_dirty) {
+ const_cast<AnimationTree *>(this)->_update_properties();
+ }
+
+ if (property_map.has(p_name)) {
+ r_ret = property_map[p_name];
+ return true;
+ }
+
+ return false;
+}
+void AnimationTree::_get_property_list(List<PropertyInfo> *p_list) const {
+ if (properties_dirty) {
+ const_cast<AnimationTree *>(this)->_update_properties();
+ }
+
+ for (const List<PropertyInfo>::Element *E = properties.front(); E; E = E->next()) {
+ p_list->push_back(E->get());
+ }
+}
+
+void AnimationTree::rename_parameter(const String &p_base, const String &p_new_base) {
+
+ //rename values first
+ for (const List<PropertyInfo>::Element *E = properties.front(); E; E = E->next()) {
+ if (E->get().name.begins_with(p_base)) {
+ String new_name = E->get().name.replace_first(p_base, p_new_base);
+ property_map[new_name] = property_map[E->get().name];
+ }
+ }
+
+ //update tree second
+ properties_dirty = true;
+ _update_properties();
+}
+
+float AnimationTree::get_connection_activity(const StringName& p_path,int p_connection) const {
+
+ if (!input_activity_map_get.has(p_path)) {
+ return 0;
+ }
+ const Vector<Activity> *activity = input_activity_map_get[p_path];
+
+ if (!activity || p_connection<0 || p_connection>=activity->size()) {
+ return 0;
+ }
+
+ if ((*activity)[p_connection].last_pass != process_pass) {
+ return 0;
+ }
+
+ return (*activity)[p_connection].activity;
+}
+
+
void AnimationTree::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_active", "active"), &AnimationTree::set_active);
ClassDB::bind_method(D_METHOD("is_active"), &AnimationTree::is_active);
@@ -1315,11 +1439,16 @@ void AnimationTree::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_root_motion_transform"), &AnimationTree::get_root_motion_transform);
+ ClassDB::bind_method(D_METHOD("_tree_changed"), &AnimationTree::_tree_changed);
+ ClassDB::bind_method(D_METHOD("_update_properties"), &AnimationTree::_update_properties);
+
+ ClassDB::bind_method(D_METHOD("rename_parameter", "old_name", "new_name"), &AnimationTree::rename_parameter);
+
ClassDB::bind_method(D_METHOD("advance", "delta"), &AnimationTree::advance);
ClassDB::bind_method(D_METHOD("_node_removed"), &AnimationTree::_node_removed);
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "tree_root", PROPERTY_HINT_RESOURCE_TYPE, "AnimationRootNode", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE), "set_tree_root", "get_tree_root");
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "tree_root", PROPERTY_HINT_RESOURCE_TYPE, "AnimationRootNode"), "set_tree_root", "get_tree_root");
ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "anim_player", PROPERTY_HINT_NODE_PATH_VALID_TYPES, "AnimationPlayer"), "set_animation_player", "get_animation_player");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "active"), "set_active", "is_active");
ADD_PROPERTY(PropertyInfo(Variant::INT, "process_mode", PROPERTY_HINT_ENUM, "Physics,Idle,Manual"), "set_process_mode", "get_process_mode");
@@ -1338,10 +1467,8 @@ AnimationTree::AnimationTree() {
cache_valid = false;
setup_pass = 1;
started = true;
+ properties_dirty = true;
}
AnimationTree::~AnimationTree() {
- if (root.is_valid()) {
- root->player = NULL;
- }
}
diff --git a/scene/animation/animation_tree.h b/scene/animation/animation_tree.h
index 87092a4a0e..70f3932f21 100644
--- a/scene/animation/animation_tree.h
+++ b/scene/animation/animation_tree.h
@@ -23,9 +23,6 @@ public:
struct Input {
String name;
- StringName connected_to;
- float activity;
- uint64_t last_pass;
};
Vector<Input> inputs;
@@ -51,30 +48,33 @@ public:
List<AnimationState> animation_states;
bool valid;
AnimationPlayer *player;
+ AnimationTree *tree;
String invalid_reasons;
uint64_t last_pass;
};
Vector<float> blends;
State *state;
- float _pre_process(State *p_state, float p_time, bool p_seek);
+
+ float _pre_process(const StringName &p_base_path, AnimationNode *p_parent, State *p_state, float p_time, bool p_seek, const Vector<StringName> &p_connections);
void _pre_update_animations(HashMap<NodePath, int> *track_map);
- Vector2 position;
+ //all this is temporary
+ StringName base_path;
+ Vector<StringName> connections;
AnimationNode *parent;
- AnimationTree *player;
-
- float _blend_node(Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter = FILTER_IGNORE, bool p_optimize = true, float *r_max = NULL);
HashMap<NodePath, bool> filter;
bool filter_enabled;
Array _get_filters() const;
void _set_filters(const Array &p_filters);
+ friend class AnimationNodeBlendTree;
+ float _blend_node(const StringName &p_subpath, const Vector<StringName> &p_connections, AnimationNode *p_new_parent, Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter = FILTER_IGNORE, bool p_optimize = true, float *r_max = NULL);
protected:
void blend_animation(const StringName &p_animation, float p_time, float p_delta, bool p_seeked, float p_blend);
- float blend_node(Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter = FILTER_IGNORE, bool p_optimize = true);
+ float blend_node(const StringName &p_sub_path, Ref<AnimationNode> p_node, float p_time, bool p_seek, float p_blend, FilterAction p_filter = FILTER_IGNORE, bool p_optimize = true);
float blend_input(int p_input, float p_time, bool p_seek, float p_blend, FilterAction p_filter = FILTER_IGNORE, bool p_optimize = true);
void make_invalid(const String &p_reason);
@@ -85,20 +85,24 @@ protected:
void _set_parent(Object *p_parent);
public:
- void set_parent(AnimationNode *p_parent);
- Ref<AnimationNode> get_parent() const;
- virtual void set_tree(AnimationTree *p_player);
- AnimationTree *get_tree() const;
- AnimationPlayer *get_player() const;
+ virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
+ virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
+
+ void set_parameter(const StringName &p_name, const Variant &p_value);
+ Variant get_parameter(const StringName &p_name) const;
+
+ struct ChildNode {
+ StringName name;
+ Ref<AnimationNode> node;
+ };
+
+ virtual void get_child_nodes(List<ChildNode> *r_child_nodes);
virtual float process(float p_time, bool p_seek);
virtual String get_caption() const;
int get_input_count() const;
String get_input_name(int p_input);
- StringName get_input_connection(int p_input);
- void set_input_connection(int p_input, const StringName &p_connection);
- float get_input_activity(int p_input) const;
void add_input(const String &p_name);
void set_input_name(int p_input, const String &p_name);
@@ -112,8 +116,7 @@ public:
virtual bool has_filter() const;
- void set_position(const Vector2 &p_position);
- Vector2 get_position() const;
+ virtual Ref<AnimationNode> get_child_by_name(const StringName &p_name);
AnimationNode();
};
@@ -245,7 +248,29 @@ private:
NodePath root_motion_track;
Transform root_motion_transform;
+ friend class AnimationNode;
+ bool properties_dirty;
+ void _tree_changed();
+ void _update_properties();
+ List<PropertyInfo> properties;
+ HashMap<StringName, HashMap<StringName, StringName> > property_parent_map;
+ HashMap<StringName, Variant> property_map;
+
+ struct Activity {
+ uint64_t last_pass;
+ float activity;
+ };
+
+ HashMap<StringName, Vector<Activity> > input_activity_map;
+ HashMap<StringName, Vector<Activity> *> input_activity_map_get;
+
+ void _update_properties_for_node(const String &p_base_path, Ref<AnimationNode> node);
+
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;
+
void _notification(int p_what);
static void _bind_methods();
@@ -272,8 +297,11 @@ public:
Transform get_root_motion_transform() const;
+ float get_connection_activity(const StringName &p_path, int p_connection) const;
void advance(float p_time);
+ void rename_parameter(const String &p_base, const String &p_new_base);
+
uint64_t get_last_process_pass() const;
AnimationTree();
~AnimationTree();
diff --git a/scene/animation/skeleton_ik.cpp b/scene/animation/skeleton_ik.cpp
index 4991cedfab..9b1cb1369a 100644
--- a/scene/animation/skeleton_ik.cpp
+++ b/scene/animation/skeleton_ik.cpp
@@ -34,6 +34,8 @@
#include "skeleton_ik.h"
+#ifndef _3D_DISABLED
+
FabrikInverseKinematic::ChainItem *FabrikInverseKinematic::ChainItem::find_child(const BoneId p_bone_id) {
for (int i = childs.size() - 1; 0 <= i; --i) {
if (p_bone_id == childs[i].bone) {
@@ -549,3 +551,5 @@ void SkeletonIK::_solve_chain() {
return;
FabrikInverseKinematic::solve(task, interpolation, use_magnet, magnet_position);
}
+
+#endif // _3D_DISABLED
diff --git a/scene/animation/skeleton_ik.h b/scene/animation/skeleton_ik.h
index 366c599c01..08fb00e798 100644
--- a/scene/animation/skeleton_ik.h
+++ b/scene/animation/skeleton_ik.h
@@ -31,6 +31,8 @@
#ifndef SKELETON_IK_H
#define SKELETON_IK_H
+#ifndef _3D_DISABLED
+
/**
* @author AndreaCatania
*/
@@ -209,4 +211,6 @@ private:
void _solve_chain();
};
+#endif // _3D_DISABLED
+
#endif // SKELETON_IK_H
diff --git a/scene/audio/audio_player.cpp b/scene/audio/audio_player.cpp
index 863b278b62..7a9f2bd8d0 100644
--- a/scene/audio/audio_player.cpp
+++ b/scene/audio/audio_player.cpp
@@ -192,6 +192,7 @@ float AudioStreamPlayer::get_volume_db() const {
}
void AudioStreamPlayer::set_pitch_scale(float p_pitch_scale) {
+ ERR_FAIL_COND(p_pitch_scale <= 0.0);
pitch_scale = p_pitch_scale;
}
float AudioStreamPlayer::get_pitch_scale() const {
diff --git a/scene/gui/base_button.cpp b/scene/gui/base_button.cpp
index acdbd9de08..d17ae1d84c 100644
--- a/scene/gui/base_button.cpp
+++ b/scene/gui/base_button.cpp
@@ -31,7 +31,6 @@
#include "base_button.h"
#include "os/keyboard.h"
-#include "print_string.h"
#include "scene/main/viewport.h"
#include "scene/scene_string_names.h"
@@ -361,7 +360,6 @@ BaseButton::DrawMode BaseButton::get_draw_mode() const {
return DRAW_DISABLED;
};
- //print_line("press attempt: "+itos(status.press_attempt)+" hover: "+itos(status.hovering)+" pressed: "+itos(status.pressed));
if (status.press_attempt == false && status.hovering && !status.pressed) {
return DRAW_HOVER;
diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp
index 03b25a138f..a34f2f1ad5 100644
--- a/scene/gui/button.cpp
+++ b/scene/gui/button.cpp
@@ -29,7 +29,6 @@
/*************************************************************************/
#include "button.h"
-#include "print_string.h"
#include "servers/visual_server.h"
#include "translation.h"
@@ -76,8 +75,6 @@ void Button::_notification(int p_what) {
Color color;
Color color_icon(1, 1, 1, 1);
- //print_line(get_text()+": "+itos(is_flat())+" hover "+itos(get_draw_mode()));
-
Ref<StyleBox> style = get_stylebox("normal");
switch (get_draw_mode()) {
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index 18f06eca31..e094a063be 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -357,7 +357,7 @@ void Control::_get_property_list(List<PropertyInfo> *p_list) const {
if (data.shader_override.has(E->get()))
hint |= PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_CHECKED;
- p_list->push_back(PropertyInfo(Variant::OBJECT, "custom_shaders/" + E->get(), PROPERTY_HINT_RESOURCE_TYPE, "CanvasItemShader,CanvasItemShaderGraph", hint));
+ p_list->push_back(PropertyInfo(Variant::OBJECT, "custom_shaders/" + E->get(), PROPERTY_HINT_RESOURCE_TYPE, "Shader,VisualShader", hint));
}
}
{
@@ -769,6 +769,7 @@ void Control::force_drag(const Variant &p_data, Control *p_control) {
void Control::set_drag_preview(Control *p_control) {
ERR_FAIL_COND(!is_inside_tree());
+ ERR_FAIL_COND(get_viewport()->gui_is_dragging());
get_viewport()->_gui_set_drag_preview(this, p_control);
}
diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp
index 25cb74a494..635f812805 100644
--- a/scene/gui/file_dialog.cpp
+++ b/scene/gui/file_dialog.cpp
@@ -582,7 +582,8 @@ void FileDialog::set_current_file(const String &p_file) {
int lp = p_file.find_last(".");
if (lp != -1) {
file->select(0, lp);
- file->grab_focus();
+ if (file->is_inside_tree())
+ file->grab_focus();
}
}
void FileDialog::set_current_path(const String &p_path) {
diff --git a/scene/gui/gradient_edit.cpp b/scene/gui/gradient_edit.cpp
index 749efe8364..e82c0c4ad1 100644
--- a/scene/gui/gradient_edit.cpp
+++ b/scene/gui/gradient_edit.cpp
@@ -147,7 +147,6 @@ void GradientEdit::_gui_input(const Ref<InputEvent> &p_event) {
grabbed = _get_point_from_pos(x);
//grab or select
if (grabbed != -1) {
- grabbed = false;
return;
}
diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp
index d95ec9e495..a7163adbe6 100644
--- a/scene/gui/graph_edit.cpp
+++ b/scene/gui/graph_edit.cpp
@@ -356,14 +356,14 @@ bool GraphEdit::_filter_input(const Point2 &p_point) {
for (int j = 0; j < gn->get_connection_output_count(); j++) {
Vector2 pos = gn->get_connection_output_position(j) + gn->get_position();
- if (create_hot_zone(pos).has_point(p_point))
+ if (is_in_hot_zone(pos, p_point))
return true;
}
for (int j = 0; j < gn->get_connection_input_count(); j++) {
Vector2 pos = gn->get_connection_input_position(j) + gn->get_position();
- if (create_hot_zone(pos).has_point(p_point)) {
+ if (is_in_hot_zone(pos, p_point)) {
return true;
}
}
@@ -388,7 +388,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
for (int j = 0; j < gn->get_connection_output_count(); j++) {
Vector2 pos = gn->get_connection_output_position(j) + gn->get_position();
- if (create_hot_zone(pos).has_point(mpos)) {
+ if (is_in_hot_zone(pos, mpos)) {
if (valid_left_disconnect_types.has(gn->get_connection_output_type(j))) {
//check disconnect
@@ -435,7 +435,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
for (int j = 0; j < gn->get_connection_input_count(); j++) {
Vector2 pos = gn->get_connection_input_position(j) + gn->get_position();
- if (create_hot_zone(pos).has_point(mpos)) {
+ if (is_in_hot_zone(pos, mpos)) {
if (right_disconnects || valid_right_disconnect_types.has(gn->get_connection_input_type(j))) {
//check disconnect
@@ -502,7 +502,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
Vector2 pos = gn->get_connection_output_position(j) + gn->get_position();
int type = gn->get_connection_output_type(j);
- if ((type == connecting_type || valid_connection_types.has(ConnType(type, connecting_type))) && create_hot_zone(pos).has_point(mpos)) {
+ if ((type == connecting_type || valid_connection_types.has(ConnType(type, connecting_type))) && is_in_hot_zone(pos, mpos)) {
connecting_target = true;
connecting_to = pos;
@@ -517,7 +517,7 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
Vector2 pos = gn->get_connection_input_position(j) + gn->get_position();
int type = gn->get_connection_input_type(j);
- if ((type == connecting_type || valid_connection_types.has(ConnType(type, connecting_type))) && create_hot_zone(pos).has_point(mpos)) {
+ if ((type == connecting_type || valid_connection_types.has(ConnType(type, connecting_type))) && is_in_hot_zone(pos, mpos)) {
connecting_target = true;
connecting_to = pos;
connecting_target_to = gn->get_name();
@@ -557,8 +557,55 @@ void GraphEdit::_top_layer_input(const Ref<InputEvent> &p_ev) {
}
}
-Rect2 GraphEdit::create_hot_zone(const Vector2 &pos) {
- return Rect2(pos.x - port_grab_distance_horizontal, pos.y - port_grab_distance_vertical, port_grab_distance_horizontal * 2, port_grab_distance_vertical * 2);
+bool GraphEdit::_check_clickable_control(Control *p_control, const Vector2 &pos) {
+
+ if (p_control->is_set_as_toplevel() || !p_control->is_visible())
+ return false;
+
+ if (!p_control->has_point(pos) || p_control->get_mouse_filter() == MOUSE_FILTER_IGNORE) {
+ //test children
+ for (int i = 0; i < p_control->get_child_count(); i++) {
+ Control *subchild = Object::cast_to<Control>(p_control->get_child(i));
+ if (!subchild)
+ continue;
+ if (_check_clickable_control(subchild, pos - subchild->get_position())) {
+ return true;
+ }
+ }
+
+ return false;
+ } else {
+ return true;
+ }
+}
+
+bool GraphEdit::is_in_hot_zone(const Vector2 &pos, const Vector2 &p_mouse_pos) {
+ if (!Rect2(pos.x - port_grab_distance_horizontal, pos.y - port_grab_distance_vertical, port_grab_distance_horizontal * 2, port_grab_distance_vertical * 2).has_point(p_mouse_pos))
+ return false;
+
+ for (int i = 0; i < get_child_count(); i++) {
+ Control *child = Object::cast_to<Control>(get_child(i));
+ if (!child)
+ continue;
+ Rect2 rect = child->get_rect();
+ if (rect.has_point(p_mouse_pos)) {
+
+ //check sub-controls
+ Vector2 subpos = p_mouse_pos - rect.position;
+
+ for (int j = 0; j < child->get_child_count(); j++) {
+ Control *subchild = Object::cast_to<Control>(child->get_child(j));
+ if (!subchild)
+ continue;
+
+ if (_check_clickable_control(subchild, subpos - subchild->get_position())) {
+ return false;
+ }
+ }
+ }
+ }
+
+ return true;
}
template <class Vector2>
diff --git a/scene/gui/graph_edit.h b/scene/gui/graph_edit.h
index 64ba18681e..31a449eb59 100644
--- a/scene/gui/graph_edit.h
+++ b/scene/gui/graph_edit.h
@@ -131,7 +131,7 @@ private:
GraphEditFilter *top_layer;
void _top_layer_input(const Ref<InputEvent> &p_ev);
- Rect2 create_hot_zone(const Vector2 &pos);
+ bool is_in_hot_zone(const Vector2 &pos, const Vector2 &p_mouse_pos);
void _top_layer_draw();
void _connections_layer_draw();
@@ -172,6 +172,8 @@ private:
void _snap_toggled();
void _snap_value_changed(double);
+ bool _check_clickable_control(Control *p_control, const Vector2 &pos);
+
protected:
static void _bind_methods();
virtual void add_child_notify(Node *p_child);
diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp
index 5c79741682..d61bd97c2a 100644
--- a/scene/gui/item_list.cpp
+++ b/scene/gui/item_list.cpp
@@ -1423,6 +1423,9 @@ void ItemList::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_item_custom_bg_color", "idx", "custom_bg_color"), &ItemList::set_item_custom_bg_color);
ClassDB::bind_method(D_METHOD("get_item_custom_bg_color", "idx"), &ItemList::get_item_custom_bg_color);
+ ClassDB::bind_method(D_METHOD("set_item_custom_fg_color", "idx", "custom_fg_color"), &ItemList::set_item_custom_fg_color);
+ ClassDB::bind_method(D_METHOD("get_item_custom_fg_color", "idx"), &ItemList::get_item_custom_fg_color);
+
ClassDB::bind_method(D_METHOD("set_item_tooltip_enabled", "idx", "enable"), &ItemList::set_item_tooltip_enabled);
ClassDB::bind_method(D_METHOD("is_item_tooltip_enabled", "idx"), &ItemList::is_item_tooltip_enabled);
diff --git a/scene/gui/link_button.cpp b/scene/gui/link_button.cpp
index d862e8669c..8560efdde5 100644
--- a/scene/gui/link_button.cpp
+++ b/scene/gui/link_button.cpp
@@ -68,8 +68,6 @@ void LinkButton::_notification(int p_what) {
Color color;
bool do_underline = false;
- //print_line(get_text()+": "+itos(is_flat())+" hover "+itos(get_draw_mode()));
-
switch (get_draw_mode()) {
case DRAW_NORMAL: {
diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp
index a3748bf14c..a5f9bea1b1 100644
--- a/scene/gui/rich_text_label.cpp
+++ b/scene/gui/rich_text_label.cpp
@@ -2034,7 +2034,6 @@ void RichTextLabel::selection_copy() {
if (text != "") {
OS::get_singleton()->set_clipboard(text);
- //print_line("COPY: "+text);
}
}
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 9a8dc62e4e..9616caa811 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -5692,15 +5692,12 @@ void TextEdit::_update_completion_candidates() {
bool pre_keyword = false;
bool cancel = false;
- //print_line("inquote: "+itos(inquote)+"first quote "+itos(first_quote)+" cofs-1 "+itos(cofs-1));
if (!inquote && first_quote == cofs - 1) {
//no completion here
- //print_line("cancel!");
cancel = true;
} else if (inquote && first_quote != -1) {
s = l.substr(first_quote, cofs - first_quote);
- //print_line("s: 1"+s);
} else if (cofs > 0 && l[cofs - 1] == ' ') {
int kofs = cofs - 1;
String kw;
@@ -5713,7 +5710,6 @@ void TextEdit::_update_completion_candidates() {
}
pre_keyword = keywords.has(kw);
- //print_line("KW "+kw+"? "+itos(pre_keyword));
} else {
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index d6a80bfb1a..e30f58e012 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -240,7 +240,7 @@ void Node::_propagate_enter_tree() {
void Node::_propagate_exit_tree() {
-//block while removing children
+ //block while removing children
#ifdef DEBUG_ENABLED
@@ -2082,9 +2082,7 @@ void Node::_duplicate_and_reown(Node *p_new_parent, const Map<Node *, Node *> &p
} else {
Object *obj = ClassDB::instance(get_class());
- if (!obj) {
- print_line("could not duplicate: " + String(get_class()));
- }
+ ERR_EXPLAIN("Node: Could not duplicate: " + String(get_class()));
ERR_FAIL_COND(!obj);
node = Object::cast_to<Node>(obj);
if (!node)
@@ -2179,9 +2177,7 @@ Node *Node::duplicate_and_reown(const Map<Node *, Node *> &p_reown_map) const {
Node *node = NULL;
Object *obj = ClassDB::instance(get_class());
- if (!obj) {
- print_line("could not duplicate: " + String(get_class()));
- }
+ ERR_EXPLAIN("Node: Could not duplicate: " + String(get_class()));
ERR_FAIL_COND_V(!obj, NULL);
node = Object::cast_to<Node>(obj);
if (!node)
@@ -2472,7 +2468,7 @@ static void _Node_debug_sn(Object *p_obj) {
path = n->get_name();
else
path = String(p->get_name()) + "/" + p->get_path_to(n);
- print_line(itos(p_obj->get_instance_id()) + "- Stray Node: " + path + " (Type: " + n->get_class() + ")");
+ print_line(itos(p_obj->get_instance_id()) + " - Stray Node: " + path + " (Type: " + n->get_class() + ")");
}
void Node::_print_stray_nodes() {
diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp
index e99f785848..1d23650a1e 100644
--- a/scene/main/scene_tree.cpp
+++ b/scene/main/scene_tree.cpp
@@ -1195,8 +1195,6 @@ void SceneTree::_update_root_rect() {
VisualServer::get_singleton()->black_bars_set_margins(0, 0, 0, 0);
}
- //print_line("VP SIZE: "+viewport_size+" OFFSET: "+offset+" = "+(offset*2+viewport_size));
- //print_line("SS: "+video_mode);
switch (stretch_mode) {
case STRETCH_MODE_2D: {
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index e43c2da02d..d1b3eb9d9a 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -185,6 +185,7 @@ public:
Viewport::GUI::GUI() {
+ dragging = false;
mouse_focus = NULL;
mouse_click_grabber = NULL;
mouse_focus_button = -1;
@@ -444,7 +445,7 @@ void Viewport::_notification(int p_what) {
Vector2 point = get_canvas_transform().affine_inverse().xform(pos);
Physics2DDirectSpaceState::ShapeResult res[64];
- int rc = ss2d->intersect_point(point, res, 64, Set<RID>(), 0xFFFFFFFF, true);
+ int rc = ss2d->intersect_point(point, res, 64, Set<RID>(), 0xFFFFFFFF, true, true, true);
for (int i = 0; i < rc; i++) {
if (res[i].collider_id && res[i].collider) {
@@ -527,7 +528,7 @@ void Viewport::_notification(int p_what) {
PhysicsDirectSpaceState *space = PhysicsServer::get_singleton()->space_get_direct_state(find_world()->get_space());
if (space) {
- bool col = space->intersect_ray(from, from + dir * 10000, result, Set<RID>(), 0xFFFFFFFF, true);
+ bool col = space->intersect_ray(from, from + dir * 10000, result, Set<RID>(), 0xFFFFFFFF, true, true, true);
ObjectID new_collider = 0;
if (col) {
@@ -563,7 +564,7 @@ void Viewport::_notification(int p_what) {
PhysicsDirectSpaceState *space = PhysicsServer::get_singleton()->space_get_direct_state(find_world()->get_space());
if (space) {
- bool col = space->intersect_ray(from, from + dir * 10000, result, Set<RID>(), 0xFFFFFFFF, true);
+ bool col = space->intersect_ray(from, from + dir * 10000, result, Set<RID>(), 0xFFFFFFFF, true, true, true);
ObjectID new_collider = 0;
if (col) {
CollisionObject *co = Object::cast_to<CollisionObject>(result.collider);
@@ -1506,12 +1507,6 @@ Control *Viewport::_gui_find_control_at_pos(CanvasItem *p_node, const Point2 &p_
if (Object::cast_to<Viewport>(p_node))
return NULL;
- Control *c = Object::cast_to<Control>(p_node);
-
- if (c) {
- //print_line("at "+String(c->get_path())+" POS "+c->get_position()+" bt "+p_xform);
- }
-
//subwindows first!!
if (!p_node->is_visible()) {
@@ -1524,6 +1519,8 @@ Control *Viewport::_gui_find_control_at_pos(CanvasItem *p_node, const Point2 &p_
if (matrix.basis_determinant() == 0.0f)
return NULL;
+ Control *c = Object::cast_to<Control>(p_node);
+
if (!c || !c->clips_input() || c->has_point(matrix.affine_inverse().xform(p_global))) {
for (int i = p_node->get_child_count() - 1; i >= 0; i--) {
@@ -1654,7 +1651,6 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
*/
gui.mouse_focus = _gui_find_control(pos);
- //print_line("has mf "+itos(gui.mouse_focus!=NULL));
gui.mouse_focus_button = mb->get_button_index();
if (!gui.mouse_focus) {
@@ -1683,11 +1679,6 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
arr.push_back(gui.mouse_focus->get_class());
ScriptDebugger::get_singleton()->send_message("click_ctrl", arr);
}
-
-/*if (bool(GLOBAL_DEF("debug/print_clicked_control",false))) {
-
- print_line(String(gui.mouse_focus->get_path())+" - "+pos);
- }*/
#endif
if (mb->get_button_index() == BUTTON_LEFT) { //assign focus
@@ -1728,6 +1719,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
}
gui.drag_data = Variant();
+ gui.dragging = false;
if (gui.drag_preview) {
memdelete(gui.drag_preview);
@@ -1757,6 +1749,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
}
gui.drag_data = Variant();
+ gui.dragging = false;
_propagate_viewport_notification(this, NOTIFICATION_DRAG_END);
//change mouse accordingly
}
@@ -1819,10 +1812,13 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
Control *control = Object::cast_to<Control>(ci);
if (control) {
+ gui.dragging = true;
gui.drag_data = control->get_drag_data(control->get_global_transform_with_canvas().affine_inverse().xform(mpos) - gui.drag_accum);
if (gui.drag_data.get_type() != Variant::NIL) {
gui.mouse_focus = NULL;
+ } else {
+ gui.dragging = false;
}
if (control->data.mouse_filter == Control::MOUSE_FILTER_STOP)
@@ -2262,6 +2258,7 @@ void Viewport::_gui_force_drag(Control *p_base, const Variant &p_data, Control *
ERR_EXPLAIN("Drag data must be a value");
ERR_FAIL_COND(p_data.get_type() == Variant::NIL);
+ gui.dragging = true;
gui.drag_data = p_data;
gui.mouse_focus = NULL;
@@ -2701,6 +2698,9 @@ bool Viewport::is_snap_controls_to_pixels_enabled() const {
return snap_controls_to_pixels;
}
+bool Viewport::gui_is_dragging() const {
+ return gui.dragging;
+}
void Viewport::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_use_arvr", "use"), &Viewport::set_use_arvr);
@@ -2787,6 +2787,7 @@ void Viewport::_bind_methods() {
ClassDB::bind_method(D_METHOD("gui_has_modal_stack"), &Viewport::gui_has_modal_stack);
ClassDB::bind_method(D_METHOD("gui_get_drag_data"), &Viewport::gui_get_drag_data);
+ ClassDB::bind_method(D_METHOD("gui_is_dragging"), &Viewport::gui_is_dragging);
ClassDB::bind_method(D_METHOD("set_disable_input", "disable"), &Viewport::set_disable_input);
ClassDB::bind_method(D_METHOD("is_input_disabled"), &Viewport::is_input_disabled);
diff --git a/scene/main/viewport.h b/scene/main/viewport.h
index e4ef373c77..450f235b79 100644
--- a/scene/main/viewport.h
+++ b/scene/main/viewport.h
@@ -274,6 +274,7 @@ private:
bool roots_order_dirty;
List<Control *> roots;
int canvas_sort_index; //for sorting items with canvas as root
+ bool dragging;
GUI();
} gui;
@@ -474,6 +475,8 @@ public:
void _subwindow_visibility_changed();
+ bool gui_is_dragging() const;
+
Viewport();
~Viewport();
};
diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp
index 382bddfb4e..3d837d4468 100644
--- a/scene/register_scene_types.cpp
+++ b/scene/register_scene_types.cpp
@@ -51,7 +51,6 @@
#include "scene/2d/parallax_background.h"
#include "scene/2d/parallax_layer.h"
#include "scene/2d/particles_2d.h"
-
#include "scene/2d/path_2d.h"
#include "scene/2d/physics_body_2d.h"
#include "scene/2d/polygon_2d.h"
@@ -151,7 +150,6 @@
#include "scene/resources/rectangle_shape_2d.h"
#include "scene/resources/scene_format_text.h"
#include "scene/resources/segment_shape_2d.h"
-#include "scene/resources/shader_graph.h"
#include "scene/resources/shape_line_2d.h"
#include "scene/resources/sky_box.h"
#include "scene/resources/sphere_shape.h"
@@ -201,6 +199,7 @@
#include "scene/3d/room_instance.h"
#include "scene/3d/skeleton.h"
#include "scene/3d/soft_body.h"
+#include "scene/3d/spring_arm.h"
#include "scene/3d/sprite_3d.h"
#include "scene/3d/vehicle_body.h"
#include "scene/3d/visibility_notifier.h"
@@ -366,17 +365,16 @@ void register_scene_types() {
ClassDB::register_class<Spatial>();
ClassDB::register_virtual_class<SpatialGizmo>();
ClassDB::register_class<Skeleton>();
- ClassDB::register_class<SkeletonIK>();
ClassDB::register_class<AnimationPlayer>();
ClassDB::register_class<Tween>();
OS::get_singleton()->yield(); //may take time to init
#ifndef _3D_DISABLED
- ClassDB::register_class<BoneAttachment>();
ClassDB::register_virtual_class<VisualInstance>();
ClassDB::register_virtual_class<GeometryInstance>();
ClassDB::register_class<Camera>();
+ ClassDB::register_class<ClippedCamera>();
ClassDB::register_class<Listener>();
ClassDB::register_class<ARVRCamera>();
ClassDB::register_class<ARVRController>();
@@ -415,6 +413,8 @@ void register_scene_types() {
ClassDB::register_class<AnimationNodeBlendSpace1D>();
ClassDB::register_class<AnimationNodeBlendSpace2D>();
ClassDB::register_class<AnimationNodeStateMachine>();
+ ClassDB::register_class<AnimationNodeStateMachinePlayback>();
+
ClassDB::register_class<AnimationNodeStateMachineTransition>();
ClassDB::register_class<AnimationNodeOutput>();
ClassDB::register_class<AnimationNodeOneShot>();
@@ -435,9 +435,14 @@ void register_scene_types() {
ClassDB::register_class<RigidBody>();
ClassDB::register_class<KinematicCollision>();
ClassDB::register_class<KinematicBody>();
+ ClassDB::register_class<SpringArm>();
+
ClassDB::register_class<PhysicalBone>();
ClassDB::register_class<SoftBody>();
+ ClassDB::register_class<SkeletonIK>();
+ ClassDB::register_class<BoneAttachment>();
+
ClassDB::register_class<VehicleBody>();
ClassDB::register_class<VehicleWheel>();
ClassDB::register_class<Area>();
diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp
index 7041b62487..58e6db3f5e 100644
--- a/scene/resources/animation.cpp
+++ b/scene/resources/animation.cpp
@@ -2906,8 +2906,6 @@ bool Animation::_transform_track_optimize_key(const TKey<TransformKey> &t0, cons
//able to optimize more
erase = false;
} else {
-
- //print_line(itos(i)+"because of interp");
}
}
}
diff --git a/scene/resources/bit_mask.cpp b/scene/resources/bit_mask.cpp
index 39206ed043..5694099754 100644
--- a/scene/resources/bit_mask.cpp
+++ b/scene/resources/bit_mask.cpp
@@ -492,18 +492,14 @@ static void fill_bits(const BitMap *p_src, Ref<BitMap> &p_map, const Point2i &p_
}
} while (reenter || popped);
-#ifdef DEBUG_ENABLED
- print_line("max stack size: " + itos(stack.size()));
-#endif
+ print_verbose("BitMap: Max stack size: " + itos(stack.size()));
}
Vector<Vector<Vector2> > BitMap::clip_opaque_to_polygons(const Rect2 &p_rect, float p_epsilon) const {
Rect2i r = Rect2i(0, 0, width, height).clip(p_rect);
+ print_verbose("BitMap: Rect: " + r);
-#ifdef DEBUG_ENABLED
- print_line("Rect: " + r);
-#endif
Point2i from;
Ref<BitMap> fill;
fill.instance();
@@ -515,13 +511,9 @@ Vector<Vector<Vector2> > BitMap::clip_opaque_to_polygons(const Rect2 &p_rect, fl
if (!fill->get_bit(Point2(j, i)) && get_bit(Point2(j, i))) {
Vector<Vector2> polygon = _march_square(r, Point2i(j, i));
-#ifdef DEBUG_ENABLED
- print_line("pre reduce: " + itos(polygon.size()));
-#endif
+ print_verbose("BitMap: Pre reduce: " + itos(polygon.size()));
polygon = reduce(polygon, r, p_epsilon);
-#ifdef DEBUG_ENABLED
- print_line("post reduce: " + itos(polygon.size()));
-#endif
+ print_verbose("BitMap: Post reduce: " + itos(polygon.size()));
polygons.push_back(polygon);
fill_bits(this, fill, Point2i(j, i), r);
}
diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp
index 2f2abd4e08..c536f9c1d2 100644
--- a/scene/resources/dynamic_font.cpp
+++ b/scene/resources/dynamic_font.cpp
@@ -435,8 +435,6 @@ DynamicFontAtSize::TexturePosition DynamicFontAtSize::_find_texture_pos_for_glyp
break;
}
- //print_line("CHAR: "+String::chr(p_char)+" TEX INDEX: "+itos(tex_index)+" X: "+itos(tex_x)+" Y: "+itos(tex_y));
-
if (ret.index == -1) {
//could not find texture to fit, create one
ret.x = 0;
diff --git a/scene/resources/dynamic_font_stb.cpp b/scene/resources/dynamic_font_stb.cpp
index 29f1106d16..be394e19c4 100644
--- a/scene/resources/dynamic_font_stb.cpp
+++ b/scene/resources/dynamic_font_stb.cpp
@@ -214,7 +214,6 @@ void DynamicFontAtSize::_update_char(CharType p_char) {
int advance;
stbtt_GetCodepointHMetrics(&font->info, p_char, &advance, 0);
- //print_line("char has no bitmap: "+itos(p_char)+" but advance is "+itos(advance*scale));
Character ch;
ch.texture_idx = -1;
ch.advance = advance * scale;
@@ -279,8 +278,6 @@ void DynamicFontAtSize::_update_char(CharType p_char) {
break;
}
- //print_line("CHAR: "+String::chr(p_char)+" TEX INDEX: "+itos(tex_index)+" X: "+itos(tex_x)+" Y: "+itos(tex_y));
-
if (tex_index == -1) {
//could not find texture to fit, create one
tex_x = 0;
@@ -364,8 +361,6 @@ void DynamicFontAtSize::_update_char(CharType p_char) {
chr.rect = Rect2(tex_x + rect_margin, tex_y + rect_margin, w, h);
- //print_line("CHAR: "+String::chr(p_char)+" TEX INDEX: "+itos(tex_index)+" RECT: "+chr.rect+" X OFS: "+itos(xofs)+" Y OFS: "+itos(yofs));
-
char_map[p_char] = chr;
stbtt_FreeBitmap(cpbitmap, NULL);
diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp
index 875b72159a..b6d1916b2c 100644
--- a/scene/resources/material.cpp
+++ b/scene/resources/material.cpp
@@ -34,6 +34,8 @@
void Material::set_next_pass(const Ref<Material> &p_pass) {
+ ERR_FAIL_COND(p_pass == this);
+
if (next_pass == p_pass)
return;
@@ -398,8 +400,10 @@ void SpatialMaterial::_update_shader() {
if (flags[FLAG_USE_VERTEX_LIGHTING]) {
code += ",vertex_lighting";
}
+ bool using_world = false;
if (flags[FLAG_TRIPLANAR_USE_WORLD] && (flags[FLAG_UV1_USE_TRIPLANAR] || flags[FLAG_UV2_USE_TRIPLANAR])) {
code += ",world_vertex_coords";
+ using_world = true;
}
if (flags[FLAG_DONT_RECEIVE_SHADOWS]) {
code += ",shadows_disabled";
@@ -423,7 +427,7 @@ void SpatialMaterial::_update_shader() {
if (proximity_fade_enabled) {
code += "uniform float proximity_fade_distance;\n";
}
- if (distance_fade_enabled) {
+ if (distance_fade != DISTANCE_FADE_DISABLED) {
code += "uniform float distance_fade_min;\n";
code += "uniform float distance_fade_max;\n";
}
@@ -782,7 +786,7 @@ void SpatialMaterial::_update_shader() {
code += "\tALBEDO *= 1.0 - ref_amount;\n";
code += "\tALPHA = 1.0;\n";
- } else if (features[FEATURE_TRANSPARENT] || flags[FLAG_USE_ALPHA_SCISSOR] || distance_fade_enabled || proximity_fade_enabled) {
+ } else if (features[FEATURE_TRANSPARENT] || flags[FLAG_USE_ALPHA_SCISSOR] || (distance_fade == DISTANCE_FADE_PIXEL_ALPHA) || proximity_fade_enabled) {
code += "\tALPHA = albedo.a * albedo_tex.a;\n";
}
@@ -793,8 +797,47 @@ void SpatialMaterial::_update_shader() {
code += "\tALPHA*=clamp(1.0-smoothstep(world_pos.z+proximity_fade_distance,world_pos.z,VERTEX.z),0.0,1.0);\n";
}
- if (distance_fade_enabled) {
- code += "\tALPHA*=clamp(smoothstep(distance_fade_min,distance_fade_max,-VERTEX.z),0.0,1.0);\n";
+ if (distance_fade != DISTANCE_FADE_DISABLED) {
+ if (distance_fade == DISTANCE_FADE_OBJECT_DITHER || distance_fade == DISTANCE_FADE_PIXEL_DITHER) {
+
+ code += "\t{\n";
+ if (distance_fade == DISTANCE_FADE_OBJECT_DITHER) {
+ code += "\t\tfloat fade_distance = abs((INV_CAMERA_MATRIX * WORLD_MATRIX[3]).z);\n";
+
+ } else {
+ code += "\t\tfloat fade_distance=-VERTEX.z;\n";
+ }
+
+ code += "\t\tfloat fade=clamp(smoothstep(distance_fade_min,distance_fade_max,fade_distance),0.0,1.0);\n";
+ code += "\t\tint x = int(FRAGCOORD.x) % 4;\n";
+ code += "\t\tint y = int(FRAGCOORD.y) % 4;\n";
+ code += "\t\tint index = x + y * 4;\n";
+ code += "\t\tfloat limit = 0.0;\n\n";
+ code += "\t\tif (x < 8) {\n";
+ code += "\t\t\tif (index == 0) limit = 0.0625;\n";
+ code += "\t\t\tif (index == 1) limit = 0.5625;\n";
+ code += "\t\t\tif (index == 2) limit = 0.1875;\n";
+ code += "\t\t\tif (index == 3) limit = 0.6875;\n";
+ code += "\t\t\tif (index == 4) limit = 0.8125;\n";
+ code += "\t\t\tif (index == 5) limit = 0.3125;\n";
+ code += "\t\t\tif (index == 6) limit = 0.9375;\n";
+ code += "\t\t\tif (index == 7) limit = 0.4375;\n";
+ code += "\t\t\tif (index == 8) limit = 0.25;\n";
+ code += "\t\t\tif (index == 9) limit = 0.75;\n";
+ code += "\t\t\tif (index == 10) limit = 0.125;\n";
+ code += "\t\t\tif (index == 11) limit = 0.625;\n";
+ code += "\t\t\tif (index == 12) limit = 1.0;\n";
+ code += "\t\t\tif (index == 13) limit = 0.5;\n";
+ code += "\t\t\tif (index == 14) limit = 0.875;\n";
+ code += "\t\t\tif (index == 15) limit = 0.375;\n";
+ code += "\t\t}\n\n";
+ code += "\tif (fade < limit)\n";
+ code += "\t\tdiscard;\n";
+ code += "\t}\n\n";
+
+ } else {
+ code += "\tALPHA*=clamp(smoothstep(distance_fade_min,distance_fade_max,-VERTEX.z),0.0,1.0);\n";
+ }
}
if (features[FEATURE_RIM]) {
@@ -1324,7 +1367,7 @@ void SpatialMaterial::_validate_property(PropertyInfo &property) const {
property.usage = 0;
}
- if ((property.name == "distance_fade_max_distance" || property.name == "distance_fade_min_distance") && !distance_fade_enabled) {
+ if ((property.name == "distance_fade_max_distance" || property.name == "distance_fade_min_distance") && distance_fade == DISTANCE_FADE_DISABLED) {
property.usage = 0;
}
@@ -1645,15 +1688,15 @@ float SpatialMaterial::get_proximity_fade_distance() const {
return proximity_fade_distance;
}
-void SpatialMaterial::set_distance_fade(bool p_enable) {
+void SpatialMaterial::set_distance_fade(DistanceFadeMode p_mode) {
- distance_fade_enabled = p_enable;
+ distance_fade = p_mode;
_queue_shader_change();
_change_notify();
}
-bool SpatialMaterial::is_distance_fade_enabled() const {
+SpatialMaterial::DistanceFadeMode SpatialMaterial::get_distance_fade() const {
- return distance_fade_enabled;
+ return distance_fade;
}
void SpatialMaterial::set_distance_fade_max_distance(float p_distance) {
@@ -1859,8 +1902,8 @@ void SpatialMaterial::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_proximity_fade_distance", "distance"), &SpatialMaterial::set_proximity_fade_distance);
ClassDB::bind_method(D_METHOD("get_proximity_fade_distance"), &SpatialMaterial::get_proximity_fade_distance);
- ClassDB::bind_method(D_METHOD("set_distance_fade", "enabled"), &SpatialMaterial::set_distance_fade);
- ClassDB::bind_method(D_METHOD("is_distance_fade_enabled"), &SpatialMaterial::is_distance_fade_enabled);
+ ClassDB::bind_method(D_METHOD("set_distance_fade", "mode"), &SpatialMaterial::set_distance_fade);
+ ClassDB::bind_method(D_METHOD("get_distance_fade"), &SpatialMaterial::get_distance_fade);
ClassDB::bind_method(D_METHOD("set_distance_fade_max_distance", "distance"), &SpatialMaterial::set_distance_fade_max_distance);
ClassDB::bind_method(D_METHOD("get_distance_fade_max_distance"), &SpatialMaterial::get_distance_fade_max_distance);
@@ -1892,7 +1935,7 @@ void SpatialMaterial::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::INT, "params_depth_draw_mode", PROPERTY_HINT_ENUM, "Opaque Only,Always,Never,Opaque Pre-Pass"), "set_depth_draw_mode", "get_depth_draw_mode");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "params_line_width", PROPERTY_HINT_RANGE, "0.1,128,0.1"), "set_line_width", "get_line_width");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "params_point_size", PROPERTY_HINT_RANGE, "0.1,128,0.1"), "set_point_size", "get_point_size");
- ADD_PROPERTY(PropertyInfo(Variant::INT, "params_billboard_mode", PROPERTY_HINT_ENUM, "Disabled,Enabled,Y-Billboard,Particle Billboard1"), "set_billboard_mode", "get_billboard_mode");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "params_billboard_mode", PROPERTY_HINT_ENUM, "Disabled,Enabled,Y-Billboard,Particle Billboard"), "set_billboard_mode", "get_billboard_mode");
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "params_billboard_keep_scale"), "set_flag", "get_flag", FLAG_BILLBOARD_KEEP_SCALE);
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "params_grow"), "set_grow_enabled", "is_grow_enabled");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "params_grow_amount", PROPERTY_HINT_RANGE, "-16,10,0.01"), "set_grow", "get_grow");
@@ -2003,7 +2046,7 @@ void SpatialMaterial::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "proximity_fade_enable"), "set_proximity_fade", "is_proximity_fade_enabled");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "proximity_fade_distance", PROPERTY_HINT_RANGE, "0,4096,0.1"), "set_proximity_fade_distance", "get_proximity_fade_distance");
ADD_GROUP("Distance Fade", "distance_fade_");
- ADD_PROPERTY(PropertyInfo(Variant::BOOL, "distance_fade_enable"), "set_distance_fade", "is_distance_fade_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "distance_fade_mode", PROPERTY_HINT_ENUM, "Disabled,PixelAlpha,PixelDither,ObjectDither"), "set_distance_fade", "get_distance_fade");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "distance_fade_min_distance", PROPERTY_HINT_RANGE, "0,4096,0.1"), "set_distance_fade_min_distance", "get_distance_fade_min_distance");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "distance_fade_max_distance", PROPERTY_HINT_RANGE, "0,4096,0.1"), "set_distance_fade_max_distance", "get_distance_fade_max_distance");
@@ -2101,6 +2144,11 @@ void SpatialMaterial::_bind_methods() {
BIND_ENUM_CONSTANT(EMISSION_OP_ADD);
BIND_ENUM_CONSTANT(EMISSION_OP_MULTIPLY);
+
+ BIND_ENUM_CONSTANT(DISTANCE_FADE_DISABLED);
+ BIND_ENUM_CONSTANT(DISTANCE_FADE_PIXEL_ALPHA);
+ BIND_ENUM_CONSTANT(DISTANCE_FADE_PIXEL_DITHER);
+ BIND_ENUM_CONSTANT(DISTANCE_FADE_OBJECT_DITHER);
}
SpatialMaterial::SpatialMaterial() :
@@ -2139,7 +2187,7 @@ SpatialMaterial::SpatialMaterial() :
emission_op = EMISSION_OP_ADD;
proximity_fade_enabled = false;
- distance_fade_enabled = false;
+ distance_fade = DISTANCE_FADE_DISABLED;
set_proximity_fade_distance(1);
set_distance_fade_min_distance(0);
set_distance_fade_max_distance(10);
diff --git a/scene/resources/material.h b/scene/resources/material.h
index 7a1a4acfbf..f43d240a53 100644
--- a/scene/resources/material.h
+++ b/scene/resources/material.h
@@ -233,6 +233,13 @@ public:
EMISSION_OP_MULTIPLY
};
+ enum DistanceFadeMode {
+ DISTANCE_FADE_DISABLED,
+ DISTANCE_FADE_PIXEL_ALPHA,
+ DISTANCE_FADE_PIXEL_DITHER,
+ DISTANCE_FADE_OBJECT_DITHER,
+ };
+
private:
union MaterialKey {
@@ -251,7 +258,7 @@ private:
uint64_t billboard_mode : 2;
uint64_t grow : 1;
uint64_t proximity_fade : 1;
- uint64_t distance_fade : 1;
+ uint64_t distance_fade : 2;
uint64_t emission_op : 1;
};
@@ -296,7 +303,7 @@ private:
mk.deep_parallax = deep_parallax ? 1 : 0;
mk.grow = grow_enabled;
mk.proximity_fade = proximity_fade_enabled;
- mk.distance_fade = distance_fade_enabled;
+ mk.distance_fade = distance_fade;
mk.emission_op = emission_op;
return mk;
@@ -402,7 +409,7 @@ private:
bool proximity_fade_enabled;
float proximity_fade_distance;
- bool distance_fade_enabled;
+ DistanceFadeMode distance_fade;
float distance_fade_max_distance;
float distance_fade_min_distance;
@@ -583,8 +590,8 @@ public:
void set_proximity_fade_distance(float p_distance);
float get_proximity_fade_distance() const;
- void set_distance_fade(bool p_enable);
- bool is_distance_fade_enabled() const;
+ void set_distance_fade(DistanceFadeMode p_mode);
+ DistanceFadeMode get_distance_fade() const;
void set_distance_fade_max_distance(float p_distance);
float get_distance_fade_max_distance() const;
@@ -630,6 +637,7 @@ VARIANT_ENUM_CAST(SpatialMaterial::SpecularMode)
VARIANT_ENUM_CAST(SpatialMaterial::BillboardMode)
VARIANT_ENUM_CAST(SpatialMaterial::TextureChannel)
VARIANT_ENUM_CAST(SpatialMaterial::EmissionOperator)
+VARIANT_ENUM_CAST(SpatialMaterial::DistanceFadeMode)
//////////////////////
diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp
index 4e6004709e..042cf28fec 100644
--- a/scene/resources/mesh.cpp
+++ b/scene/resources/mesh.cpp
@@ -1241,7 +1241,7 @@ Error ArrayMesh::lightmap_unwrap(const Transform &p_base_transform, float p_texe
surfaces_tools.push_back(st); //stay there
}
- print_line("gen indices: " + itos(gen_index_count));
+ print_verbose("Mesh: Gen indices: " + itos(gen_index_count));
//go through all indices
for (int i = 0; i < gen_index_count; i += 3) {
@@ -1334,7 +1334,7 @@ void ArrayMesh::_bind_methods() {
ClassDB::set_method_flags(get_class_static(), _scs_create("center_geometry"), METHOD_FLAGS_DEFAULT | METHOD_FLAG_EDITOR);
ClassDB::bind_method(D_METHOD("regen_normalmaps"), &ArrayMesh::regen_normalmaps);
ClassDB::set_method_flags(get_class_static(), _scs_create("regen_normalmaps"), METHOD_FLAGS_DEFAULT | METHOD_FLAG_EDITOR);
- ClassDB::bind_method(D_METHOD("lightmap_unwrap"), &ArrayMesh::lightmap_unwrap);
+ ClassDB::bind_method(D_METHOD("lightmap_unwrap", "transform", "texel_size"), &ArrayMesh::lightmap_unwrap);
ClassDB::set_method_flags(get_class_static(), _scs_create("lightmap_unwrap"), METHOD_FLAGS_DEFAULT | METHOD_FLAG_EDITOR);
ClassDB::bind_method(D_METHOD("get_faces"), &ArrayMesh::get_faces);
ClassDB::bind_method(D_METHOD("generate_triangle_mesh"), &ArrayMesh::generate_triangle_mesh);
diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp
index 07783d5f4a..f034e07ff9 100644
--- a/scene/resources/packed_scene.cpp
+++ b/scene/resources/packed_scene.cpp
@@ -106,7 +106,6 @@ Node *SceneState::instance(GenEditState p_edit_state) const {
if (i == 0 && base_scene_idx >= 0) {
//scene inheritance on root node
- //print_line("scene inherit");
Ref<PackedScene> sdata = props[base_scene_idx];
ERR_FAIL_COND_V(!sdata.is_valid(), NULL);
node = sdata->instance(p_edit_state == GEN_EDIT_STATE_DISABLED ? PackedScene::GEN_EDIT_STATE_DISABLED : PackedScene::GEN_EDIT_STATE_INSTANCE); //only main gets main edit state
@@ -117,7 +116,6 @@ Node *SceneState::instance(GenEditState p_edit_state) const {
} else if (n.instance >= 0) {
//instance a scene into this node
- //print_line("instance");
if (n.instance & FLAG_INSTANCE_IS_PLACEHOLDER) {
String path = props[n.instance & FLAG_MASK];
@@ -141,7 +139,6 @@ Node *SceneState::instance(GenEditState p_edit_state) const {
}
} else if (n.type == TYPE_INSTANCED) {
- //print_line("instanced");
//get the node from somewhere, it likely already exists from another instance
if (parent) {
node = parent->_get_child_by_name(snames[n.name]);
@@ -152,7 +149,6 @@ Node *SceneState::instance(GenEditState p_edit_state) const {
#endif
}
} else if (ClassDB::is_class_enabled(snames[n.type])) {
- //print_line("created");
//node belongs to this scene and must be created
Object *obj = ClassDB::instance(snames[n.type]);
if (!Object::cast_to<Node>(obj)) {
@@ -491,15 +487,6 @@ Error SceneState::_parse_node(Node *p_owner, Node *p_node, int p_parent_idx, Map
if (E->get().usage & PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE) {
isdefault = true; //is script default value
}
- /*
- if (nd.instance<0 && ((E->get().usage & PROPERTY_USAGE_STORE_IF_NONZERO) && value.is_zero()) || ((E->get().usage & PROPERTY_USAGE_STORE_IF_NONONE) && value.is_one())) {
- continue;
- }
- */
-
- //print_line("PASSED!");
- //print_line("at: "+String(p_node->get_name())+"::"+name+": - nz: "+itos(E->get().usage&PROPERTY_USAGE_STORE_IF_NONZERO)+" no: "+itos(E->get().usage&PROPERTY_USAGE_STORE_IF_NONONE));
- //print_line("value: "+String(value)+" is zero: "+itos(value.is_zero())+" is one" +itos(value.is_one()));
if (pack_state_stack.size()) {
// we are on part of an instanced subscene
diff --git a/scene/resources/physics_material.h b/scene/resources/physics_material.h
index dfe48d94cf..c69e44a7da 100644
--- a/scene/resources/physics_material.h
+++ b/scene/resources/physics_material.h
@@ -37,7 +37,7 @@ class PhysicsMaterial : public Resource {
GDCLASS(PhysicsMaterial, Resource);
OBJ_SAVE_TYPE(PhysicsMaterial);
- RES_BASE_EXTENSION("PhyMat");
+ RES_BASE_EXTENSION("phymat");
real_t friction;
bool rough;
diff --git a/scene/resources/shader_graph.cpp b/scene/resources/shader_graph.cpp
deleted file mode 100644
index 070cc84863..0000000000
--- a/scene/resources/shader_graph.cpp
+++ /dev/null
@@ -1,2596 +0,0 @@
-/*************************************************************************/
-/* shader_graph.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2018 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 "shader_graph.h"
-
-#include "scene/scene_string_names.h"
-
-// FIXME: Needs to be ported to the new 3.0 shader API
-#if 0
-Array ShaderGraph::_get_node_list(ShaderType p_type) const {
-
- List<int> nodes;
- get_node_list(p_type,&nodes);
- Array arr(true);
- for (List<int>::Element *E=nodes.front();E;E=E->next())
- arr.push_back(E->get());
- return arr;
-}
-Array ShaderGraph::_get_connections(ShaderType p_type) const {
-
- List<Connection> connections;
- get_node_connections(p_type,&connections);
- Array arr(true);
- for (List<Connection>::Element *E=connections.front();E;E=E->next()) {
-
- Dictionary d(true);
- d["src_id"]=E->get().src_id;
- d["src_slot"]=E->get().src_slot;
- d["dst_id"]=E->get().dst_id;
- d["dst_slot"]=E->get().dst_slot;
- arr.push_back(d);
-
- }
- return arr;
-}
-
-void ShaderGraph::_set_data(const Dictionary &p_data) {
-
- Dictionary d=p_data;
- ERR_FAIL_COND(!d.has("shaders"));
- Array sh=d["shaders"];
- ERR_FAIL_COND(sh.size()!=3);
-
- for(int t=0;t<3;t++) {
- Array data=sh[t];
- ERR_FAIL_COND((data.size()%6)!=0);
- shader[t].node_map.clear();
- for(int i=0;i<data.size();i+=6) {
-
- Node n;
- n.id=data[i+0];
- n.type=NodeType(int(data[i+1]));
- n.pos=data[i+2];
- n.param1=data[i+3];
- n.param2=data[i+4];
-
- Array conns=data[i+5];
- ERR_FAIL_COND((conns.size()%3)!=0);
-
- for(int j=0;j<conns.size();j+=3) {
- SourceSlot ss;
- int ls=conns[j+0];
- if (ls == SLOT_DEFAULT_VALUE) {
- n.defaults[conns[j+1]]=conns[j+2];
- } else {
- ss.id=conns[j+1];
- ss.slot=conns[j+2];
- n.connections[ls]=ss;
- }
- }
- shader[t].node_map[n.id]=n;
-
- }
- }
-
- _pending_update_shader=true;
- _update_shader();
-
-}
-
-Dictionary ShaderGraph::_get_data() const {
-
- Array sh;
- for(int i=0;i<3;i++) {
- Array data;
- int ec = shader[i].node_map.size();
- data.resize(ec*6);
- int idx=0;
- for (Map<int,Node>::Element*E=shader[i].node_map.front();E;E=E->next()) {
-
- data[idx+0]=E->key();
- data[idx+1]=E->get().type;
- data[idx+2]=E->get().pos;
- data[idx+3]=E->get().param1;
- data[idx+4]=E->get().param2;
-
- Array conns;
- conns.resize(E->get().connections.size()*3+E->get().defaults.size()*3);
- int idx2=0;
- for(Map<int,SourceSlot>::Element*F=E->get().connections.front();F;F=F->next()) {
-
- conns[idx2+0]=F->key();
- conns[idx2+1]=F->get().id;
- conns[idx2+2]=F->get().slot;
- idx2+=3;
- }
- for(Map<int,Variant>::Element*F=E->get().defaults.front();F;F=F->next()) {
-
- conns[idx2+0]=SLOT_DEFAULT_VALUE;
- conns[idx2+1]=F->key();
- conns[idx2+2]=F->get();
- idx2+=3;
- }
-
- data[idx+5]=conns;
- idx+=6;
- }
- sh.push_back(data);
- }
-
- Dictionary data;
- data["shaders"]=sh;
- return data;
-}
-
-
-
-ShaderGraph::GraphError ShaderGraph::get_graph_error(ShaderType p_type) const {
-
- ERR_FAIL_INDEX_V(p_type,3,GRAPH_OK);
- return shader[p_type].error;
-}
-
-int ShaderGraph::node_count(ShaderType p_which, int p_type)
-{
- int count=0;
- for (Map<int,Node>::Element *E=shader[p_which].node_map.front();E;E=E->next())
- if (E->get().type==p_type)
- count++;
- return count;
-}
-
-void ShaderGraph::_bind_methods() {
-
- ClassDB::bind_method(D_METHOD("_update_shader"),&ShaderGraph::_update_shader);
-
- ClassDB::bind_method(D_METHOD("node_add","shader_type","node_type","id"),&ShaderGraph::node_add);
- ClassDB::bind_method(D_METHOD("node_remove","shader_type","id"),&ShaderGraph::node_remove);
- ClassDB::bind_method(D_METHOD("node_set_position","shader_type","id","position"),&ShaderGraph::node_set_position);
- ClassDB::bind_method(D_METHOD("node_get_position","shader_type","id"),&ShaderGraph::node_get_position);
-
- ClassDB::bind_method(D_METHOD("node_get_type","shader_type","id"),&ShaderGraph::node_get_type);
-
- ClassDB::bind_method(D_METHOD("get_node_list","shader_type"),&ShaderGraph::_get_node_list);
-
- ClassDB::bind_method(D_METHOD("default_set_value","shader_type","id","param_id","value"), &ShaderGraph::default_set_value);
- ClassDB::bind_method(D_METHOD("default_get_value","shader_type","id","param_id"), &ShaderGraph::default_get_value);
-
- ClassDB::bind_method(D_METHOD("scalar_const_node_set_value","shader_type","id","value"),&ShaderGraph::scalar_const_node_set_value);
- ClassDB::bind_method(D_METHOD("scalar_const_node_get_value","shader_type","id"),&ShaderGraph::scalar_const_node_get_value);
-
- ClassDB::bind_method(D_METHOD("vec_const_node_set_value","shader_type","id","value"),&ShaderGraph::vec_const_node_set_value);
- ClassDB::bind_method(D_METHOD("vec_const_node_get_value","shader_type","id"),&ShaderGraph::vec_const_node_get_value);
-
- ClassDB::bind_method(D_METHOD("rgb_const_node_set_value","shader_type","id","value"),&ShaderGraph::rgb_const_node_set_value);
- ClassDB::bind_method(D_METHOD("rgb_const_node_get_value","shader_type","id"),&ShaderGraph::rgb_const_node_get_value);
-
- ClassDB::bind_method(D_METHOD("xform_const_node_set_value","shader_type","id","value"),&ShaderGraph::xform_const_node_set_value);
- ClassDB::bind_method(D_METHOD("xform_const_node_get_value","shader_type","id"),&ShaderGraph::xform_const_node_get_value);
-
-
- //void get_node_list(ShaderType p_which,List<int> *p_node_list) const;
-
- ClassDB::bind_method(D_METHOD("texture_node_set_filter_size","shader_type","id","filter_size"),&ShaderGraph::texture_node_set_filter_size);
- ClassDB::bind_method(D_METHOD("texture_node_get_filter_size","shader_type","id"),&ShaderGraph::texture_node_get_filter_size);
-
- ClassDB::bind_method(D_METHOD("texture_node_set_filter_strength","shader_type","id","filter_strength"),&ShaderGraph::texture_node_set_filter_strength);
- ClassDB::bind_method(D_METHOD("texture_node_get_filter_strength","shader_type","id"),&ShaderGraph::texture_node_get_filter_strength);
-
- ClassDB::bind_method(D_METHOD("scalar_op_node_set_op","shader_type","id","op"),&ShaderGraph::scalar_op_node_set_op);
- ClassDB::bind_method(D_METHOD("scalar_op_node_get_op","shader_type","id"),&ShaderGraph::scalar_op_node_get_op);
-
- ClassDB::bind_method(D_METHOD("vec_op_node_set_op","shader_type","id","op"),&ShaderGraph::vec_op_node_set_op);
- ClassDB::bind_method(D_METHOD("vec_op_node_get_op","shader_type","id"),&ShaderGraph::vec_op_node_get_op);
-
- ClassDB::bind_method(D_METHOD("vec_scalar_op_node_set_op","shader_type","id","op"),&ShaderGraph::vec_scalar_op_node_set_op);
- ClassDB::bind_method(D_METHOD("vec_scalar_op_node_get_op","shader_type","id"),&ShaderGraph::vec_scalar_op_node_get_op);
-
- ClassDB::bind_method(D_METHOD("rgb_op_node_set_op","shader_type","id","op"),&ShaderGraph::rgb_op_node_set_op);
- ClassDB::bind_method(D_METHOD("rgb_op_node_get_op","shader_type","id"),&ShaderGraph::rgb_op_node_get_op);
-
-
- ClassDB::bind_method(D_METHOD("xform_vec_mult_node_set_no_translation","shader_type","id","disable"),&ShaderGraph::xform_vec_mult_node_set_no_translation);
- ClassDB::bind_method(D_METHOD("xform_vec_mult_node_get_no_translation","shader_type","id"),&ShaderGraph::xform_vec_mult_node_get_no_translation);
-
- ClassDB::bind_method(D_METHOD("scalar_func_node_set_function","shader_type","id","func"),&ShaderGraph::scalar_func_node_set_function);
- ClassDB::bind_method(D_METHOD("scalar_func_node_get_function","shader_type","id"),&ShaderGraph::scalar_func_node_get_function);
-
- ClassDB::bind_method(D_METHOD("vec_func_node_set_function","shader_type","id","func"),&ShaderGraph::vec_func_node_set_function);
- ClassDB::bind_method(D_METHOD("vec_func_node_get_function","shader_type","id"),&ShaderGraph::vec_func_node_get_function);
-
- ClassDB::bind_method(D_METHOD("input_node_set_name","shader_type","id","name"),&ShaderGraph::input_node_set_name);
- ClassDB::bind_method(D_METHOD("input_node_get_name","shader_type","id"),&ShaderGraph::input_node_get_name);
-
- ClassDB::bind_method(D_METHOD("scalar_input_node_set_value","shader_type","id","value"),&ShaderGraph::scalar_input_node_set_value);
- ClassDB::bind_method(D_METHOD("scalar_input_node_get_value","shader_type","id"),&ShaderGraph::scalar_input_node_get_value);
-
- ClassDB::bind_method(D_METHOD("vec_input_node_set_value","shader_type","id","value"),&ShaderGraph::vec_input_node_set_value);
- ClassDB::bind_method(D_METHOD("vec_input_node_get_value","shader_type","id"),&ShaderGraph::vec_input_node_get_value);
-
- ClassDB::bind_method(D_METHOD("rgb_input_node_set_value","shader_type","id","value"),&ShaderGraph::rgb_input_node_set_value);
- ClassDB::bind_method(D_METHOD("rgb_input_node_get_value","shader_type","id"),&ShaderGraph::rgb_input_node_get_value);
-
- ClassDB::bind_method(D_METHOD("xform_input_node_set_value","shader_type","id","value"),&ShaderGraph::xform_input_node_set_value);
- ClassDB::bind_method(D_METHOD("xform_input_node_get_value","shader_type","id"),&ShaderGraph::xform_input_node_get_value);
-
- ClassDB::bind_method(D_METHOD("texture_input_node_set_value","shader_type","id","value"),&ShaderGraph::texture_input_node_set_value);
- ClassDB::bind_method(D_METHOD("texture_input_node_get_value","shader_type","id"),&ShaderGraph::texture_input_node_get_value);
-
- ClassDB::bind_method(D_METHOD("cubemap_input_node_set_value","shader_type","id","value"),&ShaderGraph::cubemap_input_node_set_value);
- ClassDB::bind_method(D_METHOD("cubemap_input_node_get_value","shader_type","id"),&ShaderGraph::cubemap_input_node_get_value);
-
- ClassDB::bind_method(D_METHOD("comment_node_set_text","shader_type","id","text"),&ShaderGraph::comment_node_set_text);
- ClassDB::bind_method(D_METHOD("comment_node_get_text","shader_type","id"),&ShaderGraph::comment_node_get_text);
-
- ClassDB::bind_method(D_METHOD("color_ramp_node_set_ramp","shader_type","id","colors","offsets"),&ShaderGraph::color_ramp_node_set_ramp);
- ClassDB::bind_method(D_METHOD("color_ramp_node_get_colors","shader_type","id"),&ShaderGraph::color_ramp_node_get_colors);
- ClassDB::bind_method(D_METHOD("color_ramp_node_get_offsets","shader_type","id"),&ShaderGraph::color_ramp_node_get_offsets);
-
- ClassDB::bind_method(D_METHOD("curve_map_node_set_points","shader_type","id","points"),&ShaderGraph::curve_map_node_set_points);
- ClassDB::bind_method(D_METHOD("curve_map_node_get_points","shader_type","id"),&ShaderGraph::curve_map_node_get_points);
-
- ClassDB::bind_method(D_METHOD("connect_node","shader_type","src_id","src_slot","dst_id","dst_slot"),&ShaderGraph::connect_node);
- ClassDB::bind_method(D_METHOD("is_node_connected","shader_type","src_id","src_slot","dst_id","dst_slot"),&ShaderGraph::is_node_connected);
- ClassDB::bind_method(D_METHOD("disconnect_node","shader_type","src_id","src_slot","dst_id","dst_slot"),&ShaderGraph::disconnect_node);
- ClassDB::bind_method(D_METHOD("get_node_connections","shader_type"),&ShaderGraph::_get_connections);
-
- ClassDB::bind_method(D_METHOD("clear","shader_type"),&ShaderGraph::clear);
-
- ClassDB::bind_method(D_METHOD("node_set_state","shader_type","id","state"),&ShaderGraph::node_set_state);
- ClassDB::bind_method(D_METHOD("node_get_state","shader_type","id"),&ShaderGraph::node_get_state);
-
- ClassDB::bind_method(D_METHOD("_set_data"),&ShaderGraph::_set_data);
- ClassDB::bind_method(D_METHOD("_get_data"),&ShaderGraph::_get_data);
-
- ADD_PROPERTY( PropertyInfo(Variant::DICTIONARY,"_data",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "_set_data","_get_data");
-
- //void get_connections(ShaderType p_which,List<Connection> *p_connections) const;
-
-
- BIND_ENUM_CONSTANT( NODE_INPUT ); // all inputs (shader type dependent)
- BIND_ENUM_CONSTANT( NODE_SCALAR_CONST ); //scalar constant
- BIND_ENUM_CONSTANT( NODE_VEC_CONST ); //vec3 constant
- BIND_ENUM_CONSTANT( NODE_RGB_CONST ); //rgb constant (shows a color picker instead)
- BIND_ENUM_CONSTANT( NODE_XFORM_CONST ); // 4x4 matrix constant
- BIND_ENUM_CONSTANT( NODE_TIME ); // time in seconds
- BIND_ENUM_CONSTANT( NODE_SCREEN_TEX ); // screen texture sampler (takes UV) (only usable in fragment shader)
- BIND_ENUM_CONSTANT( NODE_SCALAR_OP ); // scalar vs scalar op (mul ); add ); div ); etc)
- BIND_ENUM_CONSTANT( NODE_VEC_OP ); // vec3 vs vec3 op (mul );ad );div );crossprod );etc)
- BIND_ENUM_CONSTANT( NODE_VEC_SCALAR_OP ); // vec3 vs scalar op (mul ); add ); div ); etc)
- BIND_ENUM_CONSTANT( NODE_RGB_OP ); // vec3 vs vec3 rgb op (with scalar amount) ); like brighten ); darken ); burn ); dodge ); multiply ); etc.
- BIND_ENUM_CONSTANT( NODE_XFORM_MULT ); // mat4 x mat4
- BIND_ENUM_CONSTANT( NODE_XFORM_VEC_MULT ); // mat4 x vec3 mult (with no-translation option)
- BIND_ENUM_CONSTANT( NODE_XFORM_VEC_INV_MULT ); // mat4 x vec3 inverse mult (with no-translation option)
- BIND_ENUM_CONSTANT( NODE_SCALAR_FUNC ); // scalar function (sin ); cos ); etc)
- BIND_ENUM_CONSTANT( NODE_VEC_FUNC ); // vector function (normalize ); negate ); reciprocal ); rgb2hsv ); hsv2rgb ); etc ); etc)
- BIND_ENUM_CONSTANT( NODE_VEC_LEN ); // vec3 length
- BIND_ENUM_CONSTANT( NODE_DOT_PROD ); // vec3 . vec3 (dot product -> scalar output)
- BIND_ENUM_CONSTANT( NODE_VEC_TO_SCALAR ); // 1 vec3 input ); 3 scalar outputs
- BIND_ENUM_CONSTANT( NODE_SCALAR_TO_VEC ); // 3 scalar input ); 1 vec3 output
- BIND_ENUM_CONSTANT( NODE_VEC_TO_XFORM ); // 3 vec input ); 1 xform output
- BIND_ENUM_CONSTANT( NODE_XFORM_TO_VEC ); // 3 vec input ); 1 xform output
- BIND_ENUM_CONSTANT( NODE_SCALAR_INTERP ); // scalar interpolation (with optional curve)
- BIND_ENUM_CONSTANT( NODE_VEC_INTERP ); // vec3 interpolation (with optional curve)
- BIND_ENUM_CONSTANT( NODE_COLOR_RAMP );
- BIND_ENUM_CONSTANT( NODE_CURVE_MAP );
- BIND_ENUM_CONSTANT( NODE_SCALAR_INPUT ); // scalar uniform (assignable in material)
- BIND_ENUM_CONSTANT( NODE_VEC_INPUT ); // vec3 uniform (assignable in material)
- BIND_ENUM_CONSTANT( NODE_RGB_INPUT ); // color uniform (assignable in material)
- BIND_ENUM_CONSTANT( NODE_XFORM_INPUT ); // mat4 uniform (assignable in material)
- BIND_ENUM_CONSTANT( NODE_TEXTURE_INPUT ); // texture input (assignable in material)
- BIND_ENUM_CONSTANT( NODE_CUBEMAP_INPUT ); // cubemap input (assignable in material)
- BIND_ENUM_CONSTANT( NODE_DEFAULT_TEXTURE );
- BIND_ENUM_CONSTANT( NODE_OUTPUT ); // output (shader type dependent)
- BIND_ENUM_CONSTANT( NODE_COMMENT ); // comment
- BIND_ENUM_CONSTANT( NODE_TYPE_MAX );
-
- BIND_ENUM_CONSTANT( SLOT_TYPE_SCALAR );
- BIND_ENUM_CONSTANT( SLOT_TYPE_VEC );
- BIND_ENUM_CONSTANT( SLOT_TYPE_XFORM );
- BIND_ENUM_CONSTANT( SLOT_TYPE_TEXTURE );
- BIND_ENUM_CONSTANT( SLOT_MAX );
-
- BIND_ENUM_CONSTANT( SHADER_TYPE_VERTEX );
- BIND_ENUM_CONSTANT( SHADER_TYPE_FRAGMENT );
- BIND_ENUM_CONSTANT( SHADER_TYPE_LIGHT );
- BIND_ENUM_CONSTANT( SHADER_TYPE_MAX );
-
-
- BIND_ENUM_CONSTANT( SLOT_IN );
- BIND_ENUM_CONSTANT( SLOT_OUT );
-
- BIND_ENUM_CONSTANT( GRAPH_OK );
- BIND_ENUM_CONSTANT( GRAPH_ERROR_CYCLIC );
- BIND_ENUM_CONSTANT( GRAPH_ERROR_MISSING_CONNECTIONS );
-
- BIND_ENUM_CONSTANT( SCALAR_OP_ADD );
- BIND_ENUM_CONSTANT( SCALAR_OP_SUB );
- BIND_ENUM_CONSTANT( SCALAR_OP_MUL );
- BIND_ENUM_CONSTANT( SCALAR_OP_DIV );
- BIND_ENUM_CONSTANT( SCALAR_OP_MOD );
- BIND_ENUM_CONSTANT( SCALAR_OP_POW );
- BIND_ENUM_CONSTANT( SCALAR_OP_MAX );
- BIND_ENUM_CONSTANT( SCALAR_OP_MIN );
- BIND_ENUM_CONSTANT( SCALAR_OP_ATAN2 );
- BIND_ENUM_CONSTANT( SCALAR_MAX_OP );
-
- BIND_ENUM_CONSTANT( VEC_OP_ADD );
- BIND_ENUM_CONSTANT( VEC_OP_SUB );
- BIND_ENUM_CONSTANT( VEC_OP_MUL );
- BIND_ENUM_CONSTANT( VEC_OP_DIV );
- BIND_ENUM_CONSTANT( VEC_OP_MOD );
- BIND_ENUM_CONSTANT( VEC_OP_POW );
- BIND_ENUM_CONSTANT( VEC_OP_MAX );
- BIND_ENUM_CONSTANT( VEC_OP_MIN );
- BIND_ENUM_CONSTANT( VEC_OP_CROSS );
- BIND_ENUM_CONSTANT( VEC_MAX_OP );
-
- BIND_ENUM_CONSTANT( VEC_SCALAR_OP_MUL );
- BIND_ENUM_CONSTANT( VEC_SCALAR_OP_DIV );
- BIND_ENUM_CONSTANT( VEC_SCALAR_OP_POW );
- BIND_ENUM_CONSTANT( VEC_SCALAR_MAX_OP );
-
- BIND_ENUM_CONSTANT( RGB_OP_SCREEN );
- BIND_ENUM_CONSTANT( RGB_OP_DIFFERENCE );
- BIND_ENUM_CONSTANT( RGB_OP_DARKEN );
- BIND_ENUM_CONSTANT( RGB_OP_LIGHTEN );
- BIND_ENUM_CONSTANT( RGB_OP_OVERLAY );
- BIND_ENUM_CONSTANT( RGB_OP_DODGE );
- BIND_ENUM_CONSTANT( RGB_OP_BURN );
- BIND_ENUM_CONSTANT( RGB_OP_SOFT_LIGHT );
- BIND_ENUM_CONSTANT( RGB_OP_HARD_LIGHT );
- BIND_ENUM_CONSTANT( RGB_MAX_OP );
-
- BIND_ENUM_CONSTANT( SCALAR_FUNC_SIN );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_COS );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_TAN );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_ASIN );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_ACOS );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_ATAN );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_SINH );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_COSH );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_TANH );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_LOG );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_EXP );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_SQRT );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_ABS );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_SIGN );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_FLOOR );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_ROUND );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_CEIL );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_FRAC );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_SATURATE );
- BIND_ENUM_CONSTANT( SCALAR_FUNC_NEGATE );
- BIND_ENUM_CONSTANT( SCALAR_MAX_FUNC );
-
- BIND_ENUM_CONSTANT( VEC_FUNC_NORMALIZE );
- BIND_ENUM_CONSTANT( VEC_FUNC_SATURATE );
- BIND_ENUM_CONSTANT( VEC_FUNC_NEGATE );
- BIND_ENUM_CONSTANT( VEC_FUNC_RECIPROCAL );
- BIND_ENUM_CONSTANT( VEC_FUNC_RGB2HSV );
- BIND_ENUM_CONSTANT( VEC_FUNC_HSV2RGB );
- BIND_ENUM_CONSTANT( VEC_MAX_FUNC );
-
- ADD_SIGNAL(MethodInfo("updated"));
-}
-
-
-String ShaderGraph::_find_unique_name(const String& p_base) {
-
-
-
- int idx=1;
- while(true) {
- String tocmp=p_base;
- if (idx>1) {
- tocmp+="_"+itos(idx);
- }
- bool valid=true;
- for(int i=0;i<3;i++) {
- if (!valid)
- break;
- for (Map<int,Node>::Element *E=shader[i].node_map.front();E;E=E->next()) {
- if (E->get().type!=NODE_SCALAR_INPUT && E->get().type!=NODE_VEC_INPUT && E->get().type==NODE_RGB_INPUT && E->get().type==NODE_XFORM_INPUT && E->get().type==NODE_TEXTURE_INPUT && E->get().type==NODE_CUBEMAP_INPUT)
- continue;
- String name = E->get().param1;
- if (name==tocmp) {
- valid=false;
- break;
- }
-
- }
- }
-
- if (!valid) {
- idx++;
- continue;
- }
- return tocmp;
- }
- return String();
-}
-
-void ShaderGraph::node_add(ShaderType p_type, NodeType p_node_type,int p_id) {
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(p_id==0);
- ERR_FAIL_COND(p_node_type==NODE_OUTPUT); //can't create output
- ERR_FAIL_COND( shader[p_type].node_map.has(p_id ) );
- ERR_FAIL_INDEX( p_node_type, NODE_TYPE_MAX );
- Node node;
-
- if (p_node_type==NODE_INPUT) {
- //see if it already exists
- for(Map<int,Node>::Element *E=shader[p_type].node_map.front();E;E=E->next()) {
- if (E->get().type==NODE_INPUT) {
- ERR_EXPLAIN("Only one input node can be added to the graph.");
- ERR_FAIL_COND(E->get().type==NODE_INPUT);
- }
- }
- }
- node.type=p_node_type;
- node.id=p_id;
-
- switch(p_node_type) {
- case NODE_INPUT: {} break; // all inputs (shader type dependent)
- case NODE_SCALAR_CONST: { node.param1=0;} break; //scalar constant
- case NODE_VEC_CONST: {node.param1=Vector3();} break; //vec3 constant
- case NODE_RGB_CONST: {node.param1=Color();} break; //rgb constant (shows a color picker instead)
- case NODE_XFORM_CONST: {node.param1=Transform();} break; // 4x4 matrix constant
- case NODE_TIME: {} break; // time in seconds
- case NODE_SCREEN_TEX: {Array arr; arr.push_back(0); arr.push_back(0); node.param2=arr;} break; // screen texture sampler (takes UV) (only usable in fragment shader)
- case NODE_SCALAR_OP: {node.param1=SCALAR_OP_ADD;} break; // scalar vs scalar op (mul: {} break; add: {} break; div: {} break; etc)
- case NODE_VEC_OP: {node.param1=VEC_OP_ADD;} break; // vec3 vs vec3 op (mul: {} break;ad: {} break;div: {} break;crossprod: {} break;etc)
- case NODE_VEC_SCALAR_OP: {node.param1=VEC_SCALAR_OP_MUL;} break; // vec3 vs scalar op (mul: {} break; add: {} break; div: {} break; etc)
- case NODE_RGB_OP: {node.param1=RGB_OP_SCREEN;} break; // vec3 vs vec3 rgb op (with scalar amount): {} break; like brighten: {} break; darken: {} break; burn: {} break; dodge: {} break; multiply: {} break; etc.
- case NODE_XFORM_MULT: {} break; // mat4 x mat4
- case NODE_XFORM_VEC_MULT: {} break; // mat4 x vec3 mult (with no-translation option)
- case NODE_XFORM_VEC_INV_MULT: {} break; // mat4 x vec3 inverse mult (with no-translation option)
- case NODE_SCALAR_FUNC: {node.param1=SCALAR_FUNC_SIN;} break; // scalar function (sin: {} break; cos: {} break; etc)
- case NODE_VEC_FUNC: {node.param1=VEC_FUNC_NORMALIZE;} break; // vector function (normalize: {} break; negate: {} break; reciprocal: {} break; rgb2hsv: {} break; hsv2rgb: {} break; etc: {} break; etc)
- case NODE_VEC_LEN: {} break; // vec3 length
- case NODE_DOT_PROD: {} break; // vec3 . vec3 (dot product -> scalar output)
- case NODE_VEC_TO_SCALAR: {} break; // 1 vec3 input: {} break; 3 scalar outputs
- case NODE_SCALAR_TO_VEC: {} break; // 3 scalar input: {} break; 1 vec3 output
- case NODE_VEC_TO_XFORM: {} break; // 3 scalar input: {} break; 1 vec3 output
- case NODE_XFORM_TO_VEC: {} break; // 3 scalar input: {} break; 1 vec3 output
- case NODE_SCALAR_INTERP: {} break; // scalar interpolation (with optional curve)
- case NODE_VEC_INTERP: {} break; // vec3 interpolation (with optional curve)
- case NODE_COLOR_RAMP: { node.param1=PoolVector<Color>(); node.param2=PoolVector<real_t>();} break; // vec3 interpolation (with optional curve)
- case NODE_CURVE_MAP: { node.param1=PoolVector<Vector2>();} break; // vec3 interpolation (with optional curve)
- case NODE_SCALAR_INPUT: {node.param1=_find_unique_name("Scalar"); node.param2=0;} break; // scalar uniform (assignable in material)
- case NODE_VEC_INPUT: {node.param1=_find_unique_name("Vec3");node.param2=Vector3();} break; // vec3 uniform (assignable in material)
- case NODE_RGB_INPUT: {node.param1=_find_unique_name("Color");node.param2=Color();} break; // color uniform (assignable in material)
- case NODE_XFORM_INPUT: {node.param1=_find_unique_name("XForm"); node.param2=Transform();} break; // mat4 uniform (assignable in material)
- case NODE_TEXTURE_INPUT: {node.param1=_find_unique_name("Tex"); } break; // texture input (assignable in material)
- case NODE_CUBEMAP_INPUT: {node.param1=_find_unique_name("Cube"); } break; // cubemap input (assignable in material)
- case NODE_DEFAULT_TEXTURE: {}; break;
- case NODE_OUTPUT: {} break; // output (shader type dependent)
- case NODE_COMMENT: {} break; // comment
- case NODE_TYPE_MAX: {};
- }
-
- shader[p_type].node_map[p_id]=node;
- _request_update();
-}
-
-void ShaderGraph::node_set_position(ShaderType p_type,int p_id, const Vector2& p_pos) {
- ERR_FAIL_INDEX(p_type,3);
-
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- shader[p_type].node_map[p_id].pos=p_pos;
- _request_update();
-
-}
-Vector2 ShaderGraph::node_get_position(ShaderType p_type,int p_id) const {
- ERR_FAIL_INDEX_V(p_type,3,Vector2());
-
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Vector2());
- return shader[p_type].node_map[p_id].pos;
-}
-
-
-void ShaderGraph::node_remove(ShaderType p_type,int p_id) {
-
- ERR_FAIL_COND(p_id==0);
- ERR_FAIL_INDEX(p_type,3);
-
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
-
- //erase connections associated with node
- for(Map<int,Node>::Element *E=shader[p_type].node_map.front();E;E=E->next()) {
- if (E->key()==p_id)
- continue; //no self
-
- for (Map<int,SourceSlot>::Element *F=E->get().connections.front();F;) {
- Map<int,SourceSlot>::Element *N=F->next();
-
- if (F->get().id==p_id) {
- E->get().connections.erase(F);
- }
-
- F=N;
- }
- }
-
- shader[p_type].node_map.erase(p_id);
-
- _request_update();
-
-}
-
-
-
-void ShaderGraph::get_node_list(ShaderType p_type,List<int> *p_node_list) const {
-
- ERR_FAIL_INDEX(p_type,3);
-
- Map<int,Node>::Element *E = shader[p_type].node_map.front();
-
- while(E) {
-
- p_node_list->push_back(E->key());
- E=E->next();
- }
-}
-
-
-ShaderGraph::NodeType ShaderGraph::node_get_type(ShaderType p_type,int p_id) const {
-
- ERR_FAIL_INDEX_V(p_type,3,NODE_TYPE_MAX);
-
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),NODE_TYPE_MAX);
- return shader[p_type].node_map[p_id].type;
-}
-
-
-Error ShaderGraph::connect_node(ShaderType p_type,int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) {
- ERR_FAIL_INDEX_V(p_type,3,ERR_INVALID_PARAMETER);
-
- ERR_FAIL_COND_V(p_src_id==p_dst_id, ERR_INVALID_PARAMETER);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_src_id), ERR_INVALID_PARAMETER);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_dst_id), ERR_INVALID_PARAMETER);
- NodeType type_src=shader[p_type].node_map[p_src_id].type;
- NodeType type_dst=shader[p_type].node_map[p_dst_id].type;
- ERR_FAIL_INDEX_V( p_src_slot, get_node_output_slot_count(get_mode(),p_type,type_src), ERR_INVALID_PARAMETER );
- ERR_FAIL_INDEX_V( p_dst_slot, get_node_input_slot_count(get_mode(),p_type,type_dst), ERR_INVALID_PARAMETER );
- ERR_FAIL_COND_V(get_node_output_slot_type(get_mode(),p_type,type_src,p_src_slot) != get_node_input_slot_type(get_mode(),p_type,type_dst,p_dst_slot), ERR_INVALID_PARAMETER );
-
-
- SourceSlot ts;
- ts.id=p_src_id;
- ts.slot=p_src_slot;
- shader[p_type].node_map[p_dst_id].connections[p_dst_slot]=ts;
- _request_update();
-
- return OK;
-}
-
-bool ShaderGraph::is_node_connected(ShaderType p_type,int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) const {
-
- ERR_FAIL_INDEX_V(p_type,3,false);
-
- SourceSlot ts;
- ts.id=p_src_id;
- ts.slot=p_src_slot;
- return shader[p_type].node_map.has(p_dst_id) && shader[p_type].node_map[p_dst_id].connections.has(p_dst_slot) &&
- shader[p_type].node_map[p_dst_id].connections[p_dst_slot]==ts;
-}
-
-void ShaderGraph::disconnect_node(ShaderType p_type,int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) {
- ERR_FAIL_INDEX(p_type,3);
-
- SourceSlot ts;
- ts.id=p_src_id;
- ts.slot=p_src_slot;
- if (shader[p_type].node_map.has(p_dst_id) && shader[p_type].node_map[p_dst_id].connections.has(p_dst_slot) &&
- shader[p_type].node_map[p_dst_id].connections[p_dst_slot]==ts) {
- shader[p_type].node_map[p_dst_id].connections.erase(p_dst_slot);
-
- }
- _request_update();
-
-}
-
-void ShaderGraph::get_node_connections(ShaderType p_type,List<Connection> *p_connections) const {
-
- ERR_FAIL_INDEX(p_type,3);
-
- for(const Map<int,Node>::Element *E=shader[p_type].node_map.front();E;E=E->next()) {
- for (const Map<int,SourceSlot>::Element *F=E->get().connections.front();F;F=F->next()) {
-
- Connection c;
- c.dst_id=E->key();
- c.dst_slot=F->key();
- c.src_id=F->get().id;
- c.src_slot=F->get().slot;
- p_connections->push_back(c);
- }
- }
-}
-
-bool ShaderGraph::is_slot_connected(ShaderGraph::ShaderType p_type, int p_dst_id, int slot_id)
-{
- for(const Map<int,Node>::Element *E=shader[p_type].node_map.front();E;E=E->next()) {
- for (const Map<int,SourceSlot>::Element *F=E->get().connections.front();F;F=F->next()) {
-
- if (p_dst_id == E->key() && slot_id==F->key())
- return true;
- }
- }
- return false;
-}
-
-
-void ShaderGraph::clear(ShaderType p_type) {
-
- ERR_FAIL_INDEX(p_type,3);
- shader[p_type].node_map.clear();
- Node out;
- out.pos=Vector2(300,300);
- out.type=NODE_OUTPUT;
- shader[p_type].node_map.insert(0,out);
-
- _request_update();
-
-}
-
-
-void ShaderGraph::scalar_const_node_set_value(ShaderType p_type,int p_id,float p_value) {
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_SCALAR_CONST);
- n.param1=p_value;
- _request_update();
-
-}
-
-float ShaderGraph::scalar_const_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,0);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),0);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_SCALAR_CONST,0);
- return n.param1;
-}
-
-void ShaderGraph::vec_const_node_set_value(ShaderType p_type,int p_id,const Vector3& p_value){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_VEC_CONST);
- n.param1=p_value;
- _request_update();
-
-
-}
-Vector3 ShaderGraph::vec_const_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Vector3());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Vector3());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_VEC_CONST,Vector3());
- return n.param1;
-
-}
-
-void ShaderGraph::rgb_const_node_set_value(ShaderType p_type,int p_id,const Color& p_value){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_RGB_CONST);
- n.param1=p_value;
- _request_update();
-
-}
-Color ShaderGraph::rgb_const_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Color());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Color());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_RGB_CONST,Color());
- return n.param1;
-
-}
-
-void ShaderGraph::xform_const_node_set_value(ShaderType p_type,int p_id,const Transform& p_value){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_XFORM_CONST);
- n.param1=p_value;
- _request_update();
-
-}
-Transform ShaderGraph::xform_const_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Transform());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Transform());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_XFORM_CONST,Transform());
- return n.param1;
-
-}
-
-void ShaderGraph::texture_node_set_filter_size(ShaderType p_type,int p_id,int p_size){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_TEXTURE_INPUT && n.type!=NODE_SCREEN_TEX);
- Array arr = n.param2;
- arr[0]=p_size;
- n.param2=arr;
- _request_update();
-
-}
-int ShaderGraph::texture_node_get_filter_size(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,0);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),0);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_TEXTURE_INPUT && n.type!=NODE_SCREEN_TEX,0);
- Array arr = n.param2;
- return arr[0];
-
-}
-
-void ShaderGraph::texture_node_set_filter_strength(ShaderType p_type,float p_id,float p_strength){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_TEXTURE_INPUT && n.type!=NODE_SCREEN_TEX);
- Array arr = n.param2;
- arr[1]=p_strength;
- n.param2=arr;
- _request_update();
-
-}
-float ShaderGraph::texture_node_get_filter_strength(ShaderType p_type,float p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,0);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),0);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_TEXTURE_INPUT && n.type!=NODE_SCREEN_TEX,0);
- Array arr = n.param2;
- return arr[1];
-}
-
-void ShaderGraph::duplicate_nodes(ShaderType p_which, List<int> &p_nodes)
-{
- //Create new node IDs
- Map<int,int> duplicates = Map<int,int>();
- int i=1;
- for(List<int>::Element *E=p_nodes.front();E; E=E->next()) {
- while (shader[p_which].node_map.has(i))
- i++;
- duplicates.insert(E->get(), i);
- i++;
- }
-
- for(List<int>::Element *E = p_nodes.front();E; E=E->next()) {
-
- const Node &n=shader[p_which].node_map[E->get()];
- Node nn=n;
- nn.id=duplicates.find(n.id)->get();
- nn.pos += Vector2(0,100);
- for (Map<int,SourceSlot>::Element *C=nn.connections.front();C;C=C->next()) {
- SourceSlot &c=C->get();
- if (p_nodes.find(c.id))
- c.id=duplicates.find(c.id)->get();
- }
- shader[p_which].node_map[nn.id]=nn;
- }
- _request_update();
-}
-
-List<int> ShaderGraph::generate_ids(ShaderType p_type, int count)
-{
- List<int> ids = List<int>();
- int i=1;
- while (ids.size() < count) {
- while (shader[p_type].node_map.has(i))
- i++;
- ids.push_back(i);
- i++;
- }
- return ids;
-}
-
-
-void ShaderGraph::scalar_op_node_set_op(ShaderType p_type,float p_id,ScalarOp p_op){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_SCALAR_OP);
- n.param1=p_op;
- _request_update();
-
-}
-ShaderGraph::ScalarOp ShaderGraph::scalar_op_node_get_op(ShaderType p_type,float p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,SCALAR_MAX_OP);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),SCALAR_MAX_OP);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_SCALAR_OP,SCALAR_MAX_OP);
- int op = n.param1;
- return ScalarOp(op);
-
-}
-
-
-void ShaderGraph::vec_op_node_set_op(ShaderType p_type,float p_id,VecOp p_op){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_VEC_OP);
- n.param1=p_op;
- _request_update();
-
-}
-ShaderGraph::VecOp ShaderGraph::vec_op_node_get_op(ShaderType p_type,float p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,VEC_MAX_OP);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),VEC_MAX_OP);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_VEC_OP,VEC_MAX_OP);
- int op = n.param1;
- return VecOp(op);
-
-}
-
-
-void ShaderGraph::vec_scalar_op_node_set_op(ShaderType p_type,float p_id,VecScalarOp p_op){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_VEC_SCALAR_OP);
- n.param1=p_op;
- _request_update();
-
-}
-ShaderGraph::VecScalarOp ShaderGraph::vec_scalar_op_node_get_op(ShaderType p_type,float p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,VEC_SCALAR_MAX_OP);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),VEC_SCALAR_MAX_OP);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_VEC_SCALAR_OP,VEC_SCALAR_MAX_OP);
- int op = n.param1;
- return VecScalarOp(op);
-
-}
-
-void ShaderGraph::rgb_op_node_set_op(ShaderType p_type,float p_id,RGBOp p_op){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_RGB_OP);
- n.param1=p_op;
-
- _request_update();
-
-}
-ShaderGraph::RGBOp ShaderGraph::rgb_op_node_get_op(ShaderType p_type,float p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,RGB_MAX_OP);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),RGB_MAX_OP);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_RGB_OP,RGB_MAX_OP);
- int op = n.param1;
- return RGBOp(op);
-
-}
-
-
-void ShaderGraph::xform_vec_mult_node_set_no_translation(ShaderType p_type,int p_id,bool p_no_translation){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_XFORM_VEC_MULT && n.type!=NODE_XFORM_VEC_INV_MULT);
- n.param1=p_no_translation;
- _request_update();
-
-}
-bool ShaderGraph::xform_vec_mult_node_get_no_translation(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,false);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),false);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_XFORM_VEC_MULT && n.type!=NODE_XFORM_VEC_INV_MULT,false);
- return n.param1;
-
-}
-
-void ShaderGraph::scalar_func_node_set_function(ShaderType p_type,int p_id,ScalarFunc p_func){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_SCALAR_FUNC);
- int func = p_func;
- ERR_FAIL_INDEX(func,SCALAR_MAX_FUNC);
- n.param1=func;
- _request_update();
-
-}
-ShaderGraph::ScalarFunc ShaderGraph::scalar_func_node_get_function(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,SCALAR_MAX_FUNC);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),SCALAR_MAX_FUNC);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_SCALAR_FUNC,SCALAR_MAX_FUNC);
- int func = n.param1;
- return ScalarFunc(func);
-}
-
-void ShaderGraph::default_set_value(ShaderGraph::ShaderType p_which, int p_id, int p_param, const Variant &p_value)
-{
- ERR_FAIL_INDEX(p_which,3);
- ERR_FAIL_COND(!shader[p_which].node_map.has(p_id));
- Node& n = shader[p_which].node_map[p_id];
- if(p_value.get_type()==Variant::NIL)
- n.defaults.erase(n.defaults.find(p_param));
- else
- n.defaults[p_param]=p_value;
-
- _request_update();
-
-}
-
-Variant ShaderGraph::default_get_value(ShaderGraph::ShaderType p_which, int p_id, int p_param)
-{
- ERR_FAIL_INDEX_V(p_which,3,Variant());
- ERR_FAIL_COND_V(!shader[p_which].node_map.has(p_id),Variant());
- const Node& n = shader[p_which].node_map[p_id];
-
- if (!n.defaults.has(p_param))
- return Variant();
- return n.defaults[p_param];
-}
-
-
-
-void ShaderGraph::vec_func_node_set_function(ShaderType p_type,int p_id,VecFunc p_func){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_VEC_FUNC);
- int func = p_func;
- ERR_FAIL_INDEX(func,VEC_MAX_FUNC);
- n.param1=func;
-
- _request_update();
-
-}
-ShaderGraph::VecFunc ShaderGraph::vec_func_node_get_function(ShaderType p_type, int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,VEC_MAX_FUNC);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),VEC_MAX_FUNC);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_VEC_FUNC,VEC_MAX_FUNC);
- int func = n.param1;
- return VecFunc(func);
-}
-
-void ShaderGraph::color_ramp_node_set_ramp(ShaderType p_type,int p_id,const PoolVector<Color>& p_colors, const PoolVector<real_t>& p_offsets){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- ERR_FAIL_COND(p_colors.size()!=p_offsets.size());
- Node& n = shader[p_type].node_map[p_id];
- n.param1=p_colors;
- n.param2=p_offsets;
- _request_update();
-
-}
-
-PoolVector<Color> ShaderGraph::color_ramp_node_get_colors(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,PoolVector<Color>());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),PoolVector<Color>());
- const Node& n = shader[p_type].node_map[p_id];
- return n.param1;
-
-
-}
-
-PoolVector<real_t> ShaderGraph::color_ramp_node_get_offsets(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,PoolVector<real_t>());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),PoolVector<real_t>());
- const Node& n = shader[p_type].node_map[p_id];
- return n.param2;
-
-}
-
-
-void ShaderGraph::curve_map_node_set_points(ShaderType p_type,int p_id,const PoolVector<Vector2>& p_points) {
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- n.param1=p_points;
- _request_update();
-
-}
-
-PoolVector<Vector2> ShaderGraph::curve_map_node_get_points(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,PoolVector<Vector2>());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),PoolVector<Vector2>());
- const Node& n = shader[p_type].node_map[p_id];
- return n.param1;
-
-}
-
-
-
-void ShaderGraph::input_node_set_name(ShaderType p_type,int p_id,const String& p_name){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- ERR_FAIL_COND(!p_name.is_valid_identifier());
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_SCALAR_INPUT && n.type!=NODE_VEC_INPUT && n.type==NODE_RGB_INPUT && n.type==NODE_XFORM_INPUT && n.type==NODE_TEXTURE_INPUT && n.type==NODE_CUBEMAP_INPUT);
-
- n.param1="";
- n.param1=_find_unique_name(p_name);
- _request_update();
-
-}
-String ShaderGraph::input_node_get_name(ShaderType p_type,int p_id){
-
- ERR_FAIL_INDEX_V(p_type,3,String());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),String());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_SCALAR_INPUT && n.type!=NODE_VEC_INPUT && n.type==NODE_RGB_INPUT && n.type==NODE_XFORM_INPUT && n.type==NODE_TEXTURE_INPUT && n.type==NODE_CUBEMAP_INPUT,String());
- return n.param1;
-}
-
-
-void ShaderGraph::scalar_input_node_set_value(ShaderType p_type,int p_id,float p_value) {
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_SCALAR_INPUT);
- n.param2=p_value;
- _request_update();
-
-}
-
-float ShaderGraph::scalar_input_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,0);
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),0);
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_SCALAR_INPUT,0);
-
- return n.param2;
-}
-
-void ShaderGraph::vec_input_node_set_value(ShaderType p_type,int p_id,const Vector3& p_value){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_VEC_INPUT);
-
- n.param2=p_value;
- _request_update();
-
-}
-Vector3 ShaderGraph::vec_input_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Vector3());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Vector3());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_VEC_INPUT,Vector3());
- return n.param2;
-}
-
-void ShaderGraph::rgb_input_node_set_value(ShaderType p_type,int p_id,const Color& p_value){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_RGB_INPUT);
- n.param2=p_value;
- _request_update();
-
-}
-Color ShaderGraph::rgb_input_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Color());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Color());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_RGB_INPUT,Color());
- return n.param2;
-}
-
-void ShaderGraph::xform_input_node_set_value(ShaderType p_type,int p_id,const Transform& p_value){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_XFORM_INPUT);
- n.param2=p_value;
- _request_update();
-
-}
-Transform ShaderGraph::xform_input_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Transform());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Transform());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_XFORM_INPUT,Transform());
- return n.param2;
-}
-
-
-void ShaderGraph::texture_input_node_set_value(ShaderType p_type,int p_id,const Ref<Texture>& p_texture) {
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_TEXTURE_INPUT);
- n.param2=p_texture;
- _request_update();
-
-}
-
-Ref<Texture> ShaderGraph::texture_input_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Ref<Texture>());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Ref<Texture>());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_TEXTURE_INPUT,Ref<Texture>());
- return n.param2;
-}
-
-void ShaderGraph::cubemap_input_node_set_value(ShaderType p_type,int p_id,const Ref<CubeMap>& p_cubemap){
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_CUBEMAP_INPUT);
- n.param2=p_cubemap;
- _request_update();
-
-}
-
-Ref<CubeMap> ShaderGraph::cubemap_input_node_get_value(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,Ref<CubeMap>());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Ref<CubeMap>());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_CUBEMAP_INPUT,Ref<CubeMap>());
- return n.param2;
-
-}
-
-
-void ShaderGraph::comment_node_set_text(ShaderType p_type,int p_id,const String& p_comment) {
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND(n.type!=NODE_COMMENT);
- n.param1=p_comment;
-
-}
-
-String ShaderGraph::comment_node_get_text(ShaderType p_type,int p_id) const{
-
- ERR_FAIL_INDEX_V(p_type,3,String());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),String());
- const Node& n = shader[p_type].node_map[p_id];
- ERR_FAIL_COND_V(n.type!=NODE_COMMENT,String());
- return n.param1;
-
-}
-
-void ShaderGraph::_request_update() {
-
- if (_pending_update_shader)
- return;
-
- _pending_update_shader=true;
- call_deferred("_update_shader");
-
-}
-
-Variant ShaderGraph::node_get_state(ShaderType p_type,int p_id) const {
-
- ERR_FAIL_INDEX_V(p_type,3,Variant());
- ERR_FAIL_COND_V(!shader[p_type].node_map.has(p_id),Variant());
- const Node& n = shader[p_type].node_map[p_id];
- Dictionary s;
- s["position"]=n.pos;
- s["param1"]=n.param1;
- s["param2"]=n.param2;
- Array keys;
- for (Map<int,Variant>::Element *E=n.defaults.front();E;E=E->next()) {
- keys.append(E->key());
- s[E->key()]=E->get();
- }
- s["default_keys"]=keys;
- return s;
-
-}
-void ShaderGraph::node_set_state(ShaderType p_type,int p_id,const Variant& p_state) {
-
- ERR_FAIL_INDEX(p_type,3);
- ERR_FAIL_COND(!shader[p_type].node_map.has(p_id));
- Node& n = shader[p_type].node_map[p_id];
- Dictionary d = p_state;
- ERR_FAIL_COND(!d.has("position"));
- ERR_FAIL_COND(!d.has("param1"));
- ERR_FAIL_COND(!d.has("param2"));
- ERR_FAIL_COND(!d.has("default_keys"));
-
- n.pos=d["position"];
- n.param1=d["param1"];
- n.param2=d["param2"];
- Array keys = d["default_keys"];
- for(int i=0;i<keys.size();i++) {
- n.defaults[keys[i]]=d[keys[i]];
- }
-}
-
-ShaderGraph::ShaderGraph(Mode p_mode) : Shader(p_mode) {
-
- //shader = VisualServer::get_singleton()->shader_create();
- _pending_update_shader=false;
-
- Node input;
- input.id=1;
- input.pos=Vector2(50,40);
- input.type=NODE_INPUT;
-
- Node output;
- output.id=0;
- output.pos=Vector2(350,40);
- output.type=NODE_OUTPUT;
-
- for(int i=0;i<3;i++) {
-
- shader[i].node_map.insert(0,output);
- shader[i].node_map.insert(1,input);
- }
-}
-
-ShaderGraph::~ShaderGraph() {
-
- //VisualServer::get_singleton()->free(shader);
-}
-
-
-const ShaderGraph::InOutParamInfo ShaderGraph::inout_param_info[]={
- //material vertex in
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Vertex","SRC_VERTEX","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Normal","SRC_NORMAL","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Tangent","SRC_TANGENT","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"BinormalF","SRC_BINORMALF","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Color","SRC_COLOR","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Alpha","SRC_ALPHA","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"UV","SRC_UV","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"UV2","SRC_UV2","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"WorldMatrix","WORLD_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"InvCameraMatrix","INV_CAMERA_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"ProjectionMatrix","PROJECTION_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"ModelviewMatrix","MODELVIEW_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"InstanceID","INSTANCE_ID","",SLOT_TYPE_SCALAR,SLOT_IN},
-
- //material vertex out
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Vertex","VERTEX","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Normal","NORMAL","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Tangent","TANGENT","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Binormal","BINORMAL","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"UV","UV",".xy",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"UV2","UV2",".xy",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Color","COLOR.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Alpha","COLOR.a","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Var1","VAR1.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"Var2","VAR2.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"SpecExp","SPEC_EXP","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_VERTEX,"PointSize","POINT_SIZE","",SLOT_TYPE_SCALAR,SLOT_OUT},
- //pixel vertex in
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Vertex","VERTEX","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Position","POSITION.xyz","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Normal","IN_NORMAL","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Tangent","TANGENT","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Binormal","BINORMAL","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"UV","vec3(UV,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"UV2","vec3(UV2,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"UVScreen","vec3(SCREEN_UV,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"PointCoord","POINT_COORD","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Color","COLOR.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Alpha","COLOR.a","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"InvCameraMatrix","INV_CAMERA_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Var1","VAR1.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Var2","VAR2.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- //pixel vertex out
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Diffuse","DIFFUSE_OUT","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"DiffuseAlpha","ALPHA_OUT","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Specular","SPECULAR","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"SpecularExp","SPEC_EXP","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Emission","EMISSION","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Glow","GLOW","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"ShadeParam","SHADE_PARAM","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Normal","NORMAL","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"NormalMap","NORMALMAP","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"NormalMapDepth","NORMALMAP_DEPTH","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Discard","DISCARD",">0.5",SLOT_TYPE_SCALAR,SLOT_OUT},
- //light in
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"Normal","NORMAL","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"LightDir","LIGHT_DIR","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"LightDiffuse","LIGHT_DIFFUSE","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"LightSpecular","LIGHT_SPECULAR","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"EyeVec","EYE_VEC","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"Diffuse","DIFFUSE","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"Specular","SPECULAR","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"SpecExp","SPECULAR_EXP","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"ShadeParam","SHADE_PARAM","",SLOT_TYPE_SCALAR,SLOT_IN},
- //light out
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"Light","LIGHT","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_LIGHT,"Shadow", "SHADOW", "",SLOT_TYPE_VEC, SLOT_OUT },
- //canvas item vertex in
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Vertex","vec3(SRC_VERTEX,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"UV","SRC_UV","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Color","SRC_COLOR.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Alpha","SRC_COLOR.a","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"WorldMatrix","WORLD_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"ExtraMatrix","EXTRA_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"ProjectionMatrix","PROJECTION_MATRIX","",SLOT_TYPE_XFORM,SLOT_IN},
- //canvas item vertex out
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Vertex","VERTEX",".xy",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"UV","UV",".xy",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Color","COLOR.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Alpha","COLOR.a","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Var1","VAR1.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"Var2","VAR2.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_VERTEX,"PointSize","POINT_SIZE","",SLOT_TYPE_SCALAR,SLOT_OUT},
- //canvas item fragment in
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Color","SRC_COLOR.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Alpha","SRC_COLOR.a","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"UV","vec3(UV,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"UVScreen","vec3(SCREEN_UV,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"TexPixelSize","vec3(TEXTURE_PIXEL_SIZE,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Var1","VAR1.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Var2","VAR2.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"PointCoord","POINT_COORD","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Position","POSITION","",SLOT_TYPE_VEC,SLOT_IN},
- //canvas item fragment out
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Color","COLOR.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Alpha","COLOR.a","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"Normal","NORMAL","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"NormalMap","NORMALMAP","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_FRAGMENT,"NormalMapDepth","NORMALMAP_DEPTH","",SLOT_TYPE_SCALAR,SLOT_OUT},
- //canvas item light in
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"Color","COLOR.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"Alpha","COLOR.a","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"Normal","NORMAL","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"UV","vec3(UV,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"LightColor","LIGHT_COLOR.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"LightAlpha","LIGHT_COLOR.a","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"LightHeight","LIGHT_HEIGHT","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"ShadowColor","LIGHT_SHADOW.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"ShadowAlpha","LIGHT_SHADOW.a","",SLOT_TYPE_SCALAR,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"TexPixelSize","vec3(TEXTURE_PIXEL_SIZE,0)","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"Var1","VAR1.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"Var2","VAR2.rgb","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"PointCoord","POINT_COORD","",SLOT_TYPE_VEC,SLOT_IN},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"Position","POSITION","",SLOT_TYPE_VEC,SLOT_IN},
- //canvas item light out
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"LightColor","LIGHT.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"LightAlpha","LIGHT.a","",SLOT_TYPE_SCALAR,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"ShadowColor","SHADOW.rgb","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_CANVAS_ITEM,SHADER_TYPE_LIGHT,"ShadowAlpha","SHADOW.a","",SLOT_TYPE_SCALAR,SLOT_OUT},
- //end
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,NULL,NULL,NULL,SLOT_TYPE_SCALAR,SLOT_OUT},
-
-
-
-};
-
-void ShaderGraph::get_input_output_node_slot_info(Mode p_mode, ShaderType p_type, List<SlotInfo> *r_slots) {
-
- const InOutParamInfo* iop = &inout_param_info[0];
- while(iop->name) {
- if (p_mode==iop->shader_mode && p_type==iop->shader_type) {
-
- SlotInfo si;
- si.dir=iop->dir;
- si.name=iop->name;
- si.type=iop->slot_type;
- r_slots->push_back(si);
- }
- iop++;
- }
-}
-
-
-const ShaderGraph::NodeSlotInfo ShaderGraph::node_slot_info[]= {
-
- {NODE_SCALAR_CONST,{SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, //scalar constant
- {NODE_VEC_CONST,{SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, //vec3 constant
- {NODE_RGB_CONST,{SLOT_MAX},{SLOT_TYPE_VEC,SLOT_TYPE_SCALAR,SLOT_MAX}}, //rgb constant (shows a color picker instead)
- {NODE_XFORM_CONST,{SLOT_MAX},{SLOT_TYPE_XFORM,SLOT_MAX}}, // 4x4 matrix constant
- {NODE_TIME,{SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // time in seconds
- {NODE_SCREEN_TEX,{SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // screen texture sampler (takes UV) (only usable in fragment shader)
- {NODE_SCALAR_OP,{SLOT_TYPE_SCALAR,SLOT_TYPE_SCALAR,SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // scalar vs scalar op (mul,{SLOT_MAX},{SLOT_MAX}}, add,{SLOT_MAX},{SLOT_MAX}}, div,{SLOT_MAX},{SLOT_MAX}}, etc)
- {NODE_VEC_OP,{SLOT_TYPE_VEC,SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // scalar vs scalar op (mul,{SLOT_MAX},{SLOT_MAX}}, add,{SLOT_MAX},{SLOT_MAX}}, div,{SLOT_MAX},{SLOT_MAX}}, etc)
- {NODE_VEC_SCALAR_OP,{SLOT_TYPE_VEC,SLOT_TYPE_SCALAR,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // vec3 vs scalar op (mul,{SLOT_MAX},{SLOT_MAX}}, add,{SLOT_MAX},{SLOT_MAX}}, div,{SLOT_MAX},{SLOT_MAX}}, etc)
- {NODE_RGB_OP,{SLOT_TYPE_VEC,SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // vec3 vs scalar op (mul,{SLOT_MAX},{SLOT_MAX}}, add,{SLOT_MAX},{SLOT_MAX}}, div,{SLOT_MAX},{SLOT_MAX}}, etc)
- {NODE_XFORM_MULT,{SLOT_TYPE_XFORM,SLOT_TYPE_XFORM,SLOT_MAX},{SLOT_TYPE_XFORM,SLOT_MAX}}, // mat4 x mat4
- {NODE_XFORM_VEC_MULT,{SLOT_TYPE_XFORM,SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // mat4 x vec3 mult (with no-translation option)
- {NODE_XFORM_VEC_INV_MULT,{SLOT_TYPE_VEC,SLOT_TYPE_XFORM,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // mat4 x vec3 inverse mult (with no-translation option)
- {NODE_SCALAR_FUNC,{SLOT_TYPE_SCALAR,SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // scalar function (sin,{SLOT_MAX},{SLOT_MAX}}, cos,{SLOT_MAX},{SLOT_MAX}}, etc)
- {NODE_VEC_FUNC,{SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // vector function (normalize,{SLOT_MAX},{SLOT_MAX}}, negate,{SLOT_MAX},{SLOT_MAX}}, reciprocal,{SLOT_MAX},{SLOT_MAX}}, rgb2hsv,{SLOT_MAX},{SLOT_MAX}}, hsv2rgb,{SLOT_MAX},{SLOT_MAX}}, etc,{SLOT_MAX},{SLOT_MAX}}, etc)
- {NODE_VEC_LEN,{SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // vec3 length
- {NODE_DOT_PROD,{SLOT_TYPE_VEC,SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // vec3 . vec3 (dot product -> scalar output)
- {NODE_VEC_TO_SCALAR,{SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_TYPE_SCALAR,SLOT_TYPE_SCALAR}}, // 1 vec3 input,{SLOT_MAX},{SLOT_MAX}}, 3 scalar outputs
- {NODE_SCALAR_TO_VEC,{SLOT_TYPE_SCALAR,SLOT_TYPE_SCALAR,SLOT_TYPE_SCALAR},{SLOT_TYPE_VEC,SLOT_MAX}}, // 3 scalar input,{SLOT_MAX},{SLOT_MAX}}, 1 vec3 output
- {NODE_SCALAR_INTERP,{SLOT_TYPE_SCALAR,SLOT_TYPE_SCALAR,SLOT_TYPE_SCALAR},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // scalar interpolation (with optional curve)
- {NODE_VEC_INTERP,{SLOT_TYPE_VEC,SLOT_TYPE_VEC,SLOT_TYPE_SCALAR},{SLOT_TYPE_VEC,SLOT_MAX}}, // vec3 interpolation (with optional curve)
- {NODE_COLOR_RAMP,{SLOT_TYPE_SCALAR,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_TYPE_SCALAR,SLOT_MAX}}, // vec3 interpolation (with optional curve)
- {NODE_CURVE_MAP,{SLOT_TYPE_SCALAR,SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // vec3 interpolation (with optional curve)
- {NODE_SCALAR_INPUT,{SLOT_MAX},{SLOT_TYPE_SCALAR,SLOT_MAX}}, // scalar uniform (assignable in material)
- {NODE_VEC_INPUT,{SLOT_MAX},{SLOT_TYPE_VEC,SLOT_MAX}}, // vec3 uniform (assignable in material)
- {NODE_RGB_INPUT,{SLOT_MAX},{SLOT_TYPE_VEC,SLOT_TYPE_SCALAR,SLOT_MAX}}, // color uniform (assignable in material)
- {NODE_XFORM_INPUT,{SLOT_MAX},{SLOT_TYPE_XFORM,SLOT_MAX}}, // mat4 uniform (assignable in material)
- {NODE_TEXTURE_INPUT,{SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_TYPE_SCALAR,SLOT_MAX}}, // texture input (assignable in material)
- {NODE_CUBEMAP_INPUT,{SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_TYPE_SCALAR,SLOT_MAX}}, // cubemap input (assignable in material)
- {NODE_DEFAULT_TEXTURE,{SLOT_TYPE_VEC,SLOT_MAX},{SLOT_TYPE_VEC,SLOT_TYPE_SCALAR,SLOT_MAX}}, // cubemap input (assignable in material)
- {NODE_COMMENT,{SLOT_MAX},{SLOT_MAX}}, // comment
- {NODE_TYPE_MAX,{SLOT_MAX},{SLOT_MAX}}
-};
-
-int ShaderGraph::get_node_input_slot_count(Mode p_mode, ShaderType p_shader_type,NodeType p_type) {
-
- if (p_type==NODE_INPUT || p_type==NODE_OUTPUT) {
-
- const InOutParamInfo* iop = &inout_param_info[0];
- int pc=0;
- while(iop->name) {
- if (p_mode==iop->shader_mode && p_shader_type==iop->shader_type) {
-
- if (iop->dir==SLOT_OUT)
- pc++;
- }
- iop++;
- }
- return pc;
- } else if (p_type==NODE_VEC_TO_XFORM){
- return 4;
- } else if (p_type==NODE_XFORM_TO_VEC){
- return 1;
- } else {
-
- const NodeSlotInfo*nsi=&node_slot_info[0];
- while(nsi->type!=NODE_TYPE_MAX) {
-
- if (nsi->type==p_type) {
- int pc=0;
- for(int i=0;i<NodeSlotInfo::MAX_INS;i++) {
- if (nsi->ins[i]==SLOT_MAX)
- break;
- pc++;
- }
- return pc;
- }
-
- nsi++;
- }
-
- return 0;
-
- }
-}
-
-int ShaderGraph::get_node_output_slot_count(Mode p_mode, ShaderType p_shader_type,NodeType p_type){
-
- if (p_type==NODE_INPUT || p_type==NODE_OUTPUT) {
-
- const InOutParamInfo* iop = &inout_param_info[0];
- int pc=0;
- while(iop->name) {
- if (p_mode==iop->shader_mode && p_shader_type==iop->shader_type) {
-
- if (iop->dir==SLOT_IN)
- pc++;
- }
- iop++;
- }
- return pc;
- } else if (p_type==NODE_VEC_TO_XFORM){
- return 1;
- } else if (p_type==NODE_XFORM_TO_VEC){
- return 4;
- } else {
-
- const NodeSlotInfo*nsi=&node_slot_info[0];
- while(nsi->type!=NODE_TYPE_MAX) {
-
- if (nsi->type==p_type) {
- int pc=0;
- for(int i=0;i<NodeSlotInfo::MAX_OUTS;i++) {
- if (nsi->outs[i]==SLOT_MAX)
- break;
- pc++;
- }
- return pc;
- }
-
- nsi++;
- }
-
- return 0;
-
- }
-}
-ShaderGraph::SlotType ShaderGraph::get_node_input_slot_type(Mode p_mode, ShaderType p_shader_type,NodeType p_type,int p_idx){
-
- if (p_type==NODE_INPUT || p_type==NODE_OUTPUT) {
-
- const InOutParamInfo* iop = &inout_param_info[0];
- int pc=0;
- while(iop->name) {
- if (p_mode==iop->shader_mode && p_shader_type==iop->shader_type) {
-
- if (iop->dir==SLOT_OUT) {
- if (pc==p_idx)
- return iop->slot_type;
- pc++;
- }
- }
- iop++;
- }
- ERR_FAIL_V(SLOT_MAX);
- } else if (p_type==NODE_VEC_TO_XFORM){
- return SLOT_TYPE_VEC;
- } else if (p_type==NODE_XFORM_TO_VEC){
- return SLOT_TYPE_XFORM;
- } else {
-
- const NodeSlotInfo*nsi=&node_slot_info[0];
- while(nsi->type!=NODE_TYPE_MAX) {
-
- if (nsi->type==p_type) {
- for(int i=0;i<NodeSlotInfo::MAX_INS;i++) {
-
- if (nsi->ins[i]==SLOT_MAX)
- break;
- if (i==p_idx)
- return nsi->ins[i];
- }
- }
-
- nsi++;
- }
-
- ERR_FAIL_V(SLOT_MAX);
-
- }
-}
-ShaderGraph::SlotType ShaderGraph::get_node_output_slot_type(Mode p_mode, ShaderType p_shader_type,NodeType p_type,int p_idx){
-
- if (p_type==NODE_INPUT || p_type==NODE_OUTPUT) {
-
- const InOutParamInfo* iop = &inout_param_info[0];
- int pc=0;
- while(iop->name) {
- if (p_mode==iop->shader_mode && p_shader_type==iop->shader_type) {
-
- if (iop->dir==SLOT_IN) {
- if (pc==p_idx)
- return iop->slot_type;
- pc++;
- }
- }
- iop++;
- }
- ERR_FAIL_V(SLOT_MAX);
- } else if (p_type==NODE_VEC_TO_XFORM){
- return SLOT_TYPE_XFORM;
- } else if (p_type==NODE_XFORM_TO_VEC){
- return SLOT_TYPE_VEC;
- } else {
-
- const NodeSlotInfo*nsi=&node_slot_info[0];
- while(nsi->type!=NODE_TYPE_MAX) {
-
- if (nsi->type==p_type) {
- for(int i=0;i<NodeSlotInfo::MAX_OUTS;i++) {
- if (nsi->outs[i]==SLOT_MAX)
- break;
- if (i==p_idx)
- return nsi->outs[i];
- }
- }
-
- nsi++;
- }
-
- ERR_FAIL_V(SLOT_MAX);
- }
-}
-
-
-
-
-
-void ShaderGraph::_update_shader() {
-
-
- String code[3];
-
- List<StringName> names;
- get_default_texture_param_list(&names);
-
- for (List<StringName>::Element *E=names.front();E;E=E->next()) {
-
- set_default_texture_param(E->get(),Ref<Texture>());
- }
-
-
- for(int i=0;i<3;i++) {
-
- int idx=0;
- for (Map<int,Node>::Element *E=shader[i].node_map.front();E;E=E->next()) {
-
- E->get().sort_order=idx++;
- }
- //simple method for graph solving using bubblesort derived algorithm
- int iters=0;
- int iter_max=shader[i].node_map.size()*shader[i].node_map.size();
-
- while(true) {
- if (iters>iter_max)
- break;
-
- int swaps=0;
- for (Map<int,Node>::Element *E=shader[i].node_map.front();E;E=E->next()) {
-
- for(Map<int,SourceSlot>::Element *F=E->get().connections.front();F;F=F->next()) {
-
- //this is kinda slow, could be sped up
- Map<int,Node>::Element *G = shader[i].node_map.find(F->get().id);
- ERR_FAIL_COND(!G);
- if (G->get().sort_order > E->get().sort_order) {
-
- SWAP(G->get().sort_order,E->get().sort_order);
- swaps++;
- }
- }
- }
-
- iters++;
- if (swaps==0) {
- iters=0;
- break;
- }
- }
-
- if (iters>0) {
-
- shader[i].error=GRAPH_ERROR_CYCLIC;
- continue;
- }
-
- Vector<Node*> order;
- order.resize(shader[i].node_map.size());
-
- for (Map<int,Node>::Element *E=shader[i].node_map.front();E;E=E->next()) {
-
- order[E->get().sort_order]=&E->get();
- }
-
- //generate code for the ordered graph
- bool failed=false;
-
- if (i==SHADER_TYPE_FRAGMENT && get_mode()==MODE_MATERIAL) {
- code[i]+="vec3 DIFFUSE_OUT=vec3(0,0,0);\n";
- code[i]+="float ALPHA_OUT=0;\n";
- }
-
-
- Map<String,String> inputs_xlate;
- Map<String,String> input_names_xlate;
- Set<String> inputs_used;
-
- for(int j=0;j<order.size();j++) {
-
- Node *n=order[j];
- if (n->type==NODE_INPUT) {
-
- const InOutParamInfo* iop = &inout_param_info[0];
- int idx=0;
- while(iop->name) {
- if (get_mode()==iop->shader_mode && i==iop->shader_type && SLOT_IN==iop->dir) {
-
- const char *typestr[4]={"float","vec3","mat4","texture"};
-
- String vname=("nd"+itos(n->id)+"sl"+itos(idx));
- inputs_xlate[vname]=String(typestr[iop->slot_type])+" "+vname+"="+iop->variable+";\n";
- input_names_xlate[vname]=iop->variable;
- idx++;
- }
- iop++;
- }
-
- } else if (n->type==NODE_OUTPUT) {
-
-
- bool use_alpha=false;
- const InOutParamInfo* iop = &inout_param_info[0];
- int idx=0;
- while(iop->name) {
- if (get_mode()==iop->shader_mode && i==iop->shader_type && SLOT_OUT==iop->dir) {
-
- if (n->connections.has(idx)) {
- String iname=("nd"+itos(n->connections[idx].id)+"sl"+itos(n->connections[idx].slot));
- if (node_get_type(ShaderType(i),n->connections[idx].id)==NODE_INPUT)
- inputs_used.insert(iname);
- code[i]+=String(iop->variable)+"="+iname+String(iop->postfix)+";\n";
- if (i==SHADER_TYPE_FRAGMENT && get_mode()==MODE_MATERIAL && String(iop->name)=="DiffuseAlpha")
- use_alpha=true;
- }
- idx++;
- }
- iop++;
- }
-
- if (i==SHADER_TYPE_FRAGMENT && get_mode()==MODE_MATERIAL) {
-
- if (use_alpha) {
- code[i]+="DIFFUSE_ALPHA=vec4(DIFFUSE_OUT,ALPHA_OUT);\n";
- } else {
- code[i]+="DIFFUSE=DIFFUSE_OUT;\n";
- }
- }
-
- } else {
- Vector<String> inputs;
- int max = get_node_input_slot_count(get_mode(),ShaderType(i),n->type);
- for(int k=0;k<max;k++) {
- String iname;
- if (!n->connections.has(k)) {
- iname="nd"+itos(n->id)+"sl"+itos(k)+"def";
- } else {
- iname="nd"+itos(n->connections[k].id)+"sl"+itos(n->connections[k].slot);
- if (node_get_type(ShaderType(i),n->connections[k].id)==NODE_INPUT) {
- inputs_used.insert(iname);
- }
-
- }
- inputs.push_back(iname);
- }
-
- if (failed)
- break;
-
- if (n->type==NODE_TEXTURE_INPUT || n->type==NODE_CUBEMAP_INPUT) {
-
- set_default_texture_param(n->param1,n->param2);
-
- }
- _add_node_code(ShaderType(i),n,inputs,code[i]);
- }
-
- }
-
- if (failed)
- continue;
-
-
- for(Set<String>::Element *E=inputs_used.front();E;E=E->next()) {
-
- ERR_CONTINUE( !inputs_xlate.has(E->get()));
- code[i]=inputs_xlate[E->get()]+code[i];
- String name=input_names_xlate[E->get()];
-
- if (i==SHADER_TYPE_VERTEX && get_mode()==MODE_MATERIAL) {
- if (name==("SRC_COLOR"))
- code[i]="vec3 SRC_COLOR=COLOR.rgb;\n"+code[i];
- if (name==("SRC_ALPHA"))
- code[i]="float SRC_ALPHA=COLOR.a;\n"+code[i];
- if (name==("SRC_UV"))
- code[i]="vec3 SRC_UV=vec3(UV,0);\n"+code[i];
- if (name==("SRC_UV2"))
- code[i]="float SRC_UV2=vec3(UV2,0);\n"+code[i];
- } else if (i==SHADER_TYPE_FRAGMENT && get_mode()==MODE_MATERIAL) {
- if (name==("IN_NORMAL"))
- code[i]="vec3 IN_NORMAL=NORMAL;\n"+code[i];
- } else if (i==SHADER_TYPE_VERTEX && get_mode()==MODE_CANVAS_ITEM) {
- if (name==("SRC_COLOR"))
- code[i]="vec3 SRC_COLOR=COLOR.rgb;\n"+code[i];
- if (name==("SRC_UV"))
- code[i]="vec3 SRC_UV=vec3(UV,0);\n"+code[i];
- }
-
- }
-
-
-
- shader[i].error=GRAPH_OK;
-
- }
-
- bool all_ok=true;
- for(int i=0;i<3;i++) {
- if (shader[i].error!=GRAPH_OK)
- all_ok=false;
- }
-
- /*print_line("VERTEX: \n"+code[0]);
- print_line("FRAGMENT: \n"+code[1]);
- print_line("LIGHT: \n"+code[2]);*/
-
- if (all_ok) {
- set_code(code[0],code[1],code[2]);
- }
- //do shader here
-
- _pending_update_shader=false;
- emit_signal(SceneStringNames::get_singleton()->updated);
-}
-
-void ShaderGraph::_plot_curve(const Vector2& p_a,const Vector2& p_b,const Vector2& p_c,const Vector2& p_d,uint8_t* p_heights,bool *p_useds) {
-
- float geometry[4][4];
- float tmp1[4][4];
- float tmp2[4][4];
- float deltas[4][4];
- double x, dx, dx2, dx3;
- double y, dy, dy2, dy3;
- double d, d2, d3;
- int lastx, lasty;
- int newx, newy;
- int ntimes;
- int i,j;
-
- int xmax=255;
- int ymax=255;
-
- /* construct the geometry matrix from the segment */
- for (i = 0; i < 4; i++) {
- geometry[i][2] = 0;
- geometry[i][3] = 0;
- }
-
- geometry[0][0] = (p_a[0] * xmax);
- geometry[1][0] = (p_b[0] * xmax);
- geometry[2][0] = (p_c[0] * xmax);
- geometry[3][0] = (p_d[0] * xmax);
-
- geometry[0][1] = (p_a[1] * ymax);
- geometry[1][1] = (p_b[1] * ymax);
- geometry[2][1] = (p_c[1] * ymax);
- geometry[3][1] = (p_d[1] * ymax);
-
- /* subdivide the curve ntimes (1000) times */
- ntimes = 4 * xmax;
- /* ntimes can be adjusted to give a finer or coarser curve */
- d = 1.0 / ntimes;
- d2 = d * d;
- d3 = d * d * d;
-
- /* construct a temporary matrix for determining the forward differencing deltas */
- tmp2[0][0] = 0; tmp2[0][1] = 0; tmp2[0][2] = 0; tmp2[0][3] = 1;
- tmp2[1][0] = d3; tmp2[1][1] = d2; tmp2[1][2] = d; tmp2[1][3] = 0;
- tmp2[2][0] = 6*d3; tmp2[2][1] = 2*d2; tmp2[2][2] = 0; tmp2[2][3] = 0;
- tmp2[3][0] = 6*d3; tmp2[3][1] = 0; tmp2[3][2] = 0; tmp2[3][3] = 0;
-
- /* compose the basis and geometry matrices */
-
- static const float CR_basis[4][4] = {
- { -0.5, 1.5, -1.5, 0.5 },
- { 1.0, -2.5, 2.0, -0.5 },
- { -0.5, 0.0, 0.5, 0.0 },
- { 0.0, 1.0, 0.0, 0.0 },
- };
-
- for (i = 0; i < 4; i++)
- {
- for (j = 0; j < 4; j++)
- {
- tmp1[i][j] = (CR_basis[i][0] * geometry[0][j] +
- CR_basis[i][1] * geometry[1][j] +
- CR_basis[i][2] * geometry[2][j] +
- CR_basis[i][3] * geometry[3][j]);
- }
- }
- /* compose the above results to get the deltas matrix */
-
- for (i = 0; i < 4; i++)
- {
- for (j = 0; j < 4; j++)
- {
- deltas[i][j] = (tmp2[i][0] * tmp1[0][j] +
- tmp2[i][1] * tmp1[1][j] +
- tmp2[i][2] * tmp1[2][j] +
- tmp2[i][3] * tmp1[3][j]);
- }
- }
-
-
- /* extract the x deltas */
- x = deltas[0][0];
- dx = deltas[1][0];
- dx2 = deltas[2][0];
- dx3 = deltas[3][0];
-
- /* extract the y deltas */
- y = deltas[0][1];
- dy = deltas[1][1];
- dy2 = deltas[2][1];
- dy3 = deltas[3][1];
-
-
- lastx = CLAMP (x, 0, xmax);
- lasty = CLAMP (y, 0, ymax);
-
- p_heights[lastx] = lasty;
- p_useds[lastx] = true;
-
- /* loop over the curve */
- for (i = 0; i < ntimes; i++)
- {
- /* increment the x values */
- x += dx;
- dx += dx2;
- dx2 += dx3;
-
- /* increment the y values */
- y += dy;
- dy += dy2;
- dy2 += dy3;
-
- newx = CLAMP ((Math::round (x)), 0, xmax);
- newy = CLAMP ((Math::round (y)), 0, ymax);
-
- /* if this point is different than the last one...then draw it */
- if ((lastx != newx) || (lasty != newy))
- {
- p_useds[newx]=true;
- p_heights[newx]=newy;
- }
-
- lastx = newx;
- lasty = newy;
- }
-}
-
-
-void ShaderGraph::_add_node_code(ShaderType p_type,Node *p_node,const Vector<String>& p_inputs,String& code) {
-
-
- const char *typestr[4]={"float","vec3","mat4","texture"};
-#define OUTNAME(id, slot) (String(typestr[get_node_output_slot_type(get_mode(), p_type, p_node->type, slot)]) + " " + ("nd" + itos(id) + "sl" + itos(slot)))
-#define OUTVAR(id, slot) ("nd" + itos(id) + "sl" + itos(slot))
-#define DEF_VEC(slot) \
- if (p_inputs[slot].ends_with("def")) { \
- Vector3 v = p_node->defaults[slot]; \
- code += String(typestr[1]) + " " + p_inputs[slot] + "=vec3(" + v + ");\n"; \
- }
-#define DEF_SCALAR(slot) \
- if (p_inputs[slot].ends_with("def")) { \
- double v = p_node->defaults[slot]; \
- code += String(typestr[0]) + " " + p_inputs[slot] + "=" + rtos(v) + ";\n"; \
- }
-#define DEF_COLOR(slot) \
- if (p_inputs[slot].ends_with("def")) { \
- Color col = p_node->defaults[slot]; \
- code += String(typestr[1]) + " " + p_inputs[slot] + "=vec3(" + rtos(col.r) + "," + rtos(col.g) + "," + rtos(col.b) + ");\n"; \
- }
-#define DEF_MATRIX(slot) \
- if (p_inputs[slot].ends_with("def")) { \
- Transform xf = p_node->defaults[slot]; \
- code += String(typestr[2]) + " " + p_inputs[slot] + "=mat4(\n"; \
- code += "\tvec4(vec3(" + rtos(xf.basis.get_axis(0).x) + "," + rtos(xf.basis.get_axis(0).y) + "," + rtos(xf.basis.get_axis(0).z) + "),0),\n"; \
- code += "\tvec4(vec3(" + rtos(xf.basis.get_axis(1).x) + "," + rtos(xf.basis.get_axis(1).y) + "," + rtos(xf.basis.get_axis(1).z) + "),0),\n"; \
- code += "\tvec4(vec3(" + rtos(xf.basis.get_axis(2).x) + "," + rtos(xf.basis.get_axis(2).y) + "," + rtos(xf.basis.get_axis(2).z) + "),0),\n"; \
- code += "\tvec4(vec3(" + rtos(xf.origin.x) + "," + rtos(xf.origin.y) + "," + rtos(xf.origin.z) + "),1)\n"; \
- code += ");\n"; \
- }
-
- switch(p_node->type) {
-
- case NODE_INPUT: {
-
-
- }break;
- case NODE_SCALAR_CONST: {
-
- double scalar = p_node->param1;
- code+=OUTNAME(p_node->id,0)+"="+rtos(scalar)+";\n";
- }break;
- case NODE_VEC_CONST: {
- Vector3 vec = p_node->param1;
- code+=OUTNAME(p_node->id,0)+"=vec3("+rtos(vec.x)+","+rtos(vec.y)+","+rtos(vec.z)+");\n";
- }break;
- case NODE_RGB_CONST: {
- Color col = p_node->param1;
- code+=OUTNAME(p_node->id,0)+"=vec3("+rtos(col.r)+","+rtos(col.g)+","+rtos(col.b)+");\n";
- code+=OUTNAME(p_node->id,1)+"="+rtos(col.a)+";\n";
- }break;
- case NODE_XFORM_CONST: {
-
- Transform xf = p_node->param1;
- code+=OUTNAME(p_node->id,0)+"=mat4(\n";
- code+="\tvec4(vec3("+rtos(xf.basis.get_axis(0).x)+","+rtos(xf.basis.get_axis(0).y)+","+rtos(xf.basis.get_axis(0).z)+"),0),\n";
- code+="\tvec4(vec3("+rtos(xf.basis.get_axis(1).x)+","+rtos(xf.basis.get_axis(1).y)+","+rtos(xf.basis.get_axis(1).z)+"),0),\n";
- code+="\tvec4(vec3("+rtos(xf.basis.get_axis(2).x)+","+rtos(xf.basis.get_axis(2).y)+","+rtos(xf.basis.get_axis(2).z)+"),0),\n";
- code+="\tvec4(vec3("+rtos(xf.origin.x)+","+rtos(xf.origin.y)+","+rtos(xf.origin.z)+"),1)\n";
- code+=");";
-
- }break;
- case NODE_TIME: {
- code+=OUTNAME(p_node->id,0)+"=TIME;\n";
- }break;
- case NODE_SCREEN_TEX: {
- DEF_VEC(0);
- code+=OUTNAME(p_node->id,0)+"=texscreen("+p_inputs[0]+".xy);\n";
- }break;
- case NODE_SCALAR_OP: {
- DEF_SCALAR(0);
- DEF_SCALAR(1);
- int op = p_node->param1;
- String optxt;
- switch(op) {
-
- case SCALAR_OP_ADD: optxt = p_inputs[0]+"+"+p_inputs[1]+";"; break;
- case SCALAR_OP_SUB: optxt = p_inputs[0]+"-"+p_inputs[1]+";"; break;
- case SCALAR_OP_MUL: optxt = p_inputs[0]+"*"+p_inputs[1]+";"; break;
- case SCALAR_OP_DIV: optxt = p_inputs[0]+"/"+p_inputs[1]+";"; break;
- case SCALAR_OP_MOD: optxt = "mod("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case SCALAR_OP_POW: optxt = "pow("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case SCALAR_OP_MAX: optxt = "max("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case SCALAR_OP_MIN: optxt = "min("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case SCALAR_OP_ATAN2: optxt = "atan2("+p_inputs[0]+","+p_inputs[1]+");"; break;
-
- }
- code+=OUTNAME(p_node->id,0)+"="+optxt+"\n";
-
- }break;
- case NODE_VEC_OP: {
- DEF_VEC(0);
- DEF_VEC(1);
- int op = p_node->param1;
- String optxt;
- switch(op) {
- case VEC_OP_ADD: optxt = p_inputs[0]+"+"+p_inputs[1]+";"; break;
- case VEC_OP_SUB: optxt = p_inputs[0]+"-"+p_inputs[1]+";"; break;
- case VEC_OP_MUL: optxt = p_inputs[0]+"*"+p_inputs[1]+";"; break;
- case VEC_OP_DIV: optxt = p_inputs[0]+"/"+p_inputs[1]+";"; break;
- case VEC_OP_MOD: optxt = "mod("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case VEC_OP_POW: optxt = "pow("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case VEC_OP_MAX: optxt = "max("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case VEC_OP_MIN: optxt = "min("+p_inputs[0]+","+p_inputs[1]+");"; break;
- case VEC_OP_CROSS: optxt = "cross("+p_inputs[0]+","+p_inputs[1]+");"; break;
- }
- code+=OUTNAME(p_node->id,0)+"="+optxt+"\n";
-
- }break;
- case NODE_VEC_SCALAR_OP: {
- DEF_VEC(0);
- DEF_SCALAR(1);
- int op = p_node->param1;
- String optxt;
- switch(op) {
- case VEC_SCALAR_OP_MUL: optxt = p_inputs[0]+"*"+p_inputs[1]+";"; break;
- case VEC_SCALAR_OP_DIV: optxt = p_inputs[0]+"/"+p_inputs[1]+";"; break;
- case VEC_SCALAR_OP_POW: optxt = "pow("+p_inputs[0]+","+p_inputs[1]+");"; break;
- }
- code+=OUTNAME(p_node->id,0)+"="+optxt+"\n";
-
- }break;
- case NODE_RGB_OP: {
- DEF_COLOR(0);
- DEF_COLOR(1);
-
- int op = p_node->param1;
- static const char*axisn[3]={"x","y","z"};
- switch(op) {
- case RGB_OP_SCREEN: {
-
- code += OUTNAME(p_node->id,0)+"=vec3(1.0)-(vec3(1.0)-"+p_inputs[0]+")*(vec3(1.0)-"+p_inputs[1]+");\n";
- } break;
- case RGB_OP_DIFFERENCE: {
-
- code += OUTNAME(p_node->id,0)+"=abs("+p_inputs[0]+"-"+p_inputs[1]+");\n";
- } break;
- case RGB_OP_DARKEN: {
-
- code += OUTNAME(p_node->id,0)+"=min("+p_inputs[0]+","+p_inputs[1]+");\n";
- } break;
- case RGB_OP_LIGHTEN: {
-
- code += OUTNAME(p_node->id,0)+"=max("+p_inputs[0]+","+p_inputs[1]+");\n";
-
- } break;
- case RGB_OP_OVERLAY: {
-
- code += OUTNAME(p_node->id,0)+";\n";
- for(int i=0;i<3;i++) {
- code += "{\n";
- code += "\tfloat base="+p_inputs[0]+"."+axisn[i]+";\n";
- code += "\tfloat blend="+p_inputs[1]+"."+axisn[i]+";\n";
- code += "\tif (base < 0.5) {\n";
- code += "\t\t"+OUTVAR(p_node->id,0)+"."+axisn[i]+" = 2.0 * base * blend;\n";
- code += "\t} else {\n";
- code += "\t\t"+OUTVAR(p_node->id,0)+"."+axisn[i]+" = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);\n";
- code += "\t}\n";
- code += "}\n";
- }
-
- } break;
- case RGB_OP_DODGE: {
-
- code += OUTNAME(p_node->id,0)+"=("+p_inputs[0]+")/(vec3(1.0)-"+p_inputs[1]+");\n";
-
- } break;
- case RGB_OP_BURN: {
-
- code += OUTNAME(p_node->id,0)+"=vec3(1.0)-(vec3(1.0)-"+p_inputs[0]+")/("+p_inputs[1]+");\n";
- } break;
- case RGB_OP_SOFT_LIGHT: {
-
- code += OUTNAME(p_node->id,0)+";\n";
- for(int i=0;i<3;i++) {
- code += "{\n";
- code += "\tfloat base="+p_inputs[0]+"."+axisn[i]+";\n";
- code += "\tfloat blend="+p_inputs[1]+"."+axisn[i]+";\n";
- code += "\tif (base < 0.5) {\n";
- code += "\t\t"+OUTVAR(p_node->id,0)+"."+axisn[i]+" = (base * (blend+0.5));\n";
- code += "\t} else {\n";
- code += "\t\t"+OUTVAR(p_node->id,0)+"."+axisn[i]+" = (1 - (1-base) * (1-(blend-0.5)));\n";
- code += "\t}\n";
- code += "}\n";
- }
-
- } break;
- case RGB_OP_HARD_LIGHT: {
-
- code += OUTNAME(p_node->id,0)+";\n";
- for(int i=0;i<3;i++) {
- code += "{\n";
- code += "\tfloat base="+p_inputs[0]+"."+axisn[i]+";\n";
- code += "\tfloat blend="+p_inputs[1]+"."+axisn[i]+";\n";
- code += "\tif (base < 0.5) {\n";
- code += "\t\t"+OUTVAR(p_node->id,0)+"."+axisn[i]+" = (base * (2*blend));\n";
- code += "\t} else {\n";
- code += "\t\t"+OUTVAR(p_node->id,0)+"."+axisn[i]+" = (1 - (1-base) * (1-2*(blend-0.5)));\n";
- code += "\t}\n";
- code += "}\n";
- }
-
- } break;
- }
- }break;
- case NODE_XFORM_MULT: {
- DEF_MATRIX(0);
- DEF_MATRIX(1);
-
- code += OUTNAME(p_node->id,0)+"="+p_inputs[0]+"*"+p_inputs[1]+";\n";
-
- }break;
- case NODE_XFORM_VEC_MULT: {
- DEF_MATRIX(0);
- DEF_VEC(1);
-
- bool no_translation = p_node->param1;
- if (no_translation) {
- code += OUTNAME(p_node->id,0)+"=("+p_inputs[0]+"*vec4("+p_inputs[1]+",0)).xyz;\n";
- } else {
- code += OUTNAME(p_node->id,0)+"=("+p_inputs[0]+"*vec4("+p_inputs[1]+",1)).xyz;\n";
- }
-
- }break;
- case NODE_XFORM_VEC_INV_MULT: {
- DEF_VEC(0);
- DEF_MATRIX(1);
- bool no_translation = p_node->param1;
- if (no_translation) {
- code += OUTNAME(p_node->id,0)+"=("+p_inputs[1]+"*vec4("+p_inputs[0]+",0)).xyz;\n";
- } else {
- code += OUTNAME(p_node->id,0)+"=("+p_inputs[1]+"*vec4("+p_inputs[0]+",1)).xyz;\n";
- }
- }break;
- case NODE_SCALAR_FUNC: {
- DEF_SCALAR(0);
- static const char*scalar_func_id[SCALAR_MAX_FUNC]={
- "sin($)",
- "cos($)",
- "tan($)",
- "asin($)",
- "acos($)",
- "atan($)",
- "sinh($)",
- "cosh($)",
- "tanh($)",
- "log($)",
- "exp($)",
- "sqrt($)",
- "abs($)",
- "sign($)",
- "floor($)",
- "round($)",
- "ceil($)",
- "fract($)",
- "min(max($,0),1)",
- "-($)",
- };
-
- int func = p_node->param1;
- ERR_FAIL_INDEX(func,SCALAR_MAX_FUNC);
- code += OUTNAME(p_node->id,0)+"="+String(scalar_func_id[func]).replace("$",p_inputs[0])+";\n";
-
- } break;
- case NODE_VEC_FUNC: {
- DEF_VEC(0);
- static const char*vec_func_id[VEC_MAX_FUNC]={
- "normalize($)",
- "max(min($,vec3(1,1,1)),vec3(0,0,0))",
- "-($)",
- "1.0/($)",
- "",
- "",
- };
-
-
- int func = p_node->param1;
- ERR_FAIL_INDEX(func,VEC_MAX_FUNC);
- if (func==VEC_FUNC_RGB2HSV) {
- code += OUTNAME(p_node->id,0)+";\n";
- code+="{\n";
- code+="\tvec3 c = "+p_inputs[0]+";\n";
- code+="\tvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n";
- code+="\tvec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));\n";
- code+="\tvec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));\n";
- code+="\tfloat d = q.x - min(q.w, q.y);\n";
- code+="\tfloat e = 1.0e-10;\n";
- code+="\t"+OUTVAR(p_node->id,0)+"=vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);\n";
- code+="}\n";
- } else if (func==VEC_FUNC_HSV2RGB) {
- code += OUTNAME(p_node->id,0)+";\n";
- code+="{\n";
- code+="\tvec3 c = "+p_inputs[0]+";\n";
- code+="\tvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n";
- code+="\tvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n";
- code+="\t"+OUTVAR(p_node->id,0)+"=c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n";
- code+="}\n";
-
- } else {
- code += OUTNAME(p_node->id,0)+"="+String(vec_func_id[func]).replace("$",p_inputs[0])+";\n";
- }
- }break;
- case NODE_VEC_LEN: {
- DEF_VEC(0);
-
- code += OUTNAME(p_node->id,0)+"=length("+p_inputs[0]+");\n";
-
- }break;
- case NODE_DOT_PROD: {
- DEF_VEC(0);
- DEF_VEC(1);
- code += OUTNAME(p_node->id,0)+"=dot("+p_inputs[1]+","+p_inputs[0]+");\n";
-
- }break;
- case NODE_VEC_TO_SCALAR: {
- DEF_VEC(0);
- code += OUTNAME(p_node->id,0)+"="+p_inputs[0]+".x;\n";
- code += OUTNAME(p_node->id,1)+"="+p_inputs[0]+".y;\n";
- code += OUTNAME(p_node->id,2)+"="+p_inputs[0]+".z;\n";
-
- }break;
- case NODE_SCALAR_TO_VEC: {
- DEF_SCALAR(0);
- DEF_SCALAR(1);
- DEF_SCALAR(2);
- code += OUTNAME(p_node->id,0)+"=vec3("+p_inputs[0]+","+p_inputs[1]+","+p_inputs[2]+""+");\n";
-
- }break;
- case NODE_VEC_TO_XFORM: {
- DEF_VEC(0);
- DEF_VEC(1);
- DEF_VEC(2);
- DEF_VEC(3);
- code += OUTNAME(p_node->id, 0) + "=mat4(" +
- "vec4(" + p_inputs[0] + ".x," + p_inputs[0] + ".y," + p_inputs[0] + ".z, 0.0),"
- "vec4(" + p_inputs[1] + ".x," + p_inputs[1] + ".y," + p_inputs[1] + ".z, 0.0),"
- "vec4(" + p_inputs[2] + ".x," + p_inputs[2] + ".y," + p_inputs[2] + ".z, 0.0),"
- "vec4(" + p_inputs[3] + ".x," + p_inputs[3] + ".y," + p_inputs[3] + ".z, 1.0));\n";
-
- }break;
- case NODE_XFORM_TO_VEC: {
- DEF_MATRIX(0);
- code += OUTNAME(p_node->id, 0) + ";\n";
- code += OUTNAME(p_node->id, 1) + ";\n";
- code += OUTNAME(p_node->id, 2) + ";\n";
- code += OUTNAME(p_node->id, 3) + ";\n";
- code += "{\n";
- code += "\tvec4 xform_row_01=" + p_inputs[0] + ".x;\n";
- code += "\tvec4 xform_row_02=" + p_inputs[0] + ".y;\n";
- code += "\tvec4 xform_row_03=" + p_inputs[0] + ".z;\n";
- code += "\tvec4 xform_row_04=" + p_inputs[0] + ".w;\n";
- code += "\t" + OUTVAR(p_node->id, 0) + "=vec3(xform_row_01.x, xform_row_01.y, xform_row_01.z);\n";
- code += "\t" + OUTVAR(p_node->id, 1) + "=vec3(xform_row_02.x, xform_row_02.y, xform_row_02.z);\n";
- code += "\t" + OUTVAR(p_node->id, 2) + "=vec3(xform_row_03.x, xform_row_03.y, xform_row_03.z);\n";
- code += "\t" + OUTVAR(p_node->id, 3) + "=vec3(xform_row_04.x, xform_row_04.y, xform_row_04.z);\n";
- code += "}\n";
- }break;
- case NODE_SCALAR_INTERP: {
- DEF_SCALAR(0);
- DEF_SCALAR(1);
- DEF_SCALAR(2);
-
- code += OUTNAME(p_node->id,0)+"=mix("+p_inputs[0]+","+p_inputs[1]+","+p_inputs[2]+");\n";
-
- }break;
- case NODE_VEC_INTERP: {
- DEF_VEC(0);
- DEF_VEC(1);
- DEF_SCALAR(2);
- code += OUTNAME(p_node->id,0)+"=mix("+p_inputs[0]+","+p_inputs[1]+","+p_inputs[2]+");\n";
-
- }break;
- case NODE_COLOR_RAMP: {
- DEF_SCALAR(0);
-
- static const int color_ramp_len=512;
- PoolVector<uint8_t> cramp;
- cramp.resize(color_ramp_len*4);
- {
-
- PoolVector<Color> colors=p_node->param1;
- PoolVector<real_t> offsets=p_node->param2;
- int cc =colors.size();
- PoolVector<uint8_t>::Write crw = cramp.write();
- PoolVector<Color>::Read cr = colors.read();
- PoolVector<real_t>::Read ofr = offsets.read();
-
- int at=0;
- Color color_at(0,0,0,1);
- for(int i=0;i<=cc;i++) {
-
- int pos;
- Color to;
- if (i==cc) {
- if (at==color_ramp_len)
- break;
- pos=color_ramp_len;
- to=Color(1,1,1,1);
- } else {
- to=cr[i];
- pos= MIN(ofr[i]*color_ramp_len,color_ramp_len);
- }
- for(int j=at;j<pos;j++) {
- float t = (j-at)/float(pos-at);
- Color c = color_at.linear_interpolate(to,t);
- crw[j*4+0]=Math::fast_ftoi( CLAMP(c.r*255.0,0,255) );
- crw[j*4+1]=Math::fast_ftoi( CLAMP(c.g*255.0,0,255) );
- crw[j*4+2]=Math::fast_ftoi( CLAMP(c.b*255.0,0,255) );
- crw[j*4+3]=Math::fast_ftoi( CLAMP(c.a*255.0,0,255) );
- }
-
- at=pos;
- color_at=to;
- }
- }
-
- Image gradient(color_ramp_len,1,0,Image::FORMAT_RGBA8,cramp);
- Ref<ImageTexture> it = memnew( ImageTexture );
- it->create_from_image(gradient,Texture::FLAG_FILTER|Texture::FLAG_MIPMAPS);
-
- String crampname= "cramp_"+itos(p_node->id);
- set_default_texture_param(crampname,it);
-
- code +="uniform texture "+crampname+";\n";
- code +="vec4 "+crampname+"_r=tex("+crampname+",vec2("+p_inputs[0]+",0));\n";
- code += OUTNAME(p_node->id,0)+"="+crampname+"_r.rgb;\n";
- code += OUTNAME(p_node->id,1)+"="+crampname+"_r.a;\n";
-
- }break;
- case NODE_CURVE_MAP: {
- DEF_SCALAR(0);
- static const int curve_map_len=256;
- bool mapped[256];
- zeromem(mapped,sizeof(mapped));
- PoolVector<uint8_t> cmap;
- cmap.resize(curve_map_len);
- {
-
- PoolVector<Point2> points=p_node->param1;
- int pc =points.size();
- PoolVector<uint8_t>::Write cmw = cmap.write();
- PoolVector<Point2>::Read pr = points.read();
-
- Vector2 prev=Vector2(0,0);
- Vector2 prev2=Vector2(0,0);
-
- for(int i=-1;i<pc;i++) {
-
- Vector2 next;
- Vector2 next2;
- if (i+1>=pc) {
- next=Vector2(1,1);
- } else {
- next=Vector2(pr[i+1].x,pr[i+1].y);
- }
-
- if (i+2>=pc) {
- next2=Vector2(1,1);
- } else {
- next2=Vector2(pr[i+2].x,pr[i+2].y);
- }
-
- /*if (i==-1 && prev.offset==next.offset) {
- prev=next;
- continue;
- }*/
-
- _plot_curve(prev2,prev,next,next2,cmw.ptr(),mapped);
-
- prev2=prev;
- prev=next;
- }
-
- uint8_t pp=0;
- for(int i=0;i<curve_map_len;i++) {
-
- if (!mapped[i]) {
- cmw[i]=pp;
- } else {
- pp=cmw[i];
- }
- }
- }
-
-
-
- Image gradient(curve_map_len,1,0,Image::FORMAT_L8,cmap);
- Ref<ImageTexture> it = memnew( ImageTexture );
- it->create_from_image(gradient,Texture::FLAG_FILTER|Texture::FLAG_MIPMAPS);
-
- String cmapname= "cmap_"+itos(p_node->id);
- set_default_texture_param(cmapname,it);
-
- code +="uniform texture "+cmapname+";\n";
- code += OUTNAME(p_node->id,0)+"=tex("+cmapname+",vec2("+p_inputs[0]+",0)).r;\n";
-
- }break;
- case NODE_SCALAR_INPUT: {
- String name = p_node->param1;
- float dv=p_node->param2;
- code +="uniform float "+name+"="+rtos(dv)+";\n";
- code += OUTNAME(p_node->id,0)+"="+name+";\n";
- }break;
- case NODE_VEC_INPUT: {
-
- String name = p_node->param1;
- Vector3 dv=p_node->param2;
- code +="uniform vec3 "+name+"=vec3("+rtos(dv.x)+","+rtos(dv.y)+","+rtos(dv.z)+");\n";
- code += OUTNAME(p_node->id,0)+"="+name+";\n";
- }break;
- case NODE_RGB_INPUT: {
-
- String name = p_node->param1;
- Color dv= p_node->param2;
-
- code +="uniform color "+name+"=vec4("+rtos(dv.r)+","+rtos(dv.g)+","+rtos(dv.b)+","+rtos(dv.a)+");\n";
- code += OUTNAME(p_node->id,0)+"="+name+".rgb;\n";
- code += OUTNAME(p_node->id,1)+"="+name+".a;\n";
-
- }break;
- case NODE_XFORM_INPUT: {
-
- String name = p_node->param1;
- Transform dv= p_node->param2;
-
- code +="uniform mat4 "+name+"=mat4(\n";
- code+="\tvec4(vec3("+rtos(dv.basis.get_axis(0).x)+","+rtos(dv.basis.get_axis(0).y)+","+rtos(dv.basis.get_axis(0).z)+"),0),\n";
- code+="\tvec4(vec3("+rtos(dv.basis.get_axis(1).x)+","+rtos(dv.basis.get_axis(1).y)+","+rtos(dv.basis.get_axis(1).z)+"),0),\n";
- code+="\tvec4(vec3("+rtos(dv.basis.get_axis(2).x)+","+rtos(dv.basis.get_axis(2).y)+","+rtos(dv.basis.get_axis(2).z)+"),0),\n";
- code+="\tvec4(vec3("+rtos(dv.origin.x)+","+rtos(dv.origin.y)+","+rtos(dv.origin.z)+"),1)\n";
- code+=");";
-
- code += OUTNAME(p_node->id,0)+"="+name+";\n";
-
- }break;
- case NODE_TEXTURE_INPUT: {
- DEF_VEC(0);
- String name = p_node->param1;
- String rname="rt_read_tex"+itos(p_node->id);
- code +="uniform texture "+name+";";
- code +="vec4 "+rname+"=tex("+name+","+p_inputs[0]+".xy);\n";
- code += OUTNAME(p_node->id,0)+"="+rname+".rgb;\n";
- code += OUTNAME(p_node->id,1)+"="+rname+".a;\n";
-
- }break;
- case NODE_CUBEMAP_INPUT: {
- DEF_VEC(0);
- String name = p_node->param1;
- code +="uniform cubemap "+name+";";
- String rname="rt_read_tex"+itos(p_node->id);
- code +="vec4 "+rname+"=texcube("+name+","+p_inputs[0]+".xy);\n";
- code += OUTNAME(p_node->id,0)+"="+rname+".rgb;\n";
- code += OUTNAME(p_node->id,1)+"="+rname+".a;\n";
- }break;
- case NODE_DEFAULT_TEXTURE: {
- DEF_VEC(0);
-
- if (get_mode()==MODE_CANVAS_ITEM && p_type==SHADER_TYPE_FRAGMENT) {
-
- String rname="rt_default_tex"+itos(p_node->id);
- code +="vec4 "+rname+"=tex(TEXTURE,"+p_inputs[0]+".xy);\n";
- code += OUTNAME(p_node->id,0)+"="+rname+".rgb;\n";
- code += OUTNAME(p_node->id,1)+"="+rname+".a;\n";
-
- } else {
- //not supported
- code += OUTNAME(p_node->id,0)+"=vec3(0,0,0);\n";
- code += OUTNAME(p_node->id,1)+"=1.0;\n";
-
- }
- } break;
- case NODE_OUTPUT: {
-
-
- }break;
- case NODE_COMMENT: {
-
- }break;
- case NODE_TYPE_MAX: {
-
- }
- }
-#undef DEF_SCALAR
-#undef DEF_COLOR
-#undef DEF_MATRIX
-#undef DEF_VEC
-}
-
-#endif
diff --git a/scene/resources/shader_graph.h b/scene/resources/shader_graph.h
deleted file mode 100644
index e3a68f8572..0000000000
--- a/scene/resources/shader_graph.h
+++ /dev/null
@@ -1,446 +0,0 @@
-/*************************************************************************/
-/* shader_graph.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2018 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 SHADER_GRAPH_H
-#define SHADER_GRAPH_H
-
-// FIXME: Needs to be ported to the new 3.0 shader API
-#if 0
-#include "map.h"
-#include "scene/resources/shader.h"
-
-class ShaderGraph : public Shader {
-
- GDCLASS( ShaderGraph, Shader );
- RES_BASE_EXTENSION("vshader");
-
-public:
-
- enum NodeType {
- NODE_INPUT, // all inputs (shader type dependent)
- NODE_SCALAR_CONST, //scalar constant
- NODE_VEC_CONST, //vec3 constant
- NODE_RGB_CONST, //rgb constant (shows a color picker instead)
- NODE_XFORM_CONST, // 4x4 matrix constant
- NODE_TIME, // time in seconds
- NODE_SCREEN_TEX, // screen texture sampler (takes UV) (only usable in fragment shader)
- NODE_SCALAR_OP, // scalar vs scalar op (mul, add, div, etc)
- NODE_VEC_OP, // vec3 vs vec3 op (mul,ad,div,crossprod,etc)
- NODE_VEC_SCALAR_OP, // vec3 vs scalar op (mul, add, div, etc)
- NODE_RGB_OP, // vec3 vs vec3 rgb op (with scalar amount), like brighten, darken, burn, dodge, multiply, etc.
- NODE_XFORM_MULT, // mat4 x mat4
- NODE_XFORM_VEC_MULT, // mat4 x vec3 mult (with no-translation option)
- NODE_XFORM_VEC_INV_MULT, // mat4 x vec3 inverse mult (with no-translation option)
- NODE_SCALAR_FUNC, // scalar function (sin, cos, etc)
- NODE_VEC_FUNC, // vector function (normalize, negate, reciprocal, rgb2hsv, hsv2rgb, etc, etc)
- NODE_VEC_LEN, // vec3 length
- NODE_DOT_PROD, // vec3 . vec3 (dot product -> scalar output)
- NODE_VEC_TO_SCALAR, // 1 vec3 input, 3 scalar outputs
- NODE_SCALAR_TO_VEC, // 3 scalar input, 1 vec3 output
- NODE_XFORM_TO_VEC, // 3 vec input, 1 xform output
- NODE_VEC_TO_XFORM, // 3 vec input, 1 xform output
- NODE_SCALAR_INTERP, // scalar interpolation (with optional curve)
- NODE_VEC_INTERP, // vec3 interpolation (with optional curve)
- NODE_COLOR_RAMP, //take scalar, output vec3
- NODE_CURVE_MAP, //take scalar, otput scalar
- NODE_SCALAR_INPUT, // scalar uniform (assignable in material)
- NODE_VEC_INPUT, // vec3 uniform (assignable in material)
- NODE_RGB_INPUT, // color uniform (assignable in material)
- NODE_XFORM_INPUT, // mat4 uniform (assignable in material)
- NODE_TEXTURE_INPUT, // texture input (assignable in material)
- NODE_CUBEMAP_INPUT, // cubemap input (assignable in material)
- NODE_DEFAULT_TEXTURE,
- NODE_OUTPUT, // output (shader type dependent)
- NODE_COMMENT, // comment
- NODE_TYPE_MAX
- };
-
-
- struct Connection {
-
- int src_id;
- int src_slot;
- int dst_id;
- int dst_slot;
- };
-
- enum SlotType {
-
- SLOT_TYPE_SCALAR,
- SLOT_TYPE_VEC,
- SLOT_TYPE_XFORM,
- SLOT_TYPE_TEXTURE,
- SLOT_MAX
- };
-
- enum ShaderType {
- SHADER_TYPE_VERTEX,
- SHADER_TYPE_FRAGMENT,
- SHADER_TYPE_LIGHT,
- SHADER_TYPE_MAX
- };
-
- enum SlotDir {
- SLOT_IN,
- SLOT_OUT
- };
-
- enum GraphError {
- GRAPH_OK,
- GRAPH_ERROR_CYCLIC,
- GRAPH_ERROR_MISSING_CONNECTIONS
- };
-
-private:
-
- String _find_unique_name(const String& p_base);
-
- enum {SLOT_DEFAULT_VALUE = 0x7FFFFFFF};
- struct SourceSlot {
-
- int id;
- int slot;
- bool operator==(const SourceSlot& p_slot) const {
- return id==p_slot.id && slot==p_slot.slot;
- }
- };
-
- struct Node {
-
- Vector2 pos;
- NodeType type;
- Variant param1;
- Variant param2;
- Map<int, Variant> defaults;
- int id;
- mutable int order; // used for sorting
- int sort_order;
- Map<int,SourceSlot> connections;
-
- };
-
- struct ShaderData {
- Map<int,Node> node_map;
- GraphError error;
- } shader[3];
-
-
-
- struct InOutParamInfo {
- Mode shader_mode;
- ShaderType shader_type;
- const char *name;
- const char *variable;
- const char *postfix;
- SlotType slot_type;
- SlotDir dir;
- };
-
- static const InOutParamInfo inout_param_info[];
-
- struct NodeSlotInfo {
-
- enum { MAX_INS=3, MAX_OUTS=3 };
- NodeType type;
- const SlotType ins[MAX_INS];
- const SlotType outs[MAX_OUTS];
- };
-
- static const NodeSlotInfo node_slot_info[];
-
- bool _pending_update_shader;
- void _update_shader();
- void _request_update();
-
- void _plot_curve(const Vector2& p_a,const Vector2& p_b,const Vector2& p_c,const Vector2& p_d,uint8_t* p_heights,bool *p_useds);
- void _add_node_code(ShaderType p_type,Node *p_node,const Vector<String>& p_inputs,String& code);
-
- Array _get_node_list(ShaderType p_type) const;
- Array _get_connections(ShaderType p_type) const;
-
- void _set_data(const Dictionary& p_data);
- Dictionary _get_data() const;
-protected:
-
- static void _bind_methods();
-
-public:
-
-
- void node_add(ShaderType p_type, NodeType p_node_type, int p_id);
- void node_remove(ShaderType p_which,int p_id);
- void node_set_position(ShaderType p_which,int p_id,const Point2& p_pos);
- Point2 node_get_position(ShaderType p_which,int p_id) const;
-
- void get_node_list(ShaderType p_which,List<int> *p_node_list) const;
- NodeType node_get_type(ShaderType p_which,int p_id) const;
-
- void scalar_const_node_set_value(ShaderType p_which,int p_id,float p_value);
- float scalar_const_node_get_value(ShaderType p_which,int p_id) const;
-
- void vec_const_node_set_value(ShaderType p_which,int p_id,const Vector3& p_value);
- Vector3 vec_const_node_get_value(ShaderType p_which,int p_id) const;
-
- void rgb_const_node_set_value(ShaderType p_which,int p_id,const Color& p_value);
- Color rgb_const_node_get_value(ShaderType p_which,int p_id) const;
-
- void xform_const_node_set_value(ShaderType p_which,int p_id,const Transform& p_value);
- Transform xform_const_node_get_value(ShaderType p_which,int p_id) const;
-
- void texture_node_set_filter_size(ShaderType p_which,int p_id,int p_size);
- int texture_node_get_filter_size(ShaderType p_which,int p_id) const;
-
- void texture_node_set_filter_strength(ShaderType p_which,float p_id,float p_strength);
- float texture_node_get_filter_strength(ShaderType p_which,float p_id) const;
-
- void duplicate_nodes(ShaderType p_which, List<int> &p_nodes);
-
- List<int> generate_ids(ShaderType p_type, int count);
-
- enum ScalarOp {
- SCALAR_OP_ADD,
- SCALAR_OP_SUB,
- SCALAR_OP_MUL,
- SCALAR_OP_DIV,
- SCALAR_OP_MOD,
- SCALAR_OP_POW,
- SCALAR_OP_MAX,
- SCALAR_OP_MIN,
- SCALAR_OP_ATAN2,
- SCALAR_MAX_OP
- };
-
- void scalar_op_node_set_op(ShaderType p_which,float p_id,ScalarOp p_op);
- ScalarOp scalar_op_node_get_op(ShaderType p_which,float p_id) const;
-
- enum VecOp {
- VEC_OP_ADD,
- VEC_OP_SUB,
- VEC_OP_MUL,
- VEC_OP_DIV,
- VEC_OP_MOD,
- VEC_OP_POW,
- VEC_OP_MAX,
- VEC_OP_MIN,
- VEC_OP_CROSS,
- VEC_MAX_OP
- };
-
- void vec_op_node_set_op(ShaderType p_which,float p_id,VecOp p_op);
- VecOp vec_op_node_get_op(ShaderType p_which,float p_id) const;
-
- enum VecScalarOp {
- VEC_SCALAR_OP_MUL,
- VEC_SCALAR_OP_DIV,
- VEC_SCALAR_OP_POW,
- VEC_SCALAR_MAX_OP
- };
-
- void vec_scalar_op_node_set_op(ShaderType p_which,float p_id,VecScalarOp p_op);
- VecScalarOp vec_scalar_op_node_get_op(ShaderType p_which,float p_id) const;
-
- enum RGBOp {
- RGB_OP_SCREEN,
- RGB_OP_DIFFERENCE,
- RGB_OP_DARKEN,
- RGB_OP_LIGHTEN,
- RGB_OP_OVERLAY,
- RGB_OP_DODGE,
- RGB_OP_BURN,
- RGB_OP_SOFT_LIGHT,
- RGB_OP_HARD_LIGHT,
- RGB_MAX_OP
- };
-
- void rgb_op_node_set_op(ShaderType p_which,float p_id,RGBOp p_op);
- RGBOp rgb_op_node_get_op(ShaderType p_which,float p_id) const;
-
- void xform_vec_mult_node_set_no_translation(ShaderType p_which,int p_id,bool p_no_translation);
- bool xform_vec_mult_node_get_no_translation(ShaderType p_which,int p_id) const;
-
- enum ScalarFunc {
- SCALAR_FUNC_SIN,
- SCALAR_FUNC_COS,
- SCALAR_FUNC_TAN,
- SCALAR_FUNC_ASIN,
- SCALAR_FUNC_ACOS,
- SCALAR_FUNC_ATAN,
- SCALAR_FUNC_SINH,
- SCALAR_FUNC_COSH,
- SCALAR_FUNC_TANH,
- SCALAR_FUNC_LOG,
- SCALAR_FUNC_EXP,
- SCALAR_FUNC_SQRT,
- SCALAR_FUNC_ABS,
- SCALAR_FUNC_SIGN,
- SCALAR_FUNC_FLOOR,
- SCALAR_FUNC_ROUND,
- SCALAR_FUNC_CEIL,
- SCALAR_FUNC_FRAC,
- SCALAR_FUNC_SATURATE,
- SCALAR_FUNC_NEGATE,
- SCALAR_MAX_FUNC
- };
-
- void scalar_func_node_set_function(ShaderType p_which,int p_id,ScalarFunc p_func);
- ScalarFunc scalar_func_node_get_function(ShaderType p_which,int p_id) const;
-
- enum VecFunc {
- VEC_FUNC_NORMALIZE,
- VEC_FUNC_SATURATE,
- VEC_FUNC_NEGATE,
- VEC_FUNC_RECIPROCAL,
- VEC_FUNC_RGB2HSV,
- VEC_FUNC_HSV2RGB,
- VEC_MAX_FUNC
- };
-
- void default_set_value(ShaderType p_which,int p_id,int p_param, const Variant& p_value);
- Variant default_get_value(ShaderType p_which,int p_id,int p_param);
-
- void vec_func_node_set_function(ShaderType p_which,int p_id,VecFunc p_func);
- VecFunc vec_func_node_get_function(ShaderType p_which,int p_id) const;
-
- void color_ramp_node_set_ramp(ShaderType p_which,int p_id,const PoolVector<Color>& p_colors, const PoolVector<real_t>& p_offsets);
- PoolVector<Color> color_ramp_node_get_colors(ShaderType p_which,int p_id) const;
- PoolVector<real_t> color_ramp_node_get_offsets(ShaderType p_which,int p_id) const;
-
- void curve_map_node_set_points(ShaderType p_which, int p_id, const PoolVector<Vector2>& p_points);
- PoolVector<Vector2> curve_map_node_get_points(ShaderType p_which,int p_id) const;
-
- void input_node_set_name(ShaderType p_which,int p_id,const String& p_name);
- String input_node_get_name(ShaderType p_which,int p_id);
-
- void scalar_input_node_set_value(ShaderType p_which,int p_id,float p_value);
- float scalar_input_node_get_value(ShaderType p_which,int p_id) const;
-
- void vec_input_node_set_value(ShaderType p_which,int p_id,const Vector3& p_value);
- Vector3 vec_input_node_get_value(ShaderType p_which,int p_id) const;
-
- void rgb_input_node_set_value(ShaderType p_which,int p_id,const Color& p_value);
- Color rgb_input_node_get_value(ShaderType p_which,int p_id) const;
-
- void xform_input_node_set_value(ShaderType p_which,int p_id,const Transform& p_value);
- Transform xform_input_node_get_value(ShaderType p_which,int p_id) const;
-
- void texture_input_node_set_value(ShaderType p_which,int p_id,const Ref<Texture>& p_texture);
- Ref<Texture> texture_input_node_get_value(ShaderType p_which,int p_id) const;
-
- void cubemap_input_node_set_value(ShaderType p_which,int p_id,const Ref<CubeMap>& p_cubemap);
- Ref<CubeMap> cubemap_input_node_get_value(ShaderType p_which,int p_id) const;
-
- void comment_node_set_text(ShaderType p_which,int p_id,const String& p_comment);
- String comment_node_get_text(ShaderType p_which,int p_id) const;
-
- Error connect_node(ShaderType p_which,int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot);
- bool is_node_connected(ShaderType p_which,int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) const;
- void disconnect_node(ShaderType p_which,int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot);
-
- void get_node_connections(ShaderType p_which,List<Connection> *p_connections) const;
-
- bool is_slot_connected(ShaderType p_which,int p_dst_id,int slot_id);
-
- void clear(ShaderType p_which);
-
- Variant node_get_state(ShaderType p_type, int p_node) const;
- void node_set_state(ShaderType p_type, int p_id, const Variant& p_state);
-
- GraphError get_graph_error(ShaderType p_type) const;
-
- int node_count(ShaderType p_which, int p_type);
-
- static int get_type_input_count(NodeType p_type);
- static int get_type_output_count(NodeType p_type);
- static SlotType get_type_input_type(NodeType p_type,int p_idx);
- static SlotType get_type_output_type(NodeType p_type,int p_idx);
- static bool is_type_valid(Mode p_mode,ShaderType p_type);
-
-
- struct SlotInfo {
- String name;
- SlotType type;
- SlotDir dir;
- };
-
- static void get_input_output_node_slot_info(Mode p_mode, ShaderType p_type, List<SlotInfo> *r_slots);
-
- static int get_node_input_slot_count(Mode p_mode, ShaderType p_shader_type,NodeType p_type);
- static int get_node_output_slot_count(Mode p_mode, ShaderType p_shader_type,NodeType p_type);
- static SlotType get_node_input_slot_type(Mode p_mode, ShaderType p_shader_type,NodeType p_type,int p_idx);
- static SlotType get_node_output_slot_type(Mode p_mode, ShaderType p_shader_type,NodeType p_type,int p_idx);
-
-
- ShaderGraph(Mode p_mode);
- ~ShaderGraph();
-};
-
-//helper functions
-
-
-
-
-VARIANT_ENUM_CAST( ShaderGraph::NodeType );
-VARIANT_ENUM_CAST( ShaderGraph::ShaderType );
-VARIANT_ENUM_CAST( ShaderGraph::SlotType );
-VARIANT_ENUM_CAST( ShaderGraph::ScalarOp );
-VARIANT_ENUM_CAST( ShaderGraph::VecOp );
-VARIANT_ENUM_CAST( ShaderGraph::VecScalarOp );
-VARIANT_ENUM_CAST( ShaderGraph::RGBOp );
-VARIANT_ENUM_CAST( ShaderGraph::ScalarFunc );
-VARIANT_ENUM_CAST( ShaderGraph::VecFunc );
-VARIANT_ENUM_CAST( ShaderGraph::GraphError );
-
-
-class MaterialShaderGraph : public ShaderGraph {
-
- GDCLASS( MaterialShaderGraph, ShaderGraph );
-
-public:
-
-
- MaterialShaderGraph() : ShaderGraph(MODE_MATERIAL) {
-
- }
-};
-
-class CanvasItemShaderGraph : public ShaderGraph {
-
- GDCLASS( CanvasItemShaderGraph, ShaderGraph );
-
-public:
-
-
- CanvasItemShaderGraph() : ShaderGraph(MODE_CANVAS_ITEM) {
-
- }
-};
-
-#endif
-#endif // SHADER_GRAPH_H
diff --git a/scene/resources/shape.cpp b/scene/resources/shape.cpp
index 418d8ce819..a48ce0564b 100644
--- a/scene/resources/shape.cpp
+++ b/scene/resources/shape.cpp
@@ -50,6 +50,15 @@ void Shape::add_vertices_to_array(PoolVector<Vector3> &array, const Transform &p
}
}
+real_t Shape::get_margin() const {
+ return margin;
+}
+
+void Shape::set_margin(real_t p_margin) {
+ margin = p_margin;
+ PhysicsServer::get_singleton()->shape_set_margin(shape, margin);
+}
+
Ref<ArrayMesh> Shape::get_debug_mesh() {
if (debug_mesh_cache.is_valid())
@@ -87,12 +96,22 @@ Ref<ArrayMesh> Shape::get_debug_mesh() {
return debug_mesh_cache;
}
-Shape::Shape() {
+void Shape::_bind_methods() {
+
+ ClassDB::bind_method(D_METHOD("set_margin", "margin"), &Shape::set_margin);
+ ClassDB::bind_method(D_METHOD("get_margin"), &Shape::get_margin);
+
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "margin", PROPERTY_HINT_RANGE, "0.04,10,0.01"), "set_margin", "get_margin");
+}
+
+Shape::Shape() :
+ margin(0.04) {
ERR_PRINT("Constructor must not be called!");
}
-Shape::Shape(RID p_shape) {
+Shape::Shape(RID p_shape) :
+ margin(0.04) {
shape = p_shape;
}
diff --git a/scene/resources/shape.h b/scene/resources/shape.h
index ad87a69679..0c44b86e92 100644
--- a/scene/resources/shape.h
+++ b/scene/resources/shape.h
@@ -40,10 +40,13 @@ class Shape : public Resource {
OBJ_SAVE_TYPE(Shape);
RES_BASE_EXTENSION("shape");
RID shape;
+ real_t margin;
Ref<ArrayMesh> debug_mesh_cache;
protected:
+ static void _bind_methods();
+
_FORCE_INLINE_ RID get_shape() const { return shape; }
Shape(RID p_shape);
@@ -55,6 +58,9 @@ public:
void add_vertices_to_array(PoolVector<Vector3> &array, const Transform &p_xform);
+ real_t get_margin() const;
+ void set_margin(real_t p_margin);
+
Shape();
~Shape();
};
diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp
index ec489e5c5b..81fabf40fe 100644
--- a/scene/resources/surface_tool.cpp
+++ b/scene/resources/surface_tool.cpp
@@ -755,15 +755,11 @@ void SurfaceTool::append_from(const Ref<Mesh> &p_existing, int p_surface, const
for (List<int>::Element *E = nindices.front(); E; E = E->next()) {
int dst_index = E->get() + vfrom;
- /*
- if (dst_index <0 || dst_index>=vertex_array.size()) {
- print_line("invalid index!");
- }
- */
index_array.push_back(dst_index);
}
- if (index_array.size() % 3)
- print_line("IA not div of 3?");
+ if (index_array.size() % 3) {
+ WARN_PRINT("SurfaceTool: Index array not a multiple of 3.");
+ }
}
//mikktspace callbacks
diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp
index 60a99d255a..811e5c3d2c 100644
--- a/scene/resources/texture.cpp
+++ b/scene/resources/texture.cpp
@@ -29,6 +29,7 @@
/*************************************************************************/
#include "texture.h"
+#include "bit_mask.h"
#include "core/method_bind_ext.gen.inc"
#include "core/os/os.h"
#include "core_string_names.h"
@@ -39,6 +40,9 @@ Size2 Texture::get_size() const {
return Size2(get_width(), get_height());
}
+bool Texture::is_pixel_opaque(int p_x, int p_y) const {
+ return true;
+}
void Texture::draw(RID p_canvas_item, const Point2 &p_pos, const Color &p_modulate, bool p_transpose, const Ref<Texture> &p_normal_map) const {
RID normal_rid = p_normal_map.is_valid() ? p_normal_map->get_rid() : RID();
@@ -234,6 +238,7 @@ void ImageTexture::set_data(const Ref<Image> &p_image) {
VisualServer::get_singleton()->texture_set_data(texture, p_image);
_change_notify();
+ alpha_cache.unref();
}
void ImageTexture::_resource_path_changed() {
@@ -288,6 +293,41 @@ void ImageTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, cons
VisualServer::get_singleton()->canvas_item_add_texture_rect_region(p_canvas_item, p_rect, texture, p_src_rect, p_modulate, p_transpose, normal_rid, p_clip_uv);
}
+bool ImageTexture::is_pixel_opaque(int p_x, int p_y) const {
+
+ if (!alpha_cache.is_valid()) {
+ Ref<Image> img = get_data();
+ if (img.is_valid()) {
+ if (img->is_compressed()) { //must decompress, if compressed
+ Ref<Image> decom = img->duplicate();
+ decom->decompress();
+ img = decom;
+ }
+ alpha_cache.instance();
+ alpha_cache->create_from_image_alpha(img);
+ }
+ }
+
+ if (alpha_cache.is_valid()) {
+
+ int aw = int(alpha_cache->get_size().width);
+ int ah = int(alpha_cache->get_size().height);
+ if (aw == 0 || ah == 0) {
+ return true;
+ }
+
+ int x = p_x * aw / w;
+ int y = p_y * ah / h;
+
+ x = CLAMP(x, 0, aw);
+ y = CLAMP(y, 0, aw);
+
+ return alpha_cache->get_bit(Point2(x, y));
+ }
+
+ return true;
+}
+
void ImageTexture::set_size_override(const Size2 &p_size) {
Size2 s = p_size;
@@ -421,6 +461,8 @@ Image::Format StreamTexture::get_format() const {
Error StreamTexture::_load_data(const String &p_path, int &tw, int &th, int &flags, Ref<Image> &image, int p_size_limit) {
+ alpha_cache.unref();
+
ERR_FAIL_COND_V(image.is_null(), ERR_INVALID_PARAMETER);
FileAccess *f = FileAccess::open(p_path, FileAccess::READ);
@@ -438,7 +480,7 @@ Error StreamTexture::_load_data(const String &p_path, int &tw, int &th, int &fla
flags = f->get_32(); //texture flags!
uint32_t df = f->get_32(); //data format
-/*
+ /*
print_line("width: " + itos(tw));
print_line("height: " + itos(th));
print_line("flags: " + itos(flags));
@@ -709,6 +751,40 @@ Ref<Image> StreamTexture::get_data() const {
return VS::get_singleton()->texture_get_data(texture);
}
+bool StreamTexture::is_pixel_opaque(int p_x, int p_y) const {
+
+ if (!alpha_cache.is_valid()) {
+ Ref<Image> img = get_data();
+ if (img.is_valid()) {
+ if (img->is_compressed()) { //must decompress, if compressed
+ Ref<Image> decom = img->duplicate();
+ decom->decompress();
+ img = decom;
+ }
+ alpha_cache.instance();
+ alpha_cache->create_from_image_alpha(img);
+ }
+ }
+
+ if (alpha_cache.is_valid()) {
+
+ int aw = int(alpha_cache->get_size().width);
+ int ah = int(alpha_cache->get_size().height);
+ if (aw == 0 || ah == 0) {
+ return true;
+ }
+
+ int x = p_x * aw / w;
+ int y = p_y * ah / h;
+
+ x = CLAMP(x, 0, aw);
+ y = CLAMP(y, 0, aw);
+
+ return alpha_cache->get_bit(Point2(x, y));
+ }
+
+ return true;
+}
void StreamTexture::set_flags(uint32_t p_flags) {
flags = p_flags;
VS::get_singleton()->texture_set_flags(texture, flags);
@@ -993,6 +1069,15 @@ bool AtlasTexture::get_rect_region(const Rect2 &p_rect, const Rect2 &p_src_rect,
return true;
}
+bool AtlasTexture::is_pixel_opaque(int p_x, int p_y) const {
+
+ if (atlas.is_valid()) {
+ return atlas->is_pixel_opaque(p_x + region.position.x + margin.position.x, p_x + region.position.y + margin.position.y);
+ }
+
+ return true;
+}
+
AtlasTexture::AtlasTexture() {
filter_clip = false;
}
@@ -1170,6 +1255,23 @@ void LargeTexture::draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, cons
}
}
+bool LargeTexture::is_pixel_opaque(int p_x, int p_y) const {
+
+ for (int i = 0; i < pieces.size(); i++) {
+
+ // TODO
+ if (!pieces[i].texture.is_valid())
+ continue;
+
+ Rect2 rect(pieces[i].offset, pieces[i].texture->get_size());
+ if (rect.has_point(Point2(p_x, p_y))) {
+ return pieces[i].texture->is_pixel_opaque(p_x - rect.position.x, p_y - rect.position.y);
+ }
+ }
+
+ return true;
+}
+
LargeTexture::LargeTexture() {
}
@@ -1652,7 +1754,7 @@ ProxyTexture::~ProxyTexture() {
void AnimatedTexture::_update_proxy() {
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
float delta;
if (prev_ticks == 0) {
@@ -1698,7 +1800,7 @@ void AnimatedTexture::_update_proxy() {
void AnimatedTexture::set_frames(int p_frames) {
ERR_FAIL_COND(p_frames < 1 || p_frames > MAX_FRAMES);
- _THREAD_SAFE_METHOD_
+ RWLockWrite r(rw_lock);
frame_count = p_frames;
}
@@ -1709,14 +1811,14 @@ int AnimatedTexture::get_frames() const {
void AnimatedTexture::set_frame_texture(int p_frame, const Ref<Texture> &p_texture) {
ERR_FAIL_INDEX(p_frame, MAX_FRAMES);
- _THREAD_SAFE_METHOD_
+ RWLockWrite w(rw_lock);
frames[p_frame].texture = p_texture;
}
Ref<Texture> AnimatedTexture::get_frame_texture(int p_frame) const {
ERR_FAIL_INDEX_V(p_frame, MAX_FRAMES, Ref<Texture>());
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
return frames[p_frame].texture;
}
@@ -1724,14 +1826,14 @@ Ref<Texture> AnimatedTexture::get_frame_texture(int p_frame) const {
void AnimatedTexture::set_frame_delay(int p_frame, float p_delay_sec) {
ERR_FAIL_INDEX(p_frame, MAX_FRAMES);
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
frames[p_frame].delay_sec = p_delay_sec;
}
float AnimatedTexture::get_frame_delay(int p_frame) const {
ERR_FAIL_INDEX_V(p_frame, MAX_FRAMES, 0);
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
return frames[p_frame].delay_sec;
}
@@ -1746,8 +1848,7 @@ float AnimatedTexture::get_fps() const {
}
int AnimatedTexture::get_width() const {
-
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
if (!frames[current_frame].texture.is_valid()) {
return 1;
@@ -1756,8 +1857,7 @@ int AnimatedTexture::get_width() const {
return frames[current_frame].texture->get_width();
}
int AnimatedTexture::get_height() const {
-
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
if (!frames[current_frame].texture.is_valid()) {
return 1;
@@ -1771,7 +1871,7 @@ RID AnimatedTexture::get_rid() const {
bool AnimatedTexture::has_alpha() const {
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
if (!frames[current_frame].texture.is_valid()) {
return false;
@@ -1782,7 +1882,7 @@ bool AnimatedTexture::has_alpha() const {
Ref<Image> AnimatedTexture::get_data() const {
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
if (!frames[current_frame].texture.is_valid()) {
return Ref<Image>();
@@ -1791,11 +1891,21 @@ Ref<Image> AnimatedTexture::get_data() const {
return frames[current_frame].texture->get_data();
}
+bool AnimatedTexture::is_pixel_opaque(int p_x, int p_y) const {
+
+ RWLockRead r(rw_lock);
+
+ if (frames[current_frame].texture.is_valid()) {
+ return frames[current_frame].texture->is_pixel_opaque(p_x, p_y);
+ }
+ return true;
+}
+
void AnimatedTexture::set_flags(uint32_t p_flags) {
}
uint32_t AnimatedTexture::get_flags() const {
- _THREAD_SAFE_METHOD_
+ RWLockRead r(rw_lock);
if (!frames[current_frame].texture.is_valid()) {
return 0;
@@ -1848,10 +1958,19 @@ AnimatedTexture::AnimatedTexture() {
prev_ticks = 0;
current_frame = 0;
VisualServer::get_singleton()->connect("frame_pre_draw", this, "_update_proxy");
+
+#ifndef NO_THREADS
+ rw_lock = RWLock::create();
+#else
+ rw_lock = NULL;
+#endif
}
AnimatedTexture::~AnimatedTexture() {
VS::get_singleton()->free(proxy);
+ if (rw_lock) {
+ memdelete(rw_lock);
+ }
}
///////////////////////////////
@@ -1976,7 +2095,7 @@ void TextureLayered::_bind_methods() {
ClassDB::bind_method(D_METHOD("create", "width", "height", "depth", "format", "flags"), &TextureLayered::create, DEFVAL(FLAGS_DEFAULT));
ClassDB::bind_method(D_METHOD("set_layer_data", "image", "layer"), &TextureLayered::set_layer_data);
- ClassDB::bind_method(D_METHOD("get_layer_data", "layer"), &TextureLayered::set_layer_data);
+ ClassDB::bind_method(D_METHOD("get_layer_data", "layer"), &TextureLayered::get_layer_data);
ClassDB::bind_method(D_METHOD("set_data_partial", "image", "x_offset", "y_offset", "layer", "mipmap"), &TextureLayered::set_data_partial, DEFVAL(0));
ClassDB::bind_method(D_METHOD("_set_data", "data"), &TextureLayered::_set_data);
diff --git a/scene/resources/texture.h b/scene/resources/texture.h
index c1331fb3fe..79e6d2cdf9 100644
--- a/scene/resources/texture.h
+++ b/scene/resources/texture.h
@@ -34,6 +34,7 @@
#include "curve.h"
#include "io/resource_loader.h"
#include "os/mutex.h"
+#include "os/rw_lock.h"
#include "os/thread_safe.h"
#include "rect2.h"
#include "resource.h"
@@ -67,6 +68,8 @@ public:
virtual Size2 get_size() const;
virtual RID get_rid() const = 0;
+ virtual bool is_pixel_opaque(int p_x, int p_y) const;
+
virtual bool has_alpha() const = 0;
virtual void set_flags(uint32_t p_flags) = 0;
@@ -84,6 +87,8 @@ public:
VARIANT_ENUM_CAST(Texture::Flags);
+class BitMap;
+
class ImageTexture : public Texture {
GDCLASS(ImageTexture, Texture);
@@ -104,6 +109,7 @@ private:
Storage storage;
Size2 size_override;
float lossy_storage_quality;
+ mutable Ref<BitMap> alpha_cache;
protected:
virtual void reload_from_file();
@@ -143,6 +149,8 @@ public:
void set_storage(Storage p_storage);
Storage get_storage() const;
+ bool is_pixel_opaque(int p_x, int p_y) const;
+
void set_lossy_storage_quality(float p_lossy_storage_quality);
float get_lossy_storage_quality() const;
@@ -183,6 +191,7 @@ private:
Image::Format format;
uint32_t flags;
int w, h;
+ mutable Ref<BitMap> alpha_cache;
virtual void reload_from_file();
@@ -215,6 +224,7 @@ public:
virtual bool has_alpha() const;
virtual void set_flags(uint32_t p_flags);
+ bool is_pixel_opaque(int p_x, int p_y) const;
virtual Ref<Image> get_data() const;
@@ -272,6 +282,8 @@ public:
virtual void draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate = Color(1, 1, 1), bool p_transpose = false, const Ref<Texture> &p_normal_map = Ref<Texture>(), bool p_clip_uv = true) const;
virtual bool get_rect_region(const Rect2 &p_rect, const Rect2 &p_src_rect, Rect2 &r_rect, Rect2 &r_src_rect) const;
+ bool is_pixel_opaque(int p_x, int p_y) const;
+
AtlasTexture();
};
@@ -319,6 +331,8 @@ public:
virtual void draw_rect(RID p_canvas_item, const Rect2 &p_rect, bool p_tile = false, const Color &p_modulate = Color(1, 1, 1), bool p_transpose = false, const Ref<Texture> &p_normal_map = Ref<Texture>()) const;
virtual void draw_rect_region(RID p_canvas_item, const Rect2 &p_rect, const Rect2 &p_src_rect, const Color &p_modulate = Color(1, 1, 1), bool p_transpose = false, const Ref<Texture> &p_normal_map = Ref<Texture>(), bool p_clip_uv = true) const;
+ bool is_pixel_opaque(int p_x, int p_y) const;
+
LargeTexture();
};
@@ -609,7 +623,8 @@ public:
class AnimatedTexture : public Texture {
GDCLASS(AnimatedTexture, Texture)
- _THREAD_SAFE_CLASS_
+ //use readers writers lock for this, since its far more times read than written to
+ RWLock *rw_lock;
private:
enum {
@@ -668,6 +683,8 @@ public:
virtual Ref<Image> get_data() const;
+ bool is_pixel_opaque(int p_x, int p_y) const;
+
AnimatedTexture();
~AnimatedTexture();
};
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp
index d8fc3677fb..dac12205b6 100644
--- a/scene/resources/visual_shader.cpp
+++ b/scene/resources/visual_shader.cpp
@@ -431,7 +431,6 @@ String VisualShader::generate_preview_shader(Type p_type, int p_node, int p_port
global_code += "\n\n";
String final_code = global_code;
final_code += code;
- //print_line(final_code);
return final_code;
}
@@ -914,7 +913,6 @@ void VisualShader::_update_shader() const {
String final_code = global_code;
final_code += code;
const_cast<VisualShader *>(this)->set_code(final_code);
- //print_line(final_code);
for (int i = 0; i < default_tex_params.size(); i++) {
const_cast<VisualShader *>(this)->set_default_texture_param(default_tex_params[i].name, default_tex_params[i].param);
}
diff --git a/scene/scene_string_names.cpp b/scene/scene_string_names.cpp
index 661606c7ef..e468b3dab4 100644
--- a/scene/scene_string_names.cpp
+++ b/scene/scene_string_names.cpp
@@ -201,4 +201,6 @@ SceneStringNames::SceneStringNames() {
}
_mesh_changed = StaticCString::create("_mesh_changed");
+
+ parameters_base_path = "parameters/";
}
diff --git a/scene/scene_string_names.h b/scene/scene_string_names.h
index 817158f9f3..dbbcf79b9f 100644
--- a/scene/scene_string_names.h
+++ b/scene/scene_string_names.h
@@ -203,6 +203,8 @@ public:
StringName output;
+ StringName parameters_base_path;
+
enum {
MAX_MATERIALS = 32
};
diff --git a/servers/arvr_server.cpp b/servers/arvr_server.cpp
index 0d1aad0dff..2040377dd4 100644
--- a/servers/arvr_server.cpp
+++ b/servers/arvr_server.cpp
@@ -178,7 +178,7 @@ void ARVRServer::remove_interface(const Ref<ARVRInterface> &p_interface) {
ERR_FAIL_COND(idx == -1);
- print_line("Removed interface" + p_interface->get_name());
+ print_verbose("ARVR: Removed interface" + p_interface->get_name());
emit_signal("interface_removed", p_interface->get_name());
interfaces.remove(idx);
@@ -320,12 +320,12 @@ Ref<ARVRInterface> ARVRServer::get_primary_interface() const {
void ARVRServer::set_primary_interface(const Ref<ARVRInterface> &p_primary_interface) {
primary_interface = p_primary_interface;
- print_line("Primary interface set to: " + primary_interface->get_name());
+ print_verbose("ARVR: Primary interface set to: " + primary_interface->get_name());
};
void ARVRServer::clear_primary_interface_if(const Ref<ARVRInterface> &p_primary_interface) {
if (primary_interface == p_primary_interface) {
- print_line("Clearing primary interface");
+ print_verbose("ARVR: Clearing primary interface");
primary_interface.unref();
};
};
diff --git a/servers/audio/effects/audio_effect_pitch_shift.cpp b/servers/audio/effects/audio_effect_pitch_shift.cpp
index ddd0a0db6b..c6d1217308 100644
--- a/servers/audio/effects/audio_effect_pitch_shift.cpp
+++ b/servers/audio/effects/audio_effect_pitch_shift.cpp
@@ -305,9 +305,9 @@ Ref<AudioEffectInstance> AudioEffectPitchShift::instance() {
return ins;
}
-void AudioEffectPitchShift::set_pitch_scale(float p_adjust) {
-
- pitch_scale = p_adjust;
+void AudioEffectPitchShift::set_pitch_scale(float p_pitch_scale) {
+ ERR_FAIL_COND(p_pitch_scale <= 0.0);
+ pitch_scale = p_pitch_scale;
}
float AudioEffectPitchShift::get_pitch_scale() const {
diff --git a/servers/audio/effects/audio_effect_pitch_shift.h b/servers/audio/effects/audio_effect_pitch_shift.h
index f1c78d752f..78f92a0261 100644
--- a/servers/audio/effects/audio_effect_pitch_shift.h
+++ b/servers/audio/effects/audio_effect_pitch_shift.h
@@ -100,7 +100,7 @@ protected:
public:
Ref<AudioEffectInstance> instance();
- void set_pitch_scale(float p_adjust);
+ void set_pitch_scale(float p_pitch_scale);
float get_pitch_scale() const;
AudioEffectPitchShift();
diff --git a/servers/audio/effects/audio_effect_record.cpp b/servers/audio/effects/audio_effect_record.cpp
index 74a6838d1a..78ba658ed8 100644
--- a/servers/audio/effects/audio_effect_record.cpp
+++ b/servers/audio/effects/audio_effect_record.cpp
@@ -233,7 +233,7 @@ Ref<AudioStreamSample> AudioEffectRecord::get_recording() const {
w[i * 2 + 1] = rr[i];
}
} else {
- ERR_EXPLAIN("format not implemented");
+ ERR_PRINT("Format not implemented.");
}
Ref<AudioStreamSample> sample;
diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp
index f3934e5c01..b737f4681d 100644
--- a/servers/audio_server.cpp
+++ b/servers/audio_server.cpp
@@ -1281,11 +1281,11 @@ void AudioServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_mix_rate"), &AudioServer::get_mix_rate);
ClassDB::bind_method(D_METHOD("get_device_list"), &AudioServer::get_device_list);
ClassDB::bind_method(D_METHOD("get_device"), &AudioServer::get_device);
- ClassDB::bind_method(D_METHOD("set_device"), &AudioServer::set_device);
+ ClassDB::bind_method(D_METHOD("set_device", "device"), &AudioServer::set_device);
ClassDB::bind_method(D_METHOD("capture_get_device_list"), &AudioServer::capture_get_device_list);
ClassDB::bind_method(D_METHOD("capture_get_device"), &AudioServer::capture_get_device);
- ClassDB::bind_method(D_METHOD("capture_set_device"), &AudioServer::capture_set_device);
+ ClassDB::bind_method(D_METHOD("capture_set_device", "name"), &AudioServer::capture_set_device);
ClassDB::bind_method(D_METHOD("set_bus_layout", "bus_layout"), &AudioServer::set_bus_layout);
ClassDB::bind_method(D_METHOD("generate_bus_layout"), &AudioServer::generate_bus_layout);
diff --git a/servers/physics/collision_solver_sat.cpp b/servers/physics/collision_solver_sat.cpp
index b059c20c95..294b1df241 100644
--- a/servers/physics/collision_solver_sat.cpp
+++ b/servers/physics/collision_solver_sat.cpp
@@ -44,12 +44,6 @@ struct _CollectorCallback {
_FORCE_INLINE_ void call(const Vector3 &p_point_A, const Vector3 &p_point_B) {
- /*
- if (normal.dot(p_point_A) >= normal.dot(p_point_B))
- return;
- print_line("** A: "+p_point_A+" B: "+p_point_B+" D: "+rtos(p_point_A.distance_to(p_point_B)));
- */
-
if (swap)
callback(p_point_B, p_point_A, userdata);
else
@@ -410,26 +404,13 @@ public:
supports_B[i] += best_axis * margin_B;
}
}
- /*
- print_line("best depth: "+rtos(best_depth));
- print_line("best axis: "+(best_axis));
- for(int i=0;i<support_count_A;i++) {
- print_line("A-"+itos(i)+": "+supports_A[i]);
- }
- for(int i=0;i<support_count_B;i++) {
-
- print_line("B-"+itos(i)+": "+supports_B[i]);
- }
-*/
callback->normal = best_axis;
if (callback->prev_axis)
*callback->prev_axis = best_axis;
_generate_contacts_from_supports(supports_A, support_count_A, supports_B, support_count_B, callback);
callback->collided = true;
- //CollisionSolverSW::CallbackResult cbk=NULL;
- //cbk(Vector3(),Vector3(),NULL);
}
_FORCE_INLINE_ SeparatorAxisTest(const ShapeA *p_shape_A, const Transform &p_transform_A, const ShapeB *p_shape_B, const Transform &p_transform_B, _CollectorCallback *p_callback, real_t p_margin_A = 0, real_t p_margin_B = 0) {
@@ -445,9 +426,6 @@ public:
};
/****** SAT TESTS *******/
-/****** SAT TESTS *******/
-/****** SAT TESTS *******/
-/****** SAT TESTS *******/
typedef void (*CollisionFunc)(const ShapeSW *, const Transform &, const ShapeSW *, const Transform &, _CollectorCallback *p_callback, real_t, real_t);
diff --git a/servers/physics/collision_solver_sw.cpp b/servers/physics/collision_solver_sw.cpp
index 0037b9a862..2f2f6d2908 100644
--- a/servers/physics/collision_solver_sw.cpp
+++ b/servers/physics/collision_solver_sw.cpp
@@ -176,7 +176,6 @@ bool CollisionSolverSW::solve_concave(const ShapeSW *p_shape_A, const Transform
}
concave_B->cull(local_aabb, concave_callback, &cinfo);
- //print_line("COL AABB TESTS: "+itos(cinfo.aabb_tests));
return cinfo.collided;
}
@@ -364,13 +363,10 @@ bool CollisionSolverSW::solve_distance(const ShapeSW *p_shape_A, const Transform
concave_B->cull(local_aabb, concave_distance_callback, &cinfo);
if (!cinfo.collided) {
- //print_line(itos(cinfo.tested));
r_point_A = cinfo.close_A;
r_point_B = cinfo.close_B;
}
- //print_line("DIST AABB TESTS: "+itos(cinfo.aabb_tests));
-
return !cinfo.collided;
} else {
diff --git a/servers/physics/joints/hinge_joint_sw.cpp b/servers/physics/joints/hinge_joint_sw.cpp
index d660eba879..368a349632 100644
--- a/servers/physics/joints/hinge_joint_sw.cpp
+++ b/servers/physics/joints/hinge_joint_sw.cpp
@@ -224,18 +224,12 @@ bool HingeJointSW::setup(real_t p_step) {
// Compute limit information
real_t hingeAngle = get_hinge_angle();
- //print_line("angle: "+rtos(hingeAngle));
//set bias, sign, clear accumulator
m_correction = real_t(0.);
m_limitSign = real_t(0.);
m_solveLimit = false;
m_accLimitImpulse = real_t(0.);
- /*if (m_useLimit) {
- print_line("low: "+rtos(m_lowerLimit));
- print_line("hi: "+rtos(m_upperLimit));
- }*/
-
//if (m_lowerLimit < m_upperLimit)
if (m_useLimit && m_lowerLimit <= m_upperLimit) {
//if (hingeAngle <= m_lowerLimit*m_limitSoftness)
diff --git a/servers/physics/physics_server_sw.cpp b/servers/physics/physics_server_sw.cpp
index 3a32c46a9b..472283833e 100644
--- a/servers/physics/physics_server_sw.cpp
+++ b/servers/physics/physics_server_sw.cpp
@@ -124,6 +124,13 @@ Variant PhysicsServerSW::shape_get_data(RID p_shape) const {
return shape->get_data();
};
+void PhysicsServerSW::shape_set_margin(RID p_shape, real_t p_margin) {
+}
+
+real_t PhysicsServerSW::shape_get_margin(RID p_shape) const {
+ return 0.0;
+}
+
real_t PhysicsServerSW::shape_get_custom_solver_bias(RID p_shape) const {
const ShapeSW *shape = shape_owner.get(p_shape);
@@ -292,6 +299,7 @@ void PhysicsServerSW::area_set_shape(RID p_area, int p_shape_idx, RID p_shape) {
area->set_shape(p_shape_idx, shape);
}
+
void PhysicsServerSW::area_set_shape_transform(RID p_area, int p_shape_idx, const Transform &p_transform) {
AreaSW *area = area_owner.get(p_area);
@@ -941,7 +949,19 @@ bool PhysicsServerSW::body_is_ray_pickable(RID p_body) const {
return body->is_ray_pickable();
}
-bool PhysicsServerSW::body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result) {
+bool PhysicsServerSW::body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result, bool p_exclude_raycast_shapes) {
+
+ BodySW *body = body_owner.get(p_body);
+ ERR_FAIL_COND_V(!body, false);
+ ERR_FAIL_COND_V(!body->get_space(), false);
+ ERR_FAIL_COND_V(body->get_space()->is_locked(), false);
+
+ _update_shapes();
+
+ return body->get_space()->test_body_motion(body, p_from, p_motion, p_infinite_inertia, body->get_kinematic_margin(), r_result, p_exclude_raycast_shapes);
+}
+
+int PhysicsServerSW::body_test_ray_separation(RID p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, SeparationResult *r_results, int p_result_max, float p_margin) {
BodySW *body = body_owner.get(p_body);
ERR_FAIL_COND_V(!body, false);
@@ -950,7 +970,7 @@ bool PhysicsServerSW::body_test_motion(RID p_body, const Transform &p_from, cons
_update_shapes();
- return body->get_space()->test_body_motion(body, p_from, p_motion, p_infinite_inertia, body->get_kinematic_margin(), r_result);
+ return body->get_space()->test_body_ray_separation(body, p_transform, p_infinite_inertia, r_recover_motion, r_results, p_result_max, p_margin);
}
PhysicsDirectBodyState *PhysicsServerSW::body_get_direct_state(RID p_body) {
diff --git a/servers/physics/physics_server_sw.h b/servers/physics/physics_server_sw.h
index 1c5754124d..4131c5e248 100644
--- a/servers/physics/physics_server_sw.h
+++ b/servers/physics/physics_server_sw.h
@@ -85,6 +85,10 @@ public:
virtual ShapeType shape_get_type(RID p_shape) const;
virtual Variant shape_get_data(RID p_shape) const;
+
+ virtual void shape_set_margin(RID p_shape, real_t p_margin);
+ virtual real_t shape_get_margin(RID p_shape) const;
+
virtual real_t shape_get_custom_solver_bias(RID p_shape) const;
/* SPACE API */
@@ -230,7 +234,8 @@ public:
virtual void body_set_ray_pickable(RID p_body, bool p_enable);
virtual bool body_is_ray_pickable(RID p_body) const;
- virtual bool body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result = NULL);
+ virtual bool body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result = NULL, bool p_exclude_raycast_shapes = true);
+ virtual int body_test_ray_separation(RID p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, SeparationResult *r_results, int p_result_max, float p_margin = 0.001);
// this function only works on physics process, errors and returns null otherwise
virtual PhysicsDirectBodyState *body_get_direct_state(RID p_body);
diff --git a/servers/physics/space_sw.cpp b/servers/physics/space_sw.cpp
index b604e5cdf6..b2ab7bec16 100644
--- a/servers/physics/space_sw.cpp
+++ b/servers/physics/space_sw.cpp
@@ -34,12 +34,22 @@
#include "physics_server_sw.h"
#include "project_settings.h"
-_FORCE_INLINE_ static bool _can_collide_with(CollisionObjectSW *p_object, uint32_t p_collision_mask) {
+_FORCE_INLINE_ static bool _can_collide_with(CollisionObjectSW *p_object, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
- return p_object->get_collision_layer() & p_collision_mask;
+ if (!(p_object->get_collision_layer() & p_collision_mask)) {
+ return false;
+ }
+
+ if (p_object->get_type() == CollisionObjectSW::TYPE_AREA && !p_collide_with_areas)
+ return false;
+
+ if (p_object->get_type() == CollisionObjectSW::TYPE_BODY && !p_collide_with_bodies)
+ return false;
+
+ return true;
}
-int PhysicsDirectSpaceStateSW::intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+int PhysicsDirectSpaceStateSW::intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
ERR_FAIL_COND_V(space->locked, false);
int amount = space->broadphase->cull_point(p_point, space->intersection_query_results, SpaceSW::INTERSECTION_QUERY_MAX, space->intersection_query_subindex_results);
@@ -52,7 +62,7 @@ int PhysicsDirectSpaceStateSW::intersect_point(const Vector3 &p_point, ShapeResu
if (cc >= p_result_max)
break;
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
//area can't be picked by ray (default)
@@ -83,7 +93,7 @@ int PhysicsDirectSpaceStateSW::intersect_point(const Vector3 &p_point, ShapeResu
return cc;
}
-bool PhysicsDirectSpaceStateSW::intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_pick_ray) {
+bool PhysicsDirectSpaceStateSW::intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas, bool p_pick_ray) {
ERR_FAIL_COND_V(space->locked, false);
@@ -105,7 +115,7 @@ bool PhysicsDirectSpaceStateSW::intersect_ray(const Vector3 &p_from, const Vecto
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
if (p_pick_ray && !(static_cast<CollisionObjectSW *>(space->intersection_query_results[i])->is_ray_pickable()))
@@ -161,7 +171,7 @@ bool PhysicsDirectSpaceStateSW::intersect_ray(const Vector3 &p_from, const Vecto
return true;
}
-int PhysicsDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Transform &p_xform, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+int PhysicsDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Transform &p_xform, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
if (p_result_max <= 0)
return 0;
@@ -182,7 +192,7 @@ int PhysicsDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Transfo
if (cc >= p_result_max)
break;
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
//area can't be picked by ray (default)
@@ -212,7 +222,7 @@ int PhysicsDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Transfo
return cc;
}
-bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude, uint32_t p_collision_mask, ShapeRestInfo *r_info) {
+bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas, ShapeRestInfo *r_info) {
ShapeSW *shape = static_cast<PhysicsServerSW *>(PhysicsServer::get_singleton())->shape_owner.get(p_shape);
ERR_FAIL_COND_V(!shape, false);
@@ -221,11 +231,6 @@ bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform
aabb = aabb.merge(AABB(aabb.position + p_motion, aabb.size)); //motion
aabb = aabb.grow(p_margin);
- /*
- if (p_motion!=Vector3())
- print_line(p_motion);
- */
-
int amount = space->broadphase->cull_aabb(aabb, space->intersection_query_results, SpaceSW::INTERSECTION_QUERY_MAX, space->intersection_query_subindex_results);
real_t best_safe = 1;
@@ -242,7 +247,7 @@ bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
if (p_exclude.has(space->intersection_query_results[i]->get_self()))
@@ -257,7 +262,6 @@ bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform
Transform col_obj_xform = col_obj->get_transform() * col_obj->get_shape_transform(shape_idx);
//test initial overlap, does it collide if going all the way?
if (CollisionSolverSW::solve_distance(&mshape, p_xform, col_obj->get_shape(shape_idx), col_obj_xform, point_A, point_B, aabb, &sep_axis)) {
- //print_line("failed motion cast (no collision)");
continue;
}
@@ -265,7 +269,6 @@ bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform
sep_axis = p_motion.normalized();
if (!CollisionSolverSW::solve_distance(shape, p_xform, col_obj->get_shape(shape_idx), col_obj_xform, point_A, point_B, aabb, &sep_axis)) {
- //print_line("failed motion cast (no collision)");
return false;
}
@@ -288,7 +291,6 @@ bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform
if (collided) {
- //print_line(itos(i)+": "+rtos(ofs));
hi = ofs;
} else {
@@ -326,7 +328,7 @@ bool PhysicsDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform
return true;
}
-bool PhysicsDirectSpaceStateSW::collide_shape(RID p_shape, const Transform &p_shape_xform, real_t p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool PhysicsDirectSpaceStateSW::collide_shape(RID p_shape, const Transform &p_shape_xform, real_t p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
if (p_result_max <= 0)
return 0;
@@ -356,7 +358,7 @@ bool PhysicsDirectSpaceStateSW::collide_shape(RID p_shape, const Transform &p_sh
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
const CollisionObjectSW *col_obj = space->intersection_query_results[i];
@@ -366,9 +368,6 @@ bool PhysicsDirectSpaceStateSW::collide_shape(RID p_shape, const Transform &p_sh
continue;
}
- //print_line("AGAINST: "+itos(col_obj->get_self().get_id())+":"+itos(shape_idx));
- //print_line("THE ABBB: "+(col_obj->get_transform() * col_obj->get_shape_transform(shape_idx)).xform(col_obj->get_shape(shape_idx)->get_aabb()));
-
if (CollisionSolverSW::solve_static(shape, p_shape_xform, col_obj->get_shape(shape_idx), col_obj->get_transform() * col_obj->get_shape_transform(shape_idx), cbkres, cbkptr, NULL, p_margin)) {
collided = true;
}
@@ -405,7 +404,7 @@ static void _rest_cbk_result(const Vector3 &p_point_A, const Vector3 &p_point_B,
rd->best_object = rd->object;
rd->best_shape = rd->shape;
}
-bool PhysicsDirectSpaceStateSW::rest_info(RID p_shape, const Transform &p_shape_xform, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool PhysicsDirectSpaceStateSW::rest_info(RID p_shape, const Transform &p_shape_xform, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
ShapeSW *shape = static_cast<PhysicsServerSW *>(PhysicsServer::get_singleton())->shape_owner.get(p_shape);
ERR_FAIL_COND_V(!shape, 0);
@@ -422,7 +421,7 @@ bool PhysicsDirectSpaceStateSW::rest_info(RID p_shape, const Transform &p_shape_
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
const CollisionObjectSW *col_obj = space->intersection_query_results[i];
@@ -541,7 +540,144 @@ int SpaceSW::_cull_aabb_for_body(BodySW *p_body, const AABB &p_aabb) {
return amount;
}
-bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, real_t p_margin, PhysicsServer::MotionResult *r_result) {
+int SpaceSW::test_body_ray_separation(BodySW *p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, PhysicsServer::SeparationResult *r_results, int p_result_max, real_t p_margin) {
+
+ AABB body_aabb;
+
+ for (int i = 0; i < p_body->get_shape_count(); i++) {
+
+ if (i == 0)
+ body_aabb = p_body->get_shape_aabb(i);
+ else
+ body_aabb = body_aabb.merge(p_body->get_shape_aabb(i));
+ }
+
+ // Undo the currently transform the physics server is aware of and apply the provided one
+ body_aabb = p_transform.xform(p_body->get_inv_transform().xform(body_aabb));
+ body_aabb = body_aabb.grow(p_margin);
+
+ Transform body_transform = p_transform;
+
+ for (int i = 0; i < p_result_max; i++) {
+ //reset results
+ r_results[i].collision_depth = 0;
+ }
+
+ int rays_found = 0;
+
+ {
+ // raycast AND separate
+
+ const int max_results = 32;
+ int recover_attempts = 4;
+ Vector3 sr[max_results * 2];
+ PhysicsServerSW::CollCbkData cbk;
+ cbk.max = max_results;
+ PhysicsServerSW::CollCbkData *cbkptr = &cbk;
+ CollisionSolverSW::CallbackResult cbkres = PhysicsServerSW::_shape_col_cbk;
+
+ do {
+
+ Vector3 recover_motion;
+
+ bool collided = false;
+
+ int amount = _cull_aabb_for_body(p_body, body_aabb);
+ int ray_index = 0;
+
+ for (int j = 0; j < p_body->get_shape_count(); j++) {
+ if (p_body->is_shape_set_as_disabled(j))
+ continue;
+
+ ShapeSW *body_shape = p_body->get_shape(j);
+
+ if (body_shape->get_type() != PhysicsServer::SHAPE_RAY)
+ continue;
+
+ Transform body_shape_xform = body_transform * p_body->get_shape_transform(j);
+
+ for (int i = 0; i < amount; i++) {
+
+ const CollisionObjectSW *col_obj = intersection_query_results[i];
+ int shape_idx = intersection_query_subindex_results[i];
+
+ cbk.amount = 0;
+ cbk.ptr = sr;
+
+ if (CollisionObjectSW::TYPE_BODY == col_obj->get_type()) {
+ const BodySW *b = static_cast<const BodySW *>(col_obj);
+ if (p_infinite_inertia && PhysicsServer::BODY_MODE_STATIC != b->get_mode() && PhysicsServer::BODY_MODE_KINEMATIC != b->get_mode()) {
+ continue;
+ }
+ }
+
+ ShapeSW *against_shape = col_obj->get_shape(shape_idx);
+ if (CollisionSolverSW::solve_static(body_shape, body_shape_xform, against_shape, col_obj->get_transform() * col_obj->get_shape_transform(shape_idx), cbkres, cbkptr, NULL, p_margin)) {
+ if (cbk.amount > 0) {
+ collided = true;
+ }
+
+ if (ray_index < p_result_max) {
+ PhysicsServer::SeparationResult &result = r_results[ray_index];
+
+ for (int k = 0; k < cbk.amount; k++) {
+ Vector3 a = sr[k * 2 + 0];
+ Vector3 b = sr[k * 2 + 1];
+
+ recover_motion += (b - a) * 0.4;
+
+ float depth = a.distance_to(b);
+ if (depth > result.collision_depth) {
+
+ result.collision_depth = depth;
+ result.collision_point = b;
+ result.collision_normal = (b - a).normalized();
+ result.collision_local_shape = shape_idx;
+ result.collider = col_obj->get_self();
+ result.collider_id = col_obj->get_instance_id();
+ //result.collider_metadata = col_obj->get_shape_metadata(shape_idx);
+ if (col_obj->get_type() == CollisionObjectSW::TYPE_BODY) {
+ BodySW *body = (BodySW *)col_obj;
+
+ Vector3 rel_vec = b - body->get_transform().get_origin();
+ //result.collider_velocity = Vector3(-body->get_angular_velocity() * rel_vec.y, body->get_angular_velocity() * rel_vec.x) + body->get_linear_velocity();
+ result.collider_velocity = body->get_linear_velocity() + (body->get_angular_velocity()).cross(body->get_transform().origin - rel_vec); // * mPos);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ ray_index++;
+ }
+
+ rays_found = MAX(ray_index, rays_found);
+
+ if (!collided || recover_motion == Vector3()) {
+ break;
+ }
+
+ body_transform.origin += recover_motion;
+ body_aabb.position += recover_motion;
+
+ recover_attempts--;
+ } while (recover_attempts);
+ }
+
+ //optimize results (remove non colliding)
+ for (int i = 0; i < rays_found; i++) {
+ if (r_results[i].collision_depth == 0) {
+ rays_found--;
+ SWAP(r_results[i], r_results[rays_found]);
+ }
+ }
+
+ r_recover_motion = body_transform.origin - p_transform.origin;
+ return rays_found;
+}
+
+bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, real_t p_margin, PhysicsServer::MotionResult *r_result, bool p_exclude_raycast_shapes) {
//give me back regular physics engine logic
//this is madness
@@ -597,6 +733,10 @@ bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Ve
Transform body_shape_xform = body_transform * p_body->get_shape_transform(j);
ShapeSW *body_shape = p_body->get_shape(j);
+ if (p_exclude_raycast_shapes && body_shape->get_type() == PhysicsServer::SHAPE_RAY) {
+ continue;
+ }
+
for (int i = 0; i < amount; i++) {
const CollisionObjectSW *col_obj = intersection_query_results[i];
@@ -655,6 +795,10 @@ bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Ve
Transform body_shape_xform = body_transform * p_body->get_shape_transform(j);
ShapeSW *body_shape = p_body->get_shape(j);
+ if (p_exclude_raycast_shapes && body_shape->get_type() == PhysicsServer::SHAPE_RAY) {
+ continue;
+ }
+
Transform body_shape_xform_inv = body_shape_xform.affine_inverse();
MotionShapeSW mshape;
mshape.shape = body_shape;
@@ -677,13 +821,11 @@ bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Ve
Transform col_obj_xform = col_obj->get_transform() * col_obj->get_shape_transform(shape_idx);
//test initial overlap, does it collide if going all the way?
if (CollisionSolverSW::solve_distance(&mshape, body_shape_xform, col_obj->get_shape(shape_idx), col_obj_xform, point_A, point_B, motion_aabb, &sep_axis)) {
- //print_line("failed motion cast (no collision)");
continue;
}
sep_axis = p_motion.normalized();
if (!CollisionSolverSW::solve_distance(body_shape, body_shape_xform, col_obj->get_shape(shape_idx), col_obj_xform, point_A, point_B, motion_aabb, &sep_axis)) {
- //print_line("failed motion cast (no collision)");
stuck = true;
break;
}
@@ -707,7 +849,6 @@ bool SpaceSW::test_body_motion(BodySW *p_body, const Transform &p_from, const Ve
if (collided) {
- //print_line(itos(i)+": "+rtos(ofs));
hi = ofs;
} else {
diff --git a/servers/physics/space_sw.h b/servers/physics/space_sw.h
index 4d864e9a51..e7231df532 100644
--- a/servers/physics/space_sw.h
+++ b/servers/physics/space_sw.h
@@ -48,12 +48,12 @@ class PhysicsDirectSpaceStateSW : public PhysicsDirectSpaceState {
public:
SpaceSW *space;
- virtual int intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_pick_ray = false);
- virtual int intersect_shape(const RID &p_shape, const Transform &p_xform, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, ShapeRestInfo *r_info = NULL);
- virtual bool collide_shape(RID p_shape, const Transform &p_shape_xform, real_t p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool rest_info(RID p_shape, const Transform &p_shape_xform, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
+ virtual int intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, bool p_pick_ray = false);
+ virtual int intersect_shape(const RID &p_shape, const Transform &p_xform, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, ShapeRestInfo *r_info = NULL);
+ virtual bool collide_shape(RID p_shape, const Transform &p_shape_xform, real_t p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool rest_info(RID p_shape, const Transform &p_shape_xform, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
virtual Vector3 get_closest_point_to_object_volume(RID p_object, const Vector3 p_point) const;
PhysicsDirectSpaceStateSW();
@@ -197,7 +197,8 @@ public:
void set_elapsed_time(ElapsedTime p_time, uint64_t p_msec) { elapsed_time[p_time] = p_msec; }
uint64_t get_elapsed_time(ElapsedTime p_time) const { return elapsed_time[p_time]; }
- bool test_body_motion(BodySW *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, real_t p_margin, PhysicsServer::MotionResult *r_result);
+ int test_body_ray_separation(BodySW *p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, PhysicsServer::SeparationResult *r_results, int p_result_max, real_t p_margin);
+ bool test_body_motion(BodySW *p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, real_t p_margin, PhysicsServer::MotionResult *r_result, bool p_exclude_raycast_shapes);
SpaceSW();
~SpaceSW();
diff --git a/servers/physics/step_sw.cpp b/servers/physics/step_sw.cpp
index ad08cb6353..4128e1ec1a 100644
--- a/servers/physics/step_sw.cpp
+++ b/servers/physics/step_sw.cpp
@@ -228,7 +228,6 @@ void StepSW::step(SpaceSW *p_space, real_t p_delta, int p_iterations) {
profile_begtime = profile_endtime;
}
- //print_line("island count: "+itos(island_count)+" active count: "+itos(active_count));
/* SETUP CONSTRAINT ISLANDS */
{
diff --git a/servers/physics_2d/collision_solver_2d_sat.cpp b/servers/physics_2d/collision_solver_2d_sat.cpp
index 0d1ffca50d..98fe4adb80 100644
--- a/servers/physics_2d/collision_solver_2d_sat.cpp
+++ b/servers/physics_2d/collision_solver_2d_sat.cpp
@@ -300,7 +300,6 @@ public:
}
}
-//print_line("test axis: "+p_axis+" depth: "+rtos(best_depth));
#ifdef DEBUG_ENABLED
best_axis_count++;
#endif
diff --git a/servers/physics_2d/collision_solver_2d_sw.cpp b/servers/physics_2d/collision_solver_2d_sw.cpp
index 6ce019f36e..b03a193d97 100644
--- a/servers/physics_2d/collision_solver_2d_sw.cpp
+++ b/servers/physics_2d/collision_solver_2d_sw.cpp
@@ -114,35 +114,6 @@ bool CollisionSolver2DSW::solve_raycast(const Shape2DSW *p_shape_A, const Vector
return true;
}
-/*
-bool CollisionSolver2DSW::solve_ray(const Shape2DSW *p_shape_A,const Matrix32& p_transform_A,const Shape2DSW *p_shape_B,const Matrix32& p_transform_B,const Matrix32& p_inverse_B,CallbackResult p_result_callback,void *p_userdata,bool p_swap_result) {
-
-
- const RayShape2DSW *ray = static_cast<const RayShape2DSW*>(p_shape_A);
-
- Vector2 from = p_transform_A.origin;
- Vector2 to = from+p_transform_A.basis.get_axis(2)*ray->get_length();
- Vector2 support_A=to;
-
- from = p_inverse_B.xform(from);
- to = p_inverse_B.xform(to);
-
- Vector2 p,n;
- if (!p_shape_B->intersect_segment(from,to,&p,&n))
- return false;
-
- Vector2 support_B=p_transform_B.xform(p);
-
- if (p_result_callback) {
- if (p_swap_result)
- p_result_callback(support_B,support_A,p_userdata);
- else
- p_result_callback(support_A,support_B,p_userdata);
- }
- return true;
-}
-*/
-
struct _ConcaveCollisionInfo2D {
const Transform2D *transform_A;
@@ -219,7 +190,6 @@ bool CollisionSolver2DSW::solve_concave(const Shape2DSW *p_shape_A, const Transf
concave_B->cull(local_aabb, concave_callback, &cinfo);
- //print_line("Rect2 TESTS: "+itos(cinfo.aabb_tests));
return cinfo.collided;
}
@@ -245,10 +215,6 @@ bool CollisionSolver2DSW::solve(const Shape2DSW *p_shape_A, const Transform2D &p
if (type_B == Physics2DServer::SHAPE_LINE || type_B == Physics2DServer::SHAPE_RAY) {
return false;
}
- /*
- if (type_B==Physics2DServer::SHAPE_RAY) {
- return false;
- */
if (swap) {
return solve_static_line(p_shape_B, p_transform_B, p_shape_A, p_transform_A, p_result_callback, p_userdata, true);
@@ -256,17 +222,6 @@ bool CollisionSolver2DSW::solve(const Shape2DSW *p_shape_A, const Transform2D &p
return solve_static_line(p_shape_A, p_transform_A, p_shape_B, p_transform_B, p_result_callback, p_userdata, false);
}
- /*} else if (type_A==Physics2DServer::SHAPE_RAY) {
-
- if (type_B==Physics2DServer::SHAPE_RAY)
- return false;
-
- if (swap) {
- return solve_ray(p_shape_B,p_transform_B,p_shape_A,p_transform_A,p_inverse_A,p_result_callback,p_userdata,true);
- } else {
- return solve_ray(p_shape_A,p_transform_A,p_shape_B,p_transform_B,p_inverse_B,p_result_callback,p_userdata,false);
- }
-*/
} else if (type_A == Physics2DServer::SHAPE_RAY) {
if (type_B == Physics2DServer::SHAPE_RAY) {
diff --git a/servers/physics_2d/physics_2d_server_sw.cpp b/servers/physics_2d/physics_2d_server_sw.cpp
index 15e80bcd5e..721f21fc40 100644
--- a/servers/physics_2d/physics_2d_server_sw.cpp
+++ b/servers/physics_2d/physics_2d_server_sw.cpp
@@ -171,13 +171,14 @@ void Physics2DServerSW::_shape_col_cbk(const Vector2 &p_point_A, const Vector2 &
}
if (cbk->valid_dir.dot((p_point_A - p_point_B).normalized()) < 0.7071) {
cbk->invalid_by_dir++;
- ;
- /* print_line("A: "+p_point_A);
+
+ /*
+ print_line("A: "+p_point_A);
print_line("B: "+p_point_B);
print_line("discard too angled "+rtos(cbk->valid_dir.dot((p_point_A-p_point_B))));
print_line("resnorm: "+(p_point_A-p_point_B).normalized());
print_line("distance: "+rtos(p_point_A.distance_to(p_point_B)));
-*/
+ */
return;
}
}
diff --git a/servers/physics_2d/space_2d_sw.cpp b/servers/physics_2d/space_2d_sw.cpp
index 6e45951f42..746aa2d49b 100644
--- a/servers/physics_2d/space_2d_sw.cpp
+++ b/servers/physics_2d/space_2d_sw.cpp
@@ -34,12 +34,22 @@
#include "pair.h"
#include "physics_2d_server_sw.h"
-_FORCE_INLINE_ static bool _can_collide_with(CollisionObject2DSW *p_object, uint32_t p_collision_mask) {
+_FORCE_INLINE_ static bool _can_collide_with(CollisionObject2DSW *p_object, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
- return p_object->get_collision_layer() & p_collision_mask;
+ if (!(p_object->get_collision_layer() & p_collision_mask)) {
+ return false;
+ }
+
+ if (p_object->get_type() == CollisionObject2DSW::TYPE_AREA && !p_collide_with_areas)
+ return false;
+
+ if (p_object->get_type() == CollisionObject2DSW::TYPE_BODY && !p_collide_with_bodies)
+ return false;
+
+ return true;
}
-int Physics2DDirectSpaceStateSW::intersect_point(const Vector2 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_pick_point) {
+int Physics2DDirectSpaceStateSW::intersect_point(const Vector2 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas, bool p_pick_point) {
if (p_result_max <= 0)
return 0;
@@ -54,7 +64,7 @@ int Physics2DDirectSpaceStateSW::intersect_point(const Vector2 &p_point, ShapeRe
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
if (p_exclude.has(space->intersection_query_results[i]->get_self()))
@@ -90,7 +100,7 @@ int Physics2DDirectSpaceStateSW::intersect_point(const Vector2 &p_point, ShapeRe
return cc;
}
-bool Physics2DDirectSpaceStateSW::intersect_ray(const Vector2 &p_from, const Vector2 &p_to, RayResult &r_result, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool Physics2DDirectSpaceStateSW::intersect_ray(const Vector2 &p_from, const Vector2 &p_to, RayResult &r_result, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
ERR_FAIL_COND_V(space->locked, false);
@@ -112,7 +122,7 @@ bool Physics2DDirectSpaceStateSW::intersect_ray(const Vector2 &p_from, const Vec
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
if (p_exclude.has(space->intersection_query_results[i]->get_self()))
@@ -170,7 +180,7 @@ bool Physics2DDirectSpaceStateSW::intersect_ray(const Vector2 &p_from, const Vec
return true;
}
-int Physics2DDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+int Physics2DDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
if (p_result_max <= 0)
return 0;
@@ -190,7 +200,7 @@ int Physics2DDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Trans
if (cc >= p_result_max)
break;
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
if (p_exclude.has(space->intersection_query_results[i]->get_self()))
@@ -215,7 +225,7 @@ int Physics2DDirectSpaceStateSW::intersect_shape(const RID &p_shape, const Trans
return cc;
}
-bool Physics2DDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool Physics2DDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
Shape2DSW *shape = Physics2DServerSW::singletonsw->shape_owner.get(p_shape);
ERR_FAIL_COND_V(!shape, false);
@@ -224,11 +234,6 @@ bool Physics2DDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transfor
aabb = aabb.merge(Rect2(aabb.position + p_motion, aabb.size)); //motion
aabb = aabb.grow(p_margin);
- /*
- if (p_motion!=Vector2())
- print_line(p_motion);
- */
-
int amount = space->broadphase->cull_aabb(aabb, space->intersection_query_results, Space2DSW::INTERSECTION_QUERY_MAX, space->intersection_query_subindex_results);
real_t best_safe = 1;
@@ -236,7 +241,7 @@ bool Physics2DDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transfor
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
if (p_exclude.has(space->intersection_query_results[i]->get_self()))
@@ -245,15 +250,6 @@ bool Physics2DDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transfor
const CollisionObject2DSW *col_obj = space->intersection_query_results[i];
int shape_idx = space->intersection_query_subindex_results[i];
- /*if (col_obj->get_type()==CollisionObject2DSW::TYPE_BODY) {
-
- const Body2DSW *body=static_cast<const Body2DSW*>(col_obj);
- if (body->get_one_way_collision_direction()!=Vector2() && p_motion.dot(body->get_one_way_collision_direction())<=CMP_EPSILON) {
- print_line("failed in motion dir");
- continue;
- }
- }*/
-
Transform2D col_obj_xform = col_obj->get_transform() * col_obj->get_shape_transform(shape_idx);
//test initial overlap, does it collide if going all the way?
if (!CollisionSolver2DSW::solve(shape, p_xform, p_motion, col_obj->get_shape(shape_idx), col_obj_xform, Vector2(), NULL, NULL, NULL, p_margin)) {
@@ -299,7 +295,7 @@ bool Physics2DDirectSpaceStateSW::cast_motion(const RID &p_shape, const Transfor
return true;
}
-bool Physics2DDirectSpaceStateSW::collide_shape(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, Vector2 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool Physics2DDirectSpaceStateSW::collide_shape(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, Vector2 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
if (p_result_max <= 0)
return 0;
@@ -330,7 +326,7 @@ bool Physics2DDirectSpaceStateSW::collide_shape(RID p_shape, const Transform2D &
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
const CollisionObject2DSW *col_obj = space->intersection_query_results[i];
@@ -388,7 +384,7 @@ static void _rest_cbk_result(const Vector2 &p_point_A, const Vector2 &p_point_B,
rd->best_shape = rd->shape;
}
-bool Physics2DDirectSpaceStateSW::rest_info(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude, uint32_t p_collision_mask) {
+bool Physics2DDirectSpaceStateSW::rest_info(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
Shape2DSW *shape = Physics2DServerSW::singletonsw->shape_owner.get(p_shape);
ERR_FAIL_COND_V(!shape, 0);
@@ -406,7 +402,7 @@ bool Physics2DDirectSpaceStateSW::rest_info(RID p_shape, const Transform2D &p_sh
for (int i = 0; i < amount; i++) {
- if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask))
+ if (!_can_collide_with(space->intersection_query_results[i], p_collision_mask, p_collide_with_bodies, p_collide_with_areas))
continue;
const CollisionObject2DSW *col_obj = space->intersection_query_results[i];
diff --git a/servers/physics_2d/space_2d_sw.h b/servers/physics_2d/space_2d_sw.h
index 1247317b03..6e2e025185 100644
--- a/servers/physics_2d/space_2d_sw.h
+++ b/servers/physics_2d/space_2d_sw.h
@@ -48,12 +48,12 @@ class Physics2DDirectSpaceStateSW : public Physics2DDirectSpaceState {
public:
Space2DSW *space;
- virtual int intersect_point(const Vector2 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_pick_point = false);
- virtual bool intersect_ray(const Vector2 &p_from, const Vector2 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual int intersect_shape(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool cast_motion(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool collide_shape(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, Vector2 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
- virtual bool rest_info(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF);
+ virtual int intersect_point(const Vector2 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, bool p_pick_point = false);
+ virtual bool intersect_ray(const Vector2 &p_from, const Vector2 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual int intersect_shape(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool cast_motion(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, real_t p_margin, real_t &p_closest_safe, real_t &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool collide_shape(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, Vector2 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
+ virtual bool rest_info(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, real_t p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
Physics2DDirectSpaceStateSW();
};
diff --git a/servers/physics_2d/step_2d_sw.cpp b/servers/physics_2d/step_2d_sw.cpp
index 6108b885f0..d1078f1506 100644
--- a/servers/physics_2d/step_2d_sw.cpp
+++ b/servers/physics_2d/step_2d_sw.cpp
@@ -209,8 +209,6 @@ void Step2DSW::step(Space2DSW *p_space, real_t p_delta, int p_iterations) {
p_space->area_remove_from_moved_list((SelfList<Area2DSW> *)aml.first()); //faster to remove here
}
- //print_line("island count: "+itos(island_count)+" active count: "+itos(active_count));
-
{ //profile
profile_endtime = OS::get_singleton()->get_ticks_usec();
p_space->set_elapsed_time(Space2DSW::ELAPSED_TIME_GENERATE_ISLANDS, profile_endtime - profile_begtime);
diff --git a/servers/physics_2d_server.cpp b/servers/physics_2d_server.cpp
index 37c4bc83ad..a51b938541 100644
--- a/servers/physics_2d_server.cpp
+++ b/servers/physics_2d_server.cpp
@@ -203,6 +203,22 @@ Vector<RID> Physics2DShapeQueryParameters::get_exclude() const {
return ret;
}
+void Physics2DShapeQueryParameters::set_collide_with_bodies(bool p_enable) {
+ collide_with_bodies = p_enable;
+}
+
+bool Physics2DShapeQueryParameters::is_collide_with_bodies_enabled() const {
+ return collide_with_bodies;
+}
+
+void Physics2DShapeQueryParameters::set_collide_with_areas(bool p_enable) {
+ collide_with_areas = p_enable;
+}
+
+bool Physics2DShapeQueryParameters::is_collide_with_areas_enabled() const {
+ return collide_with_areas;
+}
+
void Physics2DShapeQueryParameters::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_shape", "shape"), &Physics2DShapeQueryParameters::set_shape);
@@ -224,6 +240,12 @@ void Physics2DShapeQueryParameters::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_exclude", "exclude"), &Physics2DShapeQueryParameters::set_exclude);
ClassDB::bind_method(D_METHOD("get_exclude"), &Physics2DShapeQueryParameters::get_exclude);
+ ClassDB::bind_method(D_METHOD("set_collide_with_bodies", "enable"), &Physics2DShapeQueryParameters::set_collide_with_bodies);
+ ClassDB::bind_method(D_METHOD("is_collide_with_bodies_enabled"), &Physics2DShapeQueryParameters::is_collide_with_bodies_enabled);
+
+ ClassDB::bind_method(D_METHOD("set_collide_with_areas", "enable"), &Physics2DShapeQueryParameters::set_collide_with_areas);
+ ClassDB::bind_method(D_METHOD("is_collide_with_areas_enabled"), &Physics2DShapeQueryParameters::is_collide_with_areas_enabled);
+
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_layer", PROPERTY_HINT_LAYERS_2D_PHYSICS), "set_collision_layer", "get_collision_layer");
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "exclude", PROPERTY_HINT_NONE, itos(Variant::_RID) + ":"), "set_exclude", "get_exclude");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "margin", PROPERTY_HINT_RANGE, "0,100,0.01"), "set_margin", "get_margin");
@@ -231,22 +253,26 @@ void Physics2DShapeQueryParameters::_bind_methods() {
//ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "shape", PROPERTY_HINT_RESOURCE_TYPE, "Shape2D"), "set_shape", ""); // FIXME: Lacks a getter
ADD_PROPERTY(PropertyInfo(Variant::_RID, "shape_rid"), "set_shape_rid", "get_shape_rid");
ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform"), "set_transform", "get_transform");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_bodies"), "set_collide_with_bodies", "is_collide_with_bodies_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_areas"), "set_collide_with_areas", "is_collide_with_areas_enabled");
}
Physics2DShapeQueryParameters::Physics2DShapeQueryParameters() {
margin = 0;
collision_mask = 0x7FFFFFFF;
+ collide_with_bodies = true;
+ collide_with_areas = false;
}
-Dictionary Physics2DDirectSpaceState::_intersect_ray(const Vector2 &p_from, const Vector2 &p_to, const Vector<RID> &p_exclude, uint32_t p_layers) {
+Dictionary Physics2DDirectSpaceState::_intersect_ray(const Vector2 &p_from, const Vector2 &p_to, const Vector<RID> &p_exclude, uint32_t p_layers, bool p_collide_with_bodies, bool p_collide_with_areas) {
RayResult inters;
Set<RID> exclude;
for (int i = 0; i < p_exclude.size(); i++)
exclude.insert(p_exclude[i]);
- bool res = intersect_ray(p_from, p_to, inters, exclude, p_layers);
+ bool res = intersect_ray(p_from, p_to, inters, exclude, p_layers, p_collide_with_bodies, p_collide_with_areas);
if (!res)
return Dictionary();
@@ -267,7 +293,7 @@ Array Physics2DDirectSpaceState::_intersect_shape(const Ref<Physics2DShapeQueryP
Vector<ShapeResult> sr;
sr.resize(p_max_results);
- int rc = intersect_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, sr.ptrw(), sr.size(), p_shape_query->exclude, p_shape_query->collision_mask);
+ int rc = intersect_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, sr.ptrw(), sr.size(), p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
Array ret;
ret.resize(rc);
for (int i = 0; i < rc; i++) {
@@ -287,7 +313,7 @@ Array Physics2DDirectSpaceState::_intersect_shape(const Ref<Physics2DShapeQueryP
Array Physics2DDirectSpaceState::_cast_motion(const Ref<Physics2DShapeQueryParameters> &p_shape_query) {
float closest_safe, closest_unsafe;
- bool res = cast_motion(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, closest_safe, closest_unsafe, p_shape_query->exclude, p_shape_query->collision_mask);
+ bool res = cast_motion(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, closest_safe, closest_unsafe, p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
if (!res)
return Array();
Array ret;
@@ -297,7 +323,7 @@ Array Physics2DDirectSpaceState::_cast_motion(const Ref<Physics2DShapeQueryParam
return ret;
}
-Array Physics2DDirectSpaceState::_intersect_point(const Vector2 &p_point, int p_max_results, const Vector<RID> &p_exclude, uint32_t p_layers) {
+Array Physics2DDirectSpaceState::_intersect_point(const Vector2 &p_point, int p_max_results, const Vector<RID> &p_exclude, uint32_t p_layers, bool p_collide_with_bodies, bool p_collide_with_areas) {
Set<RID> exclude;
for (int i = 0; i < p_exclude.size(); i++)
@@ -306,7 +332,7 @@ Array Physics2DDirectSpaceState::_intersect_point(const Vector2 &p_point, int p_
Vector<ShapeResult> ret;
ret.resize(p_max_results);
- int rc = intersect_point(p_point, ret.ptrw(), ret.size(), exclude, p_layers);
+ int rc = intersect_point(p_point, ret.ptrw(), ret.size(), exclude, p_layers, p_collide_with_bodies, p_collide_with_areas);
if (rc == 0)
return Array();
@@ -330,7 +356,7 @@ Array Physics2DDirectSpaceState::_collide_shape(const Ref<Physics2DShapeQueryPar
Vector<Vector2> ret;
ret.resize(p_max_results * 2);
int rc = 0;
- bool res = collide_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, ret.ptrw(), p_max_results, rc, p_shape_query->exclude, p_shape_query->collision_mask);
+ bool res = collide_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, ret.ptrw(), p_max_results, rc, p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
if (!res)
return Array();
Array r;
@@ -343,7 +369,7 @@ Dictionary Physics2DDirectSpaceState::_get_rest_info(const Ref<Physics2DShapeQue
ShapeRestInfo sri;
- bool res = rest_info(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, &sri, p_shape_query->exclude, p_shape_query->collision_mask);
+ bool res = rest_info(p_shape_query->shape, p_shape_query->transform, p_shape_query->motion, p_shape_query->margin, &sri, p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
Dictionary r;
if (!res)
return r;
@@ -364,8 +390,8 @@ Physics2DDirectSpaceState::Physics2DDirectSpaceState() {
void Physics2DDirectSpaceState::_bind_methods() {
- ClassDB::bind_method(D_METHOD("intersect_point", "point", "max_results", "exclude", "collision_layer"), &Physics2DDirectSpaceState::_intersect_point, DEFVAL(32), DEFVAL(Array()), DEFVAL(0x7FFFFFFF));
- ClassDB::bind_method(D_METHOD("intersect_ray", "from", "to", "exclude", "collision_layer"), &Physics2DDirectSpaceState::_intersect_ray, DEFVAL(Array()), DEFVAL(0x7FFFFFFF));
+ ClassDB::bind_method(D_METHOD("intersect_point", "point", "max_results", "exclude", "collision_layer", "collide_with_bodies", "collide_with_areas"), &Physics2DDirectSpaceState::_intersect_point, DEFVAL(32), DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
+ ClassDB::bind_method(D_METHOD("intersect_ray", "from", "to", "exclude", "collision_layer", "collide_with_bodies", "collide_with_areas"), &Physics2DDirectSpaceState::_intersect_ray, DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
ClassDB::bind_method(D_METHOD("intersect_shape", "shape", "max_results"), &Physics2DDirectSpaceState::_intersect_shape, DEFVAL(32));
ClassDB::bind_method(D_METHOD("cast_motion", "shape"), &Physics2DDirectSpaceState::_cast_motion);
ClassDB::bind_method(D_METHOD("collide_shape", "shape", "max_results"), &Physics2DDirectSpaceState::_collide_shape, DEFVAL(32));
diff --git a/servers/physics_2d_server.h b/servers/physics_2d_server.h
index f42d9868f0..82b4eb75d8 100644
--- a/servers/physics_2d_server.h
+++ b/servers/physics_2d_server.h
@@ -107,6 +107,9 @@ class Physics2DShapeQueryParameters : public Reference {
Set<RID> exclude;
uint32_t collision_mask;
+ bool collide_with_bodies;
+ bool collide_with_areas;
+
protected:
static void _bind_methods();
@@ -127,6 +130,12 @@ public:
void set_collision_mask(int p_collision_mask);
int get_collision_mask() const;
+ void set_collide_with_bodies(bool p_enable);
+ bool is_collide_with_bodies_enabled() const;
+
+ void set_collide_with_areas(bool p_enable);
+ bool is_collide_with_areas_enabled() const;
+
void set_exclude(const Vector<RID> &p_exclude);
Vector<RID> get_exclude() const;
@@ -137,9 +146,9 @@ class Physics2DDirectSpaceState : public Object {
GDCLASS(Physics2DDirectSpaceState, Object);
- Dictionary _intersect_ray(const Vector2 &p_from, const Vector2 &p_to, const Vector<RID> &p_exclude = Vector<RID>(), uint32_t p_layers = 0);
+ Dictionary _intersect_ray(const Vector2 &p_from, const Vector2 &p_to, const Vector<RID> &p_exclude = Vector<RID>(), uint32_t p_layers = 0, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
- Array _intersect_point(const Vector2 &p_point, int p_max_results = 32, const Vector<RID> &p_exclude = Vector<RID>(), uint32_t p_layers = 0);
+ Array _intersect_point(const Vector2 &p_point, int p_max_results = 32, const Vector<RID> &p_exclude = Vector<RID>(), uint32_t p_layers = 0, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
Array _intersect_shape(const Ref<Physics2DShapeQueryParameters> &p_shape_query, int p_max_results = 32);
Array _cast_motion(const Ref<Physics2DShapeQueryParameters> &p_shape_query);
Array _collide_shape(const Ref<Physics2DShapeQueryParameters> &p_shape_query, int p_max_results = 32);
@@ -160,7 +169,7 @@ public:
Variant metadata;
};
- virtual bool intersect_ray(const Vector2 &p_from, const Vector2 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF) = 0;
+ virtual bool intersect_ray(const Vector2 &p_from, const Vector2 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
struct ShapeResult {
@@ -171,13 +180,13 @@ public:
Variant metadata;
};
- virtual int intersect_point(const Vector2 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF, bool p_pick_point = false) = 0;
+ virtual int intersect_point(const Vector2 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, bool p_pick_point = false) = 0;
- virtual int intersect_shape(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF) = 0;
+ virtual int intersect_shape(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
- virtual bool cast_motion(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF) = 0;
+ virtual bool cast_motion(const RID &p_shape, const Transform2D &p_xform, const Vector2 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
- virtual bool collide_shape(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, float p_margin, Vector2 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF) = 0;
+ virtual bool collide_shape(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, float p_margin, Vector2 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
struct ShapeRestInfo {
@@ -190,7 +199,7 @@ public:
Variant metadata;
};
- virtual bool rest_info(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF) = 0;
+ virtual bool rest_info(RID p_shape, const Transform2D &p_shape_xform, const Vector2 &p_motion, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_layer = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
Physics2DDirectSpaceState();
};
diff --git a/servers/physics_server.cpp b/servers/physics_server.cpp
index cda3856ecc..deb3cd9bbe 100644
--- a/servers/physics_server.cpp
+++ b/servers/physics_server.cpp
@@ -29,7 +29,9 @@
/*************************************************************************/
#include "physics_server.h"
+
#include "core/project_settings.h"
+#include "method_bind_ext.gen.inc"
#include "print_string.h"
PhysicsServer *PhysicsServer::singleton = NULL;
@@ -198,6 +200,22 @@ Vector<RID> PhysicsShapeQueryParameters::get_exclude() const {
return ret;
}
+void PhysicsShapeQueryParameters::set_collide_with_bodies(bool p_enable) {
+ collide_with_bodies = p_enable;
+}
+
+bool PhysicsShapeQueryParameters::is_collide_with_bodies_enabled() const {
+ return collide_with_bodies;
+}
+
+void PhysicsShapeQueryParameters::set_collide_with_areas(bool p_enable) {
+ collide_with_areas = p_enable;
+}
+
+bool PhysicsShapeQueryParameters::is_collide_with_areas_enabled() const {
+ return collide_with_areas;
+}
+
void PhysicsShapeQueryParameters::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_shape", "shape"), &PhysicsShapeQueryParameters::set_shape);
@@ -216,18 +234,28 @@ void PhysicsShapeQueryParameters::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_exclude", "exclude"), &PhysicsShapeQueryParameters::set_exclude);
ClassDB::bind_method(D_METHOD("get_exclude"), &PhysicsShapeQueryParameters::get_exclude);
+ ClassDB::bind_method(D_METHOD("set_collide_with_bodies", "enable"), &PhysicsShapeQueryParameters::set_collide_with_bodies);
+ ClassDB::bind_method(D_METHOD("is_collide_with_bodies_enabled"), &PhysicsShapeQueryParameters::is_collide_with_bodies_enabled);
+
+ ClassDB::bind_method(D_METHOD("set_collide_with_areas", "enable"), &PhysicsShapeQueryParameters::set_collide_with_areas);
+ ClassDB::bind_method(D_METHOD("is_collide_with_areas_enabled"), &PhysicsShapeQueryParameters::is_collide_with_areas_enabled);
+
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask");
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "exclude", PROPERTY_HINT_NONE, itos(Variant::_RID) + ":"), "set_exclude", "get_exclude");
ADD_PROPERTY(PropertyInfo(Variant::REAL, "margin", PROPERTY_HINT_RANGE, "0,100,0.01"), "set_margin", "get_margin");
//ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "shape", PROPERTY_HINT_RESOURCE_TYPE, "Shape2D"), "set_shape", ""); // FIXME: Lacks a getter
ADD_PROPERTY(PropertyInfo(Variant::_RID, "shape_rid"), "set_shape_rid", "get_shape_rid");
ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM, "transform"), "set_transform", "get_transform");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_bodies"), "set_collide_with_bodies", "is_collide_with_bodies_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_areas"), "set_collide_with_areas", "is_collide_with_areas_enabled");
}
PhysicsShapeQueryParameters::PhysicsShapeQueryParameters() {
margin = 0;
collision_mask = 0x7FFFFFFF;
+ collide_with_bodies = true;
+ collide_with_areas = false;
}
/////////////////////////////////////
@@ -262,14 +290,14 @@ Variant PhysicsDirectSpaceState::_intersect_shape(const RID& p_shape, const Tran
}
*/
-Dictionary PhysicsDirectSpaceState::_intersect_ray(const Vector3 &p_from, const Vector3 &p_to, const Vector<RID> &p_exclude, uint32_t p_collision_mask) {
+Dictionary PhysicsDirectSpaceState::_intersect_ray(const Vector3 &p_from, const Vector3 &p_to, const Vector<RID> &p_exclude, uint32_t p_collision_mask, bool p_collide_with_bodies, bool p_collide_with_areas) {
RayResult inters;
Set<RID> exclude;
for (int i = 0; i < p_exclude.size(); i++)
exclude.insert(p_exclude[i]);
- bool res = intersect_ray(p_from, p_to, inters, exclude, p_collision_mask);
+ bool res = intersect_ray(p_from, p_to, inters, exclude, p_collision_mask, p_collide_with_bodies, p_collide_with_areas);
if (!res)
return Dictionary();
@@ -289,7 +317,7 @@ Array PhysicsDirectSpaceState::_intersect_shape(const Ref<PhysicsShapeQueryParam
Vector<ShapeResult> sr;
sr.resize(p_max_results);
- int rc = intersect_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->margin, sr.ptrw(), sr.size(), p_shape_query->exclude, p_shape_query->collision_mask);
+ int rc = intersect_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->margin, sr.ptrw(), sr.size(), p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
Array ret;
ret.resize(rc);
for (int i = 0; i < rc; i++) {
@@ -308,7 +336,7 @@ Array PhysicsDirectSpaceState::_intersect_shape(const Ref<PhysicsShapeQueryParam
Array PhysicsDirectSpaceState::_cast_motion(const Ref<PhysicsShapeQueryParameters> &p_shape_query, const Vector3 &p_motion) {
float closest_safe, closest_unsafe;
- bool res = cast_motion(p_shape_query->shape, p_shape_query->transform, p_motion, p_shape_query->margin, closest_safe, closest_unsafe, p_shape_query->exclude, p_shape_query->collision_mask);
+ bool res = cast_motion(p_shape_query->shape, p_shape_query->transform, p_motion, p_shape_query->margin, closest_safe, closest_unsafe, p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
if (!res)
return Array();
Array ret;
@@ -322,7 +350,7 @@ Array PhysicsDirectSpaceState::_collide_shape(const Ref<PhysicsShapeQueryParamet
Vector<Vector3> ret;
ret.resize(p_max_results * 2);
int rc = 0;
- bool res = collide_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->margin, ret.ptrw(), p_max_results, rc, p_shape_query->exclude, p_shape_query->collision_mask);
+ bool res = collide_shape(p_shape_query->shape, p_shape_query->transform, p_shape_query->margin, ret.ptrw(), p_max_results, rc, p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
if (!res)
return Array();
Array r;
@@ -335,7 +363,7 @@ Dictionary PhysicsDirectSpaceState::_get_rest_info(const Ref<PhysicsShapeQueryPa
ShapeRestInfo sri;
- bool res = rest_info(p_shape_query->shape, p_shape_query->transform, p_shape_query->margin, &sri, p_shape_query->exclude, p_shape_query->collision_mask);
+ bool res = rest_info(p_shape_query->shape, p_shape_query->transform, p_shape_query->margin, &sri, p_shape_query->exclude, p_shape_query->collision_mask, p_shape_query->collide_with_bodies, p_shape_query->collide_with_areas);
Dictionary r;
if (!res)
return r;
@@ -358,7 +386,7 @@ void PhysicsDirectSpaceState::_bind_methods() {
//ClassDB::bind_method(D_METHOD("intersect_ray","from","to","exclude","umask"),&PhysicsDirectSpaceState::_intersect_ray,DEFVAL(Array()),DEFVAL(0));
//ClassDB::bind_method(D_METHOD("intersect_shape","shape","xform","result_max","exclude","umask"),&PhysicsDirectSpaceState::_intersect_shape,DEFVAL(Array()),DEFVAL(0));
- ClassDB::bind_method(D_METHOD("intersect_ray", "from", "to", "exclude", "collision_layer"), &PhysicsDirectSpaceState::_intersect_ray, DEFVAL(Array()), DEFVAL(0x7FFFFFFF));
+ ClassDB::bind_method(D_METHOD("intersect_ray", "from", "to", "exclude", "collision_mask", "collide_with_bodies", "collide_with_areas"), &PhysicsDirectSpaceState::_intersect_ray, DEFVAL(Array()), DEFVAL(0x7FFFFFFF), DEFVAL(true), DEFVAL(false));
ClassDB::bind_method(D_METHOD("intersect_shape", "shape", "max_results"), &PhysicsDirectSpaceState::_intersect_shape, DEFVAL(32));
ClassDB::bind_method(D_METHOD("cast_motion", "shape", "motion"), &PhysicsDirectSpaceState::_cast_motion);
ClassDB::bind_method(D_METHOD("collide_shape", "shape", "max_results"), &PhysicsDirectSpaceState::_collide_shape, DEFVAL(32));
diff --git a/servers/physics_server.h b/servers/physics_server.h
index 948aec1a2d..f2aa33a6cc 100644
--- a/servers/physics_server.h
+++ b/servers/physics_server.h
@@ -108,6 +108,9 @@ class PhysicsShapeQueryParameters : public Reference {
Set<RID> exclude;
uint32_t collision_mask;
+ bool collide_with_bodies;
+ bool collide_with_areas;
+
protected:
static void _bind_methods();
@@ -128,6 +131,12 @@ public:
void set_exclude(const Vector<RID> &p_exclude);
Vector<RID> get_exclude() const;
+ void set_collide_with_bodies(bool p_enable);
+ bool is_collide_with_bodies_enabled() const;
+
+ void set_collide_with_areas(bool p_enable);
+ bool is_collide_with_areas_enabled() const;
+
PhysicsShapeQueryParameters();
};
@@ -136,7 +145,7 @@ class PhysicsDirectSpaceState : public Object {
GDCLASS(PhysicsDirectSpaceState, Object);
private:
- Dictionary _intersect_ray(const Vector3 &p_from, const Vector3 &p_to, const Vector<RID> &p_exclude = Vector<RID>(), uint32_t p_collision_mask = 0);
+ Dictionary _intersect_ray(const Vector3 &p_from, const Vector3 &p_to, const Vector<RID> &p_exclude = Vector<RID>(), uint32_t p_collision_mask = 0, bool p_collide_with_bodies = true, bool p_collide_with_areas = false);
Array _intersect_shape(const Ref<PhysicsShapeQueryParameters> &p_shape_query, int p_max_results = 32);
Array _cast_motion(const Ref<PhysicsShapeQueryParameters> &p_shape_query, const Vector3 &p_motion);
Array _collide_shape(const Ref<PhysicsShapeQueryParameters> &p_shape_query, int p_max_results = 32);
@@ -154,7 +163,7 @@ public:
int shape;
};
- virtual int intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF) = 0;
+ virtual int intersect_point(const Vector3 &p_point, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
struct RayResult {
@@ -166,9 +175,9 @@ public:
int shape;
};
- virtual bool intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_pick_ray = false) = 0;
+ virtual bool intersect_ray(const Vector3 &p_from, const Vector3 &p_to, RayResult &r_result, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, bool p_pick_ray = false) = 0;
- virtual int intersect_shape(const RID &p_shape, const Transform &p_xform, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF) = 0;
+ virtual int intersect_shape(const RID &p_shape, const Transform &p_xform, float p_margin, ShapeResult *r_results, int p_result_max, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
struct ShapeRestInfo {
@@ -180,11 +189,11 @@ public:
Vector3 linear_velocity; //velocity at contact point
};
- virtual bool cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, ShapeRestInfo *r_info = NULL) = 0;
+ virtual bool cast_motion(const RID &p_shape, const Transform &p_xform, const Vector3 &p_motion, float p_margin, float &p_closest_safe, float &p_closest_unsafe, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false, ShapeRestInfo *r_info = NULL) = 0;
- virtual bool collide_shape(RID p_shape, const Transform &p_shape_xform, float p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF) = 0;
+ virtual bool collide_shape(RID p_shape, const Transform &p_shape_xform, float p_margin, Vector3 *r_results, int p_result_max, int &r_result_count, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
- virtual bool rest_info(RID p_shape, const Transform &p_shape_xform, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF) = 0;
+ virtual bool rest_info(RID p_shape, const Transform &p_shape_xform, float p_margin, ShapeRestInfo *r_info, const Set<RID> &p_exclude = Set<RID>(), uint32_t p_collision_mask = 0xFFFFFFFF, bool p_collide_with_bodies = true, bool p_collide_with_areas = false) = 0;
virtual Vector3 get_closest_point_to_object_volume(RID p_object, const Vector3 p_point) const = 0;
@@ -243,6 +252,10 @@ public:
virtual ShapeType shape_get_type(RID p_shape) const = 0;
virtual Variant shape_get_data(RID p_shape) const = 0;
+
+ virtual void shape_set_margin(RID p_shape, real_t p_margin) = 0;
+ virtual real_t shape_get_margin(RID p_shape) const = 0;
+
virtual real_t shape_get_custom_solver_bias(RID p_shape) const = 0;
/* SPACE API */
@@ -482,7 +495,22 @@ public:
Variant collider_metadata;
};
- virtual bool body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result = NULL) = 0;
+ virtual bool body_test_motion(RID p_body, const Transform &p_from, const Vector3 &p_motion, bool p_infinite_inertia, MotionResult *r_result = NULL, bool p_exclude_raycast_shapes = true) = 0;
+
+ struct SeparationResult {
+
+ float collision_depth;
+ Vector3 collision_point;
+ Vector3 collision_normal;
+ Vector3 collider_velocity;
+ int collision_local_shape;
+ ObjectID collider_id;
+ RID collider;
+ int collider_shape;
+ Variant collider_metadata;
+ };
+
+ virtual int body_test_ray_separation(RID p_body, const Transform &p_transform, bool p_infinite_inertia, Vector3 &r_recover_motion, SeparationResult *r_results, int p_result_max, float p_margin = 0.001) = 0;
/* SOFT BODY */
diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp
index ca50d0d049..ffb130048f 100644
--- a/servers/visual/shader_language.cpp
+++ b/servers/visual/shader_language.cpp
@@ -2533,7 +2533,6 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
expr = constant;
} else if (tk.type == TK_TRUE) {
- //print_line("found true");
//handle true constant
ConstantNode *constant = alloc_node<ConstantNode>();
@@ -3875,8 +3874,8 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct
return ERR_PARSE_ERROR;
}
- if (!uniform && (type < TYPE_FLOAT || type > TYPE_VEC4)) {
- _set_error("Invalid type for varying, only float,vec2,vec3,vec4 allowed.");
+ if (!uniform && (type < TYPE_FLOAT || type > TYPE_MAT4)) {
+ _set_error("Invalid type for varying, only float,vec2,vec3,vec4,mat2,mat3,mat4 allowed.");
return ERR_PARSE_ERROR;
}
diff --git a/servers/visual/shader_types.cpp b/servers/visual/shader_types.cpp
index 0de8676f32..caa454b98e 100644
--- a/servers/visual/shader_types.cpp
+++ b/servers/visual/shader_types.cpp
@@ -127,6 +127,7 @@ ShaderTypes::ShaderTypes() {
shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT);
shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["VIEWPORT_SIZE"] = constt(ShaderLanguage::TYPE_VEC2);
+ shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["FRAGCOORD"] = constt(ShaderLanguage::TYPE_VEC4);
shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["NORMAL"] = constt(ShaderLanguage::TYPE_VEC3);
shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["VIEW"] = constt(ShaderLanguage::TYPE_VEC3);
shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT"] = constt(ShaderLanguage::TYPE_VEC3);
diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp
index 213b3ad8f6..1e255591f0 100644
--- a/servers/visual/visual_server_scene.cpp
+++ b/servers/visual/visual_server_scene.cpp
@@ -1180,7 +1180,7 @@ _FORCE_INLINE_ static void _light_capture_sample_octree(const RasterizerStorage:
r_color = color_interp[0].linear_interpolate(color_interp[1], level_filter);
r_alpha = Math::lerp(alpha_interp[0], alpha_interp[1], level_filter);
- // print_line("pos: " + p_posf + " level " + rtos(p_level) + " down to " + itos(target_level) + "." + rtos(level_filter) + " color " + r_color + " alpha " + rtos(r_alpha));
+ //print_line("pos: " + p_posf + " level " + rtos(p_level) + " down to " + itos(target_level) + "." + rtos(level_filter) + " color " + r_color + " alpha " + rtos(r_alpha));
}
_FORCE_INLINE_ static Color _light_capture_voxel_cone_trace(const RasterizerStorage::LightmapCaptureOctree *p_octree, const Vector3 &p_pos, const Vector3 &p_dir, float p_aperture, int p_cell_subdiv) {
@@ -1799,11 +1799,12 @@ void VisualServerScene::_prepare_scene(const Transform p_cam_transform, const Ca
//light_samplers_culled=0;
- /* print_line("OT: "+rtos( (OS::get_singleton()->get_ticks_usec()-t)/1000.0));
+ /*
+ print_line("OT: "+rtos( (OS::get_singleton()->get_ticks_usec()-t)/1000.0));
print_line("OTO: "+itos(p_scenario->octree.get_octant_count()));
- //print_line("OTE: "+itos(p_scenario->octree.get_elem_count()));
+ print_line("OTE: "+itos(p_scenario->octree.get_elem_count()));
print_line("OTP: "+itos(p_scenario->octree.get_pair_count()));
-*/
+ */
/* STEP 3 - PROCESS PORTALS, VALIDATE ROOMS */
//removed, will replace with culling
@@ -2302,7 +2303,6 @@ void VisualServerScene::_setup_gi_probe(Instance *p_instance) {
int size_divisor = 1;
if (probe->dynamic.compression == RasterizerStorage::GI_PROBE_S3TC) {
- print_line("S3TC");
size_limit = 4;
size_divisor = 4;
}
@@ -2391,7 +2391,7 @@ void VisualServerScene::_setup_gi_probe(Instance *p_instance) {
probe->dynamic.mipmaps_s3tc.resize(mipmap_count);
for (int i = 0; i < mipmap_count; i++) {
- print_line("S3TC level: " + itos(i) + " blocks: " + itos(comp_blocks[i].size()));
+ //print_line("S3TC level: " + itos(i) + " blocks: " + itos(comp_blocks[i].size()));
probe->dynamic.mipmaps_s3tc.write[i].resize(comp_blocks[i].size());
PoolVector<InstanceGIProbeData::CompBlockS3TC>::Write w = probe->dynamic.mipmaps_s3tc.write[i].write();
int block_idx = 0;
@@ -2759,7 +2759,7 @@ void VisualServerScene::_bake_gi_probe_light(const GIProbeDataHeader *header, co
light->energy[2] += int32_t(light_b * att * ((cell->albedo) & 0xFF) / 255.0);
}
}
- // print_line("BAKE TIME: " + rtos((OS::get_singleton()->get_ticks_usec() - us) / 1000000.0));
+ //print_line("BAKE TIME: " + rtos((OS::get_singleton()->get_ticks_usec() - us) / 1000000.0));
} break;
}
}
@@ -3180,7 +3180,7 @@ void VisualServerScene::render_probes() {
} break;
case GI_UPDATE_STAGE_UPLOADING: {
- // uint64_t us = OS::get_singleton()->get_ticks_usec();
+ //uint64_t us = OS::get_singleton()->get_ticks_usec();
for (int i = 0; i < (int)probe->dynamic.mipmaps_3d.size(); i++) {
@@ -3190,7 +3190,7 @@ void VisualServerScene::render_probes() {
probe->dynamic.updating_stage = GI_UPDATE_STAGE_CHECK;
- // print_line("UPLOAD TIME: " + rtos((OS::get_singleton()->get_ticks_usec() - us) / 1000000.0));
+ //print_line("UPLOAD TIME: " + rtos((OS::get_singleton()->get_ticks_usec() - us) / 1000000.0));
} break;
}
}
diff --git a/servers/visual/visual_server_viewport.cpp b/servers/visual/visual_server_viewport.cpp
index a700fcf11b..90acba306a 100644
--- a/servers/visual/visual_server_viewport.cpp
+++ b/servers/visual/visual_server_viewport.cpp
@@ -137,7 +137,6 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E
}
}
- //print_line("lights: "+itos(light_count));
canvas_map[Viewport::CanvasKey(E->key(), E->get().layer)] = &E->get();
}
@@ -194,8 +193,6 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E
VisualServerCanvas::Canvas *canvas = static_cast<VisualServerCanvas::Canvas *>(E->get()->canvas);
- //print_line("canvas "+itos(i)+" size: "+itos(I->get()->canvas->child_items.size()));
- //print_line("GT "+p_viewport->global_transform+". CT: "+E->get()->transform);
Transform2D xform = p_viewport->global_transform * E->get()->transform;
RasterizerCanvas::Light *canvas_lights = NULL;
diff --git a/servers/visual/visual_server_wrap_mt.cpp b/servers/visual/visual_server_wrap_mt.cpp
index 93f3792bdc..1cafc47685 100644
--- a/servers/visual/visual_server_wrap_mt.cpp
+++ b/servers/visual/visual_server_wrap_mt.cpp
@@ -107,16 +107,16 @@ void VisualServerWrapMT::init() {
if (create_thread) {
- print_line("CREATING RENDER THREAD");
+ print_verbose("VisualServerWrapMT: Creating render thread");
OS::get_singleton()->release_rendering_thread();
if (create_thread) {
thread = Thread::create(_thread_callback, this);
- print_line("STARTING RENDER THREAD");
+ print_verbose("VisualServerWrapMT: Starting render thread");
}
while (!draw_thread_up) {
OS::get_singleton()->delay_usec(1000);
}
- print_line("DONE RENDER THREAD");
+ print_verbose("VisualServerWrapMT: Finished render thread");
} else {
visual_server->init();
diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp
index bc9e9042ec..18a04e9a4b 100644
--- a/servers/visual_server.cpp
+++ b/servers/visual_server.cpp
@@ -1806,24 +1806,24 @@ void VisualServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("gi_probe_get_bounds", "probe"), &VisualServer::gi_probe_get_bounds);
ClassDB::bind_method(D_METHOD("gi_probe_set_cell_size", "probe", "range"), &VisualServer::gi_probe_set_cell_size);
ClassDB::bind_method(D_METHOD("gi_probe_get_cell_size", "probe"), &VisualServer::gi_probe_get_cell_size);
- ClassDB::bind_method(D_METHOD("gi_probe_set_to_cell_xform", "xform"), &VisualServer::gi_probe_set_to_cell_xform);
- ClassDB::bind_method(D_METHOD("gi_probe_get_to_cell_xform"), &VisualServer::gi_probe_get_to_cell_xform);
- ClassDB::bind_method(D_METHOD("gi_probe_set_dynamic_data", "data"), &VisualServer::gi_probe_set_dynamic_data);
- ClassDB::bind_method(D_METHOD("gi_probe_get_dynamic_data"), &VisualServer::gi_probe_get_dynamic_data);
- ClassDB::bind_method(D_METHOD("gi_probe_set_dynamic_range", "range"), &VisualServer::gi_probe_set_dynamic_range);
- ClassDB::bind_method(D_METHOD("gi_probe_get_dynamic_range"), &VisualServer::gi_probe_get_dynamic_range);
- ClassDB::bind_method(D_METHOD("gi_probe_set_energy", "energy"), &VisualServer::gi_probe_set_energy);
- ClassDB::bind_method(D_METHOD("gi_probe_get_energy"), &VisualServer::gi_probe_get_energy);
- ClassDB::bind_method(D_METHOD("gi_probe_set_bias", "bias"), &VisualServer::gi_probe_set_bias);
- ClassDB::bind_method(D_METHOD("gi_probe_get_bias"), &VisualServer::gi_probe_get_bias);
- ClassDB::bind_method(D_METHOD("gi_probe_set_normal_bias", "bias"), &VisualServer::gi_probe_set_normal_bias);
- ClassDB::bind_method(D_METHOD("gi_probe_get_normal_bias"), &VisualServer::gi_probe_get_normal_bias);
- ClassDB::bind_method(D_METHOD("gi_probe_set_propagation", "propagation"), &VisualServer::gi_probe_set_propagation);
- ClassDB::bind_method(D_METHOD("gi_probe_get_propagation"), &VisualServer::gi_probe_get_propagation);
- ClassDB::bind_method(D_METHOD("gi_probe_set_interior", "enable"), &VisualServer::gi_probe_set_interior);
- ClassDB::bind_method(D_METHOD("gi_probe_is_interior"), &VisualServer::gi_probe_is_interior);
- ClassDB::bind_method(D_METHOD("gi_probe_set_compress", "enable"), &VisualServer::gi_probe_set_compress);
- ClassDB::bind_method(D_METHOD("gi_probe_is_compressed"), &VisualServer::gi_probe_is_compressed);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_to_cell_xform", "probe", "xform"), &VisualServer::gi_probe_set_to_cell_xform);
+ ClassDB::bind_method(D_METHOD("gi_probe_get_to_cell_xform", "probe"), &VisualServer::gi_probe_get_to_cell_xform);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_dynamic_data", "probe", "data"), &VisualServer::gi_probe_set_dynamic_data);
+ ClassDB::bind_method(D_METHOD("gi_probe_get_dynamic_data", "probe"), &VisualServer::gi_probe_get_dynamic_data);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_dynamic_range", "probe", "range"), &VisualServer::gi_probe_set_dynamic_range);
+ ClassDB::bind_method(D_METHOD("gi_probe_get_dynamic_range", "probe"), &VisualServer::gi_probe_get_dynamic_range);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_energy", "probe", "energy"), &VisualServer::gi_probe_set_energy);
+ ClassDB::bind_method(D_METHOD("gi_probe_get_energy", "probe"), &VisualServer::gi_probe_get_energy);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_bias", "probe", "bias"), &VisualServer::gi_probe_set_bias);
+ ClassDB::bind_method(D_METHOD("gi_probe_get_bias", "probe"), &VisualServer::gi_probe_get_bias);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_normal_bias", "probe", "bias"), &VisualServer::gi_probe_set_normal_bias);
+ ClassDB::bind_method(D_METHOD("gi_probe_get_normal_bias", "probe"), &VisualServer::gi_probe_get_normal_bias);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_propagation", "probe", "propagation"), &VisualServer::gi_probe_set_propagation);
+ ClassDB::bind_method(D_METHOD("gi_probe_get_propagation", "probe"), &VisualServer::gi_probe_get_propagation);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_interior", "probe", "enable"), &VisualServer::gi_probe_set_interior);
+ ClassDB::bind_method(D_METHOD("gi_probe_is_interior", "probe"), &VisualServer::gi_probe_is_interior);
+ ClassDB::bind_method(D_METHOD("gi_probe_set_compress", "probe", "enable"), &VisualServer::gi_probe_set_compress);
+ ClassDB::bind_method(D_METHOD("gi_probe_is_compressed", "probe"), &VisualServer::gi_probe_is_compressed);
ClassDB::bind_method(D_METHOD("lightmap_capture_create"), &VisualServer::lightmap_capture_create);
ClassDB::bind_method(D_METHOD("lightmap_capture_set_bounds", "capture", "bounds"), &VisualServer::lightmap_capture_set_bounds);
@@ -2361,6 +2361,7 @@ VisualServer::VisualServer() {
//ERR_FAIL_COND(singleton);
singleton = this;
+ GLOBAL_DEF("rendering/vram_compression/import_bptc", false);
GLOBAL_DEF("rendering/vram_compression/import_s3tc", true);
GLOBAL_DEF("rendering/vram_compression/import_etc", false);
GLOBAL_DEF("rendering/vram_compression/import_etc2", true);
diff --git a/thirdparty/README.md b/thirdparty/README.md
index 11745bc532..9da3d857a6 100644
--- a/thirdparty/README.md
+++ b/thirdparty/README.md
@@ -40,6 +40,17 @@ File extracted from a recent Fedora install:
as it's generated on the user's system.)
+## cvtt
+
+- Upstream: https://github.com/elasota/cvtt
+- Version: 1.0.0-beta4
+- License: MIT
+
+Files extracted from upstream source:
+
+- all .cpp, .h, and .txt files in ConvectionKernels/
+
+
## enet
- Upstream: http://enet.bespin.org
diff --git a/thirdparty/cvtt/ConvectionKernels.cpp b/thirdparty/cvtt/ConvectionKernels.cpp
new file mode 100644
index 0000000000..6661d8120d
--- /dev/null
+++ b/thirdparty/cvtt/ConvectionKernels.cpp
@@ -0,0 +1,7576 @@
+/*
+Convection Texture Tools
+Copyright (c) 2018 Eric Lasota
+
+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.
+
+-------------------------------------------------------------------------------------
+
+Portions based on DirectX Texture Library (DirectXTex)
+
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the MIT License.
+
+http://go.microsoft.com/fwlink/?LinkId=248926
+*/
+#include "ConvectionKernels.h"
+#include "ConvectionKernels_BC7_SingleColor.h"
+
+#if (defined(_M_IX86_FP) && _M_IX86_FP >= 2) || defined(_M_X64) || defined(__SSE2__)
+#define CVTT_USE_SSE2
+#endif
+
+#ifdef CVTT_USE_SSE2
+#include <emmintrin.h>
+#endif
+
+#include <float.h>
+#include <assert.h>
+#include <string.h>
+#include <algorithm>
+#include <math.h>
+
+#define UNREFERENCED_PARAMETER(n) ((void)n)
+
+namespace cvtt
+{
+#ifdef CVTT_USE_SSE2
+ // SSE2 version
+ struct ParallelMath
+ {
+ typedef uint16_t ScalarUInt16;
+ typedef int16_t ScalarSInt16;
+
+ template<unsigned int TRoundingMode>
+ struct RoundForScope
+ {
+ unsigned int m_oldCSR;
+
+ RoundForScope()
+ {
+ m_oldCSR = _mm_getcsr();
+ _mm_setcsr((m_oldCSR & ~_MM_ROUND_MASK) | (TRoundingMode));
+ }
+
+ ~RoundForScope()
+ {
+ _mm_setcsr(m_oldCSR);
+ }
+ };
+
+ struct RoundTowardZeroForScope : RoundForScope<_MM_ROUND_TOWARD_ZERO>
+ {
+ };
+
+ struct RoundTowardNearestForScope : RoundForScope<_MM_ROUND_NEAREST>
+ {
+ };
+
+ struct RoundUpForScope : RoundForScope<_MM_ROUND_UP>
+ {
+ };
+
+ struct RoundDownForScope : RoundForScope<_MM_ROUND_DOWN>
+ {
+ };
+
+ static const int ParallelSize = 8;
+
+ enum Int16Subtype
+ {
+ IntSubtype_Signed,
+ IntSubtype_UnsignedFull,
+ IntSubtype_UnsignedTruncated,
+ IntSubtype_Abstract,
+ };
+
+ template<int TSubtype>
+ struct VInt16
+ {
+ __m128i m_value;
+
+ inline VInt16 operator+(int16_t other) const
+ {
+ VInt16 result;
+ result.m_value = _mm_add_epi16(m_value, _mm_set1_epi16(static_cast<int16_t>(other)));
+ return result;
+ }
+
+ inline VInt16 operator+(const VInt16 &other) const
+ {
+ VInt16 result;
+ result.m_value = _mm_add_epi16(m_value, other.m_value);
+ return result;
+ }
+
+ inline VInt16 operator|(const VInt16 &other) const
+ {
+ VInt16 result;
+ result.m_value = _mm_or_si128(m_value, other.m_value);
+ return result;
+ }
+
+ inline VInt16 operator&(const VInt16 &other) const
+ {
+ VInt16 result;
+ result.m_value = _mm_and_si128(m_value, other.m_value);
+ return result;
+ }
+
+ inline VInt16 operator-(const VInt16 &other) const
+ {
+ VInt16 result;
+ result.m_value = _mm_sub_epi16(m_value, other.m_value);
+ return result;
+ }
+
+ inline VInt16 operator<<(int bits) const
+ {
+ VInt16 result;
+ result.m_value = _mm_slli_epi16(m_value, bits);
+ return result;
+ }
+ };
+
+ typedef VInt16<IntSubtype_Signed> SInt16;
+ typedef VInt16<IntSubtype_UnsignedFull> UInt16;
+ typedef VInt16<IntSubtype_UnsignedTruncated> UInt15;
+ typedef VInt16<IntSubtype_Abstract> AInt16;
+
+ template<int TSubtype>
+ struct VInt32
+ {
+ __m128i m_values[2];
+
+ inline VInt32 operator+(const VInt32& other) const
+ {
+ VInt32 result;
+ result.m_values[0] = _mm_add_epi32(m_values[0], other.m_values[0]);
+ result.m_values[1] = _mm_add_epi32(m_values[1], other.m_values[1]);
+ return result;
+ }
+
+ inline VInt32 operator-(const VInt32& other) const
+ {
+ VInt32 result;
+ result.m_values[0] = _mm_sub_epi32(m_values[0], other.m_values[0]);
+ result.m_values[1] = _mm_sub_epi32(m_values[1], other.m_values[1]);
+ return result;
+ }
+
+ inline VInt32 operator<<(const int other) const
+ {
+ VInt32 result;
+ result.m_values[0] = _mm_slli_epi32(m_values[0], other);
+ result.m_values[1] = _mm_slli_epi32(m_values[1], other);
+ return result;
+ }
+ };
+
+ typedef VInt32<IntSubtype_Signed> SInt32;
+ typedef VInt32<IntSubtype_UnsignedTruncated> UInt31;
+ typedef VInt32<IntSubtype_UnsignedFull> UInt32;
+ typedef VInt32<IntSubtype_Abstract> AInt32;
+
+ template<class TTargetType>
+ struct LosslessCast
+ {
+#ifdef CVTT_PERMIT_ALIASING
+ template<int TSrcSubtype>
+ static const TTargetType& Cast(const VInt32<TSrcSubtype> &src)
+ {
+ return reinterpret_cast<VInt32<TSubtype>&>(src);
+ }
+
+ template<int TSrcSubtype>
+ static const TTargetType& Cast(const VInt16<TSrcSubtype> &src)
+ {
+ return reinterpret_cast<VInt16<TSubtype>&>(src);
+ }
+#else
+ template<int TSrcSubtype>
+ static TTargetType Cast(const VInt32<TSrcSubtype> &src)
+ {
+ TTargetType result;
+ result.m_values[0] = src.m_values[0];
+ result.m_values[1] = src.m_values[1];
+ return result;
+ }
+
+ template<int TSrcSubtype>
+ static TTargetType Cast(const VInt16<TSrcSubtype> &src)
+ {
+ TTargetType result;
+ result.m_value = src.m_value;
+ return result;
+ }
+#endif
+ };
+
+ struct Int64
+ {
+ __m128i m_values[4];
+ };
+
+ struct Float
+ {
+ __m128 m_values[2];
+
+ inline Float operator+(const Float& other) const
+ {
+ Float result;
+ result.m_values[0] = _mm_add_ps(m_values[0], other.m_values[0]);
+ result.m_values[1] = _mm_add_ps(m_values[1], other.m_values[1]);
+ return result;
+ }
+
+ inline Float operator+(float other) const
+ {
+ Float result;
+ result.m_values[0] = _mm_add_ps(m_values[0], _mm_set1_ps(other));
+ result.m_values[1] = _mm_add_ps(m_values[1], _mm_set1_ps(other));
+ return result;
+ }
+
+ inline Float operator-(const Float& other) const
+ {
+ Float result;
+ result.m_values[0] = _mm_sub_ps(m_values[0], other.m_values[0]);
+ result.m_values[1] = _mm_sub_ps(m_values[1], other.m_values[1]);
+ return result;
+ }
+
+ inline Float operator-() const
+ {
+ Float result;
+ result.m_values[0] = _mm_sub_ps(_mm_setzero_ps(), m_values[0]);
+ result.m_values[1] = _mm_sub_ps(_mm_setzero_ps(), m_values[1]);
+ return result;
+ }
+
+ inline Float operator*(const Float& other) const
+ {
+ Float result;
+ result.m_values[0] = _mm_mul_ps(m_values[0], other.m_values[0]);
+ result.m_values[1] = _mm_mul_ps(m_values[1], other.m_values[1]);
+ return result;
+ }
+
+ inline Float operator*(float other) const
+ {
+ Float result;
+ result.m_values[0] = _mm_mul_ps(m_values[0], _mm_set1_ps(other));
+ result.m_values[1] = _mm_mul_ps(m_values[1], _mm_set1_ps(other));
+ return result;
+ }
+
+ inline Float operator/(const Float& other) const
+ {
+ Float result;
+ result.m_values[0] = _mm_div_ps(m_values[0], other.m_values[0]);
+ result.m_values[1] = _mm_div_ps(m_values[1], other.m_values[1]);
+ return result;
+ }
+
+ inline Float operator/(float other) const
+ {
+ Float result;
+ result.m_values[0] = _mm_div_ps(m_values[0], _mm_set1_ps(other));
+ result.m_values[1] = _mm_div_ps(m_values[1], _mm_set1_ps(other));
+ return result;
+ }
+ };
+
+ struct Int16CompFlag
+ {
+ __m128i m_value;
+
+ inline Int16CompFlag operator&(const Int16CompFlag& other) const
+ {
+ Int16CompFlag result;
+ result.m_value = _mm_and_si128(m_value, other.m_value);
+ return result;
+ }
+
+ inline Int16CompFlag operator|(const Int16CompFlag& other) const
+ {
+ Int16CompFlag result;
+ result.m_value = _mm_or_si128(m_value, other.m_value);
+ return result;
+ }
+ };
+
+ struct FloatCompFlag
+ {
+ __m128 m_values[2];
+ };
+
+ template<int TSubtype>
+ static VInt16<TSubtype> AbstractAdd(const VInt16<TSubtype> &a, const VInt16<TSubtype> &b)
+ {
+ VInt16<TSubtype> result;
+ result.m_value = _mm_add_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ template<int TSubtype>
+ static VInt16<TSubtype> AbstractSubtract(const VInt16<TSubtype> &a, const VInt16<TSubtype> &b)
+ {
+ VInt16<TSubtype> result;
+ result.m_value = _mm_sub_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static Float Select(FloatCompFlag flag, Float a, Float b)
+ {
+ Float result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_or_ps(_mm_and_ps(flag.m_values[i], a.m_values[i]), _mm_andnot_ps(flag.m_values[i], b.m_values[i]));
+ return result;
+ }
+
+ template<int TSubtype>
+ static VInt16<TSubtype> Select(Int16CompFlag flag, const VInt16<TSubtype> &a, const VInt16<TSubtype> &b)
+ {
+ VInt16<TSubtype> result;
+ result.m_value = _mm_or_si128(_mm_and_si128(flag.m_value, a.m_value), _mm_andnot_si128(flag.m_value, b.m_value));
+ return result;
+ }
+
+ template<int TSubtype>
+ static VInt16<TSubtype> SelectOrZero(Int16CompFlag flag, const VInt16<TSubtype> &a)
+ {
+ VInt16<TSubtype> result;
+ result.m_value = _mm_and_si128(flag.m_value, a.m_value);
+ return result;
+ }
+
+ template<int TSubtype>
+ static void ConditionalSet(VInt16<TSubtype>& dest, Int16CompFlag flag, const VInt16<TSubtype> src)
+ {
+ dest.m_value = _mm_or_si128(_mm_andnot_si128(flag.m_value, dest.m_value), _mm_and_si128(flag.m_value, src.m_value));
+ }
+
+ static SInt16 ConditionalNegate(const Int16CompFlag &flag, const SInt16& v)
+ {
+ SInt16 result;
+ result.m_value = _mm_add_epi16(_mm_xor_si128(flag.m_value, v.m_value), _mm_srli_epi16(flag.m_value, 15));
+ return result;
+ }
+
+ template<int TSubtype>
+ static void NotConditionalSet(VInt16<TSubtype>& dest, Int16CompFlag flag, const VInt16<TSubtype> src)
+ {
+ dest.m_value = _mm_or_si128(_mm_and_si128(flag.m_value, dest.m_value), _mm_andnot_si128(flag.m_value, src.m_value));
+ }
+
+ static void ConditionalSet(Float& dest, FloatCompFlag flag, const Float src)
+ {
+ for (int i = 0; i < 2; i++)
+ dest.m_values[i] = _mm_or_ps(_mm_andnot_ps(flag.m_values[i], dest.m_values[i]), _mm_and_ps(flag.m_values[i], src.m_values[i]));
+ }
+
+ static void NotConditionalSet(Float& dest, FloatCompFlag flag, const Float src)
+ {
+ for (int i = 0; i < 2; i++)
+ dest.m_values[i] = _mm_or_ps(_mm_and_ps(flag.m_values[i], dest.m_values[i]), _mm_andnot_ps(flag.m_values[i], src.m_values[i]));
+ }
+
+ static void MakeSafeDenominator(Float& v)
+ {
+ ConditionalSet(v, Equal(v, MakeFloatZero()), MakeFloat(1.0f));
+ }
+
+ static SInt16 TruncateToPrecisionSigned(const SInt16 &v, int precision)
+ {
+ int lostBits = 16 - precision;
+ if (lostBits == 0)
+ return v;
+
+ SInt16 result;
+ result.m_value = _mm_srai_epi16(_mm_slli_epi16(v.m_value, lostBits), lostBits);
+ return result;
+ }
+
+ static UInt16 TruncateToPrecisionUnsigned(const UInt16 &v, int precision)
+ {
+ int lostBits = 16 - precision;
+ if (lostBits == 0)
+ return v;
+
+ UInt16 result;
+ result.m_value = _mm_srli_epi16(_mm_slli_epi16(v.m_value, lostBits), lostBits);
+ return result;
+ }
+
+ static UInt16 Min(const UInt16 &a, const UInt16 &b)
+ {
+ __m128i bitFlip = _mm_set1_epi16(-32768);
+
+ UInt16 result;
+ result.m_value = _mm_xor_si128(_mm_min_epi16(_mm_xor_si128(a.m_value, bitFlip), _mm_xor_si128(b.m_value, bitFlip)), bitFlip);
+ return result;
+ }
+
+ static SInt16 Min(const SInt16 &a, const SInt16 &b)
+ {
+ SInt16 result;
+ result.m_value = _mm_min_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static UInt15 Min(const UInt15 &a, const UInt15 &b)
+ {
+ UInt15 result;
+ result.m_value = _mm_min_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static Float Min(Float a, Float b)
+ {
+ Float result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_min_ps(a.m_values[i], b.m_values[i]);
+ return result;
+ }
+
+ static UInt16 Max(const UInt16 &a, const UInt16 &b)
+ {
+ __m128i bitFlip = _mm_set1_epi16(-32768);
+
+ UInt16 result;
+ result.m_value = _mm_xor_si128(_mm_max_epi16(_mm_xor_si128(a.m_value, bitFlip), _mm_xor_si128(b.m_value, bitFlip)), bitFlip);
+ return result;
+ }
+
+ static SInt16 Max(const SInt16 &a, const SInt16 &b)
+ {
+ SInt16 result;
+ result.m_value = _mm_max_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static UInt15 Max(const UInt15 &a, const UInt15 &b)
+ {
+ UInt15 result;
+ result.m_value = _mm_max_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static Float Max(Float a, Float b)
+ {
+ Float result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_max_ps(a.m_values[i], b.m_values[i]);
+ return result;
+ }
+
+ static Float Clamp(Float v, float min, float max)
+ {
+ Float result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_max_ps(_mm_min_ps(v.m_values[i], _mm_set1_ps(max)), _mm_set1_ps(min));
+ return result;
+ }
+
+ static Float Reciprocal(Float v)
+ {
+ Float result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_rcp_ps(v.m_values[i]);
+ return result;
+ }
+
+ static void ConvertLDRInputs(const PixelBlockU8* inputBlocks, int pxOffset, int channel, UInt15& chOut)
+ {
+ int16_t values[8];
+ for (int i = 0; i < 8; i++)
+ values[i] = inputBlocks[i].m_pixels[pxOffset][channel];
+
+ chOut.m_value = _mm_set_epi16(values[7], values[6], values[5], values[4], values[3], values[2], values[1], values[0]);
+ }
+
+ static void ConvertHDRInputs(const PixelBlockF16* inputBlocks, int pxOffset, int channel, SInt16& chOut)
+ {
+ int16_t values[8];
+ for (int i = 0; i < 8; i++)
+ values[i] = inputBlocks[i].m_pixels[pxOffset][channel];
+
+ chOut.m_value = _mm_set_epi16(values[7], values[6], values[5], values[4], values[3], values[2], values[1], values[0]);
+ }
+
+ static Float MakeFloat(float v)
+ {
+ Float f;
+ f.m_values[0] = f.m_values[1] = _mm_set1_ps(v);
+ return f;
+ }
+
+ static Float MakeFloatZero()
+ {
+ Float f;
+ f.m_values[0] = f.m_values[1] = _mm_setzero_ps();
+ return f;
+ }
+
+ static UInt16 MakeUInt16(uint16_t v)
+ {
+ UInt16 result;
+ result.m_value = _mm_set1_epi16(static_cast<short>(v));
+ return result;
+ }
+
+ static SInt16 MakeSInt16(int16_t v)
+ {
+ SInt16 result;
+ result.m_value = _mm_set1_epi16(static_cast<short>(v));
+ return result;
+ }
+
+ static AInt16 MakeAInt16(int16_t v)
+ {
+ AInt16 result;
+ result.m_value = _mm_set1_epi16(static_cast<short>(v));
+ return result;
+ }
+
+ static UInt15 MakeUInt15(uint16_t v)
+ {
+ UInt15 result;
+ result.m_value = _mm_set1_epi16(static_cast<short>(v));
+ return result;
+ }
+
+ static SInt32 MakeSInt32(int32_t v)
+ {
+ SInt32 result;
+ result.m_values[0] = _mm_set1_epi32(v);
+ result.m_values[1] = _mm_set1_epi32(v);
+ return result;
+ }
+
+ static UInt31 MakeUInt31(uint32_t v)
+ {
+ UInt31 result;
+ result.m_values[0] = _mm_set1_epi32(v);
+ result.m_values[1] = _mm_set1_epi32(v);
+ return result;
+ }
+
+ static uint16_t Extract(const UInt16 &v, int offset)
+ {
+ return reinterpret_cast<const uint16_t*>(&v.m_value)[offset];
+ }
+
+ static int16_t Extract(const SInt16 &v, int offset)
+ {
+ return reinterpret_cast<const int16_t*>(&v.m_value)[offset];
+ }
+
+ static uint16_t Extract(const UInt15 &v, int offset)
+ {
+ return reinterpret_cast<const uint16_t*>(&v.m_value)[offset];
+ }
+
+ static int16_t Extract(const AInt16 &v, int offset)
+ {
+ return reinterpret_cast<const int16_t*>(&v.m_value)[offset];
+ }
+
+ static void PutUInt16(UInt16 &dest, int offset, uint16_t v)
+ {
+ reinterpret_cast<uint16_t*>(&dest)[offset] = v;
+ }
+
+ static void PutUInt15(UInt15 &dest, int offset, uint16_t v)
+ {
+ reinterpret_cast<uint16_t*>(&dest)[offset] = v;
+ }
+
+ static void PutSInt16(SInt16 &dest, int offset, int16_t v)
+ {
+ reinterpret_cast<int16_t*>(&dest)[offset] = v;
+ }
+
+ static float ExtractFloat(const Float& v, int offset)
+ {
+ return reinterpret_cast<const float*>(&v)[offset];
+ }
+
+ static void PutFloat(Float &dest, int offset, float v)
+ {
+ reinterpret_cast<float*>(&dest)[offset] = v;
+ }
+
+ static Int16CompFlag Less(const SInt16 &a, const SInt16 &b)
+ {
+ Int16CompFlag result;
+ result.m_value = _mm_cmplt_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static Int16CompFlag Less(const UInt15 &a, const UInt15 &b)
+ {
+ Int16CompFlag result;
+ result.m_value = _mm_cmplt_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static Int16CompFlag LessOrEqual(const UInt15 &a, const UInt15 &b)
+ {
+ Int16CompFlag result;
+ result.m_value = _mm_cmplt_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static FloatCompFlag Less(const Float &a, const Float &b)
+ {
+ FloatCompFlag result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_cmplt_ps(a.m_values[i], b.m_values[i]);
+ return result;
+ }
+
+ static FloatCompFlag LessOrEqual(Float a, Float b)
+ {
+ FloatCompFlag result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_cmple_ps(a.m_values[i], b.m_values[i]);
+ return result;
+ }
+
+ template<int TSubtype>
+ static Int16CompFlag Equal(const VInt16<TSubtype> &a, const VInt16<TSubtype> &b)
+ {
+ Int16CompFlag result;
+ result.m_value = _mm_cmpeq_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static FloatCompFlag Equal(Float a, Float b)
+ {
+ FloatCompFlag result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_cmpeq_ps(a.m_values[i], b.m_values[i]);
+ return result;
+ }
+
+ static Float ToFloat(const UInt16 &v)
+ {
+ Float result;
+ result.m_values[0] = _mm_cvtepi32_ps(_mm_unpacklo_epi16(v.m_value, _mm_setzero_si128()));
+ result.m_values[1] = _mm_cvtepi32_ps(_mm_unpackhi_epi16(v.m_value, _mm_setzero_si128()));
+ return result;
+ }
+
+ static UInt31 ToUInt31(const UInt16 &v)
+ {
+ UInt31 result;
+ result.m_values[0] = _mm_unpacklo_epi16(v.m_value, _mm_setzero_si128());
+ result.m_values[1] = _mm_unpackhi_epi16(v.m_value, _mm_setzero_si128());
+ return result;
+ }
+
+ static SInt32 ToInt32(const UInt16 &v)
+ {
+ SInt32 result;
+ result.m_values[0] = _mm_unpacklo_epi16(v.m_value, _mm_setzero_si128());
+ result.m_values[1] = _mm_unpackhi_epi16(v.m_value, _mm_setzero_si128());
+ return result;
+ }
+
+ static SInt32 ToInt32(const SInt16 &v)
+ {
+ SInt32 result;
+ result.m_values[0] = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), v.m_value), 16);
+ result.m_values[1] = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), v.m_value), 16);
+ return result;
+ }
+
+ static Float ToFloat(const SInt16 &v)
+ {
+ Float result;
+ result.m_values[0] = _mm_cvtepi32_ps(_mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), v.m_value), 16));
+ result.m_values[1] = _mm_cvtepi32_ps(_mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), v.m_value), 16));
+ return result;
+ }
+
+ static Float ToFloat(const UInt15 &v)
+ {
+ Float result;
+ result.m_values[0] = _mm_cvtepi32_ps(_mm_unpacklo_epi16(v.m_value, _mm_setzero_si128()));
+ result.m_values[1] = _mm_cvtepi32_ps(_mm_unpackhi_epi16(v.m_value, _mm_setzero_si128()));
+ return result;
+ }
+
+ static Float ToFloat(const UInt31 &v)
+ {
+ Float result;
+ result.m_values[0] = _mm_cvtepi32_ps(v.m_values[0]);
+ result.m_values[1] = _mm_cvtepi32_ps(v.m_values[1]);
+ return result;
+ }
+
+ static Int16CompFlag FloatFlagToInt16(const FloatCompFlag &v)
+ {
+ __m128i lo = _mm_castps_si128(v.m_values[0]);
+ __m128i hi = _mm_castps_si128(v.m_values[1]);
+
+ Int16CompFlag result;
+ result.m_value = _mm_packs_epi32(lo, hi);
+ return result;
+ }
+
+ static FloatCompFlag Int16FlagToFloat(const Int16CompFlag &v)
+ {
+ __m128i lo = _mm_unpacklo_epi16(v.m_value, v.m_value);
+ __m128i hi = _mm_unpackhi_epi16(v.m_value, v.m_value);
+
+ FloatCompFlag result;
+ result.m_values[0] = _mm_castsi128_ps(lo);
+ result.m_values[1] = _mm_castsi128_ps(hi);
+ return result;
+ }
+
+ static Int16CompFlag MakeBoolInt16(bool b)
+ {
+ Int16CompFlag result;
+ if (b)
+ result.m_value = _mm_set1_epi16(-1);
+ else
+ result.m_value = _mm_setzero_si128();
+ return result;
+ }
+
+ static FloatCompFlag MakeBoolFloat(bool b)
+ {
+ FloatCompFlag result;
+ if (b)
+ result.m_values[0] = result.m_values[1] = _mm_castsi128_ps(_mm_set1_epi32(-1));
+ else
+ result.m_values[0] = result.m_values[1] = _mm_setzero_ps();
+ return result;
+ }
+
+ static Int16CompFlag AndNot(const Int16CompFlag &a, const Int16CompFlag &b)
+ {
+ Int16CompFlag result;
+ result.m_value = _mm_andnot_si128(b.m_value, a.m_value);
+ return result;
+ }
+
+ static UInt16 RoundAndConvertToU16(Float v, const void* /*roundingMode*/)
+ {
+ __m128i lo = _mm_cvtps_epi32(_mm_add_ps(v.m_values[0], _mm_set1_ps(-32768)));
+ __m128i hi = _mm_cvtps_epi32(_mm_add_ps(v.m_values[1], _mm_set1_ps(-32768)));
+
+ __m128i packed = _mm_packs_epi32(lo, hi);
+
+ UInt16 result;
+ result.m_value = _mm_xor_si128(packed, _mm_set1_epi16(-32768));
+ return result;
+ }
+
+ static UInt15 RoundAndConvertToU15(Float v, const void* /*roundingMode*/)
+ {
+ __m128i lo = _mm_cvtps_epi32(v.m_values[0]);
+ __m128i hi = _mm_cvtps_epi32(v.m_values[1]);
+
+ __m128i packed = _mm_packs_epi32(lo, hi);
+
+ UInt15 result;
+ result.m_value = _mm_packs_epi32(lo, hi);
+ return result;
+ }
+
+ static SInt16 RoundAndConvertToS16(Float v, const void* /*roundingMode*/)
+ {
+ __m128i lo = _mm_cvtps_epi32(v.m_values[0]);
+ __m128i hi = _mm_cvtps_epi32(v.m_values[1]);
+
+ __m128i packed = _mm_packs_epi32(lo, hi);
+
+ SInt16 result;
+ result.m_value = _mm_packs_epi32(lo, hi);
+ return result;
+ }
+
+ static Float Sqrt(Float f)
+ {
+ Float result;
+ for (int i = 0; i < 2; i++)
+ result.m_values[i] = _mm_sqrt_ps(f.m_values[i]);
+ return result;
+ }
+
+ static UInt16 Abs(const SInt16 &a)
+ {
+ __m128i signBitsXor = _mm_srai_epi16(a.m_value, 15);
+ __m128i signBitsAdd = _mm_srli_epi16(a.m_value, 15);
+
+ UInt16 result;
+ result.m_value = _mm_add_epi16(_mm_xor_si128(a.m_value, signBitsXor), signBitsAdd);
+ return result;
+ }
+
+ static Float Abs(const Float& a)
+ {
+ __m128 invMask = _mm_set1_ps(-0.0f);
+
+ Float result;
+ result.m_values[0] = _mm_andnot_ps(invMask, a.m_values[0]);
+ result.m_values[1] = _mm_andnot_ps(invMask, a.m_values[1]);
+ return result;
+ }
+
+ static UInt16 SqDiffUInt8(const UInt15 &a, const UInt15 &b)
+ {
+ __m128i diff = _mm_sub_epi16(a.m_value, b.m_value);
+
+ UInt16 result;
+ result.m_value = _mm_mullo_epi16(diff, diff);
+ return result;
+ }
+
+ static Float SqDiffSInt16(const SInt16 &a, const SInt16 &b)
+ {
+ __m128i diffU = _mm_sub_epi16(_mm_max_epi16(a.m_value, b.m_value), _mm_min_epi16(a.m_value, b.m_value));
+
+ __m128i mulHi = _mm_mulhi_epu16(diffU, diffU);
+ __m128i mulLo = _mm_mullo_epi16(diffU, diffU);
+ __m128i sqDiffHi = _mm_unpackhi_epi16(mulLo, mulHi);
+ __m128i sqDiffLo = _mm_unpacklo_epi16(mulLo, mulHi);
+
+ Float result;
+ result.m_values[0] = _mm_cvtepi32_ps(sqDiffLo);
+ result.m_values[1] = _mm_cvtepi32_ps(sqDiffHi);
+
+ return result;
+ }
+
+ static Float TwosCLHalfToFloat(const SInt16 &v)
+ {
+ __m128i absV = _mm_add_epi16(_mm_xor_si128(v.m_value, _mm_srai_epi16(v.m_value, 15)), _mm_srli_epi16(v.m_value, 15));
+
+ __m128i signBits = _mm_and_si128(v.m_value, _mm_set1_epi16(-32768));
+ __m128i mantissa = _mm_and_si128(v.m_value, _mm_set1_epi16(0x03ff));
+ __m128i exponent = _mm_and_si128(v.m_value, _mm_set1_epi16(0x7c00));
+
+ __m128i isDenormal = _mm_cmpeq_epi16(exponent, _mm_setzero_si128());
+
+ // Convert exponent to high-bits
+ exponent = _mm_add_epi16(_mm_srli_epi16(exponent, 3), _mm_set1_epi16(14336));
+
+ __m128i denormalCorrectionHigh = _mm_and_si128(isDenormal, _mm_or_si128(signBits, _mm_set1_epi16(14336)));
+
+ __m128i highBits = _mm_or_si128(signBits, _mm_or_si128(exponent, _mm_srli_epi16(mantissa, 3)));
+ __m128i lowBits = _mm_slli_epi16(mantissa, 13);
+
+ __m128i flow = _mm_unpacklo_epi16(lowBits, highBits);
+ __m128i fhigh = _mm_unpackhi_epi16(lowBits, highBits);
+
+ __m128i correctionLow = _mm_unpacklo_epi16(_mm_setzero_si128(), denormalCorrectionHigh);
+ __m128i correctionHigh = _mm_unpackhi_epi16(_mm_setzero_si128(), denormalCorrectionHigh);
+
+ Float result;
+ result.m_values[0] = _mm_sub_ps(_mm_castsi128_ps(flow), _mm_castsi128_ps(correctionLow));
+ result.m_values[1] = _mm_sub_ps(_mm_castsi128_ps(fhigh), _mm_castsi128_ps(correctionHigh));
+
+ return result;
+ }
+
+ static Float SqDiff2CLFloat(const SInt16 &a, const Float &b)
+ {
+ Float fa = TwosCLHalfToFloat(a);
+
+ Float diff = fa - b;
+ return diff * diff;
+ }
+
+ static Float SqDiff2CL(const SInt16 &a, const SInt16 &b)
+ {
+ Float fa = TwosCLHalfToFloat(a);
+ Float fb = TwosCLHalfToFloat(b);
+
+ Float diff = fa - fb;
+ return diff * diff;
+ }
+
+ static Float SqDiff2CLFloat(const SInt16 &a, float aWeight, const Float &b)
+ {
+ Float fa = TwosCLHalfToFloat(a) * aWeight;
+
+ Float diff = fa - b;
+ return diff * diff;
+ }
+
+ static UInt16 RightShift(const UInt16 &v, int bits)
+ {
+ UInt16 result;
+ result.m_value = _mm_srli_epi16(v.m_value, bits);
+ return result;
+ }
+
+ static UInt31 RightShift(const UInt31 &v, int bits)
+ {
+ UInt31 result;
+ result.m_values[0] = _mm_srli_epi32(v.m_values[0], bits);
+ result.m_values[1] = _mm_srli_epi32(v.m_values[1], bits);
+ return result;
+ }
+
+ static SInt16 RightShift(const SInt16 &v, int bits)
+ {
+ SInt16 result;
+ result.m_value = _mm_srai_epi16(v.m_value, bits);
+ return result;
+ }
+
+ static UInt15 RightShift(const UInt15 &v, int bits)
+ {
+ UInt15 result;
+ result.m_value = _mm_srli_epi16(v.m_value, bits);
+ return result;
+ }
+
+ static SInt32 RightShift(const SInt32 &v, int bits)
+ {
+ SInt32 result;
+ result.m_values[0] = _mm_srai_epi32(v.m_values[0], bits);
+ result.m_values[1] = _mm_srai_epi32(v.m_values[1], bits);
+ return result;
+ }
+
+ static SInt16 ToSInt16(const SInt32 &v)
+ {
+ SInt16 result;
+ result.m_value = _mm_packs_epi32(v.m_values[0], v.m_values[1]);
+ return result;
+ }
+
+ static UInt16 ToUInt16(const UInt32 &v)
+ {
+ __m128i low = _mm_srai_epi32(_mm_slli_epi32(v.m_values[0], 16), 16);
+ __m128i high = _mm_srai_epi32(_mm_slli_epi32(v.m_values[1], 16), 16);
+
+ UInt16 result;
+ result.m_value = _mm_packs_epi32(low, high);
+ return result;
+ }
+
+ static UInt16 ToUInt16(const UInt31 &v)
+ {
+ __m128i low = _mm_srai_epi32(_mm_slli_epi32(v.m_values[0], 16), 16);
+ __m128i high = _mm_srai_epi32(_mm_slli_epi32(v.m_values[1], 16), 16);
+
+ UInt16 result;
+ result.m_value = _mm_packs_epi32(low, high);
+ return result;
+ }
+
+ static UInt15 ToUInt15(const UInt31 &v)
+ {
+ UInt15 result;
+ result.m_value = _mm_packs_epi32(v.m_values[0], v.m_values[1]);
+ return result;
+ }
+
+ static SInt32 XMultiply(const SInt16 &a, const SInt16 &b)
+ {
+ __m128i high = _mm_mulhi_epi16(a.m_value, b.m_value);
+ __m128i low = _mm_mullo_epi16(a.m_value, b.m_value);
+
+ SInt32 result;
+ result.m_values[0] = _mm_unpacklo_epi16(low, high);
+ result.m_values[1] = _mm_unpackhi_epi16(low, high);
+ return result;
+ }
+
+ static SInt32 XMultiply(const SInt16 &a, const UInt15 &b)
+ {
+ __m128i high = _mm_mulhi_epi16(a.m_value, b.m_value);
+ __m128i low = _mm_mullo_epi16(a.m_value, b.m_value);
+
+ SInt32 result;
+ result.m_values[0] = _mm_unpacklo_epi16(low, high);
+ result.m_values[1] = _mm_unpackhi_epi16(low, high);
+ return result;
+ }
+
+ static SInt32 XMultiply(const UInt15 &a, const SInt16 &b)
+ {
+ return XMultiply(b, a);
+ }
+
+ static UInt32 XMultiply(const UInt16 &a, const UInt16 &b)
+ {
+ __m128i high = _mm_mulhi_epu16(a.m_value, b.m_value);
+ __m128i low = _mm_mullo_epi16(a.m_value, b.m_value);
+
+ UInt32 result;
+ result.m_values[0] = _mm_unpacklo_epi16(low, high);
+ result.m_values[1] = _mm_unpackhi_epi16(low, high);
+ return result;
+ }
+
+ static UInt16 CompactMultiply(const UInt16 &a, const UInt15 &b)
+ {
+ UInt16 result;
+ result.m_value = _mm_mullo_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static UInt16 CompactMultiply(const UInt15 &a, const UInt15 &b)
+ {
+ UInt16 result;
+ result.m_value = _mm_mullo_epi16(a.m_value, b.m_value);
+ return result;
+ }
+
+ static UInt31 XMultiply(const UInt15 &a, const UInt15 &b)
+ {
+ __m128i high = _mm_mulhi_epu16(a.m_value, b.m_value);
+ __m128i low = _mm_mullo_epi16(a.m_value, b.m_value);
+
+ UInt31 result;
+ result.m_values[0] = _mm_unpacklo_epi16(low, high);
+ result.m_values[1] = _mm_unpackhi_epi16(low, high);
+ return result;
+ }
+
+ static UInt31 XMultiply(const UInt16 &a, const UInt15 &b)
+ {
+ __m128i high = _mm_mulhi_epu16(a.m_value, b.m_value);
+ __m128i low = _mm_mullo_epi16(a.m_value, b.m_value);
+
+ UInt31 result;
+ result.m_values[0] = _mm_unpacklo_epi16(low, high);
+ result.m_values[1] = _mm_unpackhi_epi16(low, high);
+ return result;
+ }
+
+ static UInt31 XMultiply(const UInt15 &a, const UInt16 &b)
+ {
+ return XMultiply(b, a);
+ }
+
+ static bool AnySet(Int16CompFlag v)
+ {
+ return _mm_movemask_epi8(v.m_value) != 0;
+ }
+
+ static bool AllSet(Int16CompFlag v)
+ {
+ return _mm_movemask_epi8(v.m_value) == 0xffff;
+ }
+
+ static bool AnySet(FloatCompFlag v)
+ {
+ return _mm_movemask_ps(v.m_values[0]) != 0 || _mm_movemask_ps(v.m_values[1]) != 0;
+ }
+
+ static bool AllSet(FloatCompFlag v)
+ {
+ return _mm_movemask_ps(v.m_values[0]) == 0xf && _mm_movemask_ps(v.m_values[1]) == 0xf;
+ }
+ };
+
+#else
+ // Scalar version
+ struct ParallelMath
+ {
+ struct RoundTowardZeroForScope
+ {
+ };
+
+ struct RoundTowardNearestForScope
+ {
+ };
+
+ struct RoundUpForScope
+ {
+ };
+
+ struct RoundDownForScope
+ {
+ };
+
+ static const int ParallelSize = 1;
+
+ enum Int16Subtype
+ {
+ IntSubtype_Signed,
+ IntSubtype_UnsignedFull,
+ IntSubtype_UnsignedTruncated,
+ IntSubtype_Abstract,
+ };
+
+ typedef int32_t SInt16;
+ typedef int32_t UInt15;
+ typedef int32_t UInt16;
+ typedef int32_t AInt16;
+
+ typedef int32_t SInt32;
+ typedef int32_t UInt31;
+ typedef int32_t UInt32;
+ typedef int32_t AInt32;
+
+ typedef int32_t ScalarUInt16;
+ typedef int32_t ScalarSInt16;
+
+ typedef float Float;
+
+ template<class TTargetType>
+ struct LosslessCast
+ {
+ static const int32_t& Cast(const int32_t &src)
+ {
+ return src;
+ }
+ };
+
+ typedef bool Int16CompFlag;
+ typedef bool FloatCompFlag;
+
+ static int32_t AbstractAdd(const int32_t &a, const int32_t &b)
+ {
+ return a + b;
+ }
+
+ static int32_t AbstractSubtract(const int32_t &a, const int32_t &b)
+ {
+ return a - b;
+ }
+
+ static float Select(bool flag, float a, float b)
+ {
+ return flag ? a : b;
+ }
+
+ static int32_t Select(bool flag, int32_t a, int32_t b)
+ {
+ return flag ? a : b;
+ }
+
+ static int32_t SelectOrZero(bool flag, int32_t a)
+ {
+ return flag ? a : 0;
+ }
+
+ static void ConditionalSet(int32_t& dest, bool flag, int32_t src)
+ {
+ if (flag)
+ dest = src;
+ }
+
+ static int32_t ConditionalNegate(bool flag, int32_t v)
+ {
+ return (flag) ? -v : v;
+ }
+
+ static void NotConditionalSet(int32_t& dest, bool flag, int32_t src)
+ {
+ if (!flag)
+ dest = src;
+ }
+
+ static void ConditionalSet(float& dest, bool flag, float src)
+ {
+ if (flag)
+ dest = src;
+ }
+
+ static void NotConditionalSet(float& dest, bool flag, float src)
+ {
+ if (!flag)
+ dest = src;
+ }
+
+ static void MakeSafeDenominator(float& v)
+ {
+ if (v == 0.0f)
+ v = 1.0f;
+ }
+
+ static int32_t SignedRightShift(int32_t v, int bits)
+ {
+ return v >> bits;
+ }
+
+ static int32_t TruncateToPrecisionSigned(int32_t v, int precision)
+ {
+ v = (v << (32 - precision)) & 0xffffffff;
+ return SignedRightShift(v, 32 - precision);
+ }
+
+ static int32_t TruncateToPrecisionUnsigned(int32_t v, int precision)
+ {
+ return v & ((1 << precision) - 1);
+ }
+
+ static int32_t Min(int32_t a, int32_t b)
+ {
+ if (a < b)
+ return a;
+ return b;
+ }
+
+ static float Min(float a, float b)
+ {
+ if (a < b)
+ return a;
+ return b;
+ }
+
+ static int32_t Max(int32_t a, int32_t b)
+ {
+ if (a > b)
+ return a;
+ return b;
+ }
+
+ static float Max(float a, float b)
+ {
+ if (a > b)
+ return a;
+ return b;
+ }
+
+ static float Abs(float a)
+ {
+ return fabsf(a);
+ }
+
+ static int32_t Abs(int32_t a)
+ {
+ if (a < 0)
+ return -a;
+ return a;
+ }
+
+ static float Clamp(float v, float min, float max)
+ {
+ if (v < min)
+ return min;
+ if (v > max)
+ return max;
+ return v;
+ }
+
+ static float Reciprocal(float v)
+ {
+ return 1.0f / v;
+ }
+
+ static void ConvertLDRInputs(const PixelBlockU8* inputBlocks, int pxOffset, int channel, int32_t& chOut)
+ {
+ chOut = inputBlocks[0].m_pixels[pxOffset][channel];
+ }
+
+ static void ConvertHDRInputs(const PixelBlockF16* inputBlocks, int pxOffset, int channel, int32_t& chOut)
+ {
+ chOut = inputBlocks[0].m_pixels[pxOffset][channel];
+ }
+
+ static float MakeFloat(float v)
+ {
+ return v;
+ }
+
+ static float MakeFloatZero()
+ {
+ return 0.0f;
+ }
+
+ static int32_t MakeUInt16(uint16_t v)
+ {
+ return v;
+ }
+
+ static int32_t MakeSInt16(int16_t v)
+ {
+ return v;
+ }
+
+ static int32_t MakeAInt16(int16_t v)
+ {
+ return v;
+ }
+
+ static int32_t MakeUInt15(uint16_t v)
+ {
+ return v;
+ }
+
+ static int32_t MakeSInt32(int32_t v)
+ {
+ return v;
+ }
+
+ static int32_t MakeUInt31(int32_t v)
+ {
+ return v;
+ }
+
+ static int32_t Extract(int32_t v, int offset)
+ {
+ UNREFERENCED_PARAMETER(offset);
+ return v;
+ }
+
+ static void PutUInt16(int32_t &dest, int offset, ParallelMath::ScalarUInt16 v)
+ {
+ UNREFERENCED_PARAMETER(offset);
+ dest = v;
+ }
+
+ static void PutUInt15(int32_t &dest, int offset, ParallelMath::ScalarUInt16 v)
+ {
+ UNREFERENCED_PARAMETER(offset);
+ dest = v;
+ }
+
+ static void PutSInt16(int32_t &dest, int offset, ParallelMath::ScalarSInt16 v)
+ {
+ UNREFERENCED_PARAMETER(offset);
+ dest = v;
+ }
+
+ static float ExtractFloat(float v, int offset)
+ {
+ UNREFERENCED_PARAMETER(offset);
+ return v;
+ }
+
+ static void PutFloat(float &dest, int offset, float v)
+ {
+ UNREFERENCED_PARAMETER(offset);
+ dest = v;
+ }
+
+ static bool Less(int32_t a, int32_t b)
+ {
+ return a < b;
+ }
+
+ static bool Less(float a, float b)
+ {
+ return a < b;
+ }
+
+ static bool LessOrEqual(int32_t a, int32_t b)
+ {
+ return a < b;
+ }
+
+ static bool LessOrEqual(float a, float b)
+ {
+ return a < b;
+ }
+
+ static bool Equal(int32_t a, int32_t b)
+ {
+ return a == b;
+ }
+
+ static bool Equal(float a, float b)
+ {
+ return a == b;
+ }
+
+ static float ToFloat(int32_t v)
+ {
+ return static_cast<float>(v);
+ }
+
+ static int32_t ToUInt31(int32_t v)
+ {
+ return v;
+ }
+
+ static int32_t ToInt32(int32_t v)
+ {
+ return v;
+ }
+
+ static bool FloatFlagToInt16(bool v)
+ {
+ return v;
+ }
+
+ static bool Int16FlagToFloat(bool v)
+ {
+ return v;
+ }
+
+ static bool AndNot(bool a, bool b)
+ {
+ return a && !b;
+ }
+
+ static int32_t RoundAndConvertToInt(float v, const ParallelMath::RoundTowardZeroForScope *rtz)
+ {
+ UNREFERENCED_PARAMETER(rtz);
+ return static_cast<int>(v);
+ }
+
+ static int32_t RoundAndConvertToInt(float v, const ParallelMath::RoundUpForScope *ru)
+ {
+ UNREFERENCED_PARAMETER(ru);
+ return static_cast<int>(ceilf(v));
+ }
+
+ static int32_t RoundAndConvertToInt(float v, const ParallelMath::RoundDownForScope *rd)
+ {
+ UNREFERENCED_PARAMETER(rd);
+ return static_cast<int>(floorf(v));
+ }
+
+ static int32_t RoundAndConvertToInt(float v, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ UNREFERENCED_PARAMETER(rtn);
+ return static_cast<int>(floorf(v + 0.5f));
+ }
+
+ template<class TRoundMode>
+ static int32_t RoundAndConvertToU16(float v, const TRoundMode *roundingMode)
+ {
+ return RoundAndConvertToInt(v, roundingMode);
+ }
+
+ template<class TRoundMode>
+ static int32_t RoundAndConvertToU15(float v, const TRoundMode *roundingMode)
+ {
+ return RoundAndConvertToInt(v, roundingMode);
+ }
+
+ template<class TRoundMode>
+ static int32_t RoundAndConvertToS16(float v, const TRoundMode *roundingMode)
+ {
+ return RoundAndConvertToInt(v, roundingMode);
+ }
+
+ static float Sqrt(float f)
+ {
+ return sqrtf(f);
+ }
+
+ static int32_t SqDiffUInt8(int32_t a, int32_t b)
+ {
+ int32_t delta = a - b;
+ return delta * delta;
+ }
+
+ static int32_t SqDiffInt16(int32_t a, int32_t b)
+ {
+ int32_t delta = a - b;
+ return delta * delta;
+ }
+
+ static int32_t SqDiffSInt16(int32_t a, int32_t b)
+ {
+ int32_t delta = a - b;
+ return delta * delta;
+ }
+
+ static float TwosCLHalfToFloat(int32_t v)
+ {
+ int32_t absV = (v < 0) ? -v : v;
+
+ int32_t signBits = (absV & -32768);
+ int32_t mantissa = (absV & 0x03ff);
+ int32_t exponent = (absV & 0x7c00);
+
+ bool isDenormal = (exponent == 0);
+
+ // Convert exponent to high-bits
+ exponent = (exponent >> 3) + 14336;
+
+ int32_t denormalCorrection = (isDenormal ? (signBits | 14336) : 0) << 16;
+
+ int32_t fBits = ((exponent | signBits) << 16) | (mantissa << 13);
+
+ float f, correction;
+ memcpy(&f, &fBits, 4);
+ memcpy(&correction, &denormalCorrection, 4);
+
+ return f - correction;
+ }
+
+ static Float SqDiff2CLFloat(const SInt16 &a, const Float &b)
+ {
+ Float fa = TwosCLHalfToFloat(a);
+
+ Float diff = fa - b;
+ return diff * diff;
+ }
+
+ static Float SqDiff2CL(const SInt16 &a, const SInt16 &b)
+ {
+ Float fa = TwosCLHalfToFloat(a);
+ Float fb = TwosCLHalfToFloat(b);
+
+ Float diff = fa - fb;
+ return diff * diff;
+ }
+
+ static Float SqDiff2CLFloat(const SInt16 &a, float aWeight, const Float &b)
+ {
+ Float fa = TwosCLHalfToFloat(a) * aWeight;
+
+ Float diff = fa - b;
+ return diff * diff;
+ }
+
+ static int32_t RightShift(int32_t v, int bits)
+ {
+ return SignedRightShift(v, bits);
+ }
+
+ static int32_t ToSInt16(int32_t v)
+ {
+ return v;
+ }
+
+ static int32_t ToUInt16(int32_t v)
+ {
+ return v;
+ }
+
+ static int32_t ToUInt15(int32_t v)
+ {
+ return v;
+ }
+
+ static int32_t XMultiply(int32_t a, int32_t b)
+ {
+ return a * b;
+ }
+
+ static int32_t CompactMultiply(int32_t a, int32_t b)
+ {
+ return a * b;
+ }
+
+ static bool AnySet(bool v)
+ {
+ return v;
+ }
+
+ static bool AllSet(bool v)
+ {
+ return v;
+ }
+ };
+
+#endif
+
+ namespace Internal
+ {
+ namespace BC7Data
+ {
+ enum AlphaMode
+ {
+ AlphaMode_Combined,
+ AlphaMode_Separate,
+ AlphaMode_None,
+ };
+
+ enum PBitMode
+ {
+ PBitMode_PerEndpoint,
+ PBitMode_PerSubset,
+ PBitMode_None
+ };
+
+ struct BC7ModeInfo
+ {
+ PBitMode m_pBitMode;
+ AlphaMode m_alphaMode;
+ int m_rgbBits;
+ int m_alphaBits;
+ int m_partitionBits;
+ int m_numSubsets;
+ int m_indexBits;
+ int m_alphaIndexBits;
+ bool m_hasIndexSelector;
+ };
+
+ BC7ModeInfo g_modes[] =
+ {
+ { PBitMode_PerEndpoint, AlphaMode_None, 4, 0, 4, 3, 3, 0, false }, // 0
+ { PBitMode_PerSubset, AlphaMode_None, 6, 0, 6, 2, 3, 0, false }, // 1
+ { PBitMode_None, AlphaMode_None, 5, 0, 6, 3, 2, 0, false }, // 2
+ { PBitMode_PerEndpoint, AlphaMode_None, 7, 0, 6, 2, 2, 0, false }, // 3 (Mode reference has an error, P-bit is really per-endpoint)
+
+ { PBitMode_None, AlphaMode_Separate, 5, 6, 0, 1, 2, 3, true }, // 4
+ { PBitMode_None, AlphaMode_Separate, 7, 8, 0, 1, 2, 2, false }, // 5
+ { PBitMode_PerEndpoint, AlphaMode_Combined, 7, 7, 0, 1, 4, 0, false }, // 6
+ { PBitMode_PerEndpoint, AlphaMode_Combined, 5, 5, 6, 2, 2, 0, false } // 7
+ };
+
+ const int g_weight2[] = { 0, 21, 43, 64 };
+ const int g_weight3[] = { 0, 9, 18, 27, 37, 46, 55, 64 };
+ const int g_weight4[] = { 0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64 };
+
+ const int *g_weightTables[] =
+ {
+ NULL,
+ NULL,
+ g_weight2,
+ g_weight3,
+ g_weight4
+ };
+
+ struct BC6HModeInfo
+ {
+ uint16_t m_modeID;
+ bool m_partitioned;
+ bool m_transformed;
+ int m_aPrec;
+ int m_bPrec[3];
+ };
+
+ // [partitioned][precision]
+ bool g_hdrModesExistForPrecision[2][17] =
+ {
+ //0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ { false, false, false, false, false, false, false, false, false, false, true, true, true, false, false, false, true },
+ { false, false, false, false, false, false, true, true, true, true, true, true, false, false, false, false, false },
+ };
+
+ BC6HModeInfo g_hdrModes[] =
+ {
+ { 0x00, true, true, 10,{ 5, 5, 5 } },
+ { 0x01, true, true, 7,{ 6, 6, 6 } },
+ { 0x02, true, true, 11,{ 5, 4, 4 } },
+ { 0x06, true, true, 11,{ 4, 5, 4 } },
+ { 0x0a, true, true, 11,{ 4, 4, 5 } },
+ { 0x0e, true, true, 9,{ 5, 5, 5 } },
+ { 0x12, true, true, 8,{ 6, 5, 5 } },
+ { 0x16, true, true, 8,{ 5, 6, 5 } },
+ { 0x1a, true, true, 8,{ 5, 5, 6 } },
+ { 0x1e, true, false, 6,{ 6, 6, 6 } },
+ { 0x03, false, false, 10,{ 10, 10, 10 } },
+ { 0x07, false, true, 11,{ 9, 9, 9 } },
+ { 0x0b, false, true, 12,{ 8, 8, 8 } },
+ { 0x0f, false, true, 16,{ 4, 4, 4 } },
+ };
+
+ const int g_maxHDRPrecision = 16;
+
+ static const size_t g_numHDRModes = sizeof(g_hdrModes) / sizeof(g_hdrModes[0]);
+
+ static uint16_t g_partitionMap[64] =
+ {
+ 0xCCCC, 0x8888, 0xEEEE, 0xECC8,
+ 0xC880, 0xFEEC, 0xFEC8, 0xEC80,
+ 0xC800, 0xFFEC, 0xFE80, 0xE800,
+ 0xFFE8, 0xFF00, 0xFFF0, 0xF000,
+ 0xF710, 0x008E, 0x7100, 0x08CE,
+ 0x008C, 0x7310, 0x3100, 0x8CCE,
+ 0x088C, 0x3110, 0x6666, 0x366C,
+ 0x17E8, 0x0FF0, 0x718E, 0x399C,
+ 0xaaaa, 0xf0f0, 0x5a5a, 0x33cc,
+ 0x3c3c, 0x55aa, 0x9696, 0xa55a,
+ 0x73ce, 0x13c8, 0x324c, 0x3bdc,
+ 0x6996, 0xc33c, 0x9966, 0x660,
+ 0x272, 0x4e4, 0x4e40, 0x2720,
+ 0xc936, 0x936c, 0x39c6, 0x639c,
+ 0x9336, 0x9cc6, 0x817e, 0xe718,
+ 0xccf0, 0xfcc, 0x7744, 0xee22,
+ };
+
+ static uint32_t g_partitionMap2[64] =
+ {
+ 0xaa685050, 0x6a5a5040, 0x5a5a4200, 0x5450a0a8,
+ 0xa5a50000, 0xa0a05050, 0x5555a0a0, 0x5a5a5050,
+ 0xaa550000, 0xaa555500, 0xaaaa5500, 0x90909090,
+ 0x94949494, 0xa4a4a4a4, 0xa9a59450, 0x2a0a4250,
+ 0xa5945040, 0x0a425054, 0xa5a5a500, 0x55a0a0a0,
+ 0xa8a85454, 0x6a6a4040, 0xa4a45000, 0x1a1a0500,
+ 0x0050a4a4, 0xaaa59090, 0x14696914, 0x69691400,
+ 0xa08585a0, 0xaa821414, 0x50a4a450, 0x6a5a0200,
+ 0xa9a58000, 0x5090a0a8, 0xa8a09050, 0x24242424,
+ 0x00aa5500, 0x24924924, 0x24499224, 0x50a50a50,
+ 0x500aa550, 0xaaaa4444, 0x66660000, 0xa5a0a5a0,
+ 0x50a050a0, 0x69286928, 0x44aaaa44, 0x66666600,
+ 0xaa444444, 0x54a854a8, 0x95809580, 0x96969600,
+ 0xa85454a8, 0x80959580, 0xaa141414, 0x96960000,
+ 0xaaaa1414, 0xa05050a0, 0xa0a5a5a0, 0x96000000,
+ 0x40804080, 0xa9a8a9a8, 0xaaaaaa44, 0x2a4a5254,
+ };
+
+ static int g_fixupIndexes2[64] =
+ {
+ 15,15,15,15,
+ 15,15,15,15,
+ 15,15,15,15,
+ 15,15,15,15,
+ 15, 2, 8, 2,
+ 2, 8, 8,15,
+ 2, 8, 2, 2,
+ 8, 8, 2, 2,
+
+ 15,15, 6, 8,
+ 2, 8,15,15,
+ 2, 8, 2, 2,
+ 2,15,15, 6,
+ 6, 2, 6, 8,
+ 15,15, 2, 2,
+ 15,15,15,15,
+ 15, 2, 2,15,
+ };
+
+ static int g_fixupIndexes3[64][2] =
+ {
+ { 3,15 },{ 3, 8 },{ 15, 8 },{ 15, 3 },
+ { 8,15 },{ 3,15 },{ 15, 3 },{ 15, 8 },
+ { 8,15 },{ 8,15 },{ 6,15 },{ 6,15 },
+ { 6,15 },{ 5,15 },{ 3,15 },{ 3, 8 },
+ { 3,15 },{ 3, 8 },{ 8,15 },{ 15, 3 },
+ { 3,15 },{ 3, 8 },{ 6,15 },{ 10, 8 },
+ { 5, 3 },{ 8,15 },{ 8, 6 },{ 6,10 },
+ { 8,15 },{ 5,15 },{ 15,10 },{ 15, 8 },
+
+ { 8,15 },{ 15, 3 },{ 3,15 },{ 5,10 },
+ { 6,10 },{ 10, 8 },{ 8, 9 },{ 15,10 },
+ { 15, 6 },{ 3,15 },{ 15, 8 },{ 5,15 },
+ { 15, 3 },{ 15, 6 },{ 15, 6 },{ 15, 8 },
+ { 3,15 },{ 15, 3 },{ 5,15 },{ 5,15 },
+ { 5,15 },{ 8,15 },{ 5,15 },{ 10,15 },
+ { 5,15 },{ 10,15 },{ 8,15 },{ 13,15 },
+ { 15, 3 },{ 12,15 },{ 3,15 },{ 3, 8 },
+ };
+
+ static const unsigned char g_fragments[] =
+ {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 0, 16
+ 0, 1, 2, 3, // 16, 4
+ 0, 1, 4, // 20, 3
+ 0, 1, 2, 4, // 23, 4
+ 2, 3, 7, // 27, 3
+ 1, 2, 3, 7, // 30, 4
+ 0, 1, 2, 3, 4, 5, 6, 7, // 34, 8
+ 0, 1, 4, 8, // 42, 4
+ 0, 1, 2, 4, 5, 8, // 46, 6
+ 0, 1, 2, 3, 4, 5, 6, 8, // 52, 8
+ 1, 4, 5, 6, 9, // 60, 5
+ 2, 5, 6, 7, 10, // 65, 5
+ 5, 6, 9, 10, // 70, 4
+ 2, 3, 7, 11, // 74, 4
+ 1, 2, 3, 6, 7, 11, // 78, 6
+ 0, 1, 2, 3, 5, 6, 7, 11, // 84, 8
+ 0, 1, 2, 3, 8, 9, 10, 11, // 92, 8
+ 2, 3, 6, 7, 8, 9, 10, 11, // 100, 8
+ 4, 5, 6, 7, 8, 9, 10, 11, // 108, 8
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, // 116, 12
+ 0, 4, 8, 12, // 128, 4
+ 0, 2, 3, 4, 6, 7, 8, 12, // 132, 8
+ 0, 1, 2, 4, 5, 8, 9, 12, // 140, 8
+ 0, 1, 2, 3, 4, 5, 6, 8, 9, 12, // 148, 10
+ 3, 6, 7, 8, 9, 12, // 158, 6
+ 3, 5, 6, 7, 8, 9, 10, 12, // 164, 8
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, // 172, 12
+ 0, 1, 2, 5, 6, 7, 11, 12, // 184, 8
+ 5, 8, 9, 10, 13, // 192, 5
+ 8, 12, 13, // 197, 3
+ 4, 8, 12, 13, // 200, 4
+ 2, 3, 6, 9, 12, 13, // 204, 6
+ 0, 1, 2, 3, 8, 9, 12, 13, // 210, 8
+ 0, 1, 4, 5, 8, 9, 12, 13, // 218, 8
+ 2, 3, 6, 7, 8, 9, 12, 13, // 226, 8
+ 2, 3, 5, 6, 9, 10, 12, 13, // 234, 8
+ 0, 3, 6, 7, 9, 10, 12, 13, // 242, 8
+ 0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, // 250, 12
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, // 262, 13
+ 2, 3, 4, 7, 8, 11, 12, 13, // 275, 8
+ 1, 2, 6, 7, 8, 11, 12, 13, // 283, 8
+ 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, // 291, 10
+ 2, 3, 4, 5, 10, 11, 12, 13, // 301, 8
+ 0, 1, 6, 7, 10, 11, 12, 13, // 309, 8
+ 6, 9, 10, 11, 14, // 317, 5
+ 0, 2, 4, 6, 8, 10, 12, 14, // 322, 8
+ 1, 3, 5, 7, 8, 10, 12, 14, // 330, 8
+ 1, 3, 4, 6, 9, 11, 12, 14, // 338, 8
+ 0, 2, 5, 7, 9, 11, 12, 14, // 346, 8
+ 0, 3, 4, 5, 8, 9, 13, 14, // 354, 8
+ 2, 3, 4, 7, 8, 9, 13, 14, // 362, 8
+ 1, 2, 5, 6, 9, 10, 13, 14, // 370, 8
+ 0, 3, 4, 7, 9, 10, 13, 14, // 378, 8
+ 0, 3, 5, 6, 8, 11, 13, 14, // 386, 8
+ 1, 2, 4, 7, 8, 11, 13, 14, // 394, 8
+ 0, 1, 4, 7, 10, 11, 13, 14, // 402, 8
+ 0, 3, 6, 7, 10, 11, 13, 14, // 410, 8
+ 8, 12, 13, 14, // 418, 4
+ 1, 2, 3, 7, 8, 12, 13, 14, // 422, 8
+ 4, 8, 9, 12, 13, 14, // 430, 6
+ 0, 4, 5, 8, 9, 12, 13, 14, // 436, 8
+ 1, 2, 3, 6, 7, 8, 9, 12, 13, 14, // 444, 10
+ 2, 6, 8, 9, 10, 12, 13, 14, // 454, 8
+ 0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, // 462, 12
+ 0, 7, 9, 10, 11, 12, 13, 14, // 474, 8
+ 1, 2, 3, 4, 5, 6, 8, 15, // 482, 8
+ 3, 7, 11, 15, // 490, 4
+ 0, 1, 3, 4, 5, 7, 11, 15, // 494, 8
+ 0, 4, 5, 10, 11, 15, // 502, 6
+ 1, 2, 3, 6, 7, 10, 11, 15, // 508, 8
+ 0, 1, 2, 3, 5, 6, 7, 10, 11, 15, // 516, 10
+ 0, 4, 5, 6, 9, 10, 11, 15, // 526, 8
+ 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 15, // 534, 12
+ 1, 2, 4, 5, 8, 9, 12, 15, // 546, 8
+ 2, 3, 5, 6, 8, 9, 12, 15, // 554, 8
+ 0, 3, 5, 6, 9, 10, 12, 15, // 562, 8
+ 1, 2, 4, 7, 9, 10, 12, 15, // 570, 8
+ 1, 2, 5, 6, 8, 11, 12, 15, // 578, 8
+ 0, 3, 4, 7, 8, 11, 12, 15, // 586, 8
+ 0, 1, 5, 6, 10, 11, 12, 15, // 594, 8
+ 1, 2, 6, 7, 10, 11, 12, 15, // 602, 8
+ 1, 3, 4, 6, 8, 10, 13, 15, // 610, 8
+ 0, 2, 5, 7, 8, 10, 13, 15, // 618, 8
+ 0, 2, 4, 6, 9, 11, 13, 15, // 626, 8
+ 1, 3, 5, 7, 9, 11, 13, 15, // 634, 8
+ 0, 1, 2, 3, 4, 5, 7, 8, 12, 13, 15, // 642, 11
+ 2, 3, 4, 5, 8, 9, 14, 15, // 653, 8
+ 0, 1, 6, 7, 8, 9, 14, 15, // 661, 8
+ 0, 1, 5, 10, 14, 15, // 669, 6
+ 0, 3, 4, 5, 9, 10, 14, 15, // 675, 8
+ 0, 1, 5, 6, 9, 10, 14, 15, // 683, 8
+ 11, 14, 15, // 691, 3
+ 7, 11, 14, 15, // 694, 4
+ 1, 2, 4, 5, 8, 11, 14, 15, // 698, 8
+ 0, 1, 4, 7, 8, 11, 14, 15, // 706, 8
+ 0, 1, 4, 5, 10, 11, 14, 15, // 714, 8
+ 2, 3, 6, 7, 10, 11, 14, 15, // 722, 8
+ 4, 5, 6, 7, 10, 11, 14, 15, // 730, 8
+ 0, 1, 4, 5, 7, 8, 10, 11, 14, 15, // 738, 10
+ 0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 14, 15, // 748, 12
+ 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 14, 15, // 760, 13
+ 0, 1, 2, 3, 4, 6, 7, 11, 12, 14, 15, // 773, 11
+ 3, 4, 8, 9, 10, 13, 14, 15, // 784, 8
+ 11, 13, 14, 15, // 792, 4
+ 0, 1, 2, 4, 11, 13, 14, 15, // 796, 8
+ 0, 1, 2, 4, 5, 10, 11, 13, 14, 15, // 804, 10
+ 7, 10, 11, 13, 14, 15, // 814, 6
+ 3, 6, 7, 10, 11, 13, 14, 15, // 820, 8
+ 1, 5, 9, 10, 11, 13, 14, 15, // 828, 8
+ 1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, // 836, 12
+ 12, 13, 14, 15, // 848, 4
+ 0, 1, 2, 3, 12, 13, 14, 15, // 852, 8
+ 0, 1, 4, 5, 12, 13, 14, 15, // 860, 8
+ 4, 5, 6, 7, 12, 13, 14, 15, // 868, 8
+ 4, 8, 9, 10, 12, 13, 14, 15, // 876, 8
+ 0, 4, 5, 8, 9, 10, 12, 13, 14, 15, // 884, 10
+ 0, 1, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, // 894, 12
+ 0, 1, 2, 3, 4, 7, 8, 11, 12, 13, 14, 15, // 906, 12
+ 0, 1, 3, 4, 8, 9, 11, 12, 13, 14, 15, // 918, 11
+ 0, 2, 3, 7, 8, 10, 11, 12, 13, 14, 15, // 929, 11
+ 7, 9, 10, 11, 12, 13, 14, 15, // 940, 8
+ 3, 6, 7, 9, 10, 11, 12, 13, 14, 15, // 948, 10
+ 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, // 958, 12
+ 8, 9, 10, 11, 12, 13, 14, 15, // 970, 8
+ 0, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, // 978, 12
+ 0, 1, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, // 990, 13
+ 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 1003, 12
+ 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 1015, 13
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 1028, 12
+ 0, 2, // 1040, 2
+ 1, 3, // 1042, 2
+ 0, 1, 4, 5, // 1044, 4
+ 0, 1, 2, 4, 5, // 1048, 5
+ 2, 3, 6, // 1053, 3
+ 0, 2, 4, 6, // 1056, 4
+ 1, 2, 5, 6, // 1060, 4
+ 0, 1, 2, 3, 5, 6, // 1064, 6
+ 0, 1, 2, 4, 5, 6, // 1070, 6
+ 0, 1, 2, 3, 4, 5, 6, // 1076, 7
+ 0, 3, 4, 7, // 1083, 4
+ 0, 1, 2, 3, 4, 7, // 1087, 6
+ 1, 3, 5, 7, // 1093, 4
+ 2, 3, 6, 7, // 1097, 4
+ 1, 2, 3, 6, 7, // 1101, 5
+ 1, 2, 3, 5, 6, 7, // 1106, 6
+ 0, 1, 2, 3, 5, 6, 7, // 1112, 7
+ 4, 5, 6, 7, // 1119, 4
+ 0, 8, // 1123, 2
+ 0, 1, 4, 5, 8, // 1125, 5
+ 0, 1, 8, 9, // 1130, 4
+ 4, 5, 8, 9, // 1134, 4
+ 0, 1, 4, 5, 8, 9, // 1138, 6
+ 2, 6, 8, 9, // 1144, 4
+ 6, 7, 8, 9, // 1148, 4
+ 0, 2, 4, 6, 8, 10, // 1152, 6
+ 1, 2, 5, 6, 9, 10, // 1158, 6
+ 0, 3, 4, 7, 9, 10, // 1164, 6
+ 0, 1, 2, 8, 9, 10, // 1170, 6
+ 4, 5, 6, 8, 9, 10, // 1176, 6
+ 3, 11, // 1182, 2
+ 2, 3, 6, 7, 11, // 1184, 5
+ 0, 3, 8, 11, // 1189, 4
+ 0, 3, 4, 7, 8, 11, // 1193, 6
+ 1, 3, 5, 7, 9, 11, // 1199, 6
+ 2, 3, 10, 11, // 1205, 4
+ 1, 5, 10, 11, // 1209, 4
+ 4, 5, 10, 11, // 1213, 4
+ 6, 7, 10, 11, // 1217, 4
+ 2, 3, 6, 7, 10, 11, // 1221, 6
+ 1, 2, 3, 9, 10, 11, // 1227, 6
+ 5, 6, 7, 9, 10, 11, // 1233, 6
+ 8, 9, 10, 11, // 1239, 4
+ 4, 12, // 1243, 2
+ 0, 1, 2, 3, 4, 5, 8, 12, // 1245, 8
+ 8, 9, 12, // 1253, 3
+ 0, 4, 5, 8, 9, 12, // 1256, 6
+ 0, 1, 4, 5, 8, 9, 12, // 1262, 7
+ 2, 3, 5, 6, 8, 9, 12, // 1269, 7
+ 1, 5, 9, 13, // 1276, 4
+ 6, 7, 9, 13, // 1280, 4
+ 1, 4, 7, 10, 13, // 1284, 5
+ 1, 6, 8, 11, 13, // 1289, 5
+ 0, 1, 12, 13, // 1294, 4
+ 4, 5, 12, 13, // 1298, 4
+ 0, 1, 6, 7, 12, 13, // 1302, 6
+ 0, 1, 4, 8, 12, 13, // 1308, 6
+ 8, 9, 12, 13, // 1314, 4
+ 4, 8, 9, 12, 13, // 1318, 5
+ 4, 5, 8, 9, 12, 13, // 1323, 6
+ 0, 4, 5, 8, 9, 12, 13, // 1329, 7
+ 0, 1, 6, 10, 12, 13, // 1336, 6
+ 3, 6, 7, 9, 10, 12, 13, // 1342, 7
+ 0, 1, 10, 11, 12, 13, // 1349, 6
+ 2, 4, 7, 9, 14, // 1355, 5
+ 4, 5, 10, 14, // 1360, 4
+ 2, 6, 10, 14, // 1364, 4
+ 2, 5, 8, 11, 14, // 1368, 5
+ 0, 2, 12, 14, // 1373, 4
+ 8, 10, 12, 14, // 1377, 4
+ 4, 6, 8, 10, 12, 14, // 1381, 6
+ 13, 14, // 1387, 2
+ 9, 10, 13, 14, // 1389, 4
+ 5, 6, 9, 10, 13, 14, // 1393, 6
+ 0, 1, 2, 12, 13, 14, // 1399, 6
+ 4, 5, 6, 12, 13, 14, // 1405, 6
+ 8, 9, 12, 13, 14, // 1411, 5
+ 8, 9, 10, 12, 13, 14, // 1416, 6
+ 7, 15, // 1422, 2
+ 0, 5, 10, 15, // 1424, 4
+ 0, 1, 2, 3, 6, 7, 11, 15, // 1428, 8
+ 10, 11, 15, // 1436, 3
+ 0, 1, 5, 6, 10, 11, 15, // 1439, 7
+ 3, 6, 7, 10, 11, 15, // 1446, 6
+ 12, 15, // 1452, 2
+ 0, 3, 12, 15, // 1454, 4
+ 4, 7, 12, 15, // 1458, 4
+ 0, 3, 6, 9, 12, 15, // 1462, 6
+ 0, 3, 5, 10, 12, 15, // 1468, 6
+ 8, 11, 12, 15, // 1474, 4
+ 5, 6, 8, 11, 12, 15, // 1478, 6
+ 4, 7, 8, 11, 12, 15, // 1484, 6
+ 1, 3, 13, 15, // 1490, 4
+ 9, 11, 13, 15, // 1494, 4
+ 5, 7, 9, 11, 13, 15, // 1498, 6
+ 2, 3, 14, 15, // 1504, 4
+ 2, 3, 4, 5, 14, 15, // 1508, 6
+ 6, 7, 14, 15, // 1514, 4
+ 2, 3, 5, 9, 14, 15, // 1518, 6
+ 2, 3, 8, 9, 14, 15, // 1524, 6
+ 10, 14, 15, // 1530, 3
+ 0, 4, 5, 9, 10, 14, 15, // 1533, 7
+ 2, 3, 7, 11, 14, 15, // 1540, 6
+ 10, 11, 14, 15, // 1546, 4
+ 7, 10, 11, 14, 15, // 1550, 5
+ 6, 7, 10, 11, 14, 15, // 1555, 6
+ 1, 2, 3, 13, 14, 15, // 1561, 6
+ 5, 6, 7, 13, 14, 15, // 1567, 6
+ 10, 11, 13, 14, 15, // 1573, 5
+ 9, 10, 11, 13, 14, 15, // 1578, 6
+ 0, 4, 8, 9, 12, 13, 14, 15, // 1584, 8
+ 9, 10, 12, 13, 14, 15, // 1592, 6
+ 8, 11, 12, 13, 14, 15, // 1598, 6
+ 3, 7, 10, 11, 12, 13, 14, 15, // 1604, 8
+ };
+ static const int g_shapeRanges[][2] =
+ {
+ { 0, 16 },{ 16, 4 },{ 20, 3 },{ 23, 4 },{ 27, 3 },{ 30, 4 },{ 34, 8 },{ 42, 4 },{ 46, 6 },{ 52, 8 },{ 60, 5 },
+ { 65, 5 },{ 70, 4 },{ 74, 4 },{ 78, 6 },{ 84, 8 },{ 92, 8 },{ 100, 8 },{ 108, 8 },{ 116, 12 },{ 128, 4 },{ 132, 8 },
+ { 140, 8 },{ 148, 10 },{ 158, 6 },{ 164, 8 },{ 172, 12 },{ 184, 8 },{ 192, 5 },{ 197, 3 },{ 200, 4 },{ 204, 6 },{ 210, 8 },
+ { 218, 8 },{ 226, 8 },{ 234, 8 },{ 242, 8 },{ 250, 12 },{ 262, 13 },{ 275, 8 },{ 283, 8 },{ 291, 10 },{ 301, 8 },{ 309, 8 },
+ { 317, 5 },{ 322, 8 },{ 330, 8 },{ 338, 8 },{ 346, 8 },{ 354, 8 },{ 362, 8 },{ 370, 8 },{ 378, 8 },{ 386, 8 },{ 394, 8 },
+ { 402, 8 },{ 410, 8 },{ 418, 4 },{ 422, 8 },{ 430, 6 },{ 436, 8 },{ 444, 10 },{ 454, 8 },{ 462, 12 },{ 474, 8 },{ 482, 8 },
+ { 490, 4 },{ 494, 8 },{ 502, 6 },{ 508, 8 },{ 516, 10 },{ 526, 8 },{ 534, 12 },{ 546, 8 },{ 554, 8 },{ 562, 8 },{ 570, 8 },
+ { 578, 8 },{ 586, 8 },{ 594, 8 },{ 602, 8 },{ 610, 8 },{ 618, 8 },{ 626, 8 },{ 634, 8 },{ 642, 11 },{ 653, 8 },{ 661, 8 },
+ { 669, 6 },{ 675, 8 },{ 683, 8 },{ 691, 3 },{ 694, 4 },{ 698, 8 },{ 706, 8 },{ 714, 8 },{ 722, 8 },{ 730, 8 },{ 738, 10 },
+ { 748, 12 },{ 760, 13 },{ 773, 11 },{ 784, 8 },{ 792, 4 },{ 796, 8 },{ 804, 10 },{ 814, 6 },{ 820, 8 },{ 828, 8 },{ 836, 12 },
+ { 848, 4 },{ 852, 8 },{ 860, 8 },{ 868, 8 },{ 876, 8 },{ 884, 10 },{ 894, 12 },{ 906, 12 },{ 918, 11 },{ 929, 11 },{ 940, 8 },
+ { 948, 10 },{ 958, 12 },{ 970, 8 },{ 978, 12 },{ 990, 13 },{ 1003, 12 },{ 1015, 13 },{ 1028, 12 },{ 1040, 2 },{ 1042, 2 },{ 1044, 4 },
+ { 1048, 5 },{ 1053, 3 },{ 1056, 4 },{ 1060, 4 },{ 1064, 6 },{ 1070, 6 },{ 1076, 7 },{ 1083, 4 },{ 1087, 6 },{ 1093, 4 },{ 1097, 4 },
+ { 1101, 5 },{ 1106, 6 },{ 1112, 7 },{ 1119, 4 },{ 1123, 2 },{ 1125, 5 },{ 1130, 4 },{ 1134, 4 },{ 1138, 6 },{ 1144, 4 },{ 1148, 4 },
+ { 1152, 6 },{ 1158, 6 },{ 1164, 6 },{ 1170, 6 },{ 1176, 6 },{ 1182, 2 },{ 1184, 5 },{ 1189, 4 },{ 1193, 6 },{ 1199, 6 },{ 1205, 4 },
+ { 1209, 4 },{ 1213, 4 },{ 1217, 4 },{ 1221, 6 },{ 1227, 6 },{ 1233, 6 },{ 1239, 4 },{ 1243, 2 },{ 1245, 8 },{ 1253, 3 },{ 1256, 6 },
+ { 1262, 7 },{ 1269, 7 },{ 1276, 4 },{ 1280, 4 },{ 1284, 5 },{ 1289, 5 },{ 1294, 4 },{ 1298, 4 },{ 1302, 6 },{ 1308, 6 },{ 1314, 4 },
+ { 1318, 5 },{ 1323, 6 },{ 1329, 7 },{ 1336, 6 },{ 1342, 7 },{ 1349, 6 },{ 1355, 5 },{ 1360, 4 },{ 1364, 4 },{ 1368, 5 },{ 1373, 4 },
+ { 1377, 4 },{ 1381, 6 },{ 1387, 2 },{ 1389, 4 },{ 1393, 6 },{ 1399, 6 },{ 1405, 6 },{ 1411, 5 },{ 1416, 6 },{ 1422, 2 },{ 1424, 4 },
+ { 1428, 8 },{ 1436, 3 },{ 1439, 7 },{ 1446, 6 },{ 1452, 2 },{ 1454, 4 },{ 1458, 4 },{ 1462, 6 },{ 1468, 6 },{ 1474, 4 },{ 1478, 6 },
+ { 1484, 6 },{ 1490, 4 },{ 1494, 4 },{ 1498, 6 },{ 1504, 4 },{ 1508, 6 },{ 1514, 4 },{ 1518, 6 },{ 1524, 6 },{ 1530, 3 },{ 1533, 7 },
+ { 1540, 6 },{ 1546, 4 },{ 1550, 5 },{ 1555, 6 },{ 1561, 6 },{ 1567, 6 },{ 1573, 5 },{ 1578, 6 },{ 1584, 8 },{ 1592, 6 },{ 1598, 6 },
+ { 1604, 8 },
+ };
+ static const int g_shapes1[][2] =
+ {
+ { 0, 16 }
+ };
+ static const int g_shapes2[64][2] =
+ {
+ { 33, 96 },{ 63, 66 },{ 20, 109 },{ 22, 107 },{ 37, 92 },{ 7, 122 },{ 8, 121 },{ 23, 106 },
+ { 38, 91 },{ 2, 127 },{ 9, 120 },{ 26, 103 },{ 3, 126 },{ 6, 123 },{ 1, 128 },{ 19, 110 },
+ { 15, 114 },{ 124, 5 },{ 72, 57 },{ 115, 14 },{ 125, 4 },{ 70, 59 },{ 100, 29 },{ 60, 69 },
+ { 116, 13 },{ 99, 30 },{ 78, 51 },{ 94, 35 },{ 104, 25 },{ 111, 18 },{ 71, 58 },{ 90, 39 },
+ { 45, 84 },{ 16, 113 },{ 82, 47 },{ 95, 34 },{ 87, 42 },{ 83, 46 },{ 53, 76 },{ 48, 81 },
+ { 68, 61 },{ 105, 24 },{ 98, 31 },{ 88, 41 },{ 75, 54 },{ 43, 86 },{ 52, 77 },{ 117, 12 },
+ { 119, 10 },{ 118, 11 },{ 85, 44 },{ 101, 28 },{ 36, 93 },{ 55, 74 },{ 89, 40 },{ 79, 50 },
+ { 56, 73 },{ 49, 80 },{ 64, 65 },{ 27, 102 },{ 32, 97 },{ 112, 17 },{ 67, 62 },{ 21, 108 },
+ };
+ static const int g_shapes3[64][3] =
+ {
+ { 148, 160, 240 },{ 132, 212, 205 },{ 136, 233, 187 },{ 175, 237, 143 },{ 6, 186, 232 },{ 33, 142, 232 },{ 131, 123, 142 },{ 131, 96, 186 },
+ { 6, 171, 110 },{ 1, 18, 110 },{ 1, 146, 123 },{ 33, 195, 66 },{ 20, 51, 66 },{ 20, 178, 96 },{ 2, 177, 106 },{ 211, 4, 59 },
+ { 8, 191, 91 },{ 230, 14, 29 },{ 1, 188, 234 },{ 151, 110, 168 },{ 20, 144, 238 },{ 137, 66, 206 },{ 173, 179, 232 },{ 209, 194, 186 },
+ { 239, 165, 142 },{ 131, 152, 242 },{ 214, 54, 12 },{ 140, 219, 201 },{ 190, 150, 231 },{ 156, 135, 241 },{ 185, 227, 167 },{ 145, 210, 59 },
+ { 138, 174, 106 },{ 189, 229, 14 },{ 176, 133, 106 },{ 78, 178, 195 },{ 111, 146, 171 },{ 216, 180, 196 },{ 217, 181, 193 },{ 184, 228, 166 },
+ { 192, 225, 153 },{ 134, 141, 123 },{ 6, 222, 198 },{ 149, 183, 96 },{ 33, 226, 164 },{ 161, 215, 51 },{ 197, 221, 18 },{ 1, 223, 199 },
+ { 154, 163, 110 },{ 20, 236, 169 },{ 157, 204, 66 },{ 1, 202, 220 },{ 20, 170, 235 },{ 203, 158, 66 },{ 162, 155, 110 },{ 6, 201, 218 },
+ { 139, 135, 123 },{ 33, 167, 224 },{ 182, 150, 96 },{ 19, 200, 213 },{ 63, 207, 159 },{ 147, 172, 109 },{ 129, 130, 128 },{ 208, 14, 59 },
+ };
+
+ static const int g_shapeList1[] =
+ {
+ 0,
+ };
+
+ static const int g_shapeList1Collapse[] =
+ {
+ 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1,
+ };
+ static const int g_shapeList2[] =
+ {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128,
+ };
+ static const int g_shapeList2Collapse[] =
+ {
+ -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1,
+ };
+
+ static const int g_shapeList12[] =
+ {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128,
+ };
+
+ static const int g_shapeList12Collapse[] =
+ {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1,
+ };
+
+ static const int g_shapeList3[] =
+ {
+ 1, 2, 4, 6, 8, 12, 14, 18, 19, 20, 29,
+ 33, 51, 54, 59, 63, 66, 78, 91, 96, 106, 109,
+ 110, 111, 123, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, 236, 237, 238, 239, 240, 241, 242,
+ };
+
+ static const int g_shapeList3Collapse[] =
+ {
+ -1, 0, 1, -1, 2, -1, 3, -1, 4, -1, -1,
+ -1, 5, -1, 6, -1, -1, -1, 7, 8, 9, -1,
+ -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
+ 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, 13,
+ -1, -1, -1, -1, 14, -1, -1, -1, 15, -1, -1,
+ 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 18, -1, -1, -1, -1, 19, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, -1, -1, 21,
+ 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 24, -1, -1, -1, -1, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139,
+ };
+
+ static const int g_shapeList3Short[] =
+ {
+ 1, 2, 4, 6, 18, 20, 33, 51, 59, 66, 96,
+ 106, 110, 123, 131, 132, 136, 142, 143, 146, 148, 160,
+ 171, 175, 177, 178, 186, 187, 195, 205, 211, 212, 232,
+ 233, 237, 240,
+ };
+
+ static const int g_shapeList3ShortCollapse[] =
+ {
+ -1, 0, 1, -1, 2, -1, 3, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4, -1, 5, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1,
+ -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1,
+ 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, -1,
+ 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 13, -1, -1, -1, -1, -1, -1, -1, 14,
+ 15, -1, -1, -1, 16, -1, -1, -1, -1, -1, 17,
+ 18, -1, -1, 19, -1, 20, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 21, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, 23,
+ -1, 24, 25, -1, -1, -1, -1, -1, -1, -1, 26,
+ 27, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
+ -1, -1, 30, 31, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 32, 33, -1, -1, -1, 34, -1, -1, 35, -1,
+ -1,
+ };
+
+ static const int g_shapeListAll[] =
+ {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242,
+ };
+
+ static const int g_numShapes1 = sizeof(g_shapeList1) / sizeof(g_shapeList1[0]);
+ static const int g_numShapes2 = sizeof(g_shapeList2) / sizeof(g_shapeList2[0]);
+ static const int g_numShapes12 = sizeof(g_shapeList12) / sizeof(g_shapeList12[0]);
+ static const int g_numShapes3 = sizeof(g_shapeList3) / sizeof(g_shapeList3[0]);
+ static const int g_numShapes3Short = sizeof(g_shapeList3Short) / sizeof(g_shapeList3Short[0]);
+ static const int g_numShapesAll = sizeof(g_shapeListAll) / sizeof(g_shapeListAll[0]);
+ static const int g_numFragments = sizeof(g_fragments) / sizeof(g_fragments[0]);
+
+ static const int g_maxFragmentsPerMode = (g_numShapes2 > g_numShapes3) ? g_numShapes2 : g_numShapes3;
+ }
+
+ namespace BC6HData
+ {
+ enum EField
+ {
+ NA, // N/A
+ M, // Mode
+ D, // Shape
+ RW,
+ RX,
+ RY,
+ RZ,
+ GW,
+ GX,
+ GY,
+ GZ,
+ BW,
+ BX,
+ BY,
+ BZ,
+ };
+
+ struct ModeDescriptor
+ {
+ EField m_eField;
+ uint8_t m_uBit;
+ };
+
+ const ModeDescriptor g_modeDescriptors[14][82] =
+ {
+ { // Mode 1 (0x00) - 10 5 5 5
+ { M, 0 },{ M, 1 },{ GY, 4 },{ BY, 4 },{ BZ, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { GZ, 4 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { BZ, 0 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BZ, 1 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { BZ, 2 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ BZ, 3 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 2 (0x01) - 7 6 6 6
+ { M, 0 },{ M, 1 },{ GY, 5 },{ GZ, 4 },{ GZ, 5 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ BZ, 0 },{ BZ, 1 },{ BY, 4 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ BY, 5 },{ BZ, 2 },{ GY, 4 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BZ, 3 },{ BZ, 5 },{ BZ, 4 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { RX, 5 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { GX, 5 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BX, 5 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { RY, 5 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ RZ, 5 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 3 (0x02) - 11 5 4 4
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { RW,10 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GW,10 },
+ { BZ, 0 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BW,10 },
+ { BZ, 1 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { BZ, 2 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ BZ, 3 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 4 (0x06) - 11 4 5 4
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RW,10 },
+ { GZ, 4 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { GW,10 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BW,10 },
+ { BZ, 1 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ BZ, 0 },
+ { BZ, 2 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ GY, 4 },{ BZ, 3 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 5 (0x0a) - 11 4 4 5
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RW,10 },
+ { BY, 4 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GW,10 },
+ { BZ, 0 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BW,10 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ BZ, 1 },
+ { BZ, 2 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ BZ, 4 },{ BZ, 3 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 6 (0x0e) - 9 5 5 5
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ BY, 4 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GY, 4 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BZ, 4 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { GZ, 4 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { BZ, 0 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BZ, 1 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { BZ, 2 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ BZ, 3 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 7 (0x12) - 8 6 5 5
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ GZ, 4 },{ BY, 4 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ BZ, 2 },{ GY, 4 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BZ, 3 },{ BZ, 4 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { RX, 5 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { BZ, 0 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BZ, 1 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { RY, 5 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ RZ, 5 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 8 (0x16) - 8 5 6 5
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ BZ, 0 },{ BY, 4 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GY, 5 },{ GY, 4 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ GZ, 5 },{ BZ, 4 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { GZ, 4 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { GX, 5 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BZ, 1 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { BZ, 2 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ BZ, 3 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 9 (0x1a) - 8 5 5 6
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ BZ, 1 },{ BY, 4 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ BY, 5 },{ GY, 4 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BZ, 5 },{ BZ, 4 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { GZ, 4 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { BZ, 0 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BX, 5 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { BZ, 2 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ BZ, 3 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 10 (0x1e) - 6 6 6 6
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ GZ, 4 },{ BZ, 0 },{ BZ, 1 },{ BY, 4 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GY, 5 },{ BY, 5 },{ BZ, 2 },{ GY, 4 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ GZ, 5 },{ BZ, 3 },{ BZ, 5 },{ BZ, 4 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { RX, 5 },{ GY, 0 },{ GY, 1 },{ GY, 2 },{ GY, 3 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { GX, 5 },{ GZ, 0 },{ GZ, 1 },{ GZ, 2 },{ GZ, 3 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BX, 5 },{ BY, 0 },{ BY, 1 },{ BY, 2 },{ BY, 3 },{ RY, 0 },{ RY, 1 },{ RY, 2 },{ RY, 3 },{ RY, 4 },
+ { RY, 5 },{ RZ, 0 },{ RZ, 1 },{ RZ, 2 },{ RZ, 3 },{ RZ, 4 },{ RZ, 5 },{ D, 0 },{ D, 1 },{ D, 2 },
+ { D, 3 },{ D, 4 },
+ },
+
+ { // Mode 11 (0x03) - 10 10
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { RX, 5 },{ RX, 6 },{ RX, 7 },{ RX, 8 },{ RX, 9 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { GX, 5 },{ GX, 6 },{ GX, 7 },{ GX, 8 },{ GX, 9 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BX, 5 },{ BX, 6 },{ BX, 7 },{ BX, 8 },{ BX, 9 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },
+ },
+
+ { // Mode 12 (0x07) - 11 9
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { RX, 5 },{ RX, 6 },{ RX, 7 },{ RX, 8 },{ RW,10 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { GX, 5 },{ GX, 6 },{ GX, 7 },{ GX, 8 },{ GW,10 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BX, 5 },{ BX, 6 },{ BX, 7 },{ BX, 8 },{ BW,10 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },
+ },
+
+ { // Mode 13 (0x0b) - 12 8
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RX, 4 },
+ { RX, 5 },{ RX, 6 },{ RX, 7 },{ RW,11 },{ RW,10 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GX, 4 },
+ { GX, 5 },{ GX, 6 },{ GX, 7 },{ GW,11 },{ GW,10 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BX, 4 },
+ { BX, 5 },{ BX, 6 },{ BX, 7 },{ BW,11 },{ BW,10 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },
+ },
+
+ { // Mode 14 (0x0f) - 16 4
+ { M, 0 },{ M, 1 },{ M, 2 },{ M, 3 },{ M, 4 },{ RW, 0 },{ RW, 1 },{ RW, 2 },{ RW, 3 },{ RW, 4 },
+ { RW, 5 },{ RW, 6 },{ RW, 7 },{ RW, 8 },{ RW, 9 },{ GW, 0 },{ GW, 1 },{ GW, 2 },{ GW, 3 },{ GW, 4 },
+ { GW, 5 },{ GW, 6 },{ GW, 7 },{ GW, 8 },{ GW, 9 },{ BW, 0 },{ BW, 1 },{ BW, 2 },{ BW, 3 },{ BW, 4 },
+ { BW, 5 },{ BW, 6 },{ BW, 7 },{ BW, 8 },{ BW, 9 },{ RX, 0 },{ RX, 1 },{ RX, 2 },{ RX, 3 },{ RW,15 },
+ { RW,14 },{ RW,13 },{ RW,12 },{ RW,11 },{ RW,10 },{ GX, 0 },{ GX, 1 },{ GX, 2 },{ GX, 3 },{ GW,15 },
+ { GW,14 },{ GW,13 },{ GW,12 },{ GW,11 },{ GW,10 },{ BX, 0 },{ BX, 1 },{ BX, 2 },{ BX, 3 },{ BW,15 },
+ { BW,14 },{ BW,13 },{ BW,12 },{ BW,11 },{ BW,10 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },{ NA, 0 },
+ { NA, 0 },{ NA, 0 },
+ },
+ };
+ }
+
+ struct PackingVector
+ {
+ uint32_t m_vector[4];
+ int m_offset;
+
+ void Init()
+ {
+ for (int i = 0; i < 4; i++)
+ m_vector[i] = 0;
+
+ m_offset = 0;
+ }
+
+ inline void Pack(ParallelMath::ScalarUInt16 value, int bits)
+ {
+ int vOffset = m_offset >> 5;
+ int bitOffset = m_offset & 0x1f;
+
+ m_vector[vOffset] |= (static_cast<uint32_t>(value) << bitOffset) & static_cast<uint32_t>(0xffffffff);
+
+ int overflowBits = bitOffset + bits - 32;
+ if (overflowBits > 0)
+ m_vector[vOffset + 1] |= (static_cast<uint32_t>(value) >> (bits - overflowBits));
+
+ m_offset += bits;
+ }
+
+ inline void Flush(uint8_t* output)
+ {
+ assert(m_offset == 128);
+
+ for (int v = 0; v < 4; v++)
+ {
+ uint32_t chunk = m_vector[v];
+ for (int b = 0; b < 4; b++)
+ output[v * 4 + b] = static_cast<uint8_t>((chunk >> (b * 8)) & 0xff);
+ }
+ }
+ };
+
+
+ struct UnpackingVector
+ {
+ uint32_t m_vector[4];
+
+ void Init(const uint8_t *bytes)
+ {
+ for (int i = 0; i < 4; i++)
+ m_vector[i] = 0;
+
+ for (int b = 0; b < 16; b++)
+ m_vector[b / 4] |= (bytes[b] << ((b % 4) * 8));
+ }
+
+ inline ParallelMath::ScalarUInt16 Unpack(int bits)
+ {
+ uint32_t bitMask = (1 << bits) - 1;
+
+ ParallelMath::ScalarUInt16 result = static_cast<ParallelMath::ScalarUInt16>(m_vector[0] & bitMask);
+
+ for (int i = 0; i < 4; i++)
+ {
+ m_vector[i] >>= bits;
+ if (i != 3)
+ m_vector[i] |= (m_vector[i + 1] & bitMask) << (32 - bits);
+ }
+
+ return result;
+ }
+ };
+
+ void ComputeTweakFactors2(int tweak, int range, float* outFactors)
+ {
+ int totalUnits = range - 1;
+ int minOutsideUnits = ((tweak >> 1) & 1);
+ int maxOutsideUnits = (tweak & 1);
+ int insideUnits = totalUnits - minOutsideUnits - maxOutsideUnits;
+
+ outFactors[0] = -static_cast<float>(minOutsideUnits) / static_cast<float>(insideUnits);
+ outFactors[1] = static_cast<float>(maxOutsideUnits) / static_cast<float>(insideUnits) + 1.0f;
+ }
+
+ ParallelMath::Float ScaleHDRValue(ParallelMath::Float v, bool isSigned)
+ {
+ if (isSigned)
+ {
+ ParallelMath::Float offset = ParallelMath::Select(ParallelMath::Less(v, ParallelMath::MakeFloatZero()), ParallelMath::MakeFloat(-30.0f), ParallelMath::MakeFloat(30.0f));
+ return (v * 32.0f + offset) / 31.0f;
+ }
+ else
+ return (v * 64.0f + 30.0f) / 31.0f;
+ }
+
+ ParallelMath::SInt16 UnscaleHDRValueSigned(const ParallelMath::SInt16 &v)
+ {
+#ifdef CVTT_ENABLE_ASSERTS
+ for (int i = 0; i < ParallelMath::ParallelSize; i++)
+ assert(ParallelMath::Extract(v, i) != -32768)
+#endif
+
+ ParallelMath::Int16CompFlag negative = ParallelMath::Less(v, ParallelMath::MakeSInt16(0));
+ ParallelMath::UInt15 absComp = ParallelMath::LosslessCast<ParallelMath::UInt15>::Cast(ParallelMath::Select(negative, ParallelMath::SInt16(ParallelMath::MakeSInt16(0) - v), v));
+
+ ParallelMath::UInt31 multiplied = ParallelMath::XMultiply(absComp, ParallelMath::MakeUInt15(31));
+ ParallelMath::UInt31 shifted = ParallelMath::RightShift(multiplied, 5);
+ ParallelMath::UInt15 absCompScaled = ParallelMath::ToUInt15(shifted);
+ ParallelMath::SInt16 signBits = ParallelMath::SelectOrZero(negative, ParallelMath::MakeSInt16(-32768));
+
+ return ParallelMath::LosslessCast<ParallelMath::SInt16>::Cast(absCompScaled) | signBits;
+ }
+
+ ParallelMath::UInt15 UnscaleHDRValueUnsigned(const ParallelMath::UInt16 &v)
+ {
+ return ParallelMath::ToUInt15(ParallelMath::RightShift(ParallelMath::XMultiply(v, ParallelMath::MakeUInt15(31)), 6));
+ }
+
+ void UnscaleHDREndpoints(const ParallelMath::AInt16 inEP[2][3], ParallelMath::AInt16 outEP[2][3], bool isSigned)
+ {
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ if (isSigned)
+ outEP[epi][ch] = ParallelMath::LosslessCast<ParallelMath::AInt16>::Cast(UnscaleHDRValueSigned(ParallelMath::LosslessCast<ParallelMath::SInt16>::Cast(inEP[epi][ch])));
+ else
+ outEP[epi][ch] = ParallelMath::LosslessCast<ParallelMath::AInt16>::Cast(UnscaleHDRValueUnsigned(ParallelMath::LosslessCast<ParallelMath::UInt16>::Cast(inEP[epi][ch])));
+ }
+ }
+ }
+
+ template<int TVectorSize>
+ class UnfinishedEndpoints
+ {
+ public:
+ typedef ParallelMath::Float MFloat;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+
+ UnfinishedEndpoints()
+ {
+ }
+
+ UnfinishedEndpoints(const MFloat base[TVectorSize], const MFloat offset[TVectorSize])
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_base[ch] = base[ch];
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_offset[ch] = offset[ch];
+ }
+
+ UnfinishedEndpoints(const UnfinishedEndpoints& other)
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_base[ch] = other.m_base[ch];
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_offset[ch] = other.m_offset[ch];
+ }
+
+ void FinishHDRUnsigned(int tweak, int range, MSInt16* outEP0, MSInt16* outEP1, ParallelMath::RoundTowardNearestForScope* roundingMode)
+ {
+ float tweakFactors[2];
+ ComputeTweakFactors2(tweak, range, tweakFactors);
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MUInt15 channelEPs[2];
+ for (int epi = 0; epi < 2; epi++)
+ {
+ MFloat f = ParallelMath::Clamp(m_base[ch] + m_offset[ch] * tweakFactors[epi], 0.0f, 31743.0f);
+ channelEPs[epi] = ParallelMath::RoundAndConvertToU15(f, roundingMode);
+ }
+
+ outEP0[ch] = ParallelMath::LosslessCast<MSInt16>::Cast(channelEPs[0]);
+ outEP1[ch] = ParallelMath::LosslessCast<MSInt16>::Cast(channelEPs[1]);
+ }
+ }
+
+ void FinishHDRSigned(int tweak, int range, MSInt16* outEP0, MSInt16* outEP1, ParallelMath::RoundTowardNearestForScope* roundingMode)
+ {
+ float tweakFactors[2];
+ ComputeTweakFactors2(tweak, range, tweakFactors);
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MSInt16 channelEPs[2];
+ for (int epi = 0; epi < 2; epi++)
+ {
+ MFloat f = ParallelMath::Clamp(m_base[ch] + m_offset[ch] * tweakFactors[epi], -31743.0f, 31743.0f);
+ channelEPs[epi] = ParallelMath::RoundAndConvertToS16(f, roundingMode);
+ }
+
+ outEP0[ch] = channelEPs[0];
+ outEP1[ch] = channelEPs[1];
+ }
+ }
+
+ void FinishLDR(int tweak, int range, MUInt15* outEP0, MUInt15* outEP1)
+ {
+ ParallelMath::RoundTowardNearestForScope roundingMode;
+
+ float tweakFactors[2];
+ ComputeTweakFactors2(tweak, range, tweakFactors);
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MFloat ep0f = ParallelMath::Clamp(m_base[ch] + m_offset[ch] * tweakFactors[0], 0.0f, 255.0f);
+ MFloat ep1f = ParallelMath::Clamp(m_base[ch] + m_offset[ch] * tweakFactors[1], 0.0f, 255.0f);
+ outEP0[ch] = ParallelMath::RoundAndConvertToU15(ep0f, &roundingMode);
+ outEP1[ch] = ParallelMath::RoundAndConvertToU15(ep1f, &roundingMode);
+ }
+ }
+
+ template<int TNewVectorSize>
+ UnfinishedEndpoints<TNewVectorSize> ExpandTo(float filler)
+ {
+ MFloat newBase[TNewVectorSize];
+ MFloat newOffset[TNewVectorSize];
+
+ for (int ch = 0; ch < TNewVectorSize && ch < TVectorSize; ch++)
+ {
+ newBase[ch] = m_base[ch];
+ newOffset[ch] = m_offset[ch];
+ }
+
+ MFloat fillerV = ParallelMath::MakeFloat(filler);
+
+ for (int ch = TVectorSize; ch < TNewVectorSize; ch++)
+ {
+ newBase[ch] = fillerV;
+ newOffset[ch] = ParallelMath::MakeFloatZero();
+ }
+
+ return UnfinishedEndpoints<TNewVectorSize>(newBase, newOffset);
+ }
+
+ private:
+ MFloat m_base[TVectorSize];
+ MFloat m_offset[TVectorSize];
+ };
+
+ template<int TMatrixSize>
+ class PackedCovarianceMatrix
+ {
+ public:
+ // 0: xx,
+ // 1: xy, yy
+ // 3: xz, yz, zz
+ // 6: xw, yw, zw, ww
+ // ... etc.
+ static const int PyramidSize = (TMatrixSize * (TMatrixSize + 1)) / 2;
+
+ typedef ParallelMath::Float MFloat;
+
+ PackedCovarianceMatrix()
+ {
+ for (int i = 0; i < PyramidSize; i++)
+ m_values[i] = ParallelMath::MakeFloatZero();
+ }
+
+ void Add(const ParallelMath::Float vec[TMatrixSize], ParallelMath::Float weight)
+ {
+ int index = 0;
+ for (int row = 0; row < TMatrixSize; row++)
+ {
+ for (int col = 0; col <= row; col++)
+ {
+ m_values[index] = m_values[index] + vec[row] * vec[col] * weight;
+ index++;
+ }
+ }
+ }
+
+ void Product(MFloat outVec[TMatrixSize], const MFloat inVec[TMatrixSize])
+ {
+ for (int row = 0; row < TMatrixSize; row++)
+ {
+ MFloat sum = ParallelMath::MakeFloatZero();
+
+ int index = (row * (row + 1)) >> 1;
+ for (int col = 0; col < TMatrixSize; col++)
+ {
+ sum = sum + inVec[col] * m_values[index];
+ if (col >= row)
+ index += col + 1;
+ else
+ index++;
+ }
+
+ outVec[row] = sum;
+ }
+ }
+
+ private:
+ ParallelMath::Float m_values[PyramidSize];
+ };
+
+ static const int NumEndpointSelectorPasses = 3;
+
+ template<int TVectorSize, int TIterationCount>
+ class EndpointSelector
+ {
+ public:
+ typedef ParallelMath::Float MFloat;
+
+ EndpointSelector()
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ m_centroid[ch] = ParallelMath::MakeFloatZero();
+ m_direction[ch] = ParallelMath::MakeFloatZero();
+ }
+ m_weightTotal = ParallelMath::MakeFloatZero();
+ m_minDist = ParallelMath::MakeFloat(FLT_MAX);
+ m_maxDist = ParallelMath::MakeFloat(-FLT_MAX);
+ }
+
+ void ContributePass(const MFloat value[TVectorSize], int pass, MFloat weight)
+ {
+ if (pass == 0)
+ ContributeCentroid(value, weight);
+ else if (pass == 1)
+ ContributeDirection(value, weight);
+ else if (pass == 2)
+ ContributeMinMax(value);
+ }
+
+ void FinishPass(int pass)
+ {
+ if (pass == 0)
+ FinishCentroid();
+ else if (pass == 1)
+ FinishDirection();
+ }
+
+ UnfinishedEndpoints<TVectorSize> GetEndpoints(const float channelWeights[TVectorSize]) const
+ {
+ MFloat unweightedBase[TVectorSize];
+ MFloat unweightedOffset[TVectorSize];
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MFloat min = m_centroid[ch] + m_direction[ch] * m_minDist;
+ MFloat max = m_centroid[ch] + m_direction[ch] * m_maxDist;
+
+ float safeWeight = channelWeights[ch];
+ if (safeWeight == 0.f)
+ safeWeight = 1.0f;
+
+ unweightedBase[ch] = min / channelWeights[ch];
+ unweightedOffset[ch] = (max - min) / channelWeights[ch];
+ }
+
+ return UnfinishedEndpoints<TVectorSize>(unweightedBase, unweightedOffset);
+ }
+
+ private:
+ void ContributeCentroid(const MFloat value[TVectorSize], MFloat weight)
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_centroid[ch] = m_centroid[ch] + value[ch] * weight;
+ m_weightTotal = m_weightTotal + weight;
+ }
+
+ void FinishCentroid()
+ {
+ MFloat denom = m_weightTotal;
+ ParallelMath::MakeSafeDenominator(denom);
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_centroid[ch] = m_centroid[ch] / denom;
+ }
+
+ void ContributeDirection(const MFloat value[TVectorSize], MFloat weight)
+ {
+ MFloat diff[TVectorSize];
+ for (int ch = 0; ch < TVectorSize; ch++)
+ diff[ch] = value[ch] - m_centroid[ch];
+
+ m_covarianceMatrix.Add(diff, weight);
+ }
+
+ void FinishDirection()
+ {
+ MFloat approx[TVectorSize];
+ for (int ch = 0; ch < TVectorSize; ch++)
+ approx[ch] = ParallelMath::MakeFloat(1.0f);
+
+ for (int i = 0; i < TIterationCount; i++)
+ {
+ MFloat product[TVectorSize];
+ m_covarianceMatrix.Product(product, approx);
+
+ MFloat largestComponent = product[0];
+ for (int ch = 1; ch < TVectorSize; ch++)
+ largestComponent = ParallelMath::Max(largestComponent, product[ch]);
+
+ // product = largestComponent*newApprox
+ ParallelMath::MakeSafeDenominator(largestComponent);
+ for (int ch = 0; ch < TVectorSize; ch++)
+ approx[ch] = product[ch] / largestComponent;
+ }
+
+ // Normalize
+ MFloat approxLen = ParallelMath::MakeFloatZero();
+ for (int ch = 0; ch < TVectorSize; ch++)
+ approxLen = approxLen + approx[ch] * approx[ch];
+
+ approxLen = ParallelMath::Sqrt(approxLen);
+
+ ParallelMath::MakeSafeDenominator(approxLen);
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_direction[ch] = approx[ch] / approxLen;
+ }
+
+ void ContributeMinMax(const MFloat value[TVectorSize])
+ {
+ MFloat dist = ParallelMath::MakeFloatZero();
+ for (int ch = 0; ch < TVectorSize; ch++)
+ dist = dist + m_direction[ch] * (value[ch] - m_centroid[ch]);
+
+ m_minDist = ParallelMath::Min(m_minDist, dist);
+ m_maxDist = ParallelMath::Max(m_maxDist, dist);
+ }
+
+ ParallelMath::Float m_centroid[TVectorSize];
+ ParallelMath::Float m_direction[TVectorSize];
+ PackedCovarianceMatrix<TVectorSize> m_covarianceMatrix;
+ ParallelMath::Float m_weightTotal;
+
+ ParallelMath::Float m_minDist;
+ ParallelMath::Float m_maxDist;
+ };
+
+ static const ParallelMath::UInt16 g_weightReciprocals[] =
+ {
+ ParallelMath::MakeUInt16(0), // -1
+ ParallelMath::MakeUInt16(0), // 0
+ ParallelMath::MakeUInt16(32768), // 1
+ ParallelMath::MakeUInt16(16384), // 2
+ ParallelMath::MakeUInt16(10923), // 3
+ ParallelMath::MakeUInt16(8192), // 4
+ ParallelMath::MakeUInt16(6554), // 5
+ ParallelMath::MakeUInt16(5461), // 6
+ ParallelMath::MakeUInt16(4681), // 7
+ ParallelMath::MakeUInt16(4096), // 8
+ ParallelMath::MakeUInt16(3641), // 9
+ ParallelMath::MakeUInt16(3277), // 10
+ ParallelMath::MakeUInt16(2979), // 11
+ ParallelMath::MakeUInt16(2731), // 12
+ ParallelMath::MakeUInt16(2521), // 13
+ ParallelMath::MakeUInt16(2341), // 14
+ ParallelMath::MakeUInt16(2185), // 15
+ };
+
+ template<int TVectorSize>
+ class IndexSelector
+ {
+ public:
+ typedef ParallelMath::Float MFloat;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::AInt16 MAInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+ typedef ParallelMath::UInt31 MUInt31;
+
+ template<class TInterpolationEPType, class TColorEPType>
+ void Init(const float channelWeights[TVectorSize], const TInterpolationEPType interpolationEndPoints[2][TVectorSize], const TColorEPType colorSpaceEndpoints[2][TVectorSize], int range)
+ {
+ // In BC6H, the interpolation endpoints are higher-precision than the endpoints in color space.
+ // We need to select indexes using the color-space endpoints.
+
+ m_isUniform = true;
+ for (int ch = 1; ch < TVectorSize; ch++)
+ {
+ if (channelWeights[ch] != channelWeights[0])
+ m_isUniform = false;
+ }
+
+ // To work with channel weights, we need something where:
+ // pxDiff = px - ep[0]
+ // epDiff = ep[1] - ep[0]
+ //
+ // weightedEPDiff = epDiff * channelWeights
+ // normalizedWeightedAxis = weightedEPDiff / len(weightedEPDiff)
+ // normalizedIndex = dot(pxDiff * channelWeights, normalizedWeightedAxis) / len(weightedEPDiff)
+ // index = normalizedIndex * maxValue
+ //
+ // Equivalent to:
+ // axis = channelWeights * maxValue * epDiff * channelWeights / lenSquared(epDiff * channelWeights)
+ // index = dot(axis, pxDiff)
+
+ for (int ep = 0; ep < 2; ep++)
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_endPoint[ep][ch] = ParallelMath::LosslessCast<MAInt16>::Cast(interpolationEndPoints[ep][ch]);
+
+ m_range = range;
+ m_maxValue = static_cast<float>(range - 1);
+
+ MFloat epDiffWeighted[TVectorSize];
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ m_origin[ch] = ParallelMath::ToFloat(colorSpaceEndpoints[0][ch]);
+ MFloat opposingOriginCh = ParallelMath::ToFloat(colorSpaceEndpoints[1][ch]);
+ epDiffWeighted[ch] = (opposingOriginCh - m_origin[ch]) * channelWeights[ch];
+ }
+
+ MFloat lenSquared = epDiffWeighted[0] * epDiffWeighted[0];
+ for (int ch = 1; ch < TVectorSize; ch++)
+ lenSquared = lenSquared + epDiffWeighted[ch] * epDiffWeighted[ch];
+
+ ParallelMath::MakeSafeDenominator(lenSquared);
+
+ MFloat maxValueDividedByLengthSquared = ParallelMath::MakeFloat(m_maxValue) / lenSquared;
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_axis[ch] = epDiffWeighted[ch] * channelWeights[ch] * maxValueDividedByLengthSquared;
+ }
+
+ template<bool TSigned>
+ void Init(const float channelWeights[TVectorSize], const MUInt15 endPoints[2][TVectorSize], int range)
+ {
+ MAInt16 converted[2][TVectorSize];
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < TVectorSize; ch++)
+ converted[epi][ch] = ParallelMath::LosslessCast<MAInt16>::Cast(endPoints[epi][ch]);
+
+ Init<MUInt15, MUInt15>(channelWeights, endPoints, endPoints, range);
+ }
+
+ void ReconstructLDR_BC7(const MUInt15 &index, MUInt15* pixel, int numRealChannels)
+ {
+ MUInt15 weight = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ParallelMath::CompactMultiply(g_weightReciprocals[m_range], index) + 256, 9));
+
+ for (int ch = 0; ch < numRealChannels; ch++)
+ {
+ MUInt15 ep0f = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::CompactMultiply((ParallelMath::MakeUInt15(64) - weight), ParallelMath::LosslessCast<MUInt15>::Cast(m_endPoint[0][ch])));
+ MUInt15 ep1f = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::CompactMultiply(weight, ParallelMath::LosslessCast<MUInt15>::Cast(m_endPoint[1][ch])));
+ pixel[ch] = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ep0f + ep1f + ParallelMath::MakeUInt15(32), 6));
+ }
+ }
+
+ void ReconstructLDRPrecise(const MUInt15 &index, MUInt15* pixel, int numRealChannels)
+ {
+ MUInt15 weight = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ParallelMath::CompactMultiply(g_weightReciprocals[m_range], index) + 64, 7));
+
+ for (int ch = 0; ch < numRealChannels; ch++)
+ {
+ MUInt15 ep0f = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::CompactMultiply((ParallelMath::MakeUInt15(256) - weight), ParallelMath::LosslessCast<MUInt15>::Cast(m_endPoint[0][ch])));
+ MUInt15 ep1f = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::CompactMultiply(weight, ParallelMath::LosslessCast<MUInt15>::Cast(m_endPoint[1][ch])));
+ pixel[ch] = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ep0f + ep1f + ParallelMath::MakeUInt15(128), 8));
+ }
+ }
+
+ void ReconstructLDR_BC7(const MUInt15 &index, MUInt15* pixel)
+ {
+ ReconstructLDR_BC7(index, pixel, TVectorSize);
+ }
+
+ void ReconstructLDRPrecise(const MUInt15 &index, MUInt15* pixel)
+ {
+ ReconstructLDRPrecise(index, pixel, TVectorSize);
+ }
+
+ MUInt15 SelectIndexLDR(const MFloat* pixel, const ParallelMath::RoundTowardNearestForScope* rtn) const
+ {
+ MFloat dist = (pixel[0] - m_origin[0]) * m_axis[0];
+ for (int ch = 1; ch < TVectorSize; ch++)
+ dist = dist + (pixel[ch] - m_origin[ch]) * m_axis[ch];
+
+ return ParallelMath::RoundAndConvertToU15(ParallelMath::Clamp(dist, 0.0f, m_maxValue), rtn);
+ }
+
+ protected:
+ MAInt16 m_endPoint[2][TVectorSize];
+
+ private:
+ MFloat m_origin[TVectorSize];
+ MFloat m_axis[TVectorSize];
+ int m_range;
+ float m_maxValue;
+ bool m_isUniform;
+ };
+
+
+ template<int TVectorSize>
+ class IndexSelectorHDR : public IndexSelector<TVectorSize>
+ {
+ public:
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::UInt31 MUInt31;
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+ typedef ParallelMath::Float MFloat;
+
+ private:
+
+ MUInt15 InvertSingle(const MUInt15& anIndex) const
+ {
+ MUInt15 inverted = m_maxValueMinusOne - anIndex;
+ return ParallelMath::Select(m_isInverted, inverted, anIndex);
+ }
+
+ void ReconstructHDRSignedUninverted(const MUInt15 &index, MSInt16* pixel) const
+ {
+ MUInt15 weight = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ParallelMath::CompactMultiply(g_weightReciprocals[m_range], index) + 256, 9));
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MSInt16 ep0 = ParallelMath::LosslessCast<MSInt16>::Cast(this->m_endPoint[0][ch]);
+ MSInt16 ep1 = ParallelMath::LosslessCast<MSInt16>::Cast(this->m_endPoint[1][ch]);
+
+ MSInt32 pixel32 = ParallelMath::XMultiply((ParallelMath::MakeUInt15(64) - weight), ep0) + ParallelMath::XMultiply(weight, ep1);
+
+ pixel32 = ParallelMath::RightShift(pixel32 + ParallelMath::MakeSInt32(32), 6);
+
+ pixel[ch] = UnscaleHDRValueSigned(ParallelMath::ToSInt16(pixel32));
+ }
+ }
+
+ void ReconstructHDRUnsignedUninverted(const MUInt15 &index, MSInt16* pixel) const
+ {
+ MUInt15 weight = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ParallelMath::CompactMultiply(g_weightReciprocals[m_range], index) + 256, 9));
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MUInt16 ep0 = ParallelMath::LosslessCast<MUInt16>::Cast(this->m_endPoint[0][ch]);
+ MUInt16 ep1 = ParallelMath::LosslessCast<MUInt16>::Cast(this->m_endPoint[1][ch]);
+
+ MUInt31 pixel31 = ParallelMath::XMultiply((ParallelMath::MakeUInt15(64) - weight), ep0) + ParallelMath::XMultiply(weight, ep1);
+
+ pixel31 = ParallelMath::RightShift(pixel31 + ParallelMath::MakeUInt31(32), 6);
+
+ pixel[ch] = ParallelMath::LosslessCast<MSInt16>::Cast(UnscaleHDRValueUnsigned(ParallelMath::ToUInt16(pixel31)));
+ }
+ }
+
+ MFloat ErrorForInterpolatorComponent(int index, int ch, const MFloat *pixel) const
+ {
+ MFloat diff = pixel[ch] - m_reconstructedInterpolators[index][ch];
+ return diff * diff;
+ }
+
+ MFloat ErrorForInterpolator(int index, const MFloat *pixel) const
+ {
+ MFloat error = ErrorForInterpolatorComponent(index, 0, pixel);
+ for (int ch = 1; ch < TVectorSize; ch++)
+ error = error + ErrorForInterpolatorComponent(index, ch, pixel);
+ return error;
+ }
+
+ public:
+
+ void InitHDR(int range, bool isSigned, bool fastIndexing, const float *channelWeights)
+ {
+ assert(range <= 16);
+
+ m_range = range;
+
+ m_isInverted = ParallelMath::MakeBoolInt16(false);
+ m_maxValueMinusOne = ParallelMath::MakeUInt15(static_cast<uint16_t>(range - 1));
+
+ if (!fastIndexing)
+ {
+ for (int i = 0; i < range; i++)
+ {
+ MSInt16 recon2CL[TVectorSize];
+
+ if (isSigned)
+ ReconstructHDRSignedUninverted(ParallelMath::MakeUInt15(static_cast<uint16_t>(i)), recon2CL);
+ else
+ ReconstructHDRUnsignedUninverted(ParallelMath::MakeUInt15(static_cast<uint16_t>(i)), recon2CL);
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_reconstructedInterpolators[i][ch] = ParallelMath::TwosCLHalfToFloat(recon2CL[ch]) * channelWeights[ch];
+ }
+ }
+ }
+
+ void ReconstructHDRSigned(const MUInt15 &index, MSInt16* pixel) const
+ {
+ ReconstructHDRSignedUninverted(InvertSingle(index), pixel);
+ }
+
+ void ReconstructHDRUnsigned(const MUInt15 &index, MSInt16* pixel) const
+ {
+ ReconstructHDRUnsignedUninverted(InvertSingle(index), pixel);
+ }
+
+ void ConditionalInvert(ParallelMath::Int16CompFlag invert)
+ {
+ m_isInverted = invert;
+ }
+
+ MUInt15 SelectIndexHDRSlow(const MFloat* pixel, const ParallelMath::RoundTowardNearestForScope*) const
+ {
+ MUInt15 index = ParallelMath::MakeUInt15(0);
+
+ MFloat bestError = ErrorForInterpolator(0, pixel);
+ for (int i = 1; i < m_range; i++)
+ {
+ MFloat error = ErrorForInterpolator(i, pixel);
+ ParallelMath::FloatCompFlag errorBetter = ParallelMath::Less(error, bestError);
+ ParallelMath::ConditionalSet(index, ParallelMath::FloatFlagToInt16(errorBetter), ParallelMath::MakeUInt15(static_cast<uint16_t>(i)));
+ bestError = ParallelMath::Min(bestError, error);
+ }
+
+ return InvertSingle(index);
+ }
+
+ MUInt15 SelectIndexHDRFast(const MFloat* pixel, const ParallelMath::RoundTowardNearestForScope* rtn) const
+ {
+ return InvertSingle(this->SelectIndexLDR(pixel, rtn));
+ }
+
+ private:
+ MFloat m_reconstructedInterpolators[16][TVectorSize];
+ ParallelMath::Int16CompFlag m_isInverted;
+ MUInt15 m_maxValueMinusOne;
+ int m_range;
+ };
+
+ // Solve for a, b where v = a*t + b
+ // This allows endpoints to be mapped to where T=0 and T=1
+ // Least squares from totals:
+ // a = (tv - t*v/w)/(tt - t*t/w)
+ // b = (v - a*t)/w
+ template<int TVectorSize>
+ class EndpointRefiner
+ {
+ public:
+ typedef ParallelMath::Float MFloat;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::AInt16 MAInt16;
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+
+ MFloat m_tv[TVectorSize];
+ MFloat m_v[TVectorSize];
+ MFloat m_tt;
+ MFloat m_t;
+ MFloat m_w;
+ int m_wu;
+
+ float m_rcpMaxIndex;
+ float m_channelWeights[TVectorSize];
+ float m_rcpChannelWeights[TVectorSize];
+
+ void Init(int indexRange, const float channelWeights[TVectorSize])
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ m_tv[ch] = ParallelMath::MakeFloatZero();
+ m_v[ch] = ParallelMath::MakeFloatZero();
+ }
+ m_tt = ParallelMath::MakeFloatZero();
+ m_t = ParallelMath::MakeFloatZero();
+ m_w = ParallelMath::MakeFloatZero();
+
+ m_rcpMaxIndex = 1.0f / static_cast<float>(indexRange - 1);
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ m_channelWeights[ch] = channelWeights[ch];
+ m_rcpChannelWeights[ch] = 1.0f;
+ if (m_channelWeights[ch] != 0.0f)
+ m_rcpChannelWeights[ch] = 1.0f / channelWeights[ch];
+ }
+
+ m_wu = 0;
+ }
+
+ void ContributePW(const MFloat *pwFloatPixel, const MUInt15 &index, MFloat weight)
+ {
+ MFloat t = ParallelMath::ToFloat(index) * m_rcpMaxIndex;
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MFloat v = pwFloatPixel[ch] * weight;
+
+ m_tv[ch] = m_tv[ch] + t * v;
+ m_v[ch] = m_v[ch] + v;
+ }
+ m_tt = m_tt + weight * t * t;
+ m_t = m_t + weight * t;
+ m_w = m_w + weight;
+ }
+
+ void ContributeUnweightedPW(const MFloat *pwFloatPixel, const MUInt15 &index, int numRealChannels)
+ {
+ MFloat t = ParallelMath::ToFloat(index) * m_rcpMaxIndex;
+
+ for (int ch = 0; ch < numRealChannels; ch++)
+ {
+ MFloat v = pwFloatPixel[ch];
+
+ m_tv[ch] = m_tv[ch] + t * v;
+ m_v[ch] = m_v[ch] + v;
+ }
+ m_tt = m_tt + t * t;
+ m_t = m_t + t;
+ m_wu++;
+ }
+
+ void ContributeUnweightedPW(const MFloat *floatPixel, const MUInt15 &index)
+ {
+ ContributeUnweightedPW(floatPixel, index, TVectorSize);
+ }
+
+ void GetRefinedEndpoints(MFloat endPoint[2][TVectorSize])
+ {
+ // a = (tv - t*v/w)/(tt - t*t/w)
+ // b = (v - a*t)/w
+ MFloat w = m_w + ParallelMath::MakeFloat(static_cast<float>(m_wu));
+
+ ParallelMath::MakeSafeDenominator(w);
+ MFloat wRcp = ParallelMath::Reciprocal(w);
+
+ MFloat adenom = (m_tt * w - m_t * m_t) * wRcp;
+
+ ParallelMath::FloatCompFlag adenomZero = ParallelMath::Equal(adenom, ParallelMath::MakeFloatZero());
+ ParallelMath::ConditionalSet(adenom, adenomZero, ParallelMath::MakeFloat(1.0f));
+
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ /*
+ if (adenom == 0.0)
+ p1 = p2 = er.v / er.w;
+ else
+ {
+ float4 a = (er.tv - er.t*er.v / er.w) / adenom;
+ float4 b = (er.v - a * er.t) / er.w;
+ p1 = b;
+ p2 = a + b;
+ }
+ */
+
+ MFloat a = (m_tv[ch] - m_t * m_v[ch] * wRcp) / adenom;
+ MFloat b = (m_v[ch] - a * m_t) * wRcp;
+
+ MFloat p1 = b;
+ MFloat p2 = a + b;
+
+ ParallelMath::ConditionalSet(p1, adenomZero, (m_v[ch] * wRcp));
+ ParallelMath::ConditionalSet(p2, adenomZero, p1);
+
+ // Unweight
+ float inverseWeight = m_rcpChannelWeights[ch];
+
+ endPoint[0][ch] = p1 * inverseWeight;
+ endPoint[1][ch] = p2 * inverseWeight;
+ }
+ }
+
+ void GetRefinedEndpointsLDR(MUInt15 endPoint[2][TVectorSize], int numRealChannels, const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ MFloat floatEndPoint[2][TVectorSize];
+ GetRefinedEndpoints(floatEndPoint);
+
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < TVectorSize; ch++)
+ endPoint[epi][ch] = ParallelMath::RoundAndConvertToU15(ParallelMath::Clamp(floatEndPoint[epi][ch], 0.0f, 255.0f), roundingMode);
+ }
+
+ void GetRefinedEndpointsLDR(MUInt15 endPoint[2][TVectorSize], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ GetRefinedEndpointsLDR(endPoint, TVectorSize, roundingMode);
+ }
+
+ void GetRefinedEndpointsHDR(MSInt16 endPoint[2][TVectorSize], bool isSigned, const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ MFloat floatEndPoint[2][TVectorSize];
+ GetRefinedEndpoints(floatEndPoint);
+
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ {
+ MFloat f = floatEndPoint[epi][ch];
+ if (isSigned)
+ endPoint[epi][ch] = ParallelMath::LosslessCast<MSInt16>::Cast(ParallelMath::RoundAndConvertToS16(ParallelMath::Clamp(f, -31743.0f, 31743.0f), roundingMode));
+ else
+ endPoint[epi][ch] = ParallelMath::LosslessCast<MSInt16>::Cast(ParallelMath::RoundAndConvertToU15(ParallelMath::Clamp(f, 0.0f, 31743.0f), roundingMode));
+ }
+ }
+ }
+ };
+
+ template<int TVectorSize>
+ class AggregatedError
+ {
+ public:
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::UInt31 MUInt31;
+ typedef ParallelMath::Float MFloat;
+
+ AggregatedError()
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ m_errorUnweighted[ch] = ParallelMath::MakeUInt31(0);
+ }
+
+ void Add(const MUInt16 &channelErrorUnweighted, int ch)
+ {
+ m_errorUnweighted[ch] = m_errorUnweighted[ch] + ParallelMath::ToUInt31(channelErrorUnweighted);
+ }
+
+ MFloat Finalize(uint32_t flags, const float channelWeightsSq[TVectorSize]) const
+ {
+ if (flags & cvtt::Flags::Uniform)
+ {
+ MUInt31 total = m_errorUnweighted[0];
+ for (int ch = 1; ch < TVectorSize; ch++)
+ total = total + m_errorUnweighted[ch];
+ return ParallelMath::ToFloat(total);
+ }
+ else
+ {
+ MFloat total = ParallelMath::ToFloat(m_errorUnweighted[0]) * channelWeightsSq[0];
+ for (int ch = 1; ch < TVectorSize; ch++)
+ total = total + ParallelMath::ToFloat(m_errorUnweighted[ch]) * channelWeightsSq[ch];
+ return total;
+ }
+ }
+
+ private:
+ MUInt31 m_errorUnweighted[TVectorSize];
+ };
+
+ class BCCommon
+ {
+ public:
+ typedef ParallelMath::Float MFloat;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::AInt16 MAInt16;
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+
+ static int TweakRoundsForRange(int range)
+ {
+ if (range == 3)
+ return 3;
+ return 4;
+ }
+
+ template<int TVectorSize>
+ static void ComputeErrorLDR(uint32_t flags, const MUInt15 reconstructed[TVectorSize], const MUInt15 original[TVectorSize], int numRealChannels, AggregatedError<TVectorSize> &aggError)
+ {
+ for (int ch = 0; ch < numRealChannels; ch++)
+ aggError.Add(ParallelMath::SqDiffUInt8(reconstructed[ch], original[ch]), ch);
+ }
+
+ template<int TVectorSize>
+ static void ComputeErrorLDR(uint32_t flags, const MUInt15 reconstructed[TVectorSize], const MUInt15 original[TVectorSize], AggregatedError<TVectorSize> &aggError)
+ {
+ ComputeErrorLDR<TVectorSize>(flags, reconstructed, original, TVectorSize, aggError);
+ }
+
+ template<int TVectorSize>
+ static MFloat ComputeErrorLDRSimple(uint32_t flags, const MUInt15 reconstructed[TVectorSize], const MUInt15 original[TVectorSize], int numRealChannels, const float *channelWeightsSq)
+ {
+ AggregatedError<TVectorSize> aggError;
+ ComputeErrorLDR<TVectorSize>(flags, reconstructed, original, numRealChannels, aggError);
+ return aggError.Finalize(flags, channelWeightsSq);
+ }
+
+ template<int TVectorSize>
+ static MFloat ComputeErrorHDRFast(uint32_t flags, const MSInt16 reconstructed[TVectorSize], const MSInt16 original[TVectorSize], const float channelWeightsSq[TVectorSize])
+ {
+ MFloat error = ParallelMath::MakeFloatZero();
+ if (flags & Flags::Uniform)
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ error = error + ParallelMath::SqDiffSInt16(reconstructed[ch], original[ch]);
+ }
+ else
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ error = error + ParallelMath::SqDiffSInt16(reconstructed[ch], original[ch]) * ParallelMath::MakeFloat(channelWeightsSq[ch]);
+ }
+
+ return error;
+ }
+
+ template<int TVectorSize>
+ static MFloat ComputeErrorHDRSlow(uint32_t flags, const MSInt16 reconstructed[TVectorSize], const MSInt16 original[TVectorSize], const float channelWeightsSq[TVectorSize])
+ {
+ MFloat error = ParallelMath::MakeFloatZero();
+ if (flags & Flags::Uniform)
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ error = error + ParallelMath::SqDiff2CL(reconstructed[ch], original[ch]);
+ }
+ else
+ {
+ for (int ch = 0; ch < TVectorSize; ch++)
+ error = error + ParallelMath::SqDiff2CL(reconstructed[ch], original[ch]) * ParallelMath::MakeFloat(channelWeightsSq[ch]);
+ }
+
+ return error;
+ }
+
+ template<int TChannelCount>
+ static void PreWeightPixelsLDR(MFloat preWeightedPixels[16][TChannelCount], const MUInt15 pixels[16][TChannelCount], const float channelWeights[TChannelCount])
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < TChannelCount; ch++)
+ preWeightedPixels[px][ch] = ParallelMath::ToFloat(pixels[px][ch]) * channelWeights[ch];
+ }
+ }
+
+ template<int TChannelCount>
+ static void PreWeightPixelsHDR(MFloat preWeightedPixels[16][TChannelCount], const MSInt16 pixels[16][TChannelCount], const float channelWeights[TChannelCount])
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < TChannelCount; ch++)
+ preWeightedPixels[px][ch] = ParallelMath::ToFloat(pixels[px][ch]) * channelWeights[ch];
+ }
+ }
+ };
+
+ class BC7Computer
+ {
+ public:
+ static const int MaxTweakRounds = 4;
+
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+ typedef ParallelMath::Float MFloat;
+
+ struct WorkInfo
+ {
+ MUInt15 m_mode;
+ MFloat m_error;
+ MUInt15 m_ep[3][2][4];
+ MUInt15 m_indexes[16];
+ MUInt15 m_indexes2[16];
+
+ union
+ {
+ MUInt15 m_partition;
+ struct IndexSelectorAndRotation
+ {
+ MUInt15 m_indexSelector;
+ MUInt15 m_rotation;
+ } m_isr;
+ } m_u;
+ };
+
+ static void TweakAlpha(const MUInt15 original[2], int tweak, int range, MUInt15 result[2])
+ {
+ ParallelMath::RoundTowardNearestForScope roundingMode;
+
+ float tf[2];
+ ComputeTweakFactors2(tweak, range, tf);
+
+ MFloat base = ParallelMath::ToFloat(original[0]);
+ MFloat offs = ParallelMath::ToFloat(original[1]) - base;
+
+ result[0] = ParallelMath::RoundAndConvertToU15(ParallelMath::Clamp(base + offs * tf[0], 0.0f, 255.0f), &roundingMode);
+ result[1] = ParallelMath::RoundAndConvertToU15(ParallelMath::Clamp(base + offs * tf[1], 0.0f, 255.0f), &roundingMode);
+ }
+
+ static void Quantize(MUInt15* color, int bits, int channels, const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ float maxColor = static_cast<float>((1 << bits) - 1);
+
+ for (int i = 0; i < channels; i++)
+ color[i] = ParallelMath::RoundAndConvertToU15(ParallelMath::Clamp(ParallelMath::ToFloat(color[i]) * ParallelMath::MakeFloat(1.0f / 255.0f) * maxColor, 0.f, 255.f), roundingMode);
+ }
+
+ static void QuantizeP(MUInt15* color, int bits, uint16_t p, int channels, const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ uint16_t pShift = static_cast<uint16_t>(1 << (7 - bits));
+ MUInt15 pShiftV = ParallelMath::MakeUInt15(pShift);
+
+ float maxColorF = static_cast<float>(255 - (1 << (7 - bits)));
+
+ float maxQuantized = static_cast<float>((1 << bits) - 1);
+
+ for (int ch = 0; ch < channels; ch++)
+ {
+ MUInt15 clr = color[ch];
+ if (p)
+ clr = ParallelMath::Max(clr, pShiftV) - pShiftV;
+
+ MFloat rerangedColor = ParallelMath::ToFloat(clr) * maxQuantized / maxColorF;
+
+ clr = ParallelMath::RoundAndConvertToU15(ParallelMath::Clamp(rerangedColor, 0.0f, maxQuantized), roundingMode) << 1;
+ if (p)
+ clr = clr | ParallelMath::MakeUInt15(1);
+
+ color[ch] = clr;
+ }
+ }
+
+ static void Unquantize(MUInt15* color, int bits, int channels)
+ {
+ for (int ch = 0; ch < channels; ch++)
+ {
+ MUInt15 clr = color[ch];
+ clr = clr << (8 - bits);
+ color[ch] = clr | ParallelMath::RightShift(clr, bits);
+ }
+ }
+
+ static void CompressEndpoints0(MUInt15 ep[2][4], uint16_t p[2], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ {
+ QuantizeP(ep[j], 4, p[j], 3, roundingMode);
+ Unquantize(ep[j], 5, 3);
+ ep[j][3] = ParallelMath::MakeUInt15(255);
+ }
+ }
+
+ static void CompressEndpoints1(MUInt15 ep[2][4], uint16_t p, const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ {
+ QuantizeP(ep[j], 6, p, 3, roundingMode);
+ Unquantize(ep[j], 7, 3);
+ ep[j][3] = ParallelMath::MakeUInt15(255);
+ }
+ }
+
+ static void CompressEndpoints2(MUInt15 ep[2][4], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ {
+ Quantize(ep[j], 5, 3, roundingMode);
+ Unquantize(ep[j], 5, 3);
+ ep[j][3] = ParallelMath::MakeUInt15(255);
+ }
+ }
+
+ static void CompressEndpoints3(MUInt15 ep[2][4], uint16_t p[2], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ {
+ QuantizeP(ep[j], 7, p[j], 3, roundingMode);
+ ep[j][3] = ParallelMath::MakeUInt15(255);
+ }
+ }
+
+ static void CompressEndpoints4(MUInt15 epRGB[2][3], MUInt15 epA[2], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ {
+ Quantize(epRGB[j], 5, 3, roundingMode);
+ Unquantize(epRGB[j], 5, 3);
+
+ Quantize(epA + j, 6, 1, roundingMode);
+ Unquantize(epA + j, 6, 1);
+ }
+ }
+
+ static void CompressEndpoints5(MUInt15 epRGB[2][3], MUInt15 epA[2], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ {
+ Quantize(epRGB[j], 7, 3, roundingMode);
+ Unquantize(epRGB[j], 7, 3);
+ }
+
+ // Alpha is full precision
+ (void)epA;
+ }
+
+ static void CompressEndpoints6(MUInt15 ep[2][4], uint16_t p[2], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ QuantizeP(ep[j], 7, p[j], 4, roundingMode);
+ }
+
+ static void CompressEndpoints7(MUInt15 ep[2][4], uint16_t p[2], const ParallelMath::RoundTowardNearestForScope *roundingMode)
+ {
+ for (int j = 0; j < 2; j++)
+ {
+ QuantizeP(ep[j], 5, p[j], 4, roundingMode);
+ Unquantize(ep[j], 6, 4);
+ }
+ }
+
+ struct SinglePlaneTemporaries
+ {
+ UnfinishedEndpoints<3> unfinishedRGB[BC7Data::g_numShapesAll];
+ UnfinishedEndpoints<4> unfinishedRGBA[BC7Data::g_numShapes12];
+
+ MUInt15 fragmentBestIndexes[BC7Data::g_numFragments];
+ MUInt15 shapeBestEP[BC7Data::g_maxFragmentsPerMode][2][4];
+ MFloat shapeBestError[BC7Data::g_maxFragmentsPerMode];
+ };
+
+ static void TrySingleColorRGBAMultiTable(uint32_t flags, const MUInt15 pixels[16][4], const MFloat average[4], int numRealChannels, const uint8_t *fragmentStart, int shapeLength, const MFloat &staticAlphaError, const ParallelMath::Int16CompFlag punchThroughInvalid[4], MFloat& shapeBestError, MUInt15 shapeBestEP[2][4], MUInt15 *fragmentBestIndexes, const float *channelWeightsSq, const cvtt::Tables::BC7SC::Table*const* tables, int numTables, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ MFloat bestAverageError = ParallelMath::MakeFloat(FLT_MAX);
+
+ MUInt15 intAverage[4];
+ for (int ch = 0; ch < 4; ch++)
+ intAverage[ch] = ParallelMath::RoundAndConvertToU15(average[ch], rtn);
+
+ MUInt15 eps[2][4];
+ MUInt15 reconstructed[4];
+ MUInt15 index = ParallelMath::MakeUInt15(0);
+
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ eps[epi][ch] = ParallelMath::MakeUInt15(0);
+ eps[epi][3] = ParallelMath::MakeUInt15(255);
+ }
+
+ for (int ch = 0; ch < 3; ch++)
+ reconstructed[ch] = ParallelMath::MakeUInt15(0);
+ reconstructed[3] = ParallelMath::MakeUInt15(255);
+
+ // Depending on the target index and parity bits, there are multiple valid solid colors.
+ // We want to find the one closest to the actual average.
+ MFloat epsAverageDiff = ParallelMath::MakeFloat(FLT_MAX);
+ for (int t = 0; t < numTables; t++)
+ {
+ const cvtt::Tables::BC7SC::Table& table = *(tables[t]);
+
+ ParallelMath::Int16CompFlag pti = punchThroughInvalid[table.m_pBits];
+
+ MUInt15 candidateReconstructed[4];
+ MUInt15 candidateEPs[2][4];
+
+ for (int i = 0; i < ParallelMath::ParallelSize; i++)
+ {
+ for (int ch = 0; ch < numRealChannels; ch++)
+ {
+ ParallelMath::ScalarUInt16 avgValue = ParallelMath::Extract(intAverage[ch], i);
+ assert(avgValue >= 0 && avgValue <= 255);
+
+ const cvtt::Tables::BC7SC::TableEntry &entry = table.m_entries[avgValue];
+
+ ParallelMath::PutUInt15(candidateEPs[0][ch], i, entry.m_min);
+ ParallelMath::PutUInt15(candidateEPs[1][ch], i, entry.m_max);
+ ParallelMath::PutUInt15(candidateReconstructed[ch], i, entry.m_actualColor);
+ }
+ }
+
+ MFloat avgError = ParallelMath::MakeFloatZero();
+ for (int ch = 0; ch < numRealChannels; ch++)
+ {
+ MFloat delta = ParallelMath::ToFloat(candidateReconstructed[ch]) - average[ch];
+ avgError = avgError + delta * delta * channelWeightsSq[ch];
+ }
+
+ ParallelMath::Int16CompFlag better = ParallelMath::FloatFlagToInt16(ParallelMath::Less(avgError, bestAverageError));
+ better = ParallelMath::AndNot(pti, better); // Mask out punch-through invalidations
+
+ if (ParallelMath::AnySet(better))
+ {
+ ParallelMath::ConditionalSet(bestAverageError, ParallelMath::Int16FlagToFloat(better), avgError);
+
+ MUInt15 candidateIndex = ParallelMath::MakeUInt15(table.m_index);
+
+ ParallelMath::ConditionalSet(index, better, candidateIndex);
+
+ for (int ch = 0; ch < numRealChannels; ch++)
+ ParallelMath::ConditionalSet(reconstructed[ch], better, candidateReconstructed[ch]);
+
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < numRealChannels; ch++)
+ ParallelMath::ConditionalSet(eps[epi][ch], better, candidateEPs[epi][ch]);
+ }
+ }
+
+ AggregatedError<4> aggError;
+ for (int pxi = 0; pxi < shapeLength; pxi++)
+ {
+ int px = fragmentStart[pxi];
+
+ BCCommon::ComputeErrorLDR<4>(flags, reconstructed, pixels[px], numRealChannels, aggError);
+ }
+
+ MFloat error = aggError.Finalize(flags, channelWeightsSq) + staticAlphaError;
+
+ ParallelMath::Int16CompFlag better = ParallelMath::FloatFlagToInt16(ParallelMath::Less(error, shapeBestError));
+ if (ParallelMath::AnySet(better))
+ {
+ shapeBestError = ParallelMath::Min(shapeBestError, error);
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < numRealChannels; ch++)
+ ParallelMath::ConditionalSet(shapeBestEP[epi][ch], better, eps[epi][ch]);
+ }
+
+ for (int pxi = 0; pxi < shapeLength; pxi++)
+ ParallelMath::ConditionalSet(fragmentBestIndexes[pxi], better, index);
+ }
+ }
+
+
+ static void TrySinglePlane(uint32_t flags, const MUInt15 pixels[16][4], const MFloat floatPixels[16][4], const float channelWeights[4], int numTweakRounds, int numRefineRounds, WorkInfo& work, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ if (numRefineRounds < 1)
+ numRefineRounds = 1;
+
+ if (numTweakRounds < 1)
+ numTweakRounds = 1;
+ else if (numTweakRounds > MaxTweakRounds)
+ numTweakRounds = MaxTweakRounds;
+
+ float channelWeightsSq[4];
+
+ for (int ch = 0; ch < 4; ch++)
+ channelWeightsSq[ch] = channelWeights[ch] * channelWeights[ch];
+
+ SinglePlaneTemporaries temps;
+
+ MUInt15 maxAlpha = ParallelMath::MakeUInt15(0);
+ MUInt15 minAlpha = ParallelMath::MakeUInt15(255);
+ ParallelMath::Int16CompFlag isPunchThrough = ParallelMath::MakeBoolInt16(true);
+ for (int px = 0; px < 16; px++)
+ {
+ MUInt15 a = pixels[px][3];
+ maxAlpha = ParallelMath::Max(maxAlpha, a);
+ minAlpha = ParallelMath::Min(minAlpha, a);
+
+ isPunchThrough = (isPunchThrough & (ParallelMath::Equal(a, ParallelMath::MakeUInt15(0)) | ParallelMath::Equal(a, ParallelMath::MakeUInt15(255))));
+ }
+
+ ParallelMath::Int16CompFlag blockHasNonMaxAlpha = ParallelMath::Less(minAlpha, ParallelMath::MakeUInt15(255));
+ ParallelMath::Int16CompFlag blockHasNonZeroAlpha = ParallelMath::Less(ParallelMath::MakeUInt15(0), maxAlpha);
+
+ bool anyBlockHasAlpha = ParallelMath::AnySet(blockHasNonMaxAlpha);
+
+ // Try RGB modes if any block has a min alpha 251 or higher
+ bool allowRGBModes = ParallelMath::AnySet(ParallelMath::Less(ParallelMath::MakeUInt15(250), minAlpha));
+
+ // Try mode 7 if any block has alpha.
+ // Mode 7 is almost never selected for RGB blocks because mode 4 has very accurate 7.7.7.1 endpoints
+ // and its parity bit doesn't affect alpha, meaning mode 7 can only be better in extremely specific
+ // situations, and only by at most 1 unit of error per pixel.
+ bool allowMode7 = anyBlockHasAlpha;
+
+ MFloat preWeightedPixels[16][4];
+
+ BCCommon::PreWeightPixelsLDR<4>(preWeightedPixels, pixels, channelWeights);
+
+ const int *rgbInitialEPCollapseList = NULL;
+
+ // Get initial RGB endpoints
+ if (allowRGBModes)
+ {
+ const int *shapeList;
+ int numShapesToEvaluate;
+
+ if (flags & Flags::BC7_EnablePartitioning)
+ {
+ if (flags & Flags::BC7_Enable3Subsets)
+ {
+ shapeList = BC7Data::g_shapeListAll;
+ rgbInitialEPCollapseList = BC7Data::g_shapeListAll;
+ numShapesToEvaluate = BC7Data::g_numShapesAll;
+ }
+ else
+ {
+ shapeList = BC7Data::g_shapeList12;
+ rgbInitialEPCollapseList = BC7Data::g_shapeList12Collapse;
+ numShapesToEvaluate = BC7Data::g_numShapes12;
+ }
+ }
+ else
+ {
+ shapeList = BC7Data::g_shapeList1;
+ rgbInitialEPCollapseList = BC7Data::g_shapeList1Collapse;
+ numShapesToEvaluate = BC7Data::g_numShapes1;
+ }
+
+ for (int shapeIter = 0; shapeIter < numShapesToEvaluate; shapeIter++)
+ {
+ int shape = shapeList[shapeIter];
+
+ int shapeStart = BC7Data::g_shapeRanges[shape][0];
+ int shapeSize = BC7Data::g_shapeRanges[shape][1];
+
+ EndpointSelector<3, 8> epSelector;
+
+ for (int epPass = 0; epPass < NumEndpointSelectorPasses; epPass++)
+ {
+ for (int spx = 0; spx < shapeSize; spx++)
+ {
+ int px = BC7Data::g_fragments[shapeStart + spx];
+ epSelector.ContributePass(preWeightedPixels[px], epPass, ParallelMath::MakeFloat(1.0f));
+ }
+ epSelector.FinishPass(epPass);
+ }
+ temps.unfinishedRGB[shapeIter] = epSelector.GetEndpoints(channelWeights);
+ }
+ }
+
+ const int *rgbaInitialEPCollapseList = BC7Data::g_shapeList12Collapse;
+
+ // Get initial RGBA endpoints
+ {
+ const int *shapeList = BC7Data::g_shapeList12;
+ int numShapesToEvaluate = BC7Data::g_numShapes12;
+
+ for (int shapeIter = 0; shapeIter < numShapesToEvaluate; shapeIter++)
+ {
+ int shape = shapeList[shapeIter];
+
+ if (anyBlockHasAlpha || !allowRGBModes)
+ {
+ int shapeStart = BC7Data::g_shapeRanges[shape][0];
+ int shapeSize = BC7Data::g_shapeRanges[shape][1];
+
+ EndpointSelector<4, 8> epSelector;
+
+ for (int epPass = 0; epPass < NumEndpointSelectorPasses; epPass++)
+ {
+ for (int spx = 0; spx < shapeSize; spx++)
+ {
+ int px = BC7Data::g_fragments[shapeStart + spx];
+ epSelector.ContributePass(preWeightedPixels[px], epPass, ParallelMath::MakeFloat(1.0f));
+ }
+ epSelector.FinishPass(epPass);
+ }
+ temps.unfinishedRGBA[shapeIter] = epSelector.GetEndpoints(channelWeights);
+ }
+ else
+ {
+ temps.unfinishedRGBA[shapeIter] = temps.unfinishedRGB[rgbInitialEPCollapseList[shape]].ExpandTo<4>(255);
+ }
+ }
+ }
+
+ for (uint16_t mode = 0; mode <= 7; mode++)
+ {
+ if (!(flags & Flags::BC7_EnablePartitioning) && BC7Data::g_modes[mode].m_numSubsets != 1)
+ continue;
+
+ if (!(flags & Flags::BC7_Enable3Subsets) && BC7Data::g_modes[mode].m_numSubsets == 3)
+ continue;
+
+ if (mode == 4 || mode == 5)
+ continue;
+
+ if (mode < 4 && !allowRGBModes)
+ continue;
+
+ if (mode == 7 && !allowMode7)
+ continue;
+
+ bool isRGB = (mode < 4);
+
+ unsigned int numPartitions = 1 << BC7Data::g_modes[mode].m_partitionBits;
+ int numSubsets = BC7Data::g_modes[mode].m_numSubsets;
+ int indexPrec = BC7Data::g_modes[mode].m_indexBits;
+
+ int parityBitMax = 1;
+ if (BC7Data::g_modes[mode].m_pBitMode == BC7Data::PBitMode_PerEndpoint)
+ parityBitMax = 4;
+ else if (BC7Data::g_modes[mode].m_pBitMode == BC7Data::PBitMode_PerSubset)
+ parityBitMax = 2;
+
+ int numRealChannels = isRGB ? 3 : 4;
+
+ int numShapes;
+ const int *shapeList;
+ const int *shapeCollapseList;
+
+ if (numSubsets == 1)
+ {
+ numShapes = BC7Data::g_numShapes1;
+ shapeList = BC7Data::g_shapeList1;
+ shapeCollapseList = BC7Data::g_shapeList1Collapse;
+ }
+ else if (numSubsets == 2)
+ {
+ numShapes = BC7Data::g_numShapes2;
+ shapeList = BC7Data::g_shapeList2;
+ shapeCollapseList = BC7Data::g_shapeList2Collapse;
+ }
+ else
+ {
+ assert(numSubsets == 3);
+ if (numPartitions == 16)
+ {
+ numShapes = BC7Data::g_numShapes3Short;
+ shapeList = BC7Data::g_shapeList3Short;
+ shapeCollapseList = BC7Data::g_shapeList3ShortCollapse;
+ }
+ else
+ {
+ assert(numPartitions == 64);
+ numShapes = BC7Data::g_numShapes3;
+ shapeList = BC7Data::g_shapeList3;
+ shapeCollapseList = BC7Data::g_shapeList3Collapse;
+ }
+ }
+
+ for (int slot = 0; slot < BC7Data::g_maxFragmentsPerMode; slot++)
+ temps.shapeBestError[slot] = ParallelMath::MakeFloat(FLT_MAX);
+
+ for (int shapeIter = 0; shapeIter < numShapes; shapeIter++)
+ {
+ int shape = shapeList[shapeIter];
+ int shapeStart = BC7Data::g_shapeRanges[shape][0];
+ int shapeLength = BC7Data::g_shapeRanges[shape][1];
+ int shapeCollapsedEvalIndex = shapeCollapseList[shape];
+
+ AggregatedError<1> alphaAggError;
+ if (isRGB && anyBlockHasAlpha)
+ {
+ MUInt15 filledAlpha[1] = { ParallelMath::MakeUInt15(255) };
+
+ for (int pxi = 0; pxi < shapeLength; pxi++)
+ {
+ int px = BC7Data::g_fragments[shapeStart + pxi];
+ MUInt15 original[1] = { pixels[px][3] };
+ BCCommon::ComputeErrorLDR<1>(flags, filledAlpha, original, alphaAggError);
+ }
+ }
+
+ float alphaWeightsSq[1] = { channelWeightsSq[3] };
+ MFloat staticAlphaError = alphaAggError.Finalize(flags, alphaWeightsSq);
+
+ assert(shapeCollapsedEvalIndex >= 0);
+
+ MUInt15 tweakBaseEP[MaxTweakRounds][2][4];
+
+ for (int tweak = 0; tweak < numTweakRounds; tweak++)
+ {
+ if (isRGB)
+ {
+ temps.unfinishedRGB[rgbInitialEPCollapseList[shape]].FinishLDR(tweak, 1 << indexPrec, tweakBaseEP[tweak][0], tweakBaseEP[tweak][1]);
+ tweakBaseEP[tweak][0][3] = tweakBaseEP[tweak][1][3] = ParallelMath::MakeUInt15(255);
+ }
+ else
+ {
+ temps.unfinishedRGBA[rgbaInitialEPCollapseList[shape]].FinishLDR(tweak, 1 << indexPrec, tweakBaseEP[tweak][0], tweakBaseEP[tweak][1]);
+ }
+ }
+
+ ParallelMath::Int16CompFlag punchThroughInvalid[4];
+ for (int pIter = 0; pIter < parityBitMax; pIter++)
+ {
+ punchThroughInvalid[pIter] = ParallelMath::MakeBoolInt16(false);
+
+ if ((flags & Flags::BC7_RespectPunchThrough) && (mode == 6 || mode == 7))
+ {
+ // Modes 6 and 7 have parity bits that affect alpha
+ if (pIter == 0)
+ punchThroughInvalid[pIter] = (isPunchThrough & blockHasNonZeroAlpha);
+ else if (pIter == parityBitMax - 1)
+ punchThroughInvalid[pIter] = (isPunchThrough & blockHasNonMaxAlpha);
+ else
+ punchThroughInvalid[pIter] = isPunchThrough;
+ }
+ }
+
+ for (int pIter = 0; pIter < parityBitMax; pIter++)
+ {
+ if (ParallelMath::AllSet(punchThroughInvalid[pIter]))
+ continue;
+
+ bool needPunchThroughCheck = ParallelMath::AnySet(punchThroughInvalid[pIter]);
+
+ for (int tweak = 0; tweak < numTweakRounds; tweak++)
+ {
+ uint16_t p[2];
+ p[0] = (pIter & 1);
+ p[1] = ((pIter >> 1) & 1);
+
+ MUInt15 ep[2][4];
+
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < 4; ch++)
+ ep[epi][ch] = tweakBaseEP[tweak][epi][ch];
+
+ for (int refine = 0; refine < numRefineRounds; refine++)
+ {
+ switch (mode)
+ {
+ case 0:
+ CompressEndpoints0(ep, p, rtn);
+ break;
+ case 1:
+ CompressEndpoints1(ep, p[0], rtn);
+ break;
+ case 2:
+ CompressEndpoints2(ep, rtn);
+ break;
+ case 3:
+ CompressEndpoints3(ep, p, rtn);
+ break;
+ case 6:
+ CompressEndpoints6(ep, p, rtn);
+ break;
+ case 7:
+ CompressEndpoints7(ep, p, rtn);
+ break;
+ default:
+ assert(false);
+ break;
+ };
+
+ MFloat shapeError = ParallelMath::MakeFloatZero();
+
+ IndexSelector<4> indexSelector;
+ indexSelector.Init<false>(channelWeights, ep, 1 << indexPrec);
+
+ EndpointRefiner<4> epRefiner;
+ epRefiner.Init(1 << indexPrec, channelWeights);
+
+ MUInt15 indexes[16];
+
+ AggregatedError<4> aggError;
+ for (int pxi = 0; pxi < shapeLength; pxi++)
+ {
+ int px = BC7Data::g_fragments[shapeStart + pxi];
+
+ MUInt15 index;
+ MUInt15 reconstructed[4];
+
+ index = indexSelector.SelectIndexLDR(floatPixels[px], rtn);
+ indexSelector.ReconstructLDR_BC7(index, reconstructed, numRealChannels);
+
+ if (flags & cvtt::Flags::BC7_FastIndexing)
+ BCCommon::ComputeErrorLDR<4>(flags, reconstructed, pixels[px], numRealChannels, aggError);
+ else
+ {
+ MFloat error = BCCommon::ComputeErrorLDRSimple<4>(flags, reconstructed, pixels[px], numRealChannels, channelWeightsSq);
+
+ MUInt15 altIndexes[2];
+ altIndexes[0] = ParallelMath::Max(index, ParallelMath::MakeUInt15(1)) - ParallelMath::MakeUInt15(1);
+ altIndexes[1] = ParallelMath::Min(index + ParallelMath::MakeUInt15(1), ParallelMath::MakeUInt15(static_cast<uint16_t>((1 << indexPrec) - 1)));
+
+ for (int ii = 0; ii < 2; ii++)
+ {
+ indexSelector.ReconstructLDR_BC7(altIndexes[ii], reconstructed, numRealChannels);
+
+ MFloat altError = BCCommon::ComputeErrorLDRSimple<4>(flags, reconstructed, pixels[px], numRealChannels, channelWeightsSq);
+ ParallelMath::Int16CompFlag better = ParallelMath::FloatFlagToInt16(ParallelMath::Less(altError, error));
+ error = ParallelMath::Min(error, altError);
+ ParallelMath::ConditionalSet(index, better, altIndexes[ii]);
+ }
+
+ shapeError = shapeError + error;
+ }
+
+ if (refine != numRefineRounds - 1)
+ epRefiner.ContributeUnweightedPW(preWeightedPixels[px], index, numRealChannels);
+
+ indexes[pxi] = index;
+ }
+
+ if (flags & cvtt::Flags::BC7_FastIndexing)
+ shapeError = aggError.Finalize(flags, channelWeightsSq);
+
+ if (isRGB)
+ shapeError = shapeError + staticAlphaError;
+
+ ParallelMath::FloatCompFlag shapeErrorBetter;
+ ParallelMath::Int16CompFlag shapeErrorBetter16;
+
+ shapeErrorBetter = ParallelMath::Less(shapeError, temps.shapeBestError[shapeCollapsedEvalIndex]);
+ shapeErrorBetter16 = ParallelMath::FloatFlagToInt16(shapeErrorBetter);
+
+ if (ParallelMath::AnySet(shapeErrorBetter16))
+ {
+ bool punchThroughOK = true;
+ if (needPunchThroughCheck)
+ {
+ shapeErrorBetter16 = ParallelMath::AndNot(punchThroughInvalid[pIter], shapeErrorBetter16);
+ shapeErrorBetter = ParallelMath::Int16FlagToFloat(shapeErrorBetter16);
+
+ if (!ParallelMath::AnySet(shapeErrorBetter16))
+ punchThroughOK = false;
+ }
+
+ if (punchThroughOK)
+ {
+ ParallelMath::ConditionalSet(temps.shapeBestError[shapeCollapsedEvalIndex], shapeErrorBetter, shapeError);
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < numRealChannels; ch++)
+ ParallelMath::ConditionalSet(temps.shapeBestEP[shapeCollapsedEvalIndex][epi][ch], shapeErrorBetter16, ep[epi][ch]);
+
+ for (int pxi = 0; pxi < shapeLength; pxi++)
+ ParallelMath::ConditionalSet(temps.fragmentBestIndexes[shapeStart + pxi], shapeErrorBetter16, indexes[pxi]);
+ }
+ }
+
+ if (refine != numRefineRounds - 1)
+ epRefiner.GetRefinedEndpointsLDR(ep, numRealChannels, rtn);
+ } // refine
+ } // tweak
+ } // p
+
+ if (flags & cvtt::Flags::BC7_TrySingleColor)
+ {
+ MUInt15 total[4];
+ for (int ch = 0; ch < 4; ch++)
+ total[ch] = ParallelMath::MakeUInt15(0);
+
+ for (int pxi = 0; pxi < shapeLength; pxi++)
+ {
+ int px = BC7Data::g_fragments[shapeStart + pxi];
+ for (int ch = 0; ch < 4; ch++)
+ total[ch] = total[ch] + pixels[pxi][ch];
+ }
+
+ MFloat rcpShapeLength = ParallelMath::MakeFloat(1.0f / static_cast<float>(shapeLength));
+ MFloat average[4];
+ for (int ch = 0; ch < 4; ch++)
+ average[ch] = ParallelMath::ToFloat(total[ch]) * rcpShapeLength;
+
+ const uint8_t *fragment = BC7Data::g_fragments + shapeStart;
+ MFloat &shapeBestError = temps.shapeBestError[shapeCollapsedEvalIndex];
+ MUInt15(&shapeBestEP)[2][4] = temps.shapeBestEP[shapeCollapsedEvalIndex];
+ MUInt15 *fragmentBestIndexes = temps.fragmentBestIndexes + shapeStart;
+
+ const cvtt::Tables::BC7SC::Table **scTables = NULL;
+ int numSCTables = 0;
+
+ switch (mode)
+ {
+ case 0:
+ {
+ const cvtt::Tables::BC7SC::Table *tables[] =
+ {
+ &cvtt::Tables::BC7SC::g_mode0_p00_i1,
+ &cvtt::Tables::BC7SC::g_mode0_p00_i2,
+ &cvtt::Tables::BC7SC::g_mode0_p00_i3,
+ &cvtt::Tables::BC7SC::g_mode0_p01_i1,
+ &cvtt::Tables::BC7SC::g_mode0_p01_i2,
+ &cvtt::Tables::BC7SC::g_mode0_p01_i3,
+ &cvtt::Tables::BC7SC::g_mode0_p10_i1,
+ &cvtt::Tables::BC7SC::g_mode0_p10_i2,
+ &cvtt::Tables::BC7SC::g_mode0_p10_i3,
+ &cvtt::Tables::BC7SC::g_mode0_p11_i1,
+ &cvtt::Tables::BC7SC::g_mode0_p11_i2,
+ &cvtt::Tables::BC7SC::g_mode0_p11_i3,
+ };
+ scTables = tables;
+ numSCTables = sizeof(tables) / sizeof(tables[0]);
+ }
+ break;
+ case 1:
+ {
+ const cvtt::Tables::BC7SC::Table *tables[] =
+ {
+ &cvtt::Tables::BC7SC::g_mode1_p0_i1,
+ &cvtt::Tables::BC7SC::g_mode1_p0_i2,
+ &cvtt::Tables::BC7SC::g_mode1_p0_i3,
+ &cvtt::Tables::BC7SC::g_mode1_p1_i1,
+ &cvtt::Tables::BC7SC::g_mode1_p1_i2,
+ &cvtt::Tables::BC7SC::g_mode1_p1_i3,
+ };
+ scTables = tables;
+ numSCTables = sizeof(tables) / sizeof(tables[0]);
+ }
+ break;
+ case 2:
+ {
+ const cvtt::Tables::BC7SC::Table *tables[] =
+ {
+ &cvtt::Tables::BC7SC::g_mode2,
+ };
+ scTables = tables;
+ numSCTables = sizeof(tables) / sizeof(tables[0]);
+ }
+ break;
+ case 3:
+ {
+ const cvtt::Tables::BC7SC::Table *tables[] =
+ {
+ &cvtt::Tables::BC7SC::g_mode3_p0,
+ &cvtt::Tables::BC7SC::g_mode3_p1,
+ };
+ scTables = tables;
+ numSCTables = sizeof(tables) / sizeof(tables[0]);
+ }
+ break;
+ case 6:
+ {
+ const cvtt::Tables::BC7SC::Table *tables[] =
+ {
+ &cvtt::Tables::BC7SC::g_mode6_p0_i1,
+ &cvtt::Tables::BC7SC::g_mode6_p0_i2,
+ &cvtt::Tables::BC7SC::g_mode6_p0_i3,
+ &cvtt::Tables::BC7SC::g_mode6_p0_i4,
+ &cvtt::Tables::BC7SC::g_mode6_p0_i5,
+ &cvtt::Tables::BC7SC::g_mode6_p0_i6,
+ &cvtt::Tables::BC7SC::g_mode6_p0_i7,
+ &cvtt::Tables::BC7SC::g_mode6_p1_i1,
+ &cvtt::Tables::BC7SC::g_mode6_p1_i2,
+ &cvtt::Tables::BC7SC::g_mode6_p1_i3,
+ &cvtt::Tables::BC7SC::g_mode6_p1_i4,
+ &cvtt::Tables::BC7SC::g_mode6_p1_i5,
+ &cvtt::Tables::BC7SC::g_mode6_p1_i6,
+ &cvtt::Tables::BC7SC::g_mode6_p1_i7,
+ };
+ scTables = tables;
+ numSCTables = sizeof(tables) / sizeof(tables[0]);
+ }
+ break;
+ case 7:
+ {
+ const cvtt::Tables::BC7SC::Table *tables[] =
+ {
+ &cvtt::Tables::BC7SC::g_mode7_p00,
+ &cvtt::Tables::BC7SC::g_mode7_p01,
+ &cvtt::Tables::BC7SC::g_mode7_p10,
+ &cvtt::Tables::BC7SC::g_mode7_p11,
+ };
+ scTables = tables;
+ numSCTables = sizeof(tables) / sizeof(tables[0]);
+ }
+ break;
+ default:
+ assert(false);
+ break;
+ }
+
+ TrySingleColorRGBAMultiTable(flags, pixels, average, numRealChannels, fragment, shapeLength, staticAlphaError, punchThroughInvalid, shapeBestError, shapeBestEP, fragmentBestIndexes, channelWeightsSq, scTables, numSCTables, rtn);
+ }
+ } // shapeIter
+
+ for (uint16_t partition = 0; partition < numPartitions; partition++)
+ {
+ const int *partitionShapes;
+ if (numSubsets == 1)
+ partitionShapes = BC7Data::g_shapes1[partition];
+ else if (numSubsets == 2)
+ partitionShapes = BC7Data::g_shapes2[partition];
+ else
+ {
+ assert(numSubsets == 3);
+ partitionShapes = BC7Data::g_shapes3[partition];
+ }
+
+ MFloat totalError = ParallelMath::MakeFloatZero();
+ for (int subset = 0; subset < numSubsets; subset++)
+ totalError = totalError + temps.shapeBestError[shapeCollapseList[partitionShapes[subset]]];
+
+ ParallelMath::FloatCompFlag errorBetter = ParallelMath::Less(totalError, work.m_error);
+ ParallelMath::Int16CompFlag errorBetter16 = ParallelMath::FloatFlagToInt16(errorBetter);
+
+ if (ParallelMath::AnySet(errorBetter16))
+ {
+ for (int subset = 0; subset < numSubsets; subset++)
+ {
+ int shape = partitionShapes[subset];
+ int shapeStart = BC7Data::g_shapeRanges[shape][0];
+ int shapeLength = BC7Data::g_shapeRanges[shape][1];
+ int shapeCollapsedEvalIndex = shapeCollapseList[shape];
+
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < 4; ch++)
+ ParallelMath::ConditionalSet(work.m_ep[subset][epi][ch], errorBetter16, temps.shapeBestEP[shapeCollapsedEvalIndex][epi][ch]);
+
+ for (int pxi = 0; pxi < shapeLength; pxi++)
+ {
+ int px = BC7Data::g_fragments[shapeStart + pxi];
+ ParallelMath::ConditionalSet(work.m_indexes[px], errorBetter16, temps.fragmentBestIndexes[shapeStart + pxi]);
+ }
+ }
+
+ work.m_error = ParallelMath::Min(totalError, work.m_error);
+ ParallelMath::ConditionalSet(work.m_mode, errorBetter16, ParallelMath::MakeUInt15(mode));
+ ParallelMath::ConditionalSet(work.m_u.m_partition, errorBetter16, ParallelMath::MakeUInt15(partition));
+ }
+ }
+ }
+ }
+
+ static void TryDualPlane(uint32_t flags, const MUInt15 pixels[16][4], const MFloat floatPixels[16][4], const float channelWeights[4], int numTweakRounds, int numRefineRounds, WorkInfo& work, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ // TODO: These error calculations are not optimal for weight-by-alpha, but this routine needs to be mostly rewritten for that.
+ // The alpha/color solutions are co-dependent in that case, but a good way to solve it would probably be to
+ // solve the alpha channel first, then solve the RGB channels, which in turn breaks down into two cases:
+ // - Separate alpha channel, then weighted RGB
+ // - Alpha+2 other channels, then the independent channel
+
+ if (!(flags & Flags::BC7_EnableDualPlane))
+ return;
+
+ if (numRefineRounds < 1)
+ numRefineRounds = 1;
+
+ if (numTweakRounds < 1)
+ numTweakRounds = 1;
+ else if (numTweakRounds > MaxTweakRounds)
+ numTweakRounds = MaxTweakRounds;
+
+ float channelWeightsSq[4];
+ for (int ch = 0; ch < 4; ch++)
+ channelWeightsSq[ch] = channelWeights[ch] * channelWeights[ch];
+
+ for (uint16_t mode = 4; mode <= 5; mode++)
+ {
+ for (uint16_t rotation = 0; rotation < 4; rotation++)
+ {
+ int alphaChannel = (rotation + 3) & 3;
+ int redChannel = (rotation == 1) ? 3 : 0;
+ int greenChannel = (rotation == 2) ? 3 : 1;
+ int blueChannel = (rotation == 3) ? 3 : 2;
+
+ MUInt15 rotatedRGB[16][3];
+ MFloat floatRotatedRGB[16][3];
+
+ for (int px = 0; px < 16; px++)
+ {
+ rotatedRGB[px][0] = pixels[px][redChannel];
+ rotatedRGB[px][1] = pixels[px][greenChannel];
+ rotatedRGB[px][2] = pixels[px][blueChannel];
+
+ for (int ch = 0; ch < 3; ch++)
+ floatRotatedRGB[px][ch] = ParallelMath::ToFloat(rotatedRGB[px][ch]);
+ }
+
+ uint16_t maxIndexSelector = (mode == 4) ? 2 : 1;
+
+ float rotatedRGBWeights[3] = { channelWeights[redChannel], channelWeights[greenChannel], channelWeights[blueChannel] };
+ float rotatedRGBWeightsSq[3] = { channelWeightsSq[redChannel], channelWeightsSq[greenChannel], channelWeightsSq[blueChannel] };
+ float rotatedAlphaWeight[1] = { channelWeights[alphaChannel] };
+ float rotatedAlphaWeightSq[1] = { channelWeightsSq[alphaChannel] };
+
+ float uniformWeight[1] = { 1.0f }; // Since the alpha channel is independent, there's no need to bother with weights when doing refinement or selection, only error
+
+ MFloat preWeightedRotatedRGB[16][3];
+ BCCommon::PreWeightPixelsLDR<3>(preWeightedRotatedRGB, rotatedRGB, rotatedRGBWeights);
+
+ for (uint16_t indexSelector = 0; indexSelector < maxIndexSelector; indexSelector++)
+ {
+ EndpointSelector<3, 8> rgbSelector;
+
+ for (int epPass = 0; epPass < NumEndpointSelectorPasses; epPass++)
+ {
+ for (int px = 0; px < 16; px++)
+ rgbSelector.ContributePass(preWeightedRotatedRGB[px], epPass, ParallelMath::MakeFloat(1.0f));
+
+ rgbSelector.FinishPass(epPass);
+ }
+
+ MUInt15 alphaRange[2];
+
+ alphaRange[0] = alphaRange[1] = pixels[0][alphaChannel];
+ for (int px = 1; px < 16; px++)
+ {
+ alphaRange[0] = ParallelMath::Min(pixels[px][alphaChannel], alphaRange[0]);
+ alphaRange[1] = ParallelMath::Max(pixels[px][alphaChannel], alphaRange[1]);
+ }
+
+ int rgbPrec = 0;
+ int alphaPrec = 0;
+
+ if (mode == 4)
+ {
+ rgbPrec = indexSelector ? 3 : 2;
+ alphaPrec = indexSelector ? 2 : 3;
+ }
+ else
+ rgbPrec = alphaPrec = 2;
+
+ UnfinishedEndpoints<3> unfinishedRGB = rgbSelector.GetEndpoints(rotatedRGBWeights);
+
+ MFloat bestRGBError = ParallelMath::MakeFloat(FLT_MAX);
+ MFloat bestAlphaError = ParallelMath::MakeFloat(FLT_MAX);
+
+ MUInt15 bestRGBIndexes[16];
+ MUInt15 bestAlphaIndexes[16];
+ MUInt15 bestEP[2][4];
+
+ for (int px = 0; px < 16; px++)
+ bestRGBIndexes[px] = bestAlphaIndexes[px] = ParallelMath::MakeUInt15(0);
+
+ for (int tweak = 0; tweak < numTweakRounds; tweak++)
+ {
+ MUInt15 rgbEP[2][3];
+ MUInt15 alphaEP[2];
+
+ unfinishedRGB.FinishLDR(tweak, 1 << rgbPrec, rgbEP[0], rgbEP[1]);
+
+ TweakAlpha(alphaRange, tweak, 1 << alphaPrec, alphaEP);
+
+ for (int refine = 0; refine < numRefineRounds; refine++)
+ {
+ if (mode == 4)
+ CompressEndpoints4(rgbEP, alphaEP, rtn);
+ else
+ CompressEndpoints5(rgbEP, alphaEP, rtn);
+
+
+ IndexSelector<1> alphaIndexSelector;
+ IndexSelector<3> rgbIndexSelector;
+
+ {
+ MUInt15 alphaEPTemp[2][1] = { { alphaEP[0] },{ alphaEP[1] } };
+ alphaIndexSelector.Init<false>(uniformWeight, alphaEPTemp, 1 << alphaPrec);
+ }
+ rgbIndexSelector.Init<false>(rotatedRGBWeights, rgbEP, 1 << rgbPrec);
+
+ EndpointRefiner<3> rgbRefiner;
+ EndpointRefiner<1> alphaRefiner;
+
+ rgbRefiner.Init(1 << rgbPrec, rotatedRGBWeights);
+ alphaRefiner.Init(1 << alphaPrec, uniformWeight);
+
+ MFloat errorRGB = ParallelMath::MakeFloatZero();
+ MFloat errorA = ParallelMath::MakeFloatZero();
+
+ MUInt15 rgbIndexes[16];
+ MUInt15 alphaIndexes[16];
+
+ AggregatedError<3> rgbAggError;
+ AggregatedError<1> alphaAggError;
+
+ for (int px = 0; px < 16; px++)
+ {
+ MUInt15 rgbIndex = rgbIndexSelector.SelectIndexLDR(floatRotatedRGB[px], rtn);
+ MUInt15 alphaIndex = alphaIndexSelector.SelectIndexLDR(floatPixels[px] + alphaChannel, rtn);
+
+ MUInt15 reconstructedRGB[3];
+ MUInt15 reconstructedAlpha[1];
+
+ rgbIndexSelector.ReconstructLDR_BC7(rgbIndex, reconstructedRGB);
+ alphaIndexSelector.ReconstructLDR_BC7(alphaIndex, reconstructedAlpha);
+
+ if (flags & cvtt::Flags::BC7_FastIndexing)
+ {
+ BCCommon::ComputeErrorLDR<3>(flags, reconstructedRGB, rotatedRGB[px], rgbAggError);
+ BCCommon::ComputeErrorLDR<1>(flags, reconstructedAlpha, pixels[px] + alphaChannel, alphaAggError);
+ }
+ else
+ {
+ AggregatedError<3> baseRGBAggError;
+ AggregatedError<1> baseAlphaAggError;
+
+ BCCommon::ComputeErrorLDR<3>(flags, reconstructedRGB, rotatedRGB[px], baseRGBAggError);
+ BCCommon::ComputeErrorLDR<1>(flags, reconstructedAlpha, pixels[px] + alphaChannel, baseAlphaAggError);
+
+ MFloat rgbError = baseRGBAggError.Finalize(flags, rotatedRGBWeightsSq);
+ MFloat alphaError = baseAlphaAggError.Finalize(flags, rotatedAlphaWeightSq);
+
+ MUInt15 altRGBIndexes[2];
+ MUInt15 altAlphaIndexes[2];
+
+ altRGBIndexes[0] = ParallelMath::Max(rgbIndex, ParallelMath::MakeUInt15(1)) - ParallelMath::MakeUInt15(1);
+ altRGBIndexes[1] = ParallelMath::Min(rgbIndex + ParallelMath::MakeUInt15(1), ParallelMath::MakeUInt15(static_cast<uint16_t>((1 << rgbPrec) - 1)));
+
+ altAlphaIndexes[0] = ParallelMath::Max(alphaIndex, ParallelMath::MakeUInt15(1)) - ParallelMath::MakeUInt15(1);
+ altAlphaIndexes[1] = ParallelMath::Min(alphaIndex + ParallelMath::MakeUInt15(1), ParallelMath::MakeUInt15(static_cast<uint16_t>((1 << alphaPrec) - 1)));
+
+ for (int ii = 0; ii < 2; ii++)
+ {
+ rgbIndexSelector.ReconstructLDR_BC7(altRGBIndexes[ii], reconstructedRGB);
+ alphaIndexSelector.ReconstructLDR_BC7(altAlphaIndexes[ii], reconstructedAlpha);
+
+ AggregatedError<3> altRGBAggError;
+ AggregatedError<1> altAlphaAggError;
+
+ BCCommon::ComputeErrorLDR<3>(flags, reconstructedRGB, rotatedRGB[px], altRGBAggError);
+ BCCommon::ComputeErrorLDR<1>(flags, reconstructedAlpha, pixels[px] + alphaChannel, altAlphaAggError);
+
+ MFloat altRGBError = altRGBAggError.Finalize(flags, rotatedRGBWeightsSq);
+ MFloat altAlphaError = altAlphaAggError.Finalize(flags, rotatedAlphaWeightSq);
+
+ ParallelMath::Int16CompFlag rgbBetter = ParallelMath::FloatFlagToInt16(ParallelMath::Less(altRGBError, rgbError));
+ ParallelMath::Int16CompFlag alphaBetter = ParallelMath::FloatFlagToInt16(ParallelMath::Less(altAlphaError, alphaError));
+
+ rgbError = ParallelMath::Min(altRGBError, rgbError);
+ alphaError = ParallelMath::Min(altAlphaError, alphaError);
+
+ ParallelMath::ConditionalSet(rgbIndex, rgbBetter, altRGBIndexes[ii]);
+ ParallelMath::ConditionalSet(alphaIndex, alphaBetter, altAlphaIndexes[ii]);
+ }
+
+ errorRGB = errorRGB + rgbError;
+ errorA = errorA + alphaError;
+ }
+
+ if (refine != numRefineRounds - 1)
+ {
+ rgbRefiner.ContributeUnweightedPW(preWeightedRotatedRGB[px], rgbIndex);
+ alphaRefiner.ContributeUnweightedPW(floatPixels[px] + alphaChannel, alphaIndex);
+ }
+
+ if (flags & Flags::BC7_FastIndexing)
+ {
+ errorRGB = rgbAggError.Finalize(flags, rotatedRGBWeightsSq);
+ errorA = rgbAggError.Finalize(flags, rotatedAlphaWeightSq);
+ }
+
+ rgbIndexes[px] = rgbIndex;
+ alphaIndexes[px] = alphaIndex;
+ }
+
+ ParallelMath::FloatCompFlag rgbBetter = ParallelMath::Less(errorRGB, bestRGBError);
+ ParallelMath::FloatCompFlag alphaBetter = ParallelMath::Less(errorA, bestAlphaError);
+
+ ParallelMath::Int16CompFlag rgbBetterInt16 = ParallelMath::FloatFlagToInt16(rgbBetter);
+ ParallelMath::Int16CompFlag alphaBetterInt16 = ParallelMath::FloatFlagToInt16(alphaBetter);
+
+ if (ParallelMath::AnySet(rgbBetterInt16))
+ {
+ bestRGBError = ParallelMath::Min(errorRGB, bestRGBError);
+
+ for (int px = 0; px < 16; px++)
+ ParallelMath::ConditionalSet(bestRGBIndexes[px], rgbBetterInt16, rgbIndexes[px]);
+
+ for (int ep = 0; ep < 2; ep++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ ParallelMath::ConditionalSet(bestEP[ep][ch], rgbBetterInt16, rgbEP[ep][ch]);
+ }
+ }
+
+ if (ParallelMath::AnySet(alphaBetterInt16))
+ {
+ bestAlphaError = ParallelMath::Min(errorA, bestAlphaError);
+
+ for (int px = 0; px < 16; px++)
+ ParallelMath::ConditionalSet(bestAlphaIndexes[px], alphaBetterInt16, alphaIndexes[px]);
+
+ for (int ep = 0; ep < 2; ep++)
+ ParallelMath::ConditionalSet(bestEP[ep][3], alphaBetterInt16, alphaEP[ep]);
+ }
+
+ if (refine != numRefineRounds - 1)
+ {
+ rgbRefiner.GetRefinedEndpointsLDR(rgbEP, rtn);
+
+ MUInt15 alphaEPTemp[2][1];
+ alphaRefiner.GetRefinedEndpointsLDR(alphaEPTemp, rtn);
+
+ for (int i = 0; i < 2; i++)
+ alphaEP[i] = alphaEPTemp[i][0];
+ }
+ } // refine
+ } // tweak
+
+ MFloat combinedError = bestRGBError + bestAlphaError;
+
+ ParallelMath::FloatCompFlag errorBetter = ParallelMath::Less(combinedError, work.m_error);
+ ParallelMath::Int16CompFlag errorBetter16 = ParallelMath::FloatFlagToInt16(errorBetter);
+
+ work.m_error = ParallelMath::Min(combinedError, work.m_error);
+
+ ParallelMath::ConditionalSet(work.m_mode, errorBetter16, ParallelMath::MakeUInt15(mode));
+ ParallelMath::ConditionalSet(work.m_u.m_isr.m_rotation, errorBetter16, ParallelMath::MakeUInt15(rotation));
+ ParallelMath::ConditionalSet(work.m_u.m_isr.m_indexSelector, errorBetter16, ParallelMath::MakeUInt15(indexSelector));
+
+ for (int px = 0; px < 16; px++)
+ {
+ ParallelMath::ConditionalSet(work.m_indexes[px], errorBetter16, indexSelector ? bestAlphaIndexes[px] : bestRGBIndexes[px]);
+ ParallelMath::ConditionalSet(work.m_indexes2[px], errorBetter16, indexSelector ? bestRGBIndexes[px] : bestAlphaIndexes[px]);
+ }
+
+ for (int ep = 0; ep < 2; ep++)
+ for (int ch = 0; ch < 4; ch++)
+ ParallelMath::ConditionalSet(work.m_ep[0][ep][ch], errorBetter16, bestEP[ep][ch]);
+ }
+ }
+ }
+ }
+
+ template<class T>
+ static void Swap(T& a, T& b)
+ {
+ T temp = a;
+ a = b;
+ b = temp;
+ }
+
+ static void Pack(uint32_t flags, const PixelBlockU8* inputs, uint8_t* packedBlocks, const float channelWeights[4], int numTweakRounds, int numRefineRounds)
+ {
+ MUInt15 pixels[16][4];
+ MFloat floatPixels[16][4];
+
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 4; ch++)
+ ParallelMath::ConvertLDRInputs(inputs, px, ch, pixels[px][ch]);
+ }
+
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 4; ch++)
+ floatPixels[px][ch] = ParallelMath::ToFloat(pixels[px][ch]);
+ }
+
+ WorkInfo work;
+ memset(&work, 0, sizeof(work));
+
+ work.m_error = ParallelMath::MakeFloat(FLT_MAX);
+
+ {
+ ParallelMath::RoundTowardNearestForScope rtn;
+ TrySinglePlane(flags, pixels, floatPixels, channelWeights, numTweakRounds, numRefineRounds, work, &rtn);
+ TryDualPlane(flags, pixels, floatPixels, channelWeights, numTweakRounds, numRefineRounds, work, &rtn);
+ }
+
+ for (int block = 0; block < ParallelMath::ParallelSize; block++)
+ {
+ PackingVector pv;
+ pv.Init();
+
+ ParallelMath::ScalarUInt16 mode = ParallelMath::Extract(work.m_mode, block);
+ ParallelMath::ScalarUInt16 partition = ParallelMath::Extract(work.m_u.m_partition, block);
+ ParallelMath::ScalarUInt16 indexSelector = ParallelMath::Extract(work.m_u.m_isr.m_indexSelector, block);
+
+ const BC7Data::BC7ModeInfo& modeInfo = BC7Data::g_modes[mode];
+
+ ParallelMath::ScalarUInt16 indexes[16];
+ ParallelMath::ScalarUInt16 indexes2[16];
+ ParallelMath::ScalarUInt16 endPoints[3][2][4];
+
+ for (int i = 0; i < 16; i++)
+ {
+ indexes[i] = ParallelMath::Extract(work.m_indexes[i], block);
+ if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Separate)
+ indexes2[i] = ParallelMath::Extract(work.m_indexes2[i], block);
+ }
+
+ for (int subset = 0; subset < 3; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ {
+ for (int ch = 0; ch < 4; ch++)
+ endPoints[subset][ep][ch] = ParallelMath::Extract(work.m_ep[subset][ep][ch], block);
+ }
+ }
+
+ int fixups[3] = { 0, 0, 0 };
+
+ if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Separate)
+ {
+ bool flipRGB = ((indexes[0] & (1 << (modeInfo.m_indexBits - 1))) != 0);
+ bool flipAlpha = ((indexes2[0] & (1 << (modeInfo.m_alphaIndexBits - 1))) != 0);
+
+ if (flipRGB)
+ {
+ uint16_t highIndex = (1 << modeInfo.m_indexBits) - 1;
+ for (int px = 0; px < 16; px++)
+ indexes[px] = highIndex - indexes[px];
+ }
+
+ if (flipAlpha)
+ {
+ uint16_t highIndex = (1 << modeInfo.m_alphaIndexBits) - 1;
+ for (int px = 0; px < 16; px++)
+ indexes2[px] = highIndex - indexes2[px];
+ }
+
+ if (indexSelector)
+ Swap(flipRGB, flipAlpha);
+
+ if (flipRGB)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ Swap(endPoints[0][0][ch], endPoints[0][1][ch]);
+ }
+ if (flipAlpha)
+ Swap(endPoints[0][0][3], endPoints[0][1][3]);
+
+ }
+ else
+ {
+ if (modeInfo.m_numSubsets == 2)
+ fixups[1] = BC7Data::g_fixupIndexes2[partition];
+ else if (modeInfo.m_numSubsets == 3)
+ {
+ fixups[1] = BC7Data::g_fixupIndexes3[partition][0];
+ fixups[2] = BC7Data::g_fixupIndexes3[partition][1];
+ }
+
+ bool flip[3] = { false, false, false };
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ flip[subset] = ((indexes[fixups[subset]] & (1 << (modeInfo.m_indexBits - 1))) != 0);
+
+ if (flip[0] || flip[1] || flip[2])
+ {
+ uint16_t highIndex = (1 << modeInfo.m_indexBits) - 1;
+ for (int px = 0; px < 16; px++)
+ {
+ int subset = 0;
+ if (modeInfo.m_numSubsets == 2)
+ subset = (BC7Data::g_partitionMap[partition] >> px) & 1;
+ else if (modeInfo.m_numSubsets == 3)
+ subset = (BC7Data::g_partitionMap2[partition] >> (px * 2)) & 3;
+
+ if (flip[subset])
+ indexes[px] = highIndex - indexes[px];
+ }
+
+ int maxCH = (modeInfo.m_alphaMode == BC7Data::AlphaMode_Combined) ? 4 : 3;
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ if (flip[subset])
+ for (int ch = 0; ch < maxCH; ch++)
+ Swap(endPoints[subset][0][ch], endPoints[subset][1][ch]);
+ }
+ }
+ }
+
+ pv.Pack(static_cast<uint8_t>(1 << mode), mode + 1);
+
+ if (modeInfo.m_partitionBits)
+ pv.Pack(partition, modeInfo.m_partitionBits);
+
+ if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Separate)
+ {
+ ParallelMath::ScalarUInt16 rotation = ParallelMath::Extract(work.m_u.m_isr.m_rotation, block);
+ pv.Pack(rotation, 2);
+ }
+
+ if (modeInfo.m_hasIndexSelector)
+ pv.Pack(indexSelector, 1);
+
+ // Encode RGB
+ for (int ch = 0; ch < 3; ch++)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ {
+ ParallelMath::ScalarUInt16 epPart = endPoints[subset][ep][ch];
+ epPart >>= (8 - modeInfo.m_rgbBits);
+
+ pv.Pack(epPart, modeInfo.m_rgbBits);
+ }
+ }
+ }
+
+ // Encode alpha
+ if (modeInfo.m_alphaMode != BC7Data::AlphaMode_None)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ {
+ ParallelMath::ScalarUInt16 epPart = endPoints[subset][ep][3];
+ epPart >>= (8 - modeInfo.m_alphaBits);
+
+ pv.Pack(epPart, modeInfo.m_alphaBits);
+ }
+ }
+ }
+
+ // Encode parity bits
+ if (modeInfo.m_pBitMode == BC7Data::PBitMode_PerSubset)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ ParallelMath::ScalarUInt16 epPart = endPoints[subset][0][0];
+ epPart >>= (7 - modeInfo.m_rgbBits);
+ epPart &= 1;
+
+ pv.Pack(epPart, 1);
+ }
+ }
+ else if (modeInfo.m_pBitMode == BC7Data::PBitMode_PerEndpoint)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ {
+ ParallelMath::ScalarUInt16 epPart = endPoints[subset][ep][0];
+ epPart >>= (7 - modeInfo.m_rgbBits);
+ epPart &= 1;
+
+ pv.Pack(epPart, 1);
+ }
+ }
+ }
+
+ // Encode indexes
+ for (int px = 0; px < 16; px++)
+ {
+ int bits = modeInfo.m_indexBits;
+ if ((px == 0) || (px == fixups[1]) || (px == fixups[2]))
+ bits--;
+
+ pv.Pack(indexes[px], bits);
+ }
+
+ // Encode secondary indexes
+ if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Separate)
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ int bits = modeInfo.m_alphaIndexBits;
+ if (px == 0)
+ bits--;
+
+ pv.Pack(indexes2[px], bits);
+ }
+ }
+
+ pv.Flush(packedBlocks);
+
+ packedBlocks += 16;
+ }
+ }
+
+ static void UnpackOne(PixelBlockU8 &output, const uint8_t* packedBlock)
+ {
+ UnpackingVector pv;
+ pv.Init(packedBlock);
+
+ int mode = 8;
+ for (int i = 0; i < 8; i++)
+ {
+ if (pv.Unpack(1) == 1)
+ {
+ mode = i;
+ break;
+ }
+ }
+
+ if (mode > 7)
+ {
+ for (int px = 0; px < 16; px++)
+ for (int ch = 0; ch < 4; ch++)
+ output.m_pixels[px][ch] = 0;
+
+ return;
+ }
+
+ const BC7Data::BC7ModeInfo &modeInfo = BC7Data::g_modes[mode];
+
+ int partition = 0;
+ if (modeInfo.m_partitionBits)
+ partition = pv.Unpack(modeInfo.m_partitionBits);
+
+ int rotation = 0;
+ if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Separate)
+ rotation = pv.Unpack(2);
+
+ int indexSelector = 0;
+ if (modeInfo.m_hasIndexSelector)
+ indexSelector = pv.Unpack(1);
+
+ // Resolve fixups
+ int fixups[3] = { 0, 0, 0 };
+
+ if (modeInfo.m_alphaMode != BC7Data::AlphaMode_Separate)
+ {
+ if (modeInfo.m_numSubsets == 2)
+ fixups[1] = BC7Data::g_fixupIndexes2[partition];
+ else if (modeInfo.m_numSubsets == 3)
+ {
+ fixups[1] = BC7Data::g_fixupIndexes3[partition][0];
+ fixups[2] = BC7Data::g_fixupIndexes3[partition][1];
+ }
+ }
+
+ int endPoints[3][2][4];
+
+ // Decode RGB
+ for (int ch = 0; ch < 3; ch++)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ endPoints[subset][ep][ch] = (pv.Unpack(modeInfo.m_rgbBits) << (8 - modeInfo.m_rgbBits));
+ }
+ }
+
+ // Decode alpha
+ if (modeInfo.m_alphaMode != BC7Data::AlphaMode_None)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ endPoints[subset][ep][3] = (pv.Unpack(modeInfo.m_alphaBits) << (8 - modeInfo.m_alphaBits));
+ }
+ }
+ else
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ endPoints[subset][ep][3] = 255;
+ }
+ }
+
+ int parityBits = 0;
+
+ // Decode parity bits
+ if (modeInfo.m_pBitMode == BC7Data::PBitMode_PerSubset)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ int p = pv.Unpack(1);
+
+ for (int ep = 0; ep < 2; ep++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ endPoints[subset][ep][ch] |= p << (7 - modeInfo.m_rgbBits);
+
+ if (modeInfo.m_alphaMode != BC7Data::AlphaMode_None)
+ endPoints[subset][ep][3] |= p << (7 - modeInfo.m_alphaBits);
+ }
+ }
+
+ parityBits = 1;
+ }
+ else if (modeInfo.m_pBitMode == BC7Data::PBitMode_PerEndpoint)
+ {
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ {
+ int p = pv.Unpack(1);
+
+ for (int ch = 0; ch < 3; ch++)
+ endPoints[subset][ep][ch] |= p << (7 - modeInfo.m_rgbBits);
+
+ if (modeInfo.m_alphaMode != BC7Data::AlphaMode_None)
+ endPoints[subset][ep][3] |= p << (7 - modeInfo.m_alphaBits);
+ }
+ }
+
+ parityBits = 1;
+ }
+
+ // Fill endpoint bits
+ for (int subset = 0; subset < modeInfo.m_numSubsets; subset++)
+ {
+ for (int ep = 0; ep < 2; ep++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ endPoints[subset][ep][ch] |= (endPoints[subset][ep][ch] >> (modeInfo.m_rgbBits + parityBits));
+
+ if (modeInfo.m_alphaMode != BC7Data::AlphaMode_None)
+ endPoints[subset][ep][3] |= (endPoints[subset][ep][3] >> (modeInfo.m_alphaBits + parityBits));
+ }
+ }
+
+ int indexes[16];
+ int indexes2[16];
+
+ // Decode indexes
+ for (int px = 0; px < 16; px++)
+ {
+ int bits = modeInfo.m_indexBits;
+ if ((px == 0) || (px == fixups[1]) || (px == fixups[2]))
+ bits--;
+
+ indexes[px] = pv.Unpack(bits);
+ }
+
+ // Decode secondary indexes
+ if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Separate)
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ int bits = modeInfo.m_alphaIndexBits;
+ if (px == 0)
+ bits--;
+
+ indexes2[px] = pv.Unpack(bits);
+ }
+ }
+ else
+ {
+ for (int px = 0; px < 16; px++)
+ indexes2[px] = 0;
+ }
+
+ const int *alphaWeights = BC7Data::g_weightTables[modeInfo.m_alphaIndexBits];
+ const int *rgbWeights = BC7Data::g_weightTables[modeInfo.m_indexBits];
+
+ // Decode each pixel
+ for (int px = 0; px < 16; px++)
+ {
+ int rgbWeight = 0;
+ int alphaWeight = 0;
+
+ int rgbIndex = indexes[px];
+
+ rgbWeight = rgbWeights[indexes[px]];
+
+ if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Combined)
+ alphaWeight = rgbWeight;
+ else if (modeInfo.m_alphaMode == BC7Data::AlphaMode_Separate)
+ alphaWeight = alphaWeights[indexes2[px]];
+
+ if (indexSelector == 1)
+ {
+ int temp = rgbWeight;
+ rgbWeight = alphaWeight;
+ alphaWeight = temp;
+ }
+
+ int pixel[4] = { 0, 0, 0, 255 };
+
+ int subset = 0;
+
+ if (modeInfo.m_numSubsets == 2)
+ subset = (BC7Data::g_partitionMap[partition] >> px) & 1;
+ else if (modeInfo.m_numSubsets == 3)
+ subset = (BC7Data::g_partitionMap2[partition] >> (px * 2)) & 3;
+
+ for (int ch = 0; ch < 3; ch++)
+ pixel[ch] = ((64 - rgbWeight) * endPoints[subset][0][ch] + rgbWeight * endPoints[subset][1][ch] + 32) >> 6;
+
+ if (modeInfo.m_alphaMode != BC7Data::AlphaMode_None)
+ pixel[3] = ((64 - alphaWeight) * endPoints[subset][0][3] + alphaWeight * endPoints[subset][1][3] + 32) >> 6;
+
+ if (rotation != 0)
+ {
+ int ch = rotation - 1;
+ int temp = pixel[ch];
+ pixel[ch] = pixel[3];
+ pixel[3] = temp;
+ }
+
+ for (int ch = 0; ch < 4; ch++)
+ output.m_pixels[px][ch] = static_cast<uint8_t>(pixel[ch]);
+ }
+ }
+ };
+
+ class BC6HComputer
+ {
+ public:
+ typedef ParallelMath::Float MFloat;
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::AInt16 MAInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+ typedef ParallelMath::UInt31 MUInt31;
+
+ static const int MaxTweakRounds = 4;
+ static const int MaxRefineRounds = 3;
+
+ static MSInt16 QuantizeSingleEndpointElementSigned(const MSInt16 &elem2CL, int precision, const ParallelMath::RoundUpForScope* ru)
+ {
+ assert(ParallelMath::AllSet(ParallelMath::Less(elem2CL, ParallelMath::MakeSInt16(31744))));
+ assert(ParallelMath::AllSet(ParallelMath::Less(ParallelMath::MakeSInt16(-31744), elem2CL)));
+
+ // Expand to full range
+ ParallelMath::Int16CompFlag isNegative = ParallelMath::Less(elem2CL, ParallelMath::MakeSInt16(0));
+ MUInt15 absElem = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::Select(isNegative, ParallelMath::MakeSInt16(0) - elem2CL, elem2CL));
+
+ absElem = ParallelMath::RightShift(ParallelMath::RoundAndConvertToU15(ParallelMath::ToFloat(absElem) * 32.0f / 31.0f, ru), 16 - precision);
+
+ MSInt16 absElemS16 = ParallelMath::LosslessCast<MSInt16>::Cast(absElem);
+
+ return ParallelMath::Select(isNegative, ParallelMath::MakeSInt16(0) - absElemS16, absElemS16);
+ }
+
+ static MUInt15 QuantizeSingleEndpointElementUnsigned(const MUInt15 &elem, int precision, const ParallelMath::RoundUpForScope* ru)
+ {
+ MUInt16 expandedElem = ParallelMath::RoundAndConvertToU16(ParallelMath::Min(ParallelMath::ToFloat(elem) * 64.0f / 31.0f, ParallelMath::MakeFloat(65535.0f)), ru);
+ return ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(expandedElem, 16 - precision));
+ }
+
+ static void UnquantizeSingleEndpointElementSigned(const MSInt16 &comp, int precision, MSInt16 &outUnquantized, MSInt16 &outUnquantizedFinished2CL)
+ {
+ MSInt16 zero = ParallelMath::MakeSInt16(0);
+
+ ParallelMath::Int16CompFlag negative = ParallelMath::Less(comp, zero);
+ MUInt15 absComp = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::Select(negative, MSInt16(zero - comp), comp));
+
+ MSInt16 unq;
+ MUInt15 absUnq;
+
+ if (precision >= 16)
+ {
+ unq = comp;
+ absUnq = absComp;
+ }
+ else
+ {
+ MSInt16 maxCompMinusOne = ParallelMath::MakeSInt16(static_cast<int16_t>((1 << (precision - 1)) - 2));
+ ParallelMath::Int16CompFlag isZero = ParallelMath::Equal(comp, zero);
+ ParallelMath::Int16CompFlag isMax = ParallelMath::Less(maxCompMinusOne, comp);
+
+ absUnq = (absComp << (16 - precision)) + ParallelMath::MakeUInt15(static_cast<uint16_t>(0x4000 >> (precision - 1)));
+ ParallelMath::ConditionalSet(absUnq, isZero, ParallelMath::MakeUInt15(0));
+ ParallelMath::ConditionalSet(absUnq, isMax, ParallelMath::MakeUInt15(0x7fff));
+
+ unq = ParallelMath::ConditionalNegate(negative, ParallelMath::LosslessCast<MSInt16>::Cast(absUnq));
+ }
+
+ outUnquantized = unq;
+
+ MUInt15 funq = ParallelMath::ToUInt15(ParallelMath::RightShift(ParallelMath::XMultiply(absUnq, ParallelMath::MakeUInt15(31)), 5));
+
+ outUnquantizedFinished2CL = ParallelMath::ConditionalNegate(negative, ParallelMath::LosslessCast<MSInt16>::Cast(funq));
+ }
+
+ static void UnquantizeSingleEndpointElementUnsigned(const MUInt15 &comp, int precision, MUInt16 &outUnquantized, MUInt16 &outUnquantizedFinished)
+ {
+ MUInt16 unq = ParallelMath::LosslessCast<MUInt16>::Cast(comp);
+ if (precision < 15)
+ {
+ MUInt15 zero = ParallelMath::MakeUInt15(0);
+ MUInt15 maxCompMinusOne = ParallelMath::MakeUInt15(static_cast<uint16_t>((1 << precision) - 2));
+
+ ParallelMath::Int16CompFlag isZero = ParallelMath::Equal(comp, zero);
+ ParallelMath::Int16CompFlag isMax = ParallelMath::Less(maxCompMinusOne, comp);
+
+ unq = (ParallelMath::LosslessCast<MUInt16>::Cast(comp) << (16 - precision)) + ParallelMath::MakeUInt16(static_cast<uint16_t>(0x8000 >> precision));
+
+ ParallelMath::ConditionalSet(unq, isZero, ParallelMath::MakeUInt16(0));
+ ParallelMath::ConditionalSet(unq, isMax, ParallelMath::MakeUInt16(0xffff));
+ }
+
+ outUnquantized = unq;
+ outUnquantizedFinished = ParallelMath::ToUInt16(ParallelMath::RightShift(ParallelMath::XMultiply(unq, ParallelMath::MakeUInt15(31)), 6));
+ }
+
+ static void QuantizeEndpointsSigned(const MSInt16 endPoints[2][3], const MFloat floatPixelsColorSpace[16][3], const MFloat floatPixelsLinearWeighted[16][3], MAInt16 quantizedEndPoints[2][3], MUInt15 indexes[16], IndexSelectorHDR<3> &indexSelector, int fixupIndex, int precision, int indexRange, const float *channelWeights, bool fastIndexing, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ MSInt16 unquantizedEP[2][3];
+ MSInt16 finishedUnquantizedEP[2][3];
+
+ {
+ ParallelMath::RoundUpForScope ru;
+
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ MSInt16 qee = QuantizeSingleEndpointElementSigned(endPoints[epi][ch], precision, &ru);
+ UnquantizeSingleEndpointElementSigned(qee, precision, unquantizedEP[epi][ch], finishedUnquantizedEP[epi][ch]);
+ quantizedEndPoints[epi][ch] = ParallelMath::LosslessCast<MAInt16>::Cast(qee);
+ }
+ }
+ }
+
+ indexSelector.Init(channelWeights, unquantizedEP, finishedUnquantizedEP, indexRange);
+ indexSelector.InitHDR(indexRange, true, fastIndexing, channelWeights);
+
+ MUInt15 halfRangeMinusOne = ParallelMath::MakeUInt15(static_cast<uint16_t>(indexRange / 2) - 1);
+
+ MUInt15 index = fastIndexing ? indexSelector.SelectIndexHDRFast(floatPixelsColorSpace[fixupIndex], rtn) : indexSelector.SelectIndexHDRSlow(floatPixelsLinearWeighted[fixupIndex], rtn);
+
+ ParallelMath::Int16CompFlag invert = ParallelMath::Less(halfRangeMinusOne, index);
+
+ if (ParallelMath::AnySet(invert))
+ {
+ ParallelMath::ConditionalSet(index, invert, MUInt15(ParallelMath::MakeUInt15(static_cast<uint16_t>(indexRange - 1)) - index));
+
+ indexSelector.ConditionalInvert(invert);
+
+ for (int ch = 0; ch < 3; ch++)
+ {
+ MAInt16 firstEP = quantizedEndPoints[0][ch];
+ MAInt16 secondEP = quantizedEndPoints[1][ch];
+
+ quantizedEndPoints[0][ch] = ParallelMath::Select(invert, secondEP, firstEP);
+ quantizedEndPoints[1][ch] = ParallelMath::Select(invert, firstEP, secondEP);
+ }
+ }
+
+ indexes[fixupIndex] = index;
+ }
+
+ static void QuantizeEndpointsUnsigned(const MSInt16 endPoints[2][3], const MFloat floatPixelsColorSpace[16][3], const MFloat floatPixelsLinearWeighted[16][3], MAInt16 quantizedEndPoints[2][3], MUInt15 indexes[16], IndexSelectorHDR<3> &indexSelector, int fixupIndex, int precision, int indexRange, const float *channelWeights, bool fastIndexing, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ MUInt16 unquantizedEP[2][3];
+ MUInt16 finishedUnquantizedEP[2][3];
+
+ {
+ ParallelMath::RoundUpForScope ru;
+
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ MUInt15 qee = QuantizeSingleEndpointElementUnsigned(ParallelMath::LosslessCast<MUInt15>::Cast(endPoints[epi][ch]), precision, &ru);
+ UnquantizeSingleEndpointElementUnsigned(qee, precision, unquantizedEP[epi][ch], finishedUnquantizedEP[epi][ch]);
+ quantizedEndPoints[epi][ch] = ParallelMath::LosslessCast<MAInt16>::Cast(qee);
+ }
+ }
+ }
+
+ indexSelector.Init(channelWeights, unquantizedEP, finishedUnquantizedEP, indexRange);
+ indexSelector.InitHDR(indexRange, false, fastIndexing, channelWeights);
+
+ MUInt15 halfRangeMinusOne = ParallelMath::MakeUInt15(static_cast<uint16_t>(indexRange / 2) - 1);
+
+ MUInt15 index = fastIndexing ? indexSelector.SelectIndexHDRFast(floatPixelsColorSpace[fixupIndex], rtn) : indexSelector.SelectIndexHDRSlow(floatPixelsLinearWeighted[fixupIndex], rtn);
+
+ ParallelMath::Int16CompFlag invert = ParallelMath::Less(halfRangeMinusOne, index);
+
+ if (ParallelMath::AnySet(invert))
+ {
+ ParallelMath::ConditionalSet(index, invert, MUInt15(ParallelMath::MakeUInt15(static_cast<uint16_t>(indexRange - 1)) - index));
+
+ indexSelector.ConditionalInvert(invert);
+
+ for (int ch = 0; ch < 3; ch++)
+ {
+ MAInt16 firstEP = quantizedEndPoints[0][ch];
+ MAInt16 secondEP = quantizedEndPoints[1][ch];
+
+ quantizedEndPoints[0][ch] = ParallelMath::Select(invert, secondEP, firstEP);
+ quantizedEndPoints[1][ch] = ParallelMath::Select(invert, firstEP, secondEP);
+ }
+ }
+
+ indexes[fixupIndex] = index;
+ }
+
+ static void EvaluatePartitionedLegality(const MAInt16 ep0[2][3], const MAInt16 ep1[2][3], int aPrec, const int bPrec[3], bool isTransformed, MAInt16 outEncodedEPs[2][2][3], ParallelMath::Int16CompFlag& outIsLegal)
+ {
+ ParallelMath::Int16CompFlag allLegal = ParallelMath::MakeBoolInt16(true);
+
+ MAInt16 aSignificantMask = ParallelMath::MakeAInt16(static_cast<int16_t>((1 << aPrec) - 1));
+
+ for (int ch = 0; ch < 3; ch++)
+ {
+ outEncodedEPs[0][0][ch] = ep0[0][ch];
+ outEncodedEPs[0][1][ch] = ep0[1][ch];
+ outEncodedEPs[1][0][ch] = ep1[0][ch];
+ outEncodedEPs[1][1][ch] = ep1[1][ch];
+
+ if (isTransformed)
+ {
+ for (int subset = 0; subset < 2; subset++)
+ {
+ for (int epi = 0; epi < 2; epi++)
+ {
+ if (epi == 0 && subset == 0)
+ continue;
+
+ MAInt16 bReduced = (outEncodedEPs[subset][epi][ch] & aSignificantMask);
+
+ MSInt16 delta = ParallelMath::TruncateToPrecisionSigned(ParallelMath::LosslessCast<MSInt16>::Cast(ParallelMath::AbstractSubtract(outEncodedEPs[subset][epi][ch], outEncodedEPs[0][0][ch])), bPrec[ch]);
+
+ outEncodedEPs[subset][epi][ch] = ParallelMath::LosslessCast<MAInt16>::Cast(delta);
+
+ MAInt16 reconstructed = (ParallelMath::AbstractAdd(outEncodedEPs[subset][epi][ch], outEncodedEPs[0][0][ch]) & aSignificantMask);
+ allLegal = allLegal & ParallelMath::Equal(reconstructed, bReduced);
+ }
+ }
+ }
+
+ if (!ParallelMath::AnySet(allLegal))
+ break;
+ }
+
+ outIsLegal = allLegal;
+ }
+
+ static void EvaluateSingleLegality(const MAInt16 ep[2][3], int aPrec, const int bPrec[3], bool isTransformed, MAInt16 outEncodedEPs[2][3], ParallelMath::Int16CompFlag& outIsLegal)
+ {
+ ParallelMath::Int16CompFlag allLegal = ParallelMath::MakeBoolInt16(true);
+
+ MAInt16 aSignificantMask = ParallelMath::MakeAInt16(static_cast<int16_t>((1 << aPrec) - 1));
+
+ for (int ch = 0; ch < 3; ch++)
+ {
+ outEncodedEPs[0][ch] = ep[0][ch];
+ outEncodedEPs[1][ch] = ep[1][ch];
+
+ if (isTransformed)
+ {
+ MAInt16 bReduced = (outEncodedEPs[1][ch] & aSignificantMask);
+
+ MSInt16 delta = ParallelMath::TruncateToPrecisionSigned(ParallelMath::LosslessCast<MSInt16>::Cast(ParallelMath::AbstractSubtract(outEncodedEPs[1][ch], outEncodedEPs[0][ch])), bPrec[ch]);
+
+ outEncodedEPs[1][ch] = ParallelMath::LosslessCast<MAInt16>::Cast(delta);
+
+ MAInt16 reconstructed = (ParallelMath::AbstractAdd(outEncodedEPs[1][ch], outEncodedEPs[0][ch]) & aSignificantMask);
+ allLegal = allLegal & ParallelMath::Equal(reconstructed, bReduced);
+ }
+ }
+
+ outIsLegal = allLegal;
+ }
+
+ static void Pack(uint32_t flags, const PixelBlockF16* inputs, uint8_t* packedBlocks, const float channelWeights[4], bool isSigned, int numTweakRounds, int numRefineRounds)
+ {
+ if (numTweakRounds < 1)
+ numTweakRounds = 1;
+ else if (numTweakRounds > MaxTweakRounds)
+ numTweakRounds = MaxTweakRounds;
+
+ if (numRefineRounds < 1)
+ numRefineRounds = 1;
+ else if (numRefineRounds > MaxRefineRounds)
+ numRefineRounds = MaxRefineRounds;
+
+ bool fastIndexing = (flags & cvtt::Flags::BC6H_FastIndexing);
+ float channelWeightsSq[3];
+
+ ParallelMath::RoundTowardNearestForScope rtn;
+
+ MSInt16 pixels[16][3];
+ MFloat floatPixels2CL[16][3];
+ MFloat floatPixelsLinearWeighted[16][3];
+
+ MSInt16 low15Bits = ParallelMath::MakeSInt16(32767);
+
+ for (int ch = 0; ch < 3; ch++)
+ channelWeightsSq[ch] = channelWeights[ch] * channelWeights[ch];
+
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ MSInt16 pixelValue;
+ ParallelMath::ConvertHDRInputs(inputs, px, ch, pixelValue);
+
+ // Convert from sign+magnitude to 2CL
+ if (isSigned)
+ {
+ ParallelMath::Int16CompFlag negative = ParallelMath::Less(pixelValue, ParallelMath::MakeSInt16(0));
+ MSInt16 magnitude = (pixelValue & low15Bits);
+ ParallelMath::ConditionalSet(pixelValue, negative, ParallelMath::MakeSInt16(0) - magnitude);
+ pixelValue = ParallelMath::Max(pixelValue, ParallelMath::MakeSInt16(-31743));
+ }
+ else
+ pixelValue = ParallelMath::Max(pixelValue, ParallelMath::MakeSInt16(0));
+
+ pixelValue = ParallelMath::Min(pixelValue, ParallelMath::MakeSInt16(31743));
+
+ pixels[px][ch] = pixelValue;
+ floatPixels2CL[px][ch] = ParallelMath::ToFloat(pixelValue);
+ floatPixelsLinearWeighted[px][ch] = ParallelMath::TwosCLHalfToFloat(pixelValue) * channelWeights[ch];
+ }
+ }
+
+ MFloat preWeightedPixels[16][3];
+
+ BCCommon::PreWeightPixelsHDR<3>(preWeightedPixels, pixels, channelWeights);
+
+ MAInt16 bestEndPoints[2][2][3];
+ MUInt15 bestIndexes[16];
+ MFloat bestError = ParallelMath::MakeFloat(FLT_MAX);
+ MUInt15 bestMode = ParallelMath::MakeUInt15(0);
+ MUInt15 bestPartition = ParallelMath::MakeUInt15(0);
+
+ for (int px = 0; px < 16; px++)
+ bestIndexes[px] = ParallelMath::MakeUInt15(0);
+
+ for (int subset = 0; subset < 2; subset++)
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < 3; ch++)
+ bestEndPoints[subset][epi][ch] = ParallelMath::MakeAInt16(0);
+
+ UnfinishedEndpoints<3> partitionedUFEP[32][2];
+ UnfinishedEndpoints<3> singleUFEP;
+
+ // Generate UFEP for partitions
+ for (int p = 0; p < 32; p++)
+ {
+ int partitionMask = BC7Data::g_partitionMap[p];
+
+ EndpointSelector<3, 8> epSelectors[2];
+
+ for (int pass = 0; pass < NumEndpointSelectorPasses; pass++)
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ int subset = (partitionMask >> px) & 1;
+ epSelectors[subset].ContributePass(preWeightedPixels[px], pass, ParallelMath::MakeFloat(1.0f));
+ }
+
+ for (int subset = 0; subset < 2; subset++)
+ epSelectors[subset].FinishPass(pass);
+ }
+
+ for (int subset = 0; subset < 2; subset++)
+ partitionedUFEP[p][subset] = epSelectors[subset].GetEndpoints(channelWeights);
+ }
+
+ // Generate UFEP for single
+ {
+ EndpointSelector<3, 8> epSelector;
+
+ for (int pass = 0; pass < NumEndpointSelectorPasses; pass++)
+ {
+ for (int px = 0; px < 16; px++)
+ epSelector.ContributePass(preWeightedPixels[px], pass, ParallelMath::MakeFloat(1.0f));
+
+ epSelector.FinishPass(pass);
+ }
+
+ singleUFEP = epSelector.GetEndpoints(channelWeights);
+ }
+
+ for (int partitionedInt = 0; partitionedInt < 2; partitionedInt++)
+ {
+ bool partitioned = (partitionedInt == 1);
+
+ for (int aPrec = BC7Data::g_maxHDRPrecision; aPrec >= 0; aPrec--)
+ {
+ if (!BC7Data::g_hdrModesExistForPrecision[partitionedInt][aPrec])
+ continue;
+
+ int numPartitions = partitioned ? 32 : 1;
+ int numSubsets = partitioned ? 2 : 1;
+ int indexBits = partitioned ? 3 : 4;
+ int indexRange = (1 << indexBits);
+
+ for (int p = 0; p < numPartitions; p++)
+ {
+ int partitionMask = partitioned ? BC7Data::g_partitionMap[p] : 0;
+
+ const int MaxMetaRounds = MaxTweakRounds * MaxRefineRounds;
+
+ MAInt16 metaEndPointsQuantized[MaxMetaRounds][2][2][3];
+ MUInt15 metaIndexes[MaxMetaRounds][16];
+ MFloat metaError[MaxMetaRounds][2];
+
+ bool roundValid[MaxMetaRounds][2];
+
+ for (int r = 0; r < MaxMetaRounds; r++)
+ for (int subset = 0; subset < 2; subset++)
+ roundValid[r][subset] = true;
+
+ for (int subset = 0; subset < numSubsets; subset++)
+ {
+ for (int tweak = 0; tweak < MaxTweakRounds; tweak++)
+ {
+ EndpointRefiner<3> refiners[2];
+
+ bool abortRemainingRefines = false;
+ for (int refinePass = 0; refinePass < MaxRefineRounds; refinePass++)
+ {
+ int metaRound = tweak * MaxRefineRounds + refinePass;
+
+ if (tweak >= numTweakRounds || refinePass >= numRefineRounds)
+ abortRemainingRefines = true;
+
+ if (abortRemainingRefines)
+ {
+ roundValid[metaRound][subset] = false;
+ continue;
+ }
+
+ MAInt16(&mrQuantizedEndPoints)[2][2][3] = metaEndPointsQuantized[metaRound];
+ MUInt15(&mrIndexes)[16] = metaIndexes[metaRound];
+
+ MSInt16 endPointsColorSpace[2][3];
+
+ if (refinePass == 0)
+ {
+ UnfinishedEndpoints<3> ufep = partitioned ? partitionedUFEP[p][subset] : singleUFEP;
+
+ if (isSigned)
+ ufep.FinishHDRSigned(tweak, indexRange, endPointsColorSpace[0], endPointsColorSpace[1], &rtn);
+ else
+ ufep.FinishHDRUnsigned(tweak, indexRange, endPointsColorSpace[0], endPointsColorSpace[1], &rtn);
+ }
+ else
+ refiners[subset].GetRefinedEndpointsHDR(endPointsColorSpace, isSigned, &rtn);
+
+ refiners[subset].Init(indexRange, channelWeights);
+
+ int fixupIndex = (subset == 0) ? 0 : BC7Data::g_fixupIndexes2[p];
+
+ IndexSelectorHDR<3> indexSelector;
+ if (isSigned)
+ QuantizeEndpointsSigned(endPointsColorSpace, floatPixels2CL, floatPixelsLinearWeighted, mrQuantizedEndPoints[subset], mrIndexes, indexSelector, fixupIndex, aPrec, indexRange, channelWeights, fastIndexing, &rtn);
+ else
+ QuantizeEndpointsUnsigned(endPointsColorSpace, floatPixels2CL, floatPixelsLinearWeighted, mrQuantizedEndPoints[subset], mrIndexes, indexSelector, fixupIndex, aPrec, indexRange, channelWeights, fastIndexing, &rtn);
+
+ if (metaRound > 0)
+ {
+ ParallelMath::Int16CompFlag anySame = ParallelMath::MakeBoolInt16(false);
+
+ for (int prevRound = 0; prevRound < metaRound; prevRound++)
+ {
+ MAInt16(&prevRoundEPs)[2][3] = metaEndPointsQuantized[prevRound][subset];
+
+ ParallelMath::Int16CompFlag same = ParallelMath::MakeBoolInt16(true);
+
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < 3; ch++)
+ same = (same & ParallelMath::Equal(prevRoundEPs[epi][ch], mrQuantizedEndPoints[subset][epi][ch]));
+
+ anySame = (anySame | same);
+ if (ParallelMath::AllSet(anySame))
+ break;
+ }
+
+ if (ParallelMath::AllSet(anySame))
+ {
+ roundValid[metaRound][subset] = false;
+ continue;
+ }
+ }
+
+ MFloat subsetError = ParallelMath::MakeFloatZero();
+
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ if (subset != ((partitionMask >> px) & 1))
+ continue;
+
+ MUInt15 index;
+ if (px == fixupIndex)
+ index = mrIndexes[px];
+ else
+ {
+ index = fastIndexing ? indexSelector.SelectIndexHDRFast(floatPixels2CL[px], &rtn) : indexSelector.SelectIndexHDRSlow(floatPixelsLinearWeighted[px], &rtn);
+ mrIndexes[px] = index;
+ }
+
+ MSInt16 reconstructed[3];
+ if (isSigned)
+ indexSelector.ReconstructHDRSigned(mrIndexes[px], reconstructed);
+ else
+ indexSelector.ReconstructHDRUnsigned(mrIndexes[px], reconstructed);
+
+ subsetError = subsetError + (fastIndexing ? BCCommon::ComputeErrorHDRFast<3>(flags, reconstructed, pixels[px], channelWeightsSq) : BCCommon::ComputeErrorHDRSlow<3>(flags, reconstructed, pixels[px], channelWeightsSq));
+
+ if (refinePass != numRefineRounds - 1)
+ refiners[subset].ContributeUnweightedPW(preWeightedPixels[px], index);
+ }
+ }
+
+ metaError[metaRound][subset] = subsetError;
+ }
+ }
+ }
+
+ // Now we have a bunch of attempts, but not all of them will fit in the delta coding scheme
+ int numMeta1 = partitioned ? MaxMetaRounds : 1;
+ for (int meta0 = 0; meta0 < MaxMetaRounds; meta0++)
+ {
+ if (!roundValid[meta0][0])
+ continue;
+
+ for (int meta1 = 0; meta1 < numMeta1; meta1++)
+ {
+ MFloat combinedError = metaError[meta0][0];
+ if (partitioned)
+ {
+ if (!roundValid[meta1][1])
+ continue;
+
+ combinedError = combinedError + metaError[meta1][1];
+ }
+
+ ParallelMath::FloatCompFlag errorBetter = ParallelMath::Less(combinedError, bestError);
+ if (!ParallelMath::AnySet(errorBetter))
+ continue;
+
+ ParallelMath::Int16CompFlag needsCommit = ParallelMath::FloatFlagToInt16(errorBetter);
+
+ // Figure out if this is encodable
+ for (int mode = 0; mode < BC7Data::g_numHDRModes; mode++)
+ {
+ const BC7Data::BC6HModeInfo &modeInfo = BC7Data::g_hdrModes[mode];
+
+ if (modeInfo.m_partitioned != partitioned || modeInfo.m_aPrec != aPrec)
+ continue;
+
+ MAInt16 encodedEPs[2][2][3];
+ ParallelMath::Int16CompFlag isLegal;
+ if (partitioned)
+ EvaluatePartitionedLegality(metaEndPointsQuantized[meta0][0], metaEndPointsQuantized[meta1][1], modeInfo.m_aPrec, modeInfo.m_bPrec, modeInfo.m_transformed, encodedEPs, isLegal);
+ else
+ EvaluateSingleLegality(metaEndPointsQuantized[meta0][0], modeInfo.m_aPrec, modeInfo.m_bPrec, modeInfo.m_transformed, encodedEPs[0], isLegal);
+
+ ParallelMath::Int16CompFlag isLegalAndBetter = (ParallelMath::FloatFlagToInt16(errorBetter) & isLegal);
+ if (!ParallelMath::AnySet(isLegalAndBetter))
+ continue;
+
+ ParallelMath::FloatCompFlag isLegalAndBetterFloat = ParallelMath::Int16FlagToFloat(isLegalAndBetter);
+
+ ParallelMath::ConditionalSet(bestError, isLegalAndBetterFloat, combinedError);
+ ParallelMath::ConditionalSet(bestMode, isLegalAndBetter, ParallelMath::MakeUInt15(static_cast<uint16_t>(mode)));
+ ParallelMath::ConditionalSet(bestPartition, isLegalAndBetter, ParallelMath::MakeUInt15(static_cast<uint16_t>(p)));
+
+ for (int subset = 0; subset < numSubsets; subset++)
+ {
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ ParallelMath::ConditionalSet(bestEndPoints[subset][epi][ch], isLegalAndBetter, encodedEPs[subset][epi][ch]);
+ }
+ }
+
+ for (int px = 0; px < 16; px++)
+ {
+ int subset = ((partitionMask >> px) & 1);
+ if (subset == 0)
+ ParallelMath::ConditionalSet(bestIndexes[px], isLegalAndBetter, metaIndexes[meta0][px]);
+ else
+ ParallelMath::ConditionalSet(bestIndexes[px], isLegalAndBetter, metaIndexes[meta1][px]);
+ }
+
+ needsCommit = ParallelMath::AndNot(needsCommit, isLegalAndBetter);
+ if (!ParallelMath::AnySet(needsCommit))
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // At this point, everything should be set
+ for (int block = 0; block < ParallelMath::ParallelSize; block++)
+ {
+ ParallelMath::ScalarUInt16 mode = ParallelMath::Extract(bestMode, block);
+ ParallelMath::ScalarUInt16 partition = ParallelMath::Extract(bestPartition, block);
+ int32_t eps[2][2][3];
+ ParallelMath::ScalarUInt16 indexes[16];
+
+ const BC7Data::BC6HModeInfo& modeInfo = BC7Data::g_hdrModes[mode];
+
+ const BC6HData::ModeDescriptor* desc = BC6HData::g_modeDescriptors[mode];
+
+ const size_t headerBits = modeInfo.m_partitioned ? 82 : 65;
+
+ for (int subset = 0; subset < 2; subset++)
+ {
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ eps[subset][epi][ch] = ParallelMath::Extract(bestEndPoints[subset][epi][ch], block);
+ }
+ }
+
+ for (int px = 0; px < 16; px++)
+ indexes[px] = ParallelMath::Extract(bestIndexes[px], block);
+
+ uint16_t modeID = modeInfo.m_modeID;
+
+ PackingVector pv;
+ pv.Init();
+
+ for (size_t i = 0; i < headerBits; i++)
+ {
+ int32_t codedValue = 0;
+ switch (desc[i].m_eField)
+ {
+ case BC6HData::M: codedValue = modeID; break;
+ case BC6HData::D: codedValue = partition; break;
+ case BC6HData::RW: codedValue = eps[0][0][0]; break;
+ case BC6HData::RX: codedValue = eps[0][1][0]; break;
+ case BC6HData::RY: codedValue = eps[1][0][0]; break;
+ case BC6HData::RZ: codedValue = eps[1][1][0]; break;
+ case BC6HData::GW: codedValue = eps[0][0][1]; break;
+ case BC6HData::GX: codedValue = eps[0][1][1]; break;
+ case BC6HData::GY: codedValue = eps[1][0][1]; break;
+ case BC6HData::GZ: codedValue = eps[1][1][1]; break;
+ case BC6HData::BW: codedValue = eps[0][0][2]; break;
+ case BC6HData::BX: codedValue = eps[0][1][2]; break;
+ case BC6HData::BY: codedValue = eps[1][0][2]; break;
+ case BC6HData::BZ: codedValue = eps[1][1][2]; break;
+ default: assert(false); break;
+ }
+
+ pv.Pack(static_cast<uint16_t>((codedValue >> desc[i].m_uBit) & 1), 1);
+ }
+
+ int fixupIndex1 = 0;
+ int indexBits = 4;
+ if (modeInfo.m_partitioned)
+ {
+ fixupIndex1 = BC7Data::g_fixupIndexes2[partition];
+ indexBits = 3;
+ }
+
+ for (int px = 0; px < 16; px++)
+ {
+ ParallelMath::ScalarUInt16 index = ParallelMath::Extract(bestIndexes[px], block);
+ if (px == 0 || px == fixupIndex1)
+ pv.Pack(index, indexBits - 1);
+ else
+ pv.Pack(index, indexBits);
+ }
+
+ pv.Flush(packedBlocks + 16 * block);
+ }
+ }
+
+ static void SignExtendSingle(int &v, int bits)
+ {
+ if (v & (1 << (bits - 1)))
+ v |= -(1 << bits);
+ }
+
+ static void UnpackOne(PixelBlockF16 &output, const uint8_t *pBC, bool isSigned)
+ {
+ UnpackingVector pv;
+ pv.Init(pBC);
+
+ int numModeBits = 2;
+ int modeBits = pv.Unpack(2);
+ if (modeBits != 0 && modeBits != 1)
+ {
+ modeBits |= pv.Unpack(3) << 2;
+ numModeBits += 3;
+ }
+
+ int mode = -1;
+ for (int possibleMode = 0; possibleMode < BC7Data::g_numHDRModes; possibleMode++)
+ {
+ if (BC7Data::g_hdrModes[possibleMode].m_modeID == modeBits)
+ {
+ mode = possibleMode;
+ break;
+ }
+ }
+
+ if (mode < 0)
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ output.m_pixels[px][ch] = 0;
+ output.m_pixels[px][3] = 0x3c00; // 1.0
+ }
+ return;
+ }
+
+ const BC7Data::BC6HModeInfo& modeInfo = BC7Data::g_hdrModes[mode];
+ const size_t headerBits = modeInfo.m_partitioned ? 82 : 65;
+ const BC6HData::ModeDescriptor* desc = BC6HData::g_modeDescriptors[mode];
+
+ int32_t partition = 0;
+ int32_t eps[2][2][3];
+
+ for (int subset = 0; subset < 2; subset++)
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < 3; ch++)
+ eps[subset][epi][ch] = 0;
+
+ for (size_t i = numModeBits; i < headerBits; i++)
+ {
+ int32_t *pCodedValue = NULL;
+
+ switch (desc[i].m_eField)
+ {
+ case BC6HData::D: pCodedValue = &partition; break;
+ case BC6HData::RW: pCodedValue = &eps[0][0][0]; break;
+ case BC6HData::RX: pCodedValue = &eps[0][1][0]; break;
+ case BC6HData::RY: pCodedValue = &eps[1][0][0]; break;
+ case BC6HData::RZ: pCodedValue = &eps[1][1][0]; break;
+ case BC6HData::GW: pCodedValue = &eps[0][0][1]; break;
+ case BC6HData::GX: pCodedValue = &eps[0][1][1]; break;
+ case BC6HData::GY: pCodedValue = &eps[1][0][1]; break;
+ case BC6HData::GZ: pCodedValue = &eps[1][1][1]; break;
+ case BC6HData::BW: pCodedValue = &eps[0][0][2]; break;
+ case BC6HData::BX: pCodedValue = &eps[0][1][2]; break;
+ case BC6HData::BY: pCodedValue = &eps[1][0][2]; break;
+ case BC6HData::BZ: pCodedValue = &eps[1][1][2]; break;
+ default: assert(false); break;
+ }
+
+ (*pCodedValue) |= pv.Unpack(1) << desc[i].m_uBit;
+ }
+
+
+ uint16_t modeID = modeInfo.m_modeID;
+
+ int fixupIndex1 = 0;
+ int indexBits = 4;
+ int numSubsets = 1;
+ if (modeInfo.m_partitioned)
+ {
+ fixupIndex1 = BC7Data::g_fixupIndexes2[partition];
+ indexBits = 3;
+ numSubsets = 2;
+ }
+
+ int indexes[16];
+ for (int px = 0; px < 16; px++)
+ {
+ if (px == 0 || px == fixupIndex1)
+ indexes[px] = pv.Unpack(indexBits - 1);
+ else
+ indexes[px] = pv.Unpack(indexBits);
+ }
+
+ if (modeInfo.m_partitioned)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ if (isSigned)
+ SignExtendSingle(eps[0][0][ch], modeInfo.m_aPrec);
+ if (modeInfo.m_transformed || isSigned)
+ {
+ SignExtendSingle(eps[0][1][ch], modeInfo.m_bPrec[ch]);
+ SignExtendSingle(eps[1][0][ch], modeInfo.m_bPrec[ch]);
+ SignExtendSingle(eps[1][1][ch], modeInfo.m_bPrec[ch]);
+ }
+ }
+ }
+ else
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ if (isSigned)
+ SignExtendSingle(eps[0][0][ch], modeInfo.m_aPrec);
+ if (modeInfo.m_transformed || isSigned)
+ SignExtendSingle(eps[0][1][ch], modeInfo.m_bPrec[ch]);
+ }
+ }
+
+ int aPrec = modeInfo.m_aPrec;
+
+ if (modeInfo.m_transformed)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ int wrapMask = (1 << aPrec) - 1;
+
+ eps[0][1][ch] = ((eps[0][0][ch] + eps[0][1][ch]) & wrapMask);
+ if (isSigned)
+ SignExtendSingle(eps[0][1][ch], aPrec);
+
+ if (modeInfo.m_partitioned)
+ {
+ eps[1][0][ch] = ((eps[0][0][ch] + eps[1][0][ch]) & wrapMask);
+ eps[1][1][ch] = ((eps[0][0][ch] + eps[1][1][ch]) & wrapMask);
+
+ if (isSigned)
+ {
+ SignExtendSingle(eps[1][0][ch], aPrec);
+ SignExtendSingle(eps[1][1][ch], aPrec);
+ }
+ }
+ }
+ }
+
+ // Unquantize endpoints
+ for (int subset = 0; subset < numSubsets; subset++)
+ {
+ for (int epi = 0; epi < 2; epi++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ int &v = eps[subset][epi][ch];
+
+ if (isSigned)
+ {
+ if (aPrec >= 16)
+ {
+ // Nothing
+ }
+ else
+ {
+ bool s = false;
+ int comp = v;
+ if (v < 0)
+ {
+ s = true;
+ comp = -comp;
+ }
+
+ int unq = 0;
+ if (comp == 0)
+ unq = 0;
+ else if (comp >= ((1 << (aPrec - 1)) - 1))
+ unq = 0x7fff;
+ else
+ unq = ((comp << 15) + 0x4000) >> (aPrec - 1);
+
+ if (s)
+ unq = -unq;
+
+ v = unq;
+ }
+ }
+ else
+ {
+ if (aPrec >= 15)
+ {
+ // Nothing
+ }
+ else if (v == 0)
+ {
+ // Nothing
+ }
+ else if (v == ((1 << aPrec) - 1))
+ v = 0xffff;
+ else
+ v = ((v << 16) + 0x8000) >> aPrec;
+ }
+ }
+ }
+ }
+
+ const int *weights = BC7Data::g_weightTables[indexBits];
+
+ for (int px = 0; px < 16; px++)
+ {
+ int subset = 0;
+ if (modeInfo.m_partitioned)
+ subset = (BC7Data::g_partitionMap[partition] >> px) & 1;
+
+ int w = weights[indexes[px]];
+ for (int ch = 0; ch < 3; ch++)
+ {
+ int comp = ((64 - w) * eps[subset][0][ch] + w * eps[subset][1][ch] + 32) >> 6;
+
+ if (isSigned)
+ {
+ if (comp < 0)
+ comp = -(((-comp) * 31) >> 5);
+ else
+ comp = (comp * 31) >> 5;
+
+ int s = 0;
+ if (comp < 0)
+ {
+ s = 0x8000;
+ comp = -comp;
+ }
+
+ output.m_pixels[px][ch] = static_cast<uint16_t>(s | comp);
+ }
+ else
+ {
+ comp = (comp * 31) >> 6;
+ output.m_pixels[px][ch] = static_cast<uint16_t>(comp);
+ }
+ }
+ output.m_pixels[px][3] = 0x3c00; // 1.0
+ }
+ }
+ };
+
+ namespace S3TCSingleColorTables
+ {
+ struct SingleColorTableEntry
+ {
+ uint8_t m_min;
+ uint8_t m_max;
+ uint8_t m_actualColor;
+ uint8_t m_span;
+ };
+
+ SingleColorTableEntry g_singleColor5_3[256] =
+ {
+ { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 8, 0, 2, 8 }, { 8, 0, 2, 8 }, { 0, 8, 5, 8 }, { 0, 8, 5, 8 }, { 0, 8, 5, 8 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 16, 8, 10, 8 }, { 33, 0, 11, 33 }, { 8, 16, 13, 8 }, { 8, 16, 13, 8 }, { 8, 16, 13, 8 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 24, 16, 18, 8 }, { 41, 8, 19, 33 }, { 16, 24, 21, 8 }, { 16, 24, 21, 8 }, { 0, 33, 22, 33 }, { 24, 24, 24, 0 },
+ { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 33, 24, 27, 9 }, { 33, 24, 27, 9 }, { 33, 24, 27, 9 }, { 41, 24, 29, 17 }, { 24, 33, 30, 9 }, { 24, 33, 30, 9 },
+ { 16, 41, 32, 25 }, { 33, 33, 33, 0 }, { 33, 33, 33, 0 }, { 41, 33, 35, 8 }, { 41, 33, 35, 8 }, { 33, 41, 38, 8 }, { 33, 41, 38, 8 }, { 33, 41, 38, 8 },
+ { 24, 49, 40, 25 }, { 41, 41, 41, 0 }, { 41, 41, 41, 0 }, { 49, 41, 43, 8 }, { 66, 33, 44, 33 }, { 41, 49, 46, 8 }, { 41, 49, 46, 8 }, { 41, 49, 46, 8 },
+ { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 57, 49, 51, 8 }, { 74, 41, 52, 33 }, { 49, 57, 54, 8 }, { 49, 57, 54, 8 }, { 33, 66, 55, 33 },
+ { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 66, 57, 60, 9 }, { 66, 57, 60, 9 }, { 66, 57, 60, 9 }, { 74, 57, 62, 17 }, { 57, 66, 63, 9 },
+ { 57, 66, 63, 9 }, { 49, 74, 65, 25 }, { 66, 66, 66, 0 }, { 66, 66, 66, 0 }, { 74, 66, 68, 8 }, { 74, 66, 68, 8 }, { 66, 74, 71, 8 }, { 66, 74, 71, 8 },
+ { 66, 74, 71, 8 }, { 57, 82, 73, 25 }, { 74, 74, 74, 0 }, { 74, 74, 74, 0 }, { 82, 74, 76, 8 }, { 99, 66, 77, 33 }, { 74, 82, 79, 8 }, { 74, 82, 79, 8 },
+ { 74, 82, 79, 8 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 90, 82, 84, 8 }, { 107, 74, 85, 33 }, { 82, 90, 87, 8 }, { 82, 90, 87, 8 },
+ { 66, 99, 88, 33 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 99, 90, 93, 9 }, { 99, 90, 93, 9 }, { 99, 90, 93, 9 }, { 107, 90, 95, 17 },
+ { 90, 99, 96, 9 }, { 90, 99, 96, 9 }, { 82, 107, 98, 25 }, { 99, 99, 99, 0 }, { 99, 99, 99, 0 }, { 107, 99, 101, 8 }, { 107, 99, 101, 8 }, { 99, 107, 104, 8 },
+ { 99, 107, 104, 8 }, { 99, 107, 104, 8 }, { 90, 115, 106, 25 }, { 107, 107, 107, 0 }, { 107, 107, 107, 0 }, { 115, 107, 109, 8 }, { 132, 99, 110, 33 }, { 107, 115, 112, 8 },
+ { 107, 115, 112, 8 }, { 107, 115, 112, 8 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 123, 115, 117, 8 }, { 140, 107, 118, 33 }, { 115, 123, 120, 8 },
+ { 115, 123, 120, 8 }, { 99, 132, 121, 33 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 132, 123, 126, 9 }, { 132, 123, 126, 9 }, { 132, 123, 126, 9 },
+ { 140, 123, 128, 17 }, { 123, 132, 129, 9 }, { 123, 132, 129, 9 }, { 115, 140, 131, 25 }, { 132, 132, 132, 0 }, { 132, 132, 132, 0 }, { 140, 132, 134, 8 }, { 140, 132, 134, 8 },
+ { 132, 140, 137, 8 }, { 132, 140, 137, 8 }, { 132, 140, 137, 8 }, { 123, 148, 139, 25 }, { 140, 140, 140, 0 }, { 140, 140, 140, 0 }, { 148, 140, 142, 8 }, { 165, 132, 143, 33 },
+ { 140, 148, 145, 8 }, { 140, 148, 145, 8 }, { 140, 148, 145, 8 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 156, 148, 150, 8 }, { 173, 140, 151, 33 },
+ { 148, 156, 153, 8 }, { 148, 156, 153, 8 }, { 132, 165, 154, 33 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 165, 156, 159, 9 }, { 165, 156, 159, 9 },
+ { 165, 156, 159, 9 }, { 173, 156, 161, 17 }, { 156, 165, 162, 9 }, { 156, 165, 162, 9 }, { 148, 173, 164, 25 }, { 165, 165, 165, 0 }, { 165, 165, 165, 0 }, { 173, 165, 167, 8 },
+ { 173, 165, 167, 8 }, { 165, 173, 170, 8 }, { 165, 173, 170, 8 }, { 165, 173, 170, 8 }, { 156, 181, 172, 25 }, { 173, 173, 173, 0 }, { 173, 173, 173, 0 }, { 181, 173, 175, 8 },
+ { 198, 165, 176, 33 }, { 173, 181, 178, 8 }, { 173, 181, 178, 8 }, { 173, 181, 178, 8 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 189, 181, 183, 8 },
+ { 206, 173, 184, 33 }, { 181, 189, 186, 8 }, { 181, 189, 186, 8 }, { 165, 198, 187, 33 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 198, 189, 192, 9 },
+ { 198, 189, 192, 9 }, { 198, 189, 192, 9 }, { 206, 189, 194, 17 }, { 189, 198, 195, 9 }, { 189, 198, 195, 9 }, { 181, 206, 197, 25 }, { 198, 198, 198, 0 }, { 198, 198, 198, 0 },
+ { 206, 198, 200, 8 }, { 206, 198, 200, 8 }, { 198, 206, 203, 8 }, { 198, 206, 203, 8 }, { 198, 206, 203, 8 }, { 189, 214, 205, 25 }, { 206, 206, 206, 0 }, { 206, 206, 206, 0 },
+ { 214, 206, 208, 8 }, { 231, 198, 209, 33 }, { 206, 214, 211, 8 }, { 206, 214, 211, 8 }, { 206, 214, 211, 8 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 },
+ { 222, 214, 216, 8 }, { 239, 206, 217, 33 }, { 214, 222, 219, 8 }, { 214, 222, 219, 8 }, { 198, 231, 220, 33 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 },
+ { 231, 222, 225, 9 }, { 231, 222, 225, 9 }, { 231, 222, 225, 9 }, { 239, 222, 227, 17 }, { 222, 231, 228, 9 }, { 222, 231, 228, 9 }, { 214, 239, 230, 25 }, { 231, 231, 231, 0 },
+ { 231, 231, 231, 0 }, { 239, 231, 233, 8 }, { 239, 231, 233, 8 }, { 231, 239, 236, 8 }, { 231, 239, 236, 8 }, { 231, 239, 236, 8 }, { 222, 247, 238, 25 }, { 239, 239, 239, 0 },
+ { 239, 239, 239, 0 }, { 247, 239, 241, 8 }, { 247, 239, 241, 8 }, { 239, 247, 244, 8 }, { 239, 247, 244, 8 }, { 239, 247, 244, 8 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 247, 247, 247, 0 }, { 255, 247, 249, 8 }, { 255, 247, 249, 8 }, { 247, 255, 252, 8 }, { 247, 255, 252, 8 }, { 247, 255, 252, 8 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+
+ SingleColorTableEntry g_singleColor6_3[256] =
+ {
+ { 0, 0, 0, 0 }, { 4, 0, 1, 4 }, { 0, 4, 2, 4 }, { 4, 4, 4, 0 }, { 4, 4, 4, 0 }, { 8, 4, 5, 4 }, { 4, 8, 6, 4 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 12, 8, 9, 4 }, { 8, 12, 10, 4 }, { 12, 12, 12, 0 }, { 12, 12, 12, 0 }, { 16, 12, 13, 4 }, { 12, 16, 14, 4 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 20, 16, 17, 4 }, { 16, 20, 18, 4 }, { 20, 20, 20, 0 }, { 20, 20, 20, 0 }, { 24, 20, 21, 4 }, { 20, 24, 22, 4 }, { 69, 0, 23, 69 },
+ { 24, 24, 24, 0 }, { 28, 24, 25, 4 }, { 24, 28, 26, 4 }, { 65, 8, 27, 57 }, { 28, 28, 28, 0 }, { 32, 28, 29, 4 }, { 28, 32, 30, 4 }, { 69, 12, 31, 57 },
+ { 32, 32, 32, 0 }, { 36, 32, 33, 4 }, { 32, 36, 34, 4 }, { 65, 20, 35, 45 }, { 36, 36, 36, 0 }, { 40, 36, 37, 4 }, { 36, 40, 38, 4 }, { 69, 24, 39, 45 },
+ { 40, 40, 40, 0 }, { 44, 40, 41, 4 }, { 40, 44, 42, 4 }, { 65, 32, 43, 33 }, { 44, 44, 44, 0 }, { 48, 44, 45, 4 }, { 44, 48, 46, 4 }, { 69, 36, 47, 33 },
+ { 48, 48, 48, 0 }, { 52, 48, 49, 4 }, { 48, 52, 50, 4 }, { 65, 44, 51, 21 }, { 52, 52, 52, 0 }, { 56, 52, 53, 4 }, { 52, 56, 54, 4 }, { 69, 48, 55, 21 },
+ { 56, 56, 56, 0 }, { 60, 56, 57, 4 }, { 56, 60, 58, 4 }, { 65, 56, 59, 9 }, { 60, 60, 60, 0 }, { 65, 60, 61, 5 }, { 56, 65, 62, 9 }, { 60, 65, 63, 5 },
+ { 56, 69, 64, 13 }, { 65, 65, 65, 0 }, { 69, 65, 66, 4 }, { 65, 69, 67, 4 }, { 60, 73, 68, 13 }, { 69, 69, 69, 0 }, { 73, 69, 70, 4 }, { 69, 73, 71, 4 },
+ { 56, 81, 72, 25 }, { 73, 73, 73, 0 }, { 77, 73, 74, 4 }, { 73, 77, 75, 4 }, { 60, 85, 76, 25 }, { 77, 77, 77, 0 }, { 81, 77, 78, 4 }, { 77, 81, 79, 4 },
+ { 56, 93, 80, 37 }, { 81, 81, 81, 0 }, { 85, 81, 82, 4 }, { 81, 85, 83, 4 }, { 60, 97, 84, 37 }, { 85, 85, 85, 0 }, { 89, 85, 86, 4 }, { 85, 89, 87, 4 },
+ { 56, 105, 88, 49 }, { 89, 89, 89, 0 }, { 93, 89, 90, 4 }, { 89, 93, 91, 4 }, { 60, 109, 92, 49 }, { 93, 93, 93, 0 }, { 97, 93, 94, 4 }, { 93, 97, 95, 4 },
+ { 134, 77, 96, 57 }, { 97, 97, 97, 0 }, { 101, 97, 98, 4 }, { 97, 101, 99, 4 }, { 130, 85, 100, 45 }, { 101, 101, 101, 0 }, { 105, 101, 102, 4 }, { 101, 105, 103, 4 },
+ { 134, 89, 104, 45 }, { 105, 105, 105, 0 }, { 109, 105, 106, 4 }, { 105, 109, 107, 4 }, { 130, 97, 108, 33 }, { 109, 109, 109, 0 }, { 113, 109, 110, 4 }, { 109, 113, 111, 4 },
+ { 134, 101, 112, 33 }, { 113, 113, 113, 0 }, { 117, 113, 114, 4 }, { 113, 117, 115, 4 }, { 130, 109, 116, 21 }, { 117, 117, 117, 0 }, { 121, 117, 118, 4 }, { 117, 121, 119, 4 },
+ { 134, 113, 120, 21 }, { 121, 121, 121, 0 }, { 125, 121, 122, 4 }, { 121, 125, 123, 4 }, { 130, 121, 124, 9 }, { 125, 125, 125, 0 }, { 130, 125, 126, 5 }, { 121, 130, 127, 9 },
+ { 125, 130, 128, 5 }, { 121, 134, 129, 13 }, { 130, 130, 130, 0 }, { 134, 130, 131, 4 }, { 130, 134, 132, 4 }, { 125, 138, 133, 13 }, { 134, 134, 134, 0 }, { 138, 134, 135, 4 },
+ { 134, 138, 136, 4 }, { 121, 146, 137, 25 }, { 138, 138, 138, 0 }, { 142, 138, 139, 4 }, { 138, 142, 140, 4 }, { 125, 150, 141, 25 }, { 142, 142, 142, 0 }, { 146, 142, 143, 4 },
+ { 142, 146, 144, 4 }, { 121, 158, 145, 37 }, { 146, 146, 146, 0 }, { 150, 146, 147, 4 }, { 146, 150, 148, 4 }, { 125, 162, 149, 37 }, { 150, 150, 150, 0 }, { 154, 150, 151, 4 },
+ { 150, 154, 152, 4 }, { 121, 170, 153, 49 }, { 154, 154, 154, 0 }, { 158, 154, 155, 4 }, { 154, 158, 156, 4 }, { 125, 174, 157, 49 }, { 158, 158, 158, 0 }, { 162, 158, 159, 4 },
+ { 158, 162, 160, 4 }, { 199, 142, 161, 57 }, { 162, 162, 162, 0 }, { 166, 162, 163, 4 }, { 162, 166, 164, 4 }, { 195, 150, 165, 45 }, { 166, 166, 166, 0 }, { 170, 166, 167, 4 },
+ { 166, 170, 168, 4 }, { 199, 154, 169, 45 }, { 170, 170, 170, 0 }, { 174, 170, 171, 4 }, { 170, 174, 172, 4 }, { 195, 162, 173, 33 }, { 174, 174, 174, 0 }, { 178, 174, 175, 4 },
+ { 174, 178, 176, 4 }, { 199, 166, 177, 33 }, { 178, 178, 178, 0 }, { 182, 178, 179, 4 }, { 178, 182, 180, 4 }, { 195, 174, 181, 21 }, { 182, 182, 182, 0 }, { 186, 182, 183, 4 },
+ { 182, 186, 184, 4 }, { 199, 178, 185, 21 }, { 186, 186, 186, 0 }, { 190, 186, 187, 4 }, { 186, 190, 188, 4 }, { 195, 186, 189, 9 }, { 190, 190, 190, 0 }, { 195, 190, 191, 5 },
+ { 186, 195, 192, 9 }, { 190, 195, 193, 5 }, { 186, 199, 194, 13 }, { 195, 195, 195, 0 }, { 199, 195, 196, 4 }, { 195, 199, 197, 4 }, { 190, 203, 198, 13 }, { 199, 199, 199, 0 },
+ { 203, 199, 200, 4 }, { 199, 203, 201, 4 }, { 186, 211, 202, 25 }, { 203, 203, 203, 0 }, { 207, 203, 204, 4 }, { 203, 207, 205, 4 }, { 190, 215, 206, 25 }, { 207, 207, 207, 0 },
+ { 211, 207, 208, 4 }, { 207, 211, 209, 4 }, { 186, 223, 210, 37 }, { 211, 211, 211, 0 }, { 215, 211, 212, 4 }, { 211, 215, 213, 4 }, { 190, 227, 214, 37 }, { 215, 215, 215, 0 },
+ { 219, 215, 216, 4 }, { 215, 219, 217, 4 }, { 186, 235, 218, 49 }, { 219, 219, 219, 0 }, { 223, 219, 220, 4 }, { 219, 223, 221, 4 }, { 190, 239, 222, 49 }, { 223, 223, 223, 0 },
+ { 227, 223, 224, 4 }, { 223, 227, 225, 4 }, { 186, 247, 226, 61 }, { 227, 227, 227, 0 }, { 231, 227, 228, 4 }, { 227, 231, 229, 4 }, { 190, 251, 230, 61 }, { 231, 231, 231, 0 },
+ { 235, 231, 232, 4 }, { 231, 235, 233, 4 }, { 235, 235, 235, 0 }, { 235, 235, 235, 0 }, { 239, 235, 236, 4 }, { 235, 239, 237, 4 }, { 239, 239, 239, 0 }, { 239, 239, 239, 0 },
+ { 243, 239, 240, 4 }, { 239, 243, 241, 4 }, { 243, 243, 243, 0 }, { 243, 243, 243, 0 }, { 247, 243, 244, 4 }, { 243, 247, 245, 4 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 251, 247, 248, 4 }, { 247, 251, 249, 4 }, { 251, 251, 251, 0 }, { 251, 251, 251, 0 }, { 255, 251, 252, 4 }, { 251, 255, 253, 4 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+
+ SingleColorTableEntry g_singleColor5_2[256] =
+ {
+ { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 8, 4, 8 }, { 0, 8, 4, 8 }, { 0, 8, 4, 8 }, { 8, 8, 8, 0 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 8, 16, 12, 8 }, { 8, 16, 12, 8 }, { 8, 16, 12, 8 }, { 16, 16, 16, 0 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 16, 24, 20, 8 }, { 16, 24, 20, 8 }, { 16, 24, 20, 8 }, { 24, 24, 24, 0 }, { 24, 24, 24, 0 },
+ { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 24, 33, 28, 9 }, { 24, 33, 28, 9 }, { 24, 33, 28, 9 }, { 24, 33, 28, 9 }, { 24, 41, 32, 17 },
+ { 24, 41, 32, 17 }, { 33, 33, 33, 0 }, { 33, 33, 33, 0 }, { 24, 49, 36, 25 }, { 24, 49, 36, 25 }, { 33, 41, 37, 8 }, { 33, 41, 37, 8 }, { 24, 57, 40, 33 },
+ { 24, 57, 40, 33 }, { 41, 41, 41, 0 }, { 41, 41, 41, 0 }, { 41, 41, 41, 0 }, { 41, 49, 45, 8 }, { 41, 49, 45, 8 }, { 41, 49, 45, 8 }, { 49, 49, 49, 0 },
+ { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 57, 53, 8 }, { 49, 57, 53, 8 }, { 49, 57, 53, 8 }, { 57, 57, 57, 0 },
+ { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 66, 61, 9 }, { 57, 66, 61, 9 }, { 57, 66, 61, 9 }, { 57, 66, 61, 9 },
+ { 57, 74, 65, 17 }, { 57, 74, 65, 17 }, { 66, 66, 66, 0 }, { 66, 66, 66, 0 }, { 57, 82, 69, 25 }, { 57, 82, 69, 25 }, { 66, 74, 70, 8 }, { 66, 74, 70, 8 },
+ { 57, 90, 73, 33 }, { 57, 90, 73, 33 }, { 74, 74, 74, 0 }, { 74, 74, 74, 0 }, { 74, 74, 74, 0 }, { 74, 82, 78, 8 }, { 74, 82, 78, 8 }, { 74, 82, 78, 8 },
+ { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 90, 86, 8 }, { 82, 90, 86, 8 }, { 82, 90, 86, 8 },
+ { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 99, 94, 9 }, { 90, 99, 94, 9 }, { 90, 99, 94, 9 },
+ { 90, 99, 94, 9 }, { 90, 107, 98, 17 }, { 90, 107, 98, 17 }, { 99, 99, 99, 0 }, { 99, 99, 99, 0 }, { 90, 115, 102, 25 }, { 90, 115, 102, 25 }, { 99, 107, 103, 8 },
+ { 99, 107, 103, 8 }, { 90, 123, 106, 33 }, { 90, 123, 106, 33 }, { 107, 107, 107, 0 }, { 107, 107, 107, 0 }, { 107, 107, 107, 0 }, { 107, 115, 111, 8 }, { 107, 115, 111, 8 },
+ { 107, 115, 111, 8 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 123, 119, 8 }, { 115, 123, 119, 8 },
+ { 115, 123, 119, 8 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 132, 127, 9 }, { 123, 132, 127, 9 },
+ { 123, 132, 127, 9 }, { 123, 132, 127, 9 }, { 123, 140, 131, 17 }, { 123, 140, 131, 17 }, { 132, 132, 132, 0 }, { 132, 132, 132, 0 }, { 123, 148, 135, 25 }, { 123, 148, 135, 25 },
+ { 132, 140, 136, 8 }, { 132, 140, 136, 8 }, { 123, 156, 139, 33 }, { 123, 156, 139, 33 }, { 140, 140, 140, 0 }, { 140, 140, 140, 0 }, { 140, 140, 140, 0 }, { 140, 148, 144, 8 },
+ { 140, 148, 144, 8 }, { 140, 148, 144, 8 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 156, 152, 8 },
+ { 148, 156, 152, 8 }, { 148, 156, 152, 8 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 165, 160, 9 },
+ { 156, 165, 160, 9 }, { 156, 165, 160, 9 }, { 156, 165, 160, 9 }, { 156, 173, 164, 17 }, { 156, 173, 164, 17 }, { 165, 165, 165, 0 }, { 165, 165, 165, 0 }, { 156, 181, 168, 25 },
+ { 156, 181, 168, 25 }, { 165, 173, 169, 8 }, { 165, 173, 169, 8 }, { 156, 189, 172, 33 }, { 156, 189, 172, 33 }, { 173, 173, 173, 0 }, { 173, 173, 173, 0 }, { 173, 173, 173, 0 },
+ { 173, 181, 177, 8 }, { 173, 181, 177, 8 }, { 173, 181, 177, 8 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 },
+ { 181, 189, 185, 8 }, { 181, 189, 185, 8 }, { 181, 189, 185, 8 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 },
+ { 189, 198, 193, 9 }, { 189, 198, 193, 9 }, { 189, 198, 193, 9 }, { 189, 198, 193, 9 }, { 189, 206, 197, 17 }, { 189, 206, 197, 17 }, { 198, 198, 198, 0 }, { 198, 198, 198, 0 },
+ { 189, 214, 201, 25 }, { 189, 214, 201, 25 }, { 198, 206, 202, 8 }, { 198, 206, 202, 8 }, { 189, 222, 205, 33 }, { 189, 222, 205, 33 }, { 206, 206, 206, 0 }, { 206, 206, 206, 0 },
+ { 206, 206, 206, 0 }, { 206, 214, 210, 8 }, { 206, 214, 210, 8 }, { 206, 214, 210, 8 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 },
+ { 214, 214, 214, 0 }, { 214, 222, 218, 8 }, { 214, 222, 218, 8 }, { 214, 222, 218, 8 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 },
+ { 222, 222, 222, 0 }, { 222, 231, 226, 9 }, { 222, 231, 226, 9 }, { 222, 231, 226, 9 }, { 222, 231, 226, 9 }, { 222, 239, 230, 17 }, { 222, 239, 230, 17 }, { 231, 231, 231, 0 },
+ { 231, 231, 231, 0 }, { 222, 247, 234, 25 }, { 222, 247, 234, 25 }, { 231, 239, 235, 8 }, { 231, 239, 235, 8 }, { 222, 255, 238, 33 }, { 222, 255, 238, 33 }, { 239, 239, 239, 0 },
+ { 239, 239, 239, 0 }, { 239, 239, 239, 0 }, { 239, 247, 243, 8 }, { 239, 247, 243, 8 }, { 239, 247, 243, 8 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 247, 247, 247, 0 }, { 247, 247, 247, 0 }, { 247, 255, 251, 8 }, { 247, 255, 251, 8 }, { 247, 255, 251, 8 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+
+ SingleColorTableEntry g_singleColor6_2[256] =
+ {
+ { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 4, 2, 4 }, { 4, 4, 4, 0 }, { 4, 4, 4, 0 }, { 4, 4, 4, 0 }, { 4, 8, 6, 4 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 8, 12, 10, 4 }, { 12, 12, 12, 0 }, { 12, 12, 12, 0 }, { 12, 12, 12, 0 }, { 12, 16, 14, 4 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 16, 20, 18, 4 }, { 20, 20, 20, 0 }, { 20, 20, 20, 0 }, { 20, 20, 20, 0 }, { 20, 24, 22, 4 }, { 24, 24, 24, 0 },
+ { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 24, 28, 26, 4 }, { 28, 28, 28, 0 }, { 28, 28, 28, 0 }, { 28, 28, 28, 0 }, { 28, 32, 30, 4 }, { 32, 32, 32, 0 },
+ { 32, 32, 32, 0 }, { 32, 32, 32, 0 }, { 32, 36, 34, 4 }, { 36, 36, 36, 0 }, { 36, 36, 36, 0 }, { 36, 36, 36, 0 }, { 36, 40, 38, 4 }, { 40, 40, 40, 0 },
+ { 40, 40, 40, 0 }, { 40, 40, 40, 0 }, { 40, 44, 42, 4 }, { 44, 44, 44, 0 }, { 44, 44, 44, 0 }, { 44, 44, 44, 0 }, { 44, 48, 46, 4 }, { 48, 48, 48, 0 },
+ { 48, 48, 48, 0 }, { 48, 48, 48, 0 }, { 48, 52, 50, 4 }, { 52, 52, 52, 0 }, { 52, 52, 52, 0 }, { 52, 52, 52, 0 }, { 52, 56, 54, 4 }, { 56, 56, 56, 0 },
+ { 56, 56, 56, 0 }, { 56, 56, 56, 0 }, { 56, 60, 58, 4 }, { 60, 60, 60, 0 }, { 60, 60, 60, 0 }, { 60, 60, 60, 0 }, { 60, 65, 62, 5 }, { 60, 65, 62, 5 },
+ { 60, 69, 64, 9 }, { 65, 65, 65, 0 }, { 60, 73, 66, 13 }, { 65, 69, 67, 4 }, { 60, 77, 68, 17 }, { 69, 69, 69, 0 }, { 60, 81, 70, 21 }, { 69, 73, 71, 4 },
+ { 60, 85, 72, 25 }, { 73, 73, 73, 0 }, { 60, 89, 74, 29 }, { 73, 77, 75, 4 }, { 60, 93, 76, 33 }, { 77, 77, 77, 0 }, { 60, 97, 78, 37 }, { 77, 81, 79, 4 },
+ { 60, 101, 80, 41 }, { 81, 81, 81, 0 }, { 60, 105, 82, 45 }, { 81, 85, 83, 4 }, { 60, 109, 84, 49 }, { 85, 85, 85, 0 }, { 60, 113, 86, 53 }, { 85, 89, 87, 4 },
+ { 60, 117, 88, 57 }, { 89, 89, 89, 0 }, { 60, 121, 90, 61 }, { 89, 93, 91, 4 }, { 60, 125, 92, 65 }, { 93, 93, 93, 0 }, { 93, 93, 93, 0 }, { 93, 97, 95, 4 },
+ { 97, 97, 97, 0 }, { 97, 97, 97, 0 }, { 97, 97, 97, 0 }, { 97, 101, 99, 4 }, { 101, 101, 101, 0 }, { 101, 101, 101, 0 }, { 101, 101, 101, 0 }, { 101, 105, 103, 4 },
+ { 105, 105, 105, 0 }, { 105, 105, 105, 0 }, { 105, 105, 105, 0 }, { 105, 109, 107, 4 }, { 109, 109, 109, 0 }, { 109, 109, 109, 0 }, { 109, 109, 109, 0 }, { 109, 113, 111, 4 },
+ { 113, 113, 113, 0 }, { 113, 113, 113, 0 }, { 113, 113, 113, 0 }, { 113, 117, 115, 4 }, { 117, 117, 117, 0 }, { 117, 117, 117, 0 }, { 117, 117, 117, 0 }, { 117, 121, 119, 4 },
+ { 121, 121, 121, 0 }, { 121, 121, 121, 0 }, { 121, 121, 121, 0 }, { 121, 125, 123, 4 }, { 125, 125, 125, 0 }, { 125, 125, 125, 0 }, { 125, 125, 125, 0 }, { 125, 130, 127, 5 },
+ { 125, 130, 127, 5 }, { 125, 134, 129, 9 }, { 130, 130, 130, 0 }, { 125, 138, 131, 13 }, { 130, 134, 132, 4 }, { 125, 142, 133, 17 }, { 134, 134, 134, 0 }, { 125, 146, 135, 21 },
+ { 134, 138, 136, 4 }, { 125, 150, 137, 25 }, { 138, 138, 138, 0 }, { 125, 154, 139, 29 }, { 138, 142, 140, 4 }, { 125, 158, 141, 33 }, { 142, 142, 142, 0 }, { 125, 162, 143, 37 },
+ { 142, 146, 144, 4 }, { 125, 166, 145, 41 }, { 146, 146, 146, 0 }, { 125, 170, 147, 45 }, { 146, 150, 148, 4 }, { 125, 174, 149, 49 }, { 150, 150, 150, 0 }, { 125, 178, 151, 53 },
+ { 150, 154, 152, 4 }, { 125, 182, 153, 57 }, { 154, 154, 154, 0 }, { 125, 186, 155, 61 }, { 154, 158, 156, 4 }, { 125, 190, 157, 65 }, { 158, 158, 158, 0 }, { 158, 158, 158, 0 },
+ { 158, 162, 160, 4 }, { 162, 162, 162, 0 }, { 162, 162, 162, 0 }, { 162, 162, 162, 0 }, { 162, 166, 164, 4 }, { 166, 166, 166, 0 }, { 166, 166, 166, 0 }, { 166, 166, 166, 0 },
+ { 166, 170, 168, 4 }, { 170, 170, 170, 0 }, { 170, 170, 170, 0 }, { 170, 170, 170, 0 }, { 170, 174, 172, 4 }, { 174, 174, 174, 0 }, { 174, 174, 174, 0 }, { 174, 174, 174, 0 },
+ { 174, 178, 176, 4 }, { 178, 178, 178, 0 }, { 178, 178, 178, 0 }, { 178, 178, 178, 0 }, { 178, 182, 180, 4 }, { 182, 182, 182, 0 }, { 182, 182, 182, 0 }, { 182, 182, 182, 0 },
+ { 182, 186, 184, 4 }, { 186, 186, 186, 0 }, { 186, 186, 186, 0 }, { 186, 186, 186, 0 }, { 186, 190, 188, 4 }, { 190, 190, 190, 0 }, { 190, 190, 190, 0 }, { 190, 190, 190, 0 },
+ { 190, 195, 192, 5 }, { 190, 195, 192, 5 }, { 190, 199, 194, 9 }, { 195, 195, 195, 0 }, { 190, 203, 196, 13 }, { 195, 199, 197, 4 }, { 190, 207, 198, 17 }, { 199, 199, 199, 0 },
+ { 190, 211, 200, 21 }, { 199, 203, 201, 4 }, { 190, 215, 202, 25 }, { 203, 203, 203, 0 }, { 190, 219, 204, 29 }, { 203, 207, 205, 4 }, { 190, 223, 206, 33 }, { 207, 207, 207, 0 },
+ { 190, 227, 208, 37 }, { 207, 211, 209, 4 }, { 190, 231, 210, 41 }, { 211, 211, 211, 0 }, { 190, 235, 212, 45 }, { 211, 215, 213, 4 }, { 190, 239, 214, 49 }, { 215, 215, 215, 0 },
+ { 190, 243, 216, 53 }, { 215, 219, 217, 4 }, { 190, 247, 218, 57 }, { 219, 219, 219, 0 }, { 190, 251, 220, 61 }, { 219, 223, 221, 4 }, { 190, 255, 222, 65 }, { 223, 223, 223, 0 },
+ { 223, 223, 223, 0 }, { 223, 227, 225, 4 }, { 227, 227, 227, 0 }, { 227, 227, 227, 0 }, { 227, 227, 227, 0 }, { 227, 231, 229, 4 }, { 231, 231, 231, 0 }, { 231, 231, 231, 0 },
+ { 231, 231, 231, 0 }, { 231, 235, 233, 4 }, { 235, 235, 235, 0 }, { 235, 235, 235, 0 }, { 235, 235, 235, 0 }, { 235, 239, 237, 4 }, { 239, 239, 239, 0 }, { 239, 239, 239, 0 },
+ { 239, 239, 239, 0 }, { 239, 243, 241, 4 }, { 243, 243, 243, 0 }, { 243, 243, 243, 0 }, { 243, 243, 243, 0 }, { 243, 247, 245, 4 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 247, 247, 247, 0 }, { 247, 251, 249, 4 }, { 251, 251, 251, 0 }, { 251, 251, 251, 0 }, { 251, 251, 251, 0 }, { 251, 255, 253, 4 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+
+ SingleColorTableEntry g_singleColor5_3_p[256] =
+ {
+ { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 8, 0, 2, 8 }, { 8, 0, 2, 8 }, { 0, 8, 5, 8 }, { 0, 8, 5, 8 }, { 0, 8, 5, 8 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 16, 8, 10, 8 }, { 33, 0, 11, 33 }, { 8, 16, 13, 8 }, { 8, 16, 13, 8 }, { 8, 16, 13, 8 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 24, 16, 18, 8 }, { 41, 8, 19, 33 }, { 16, 24, 21, 8 }, { 16, 24, 21, 8 }, { 0, 33, 22, 33 }, { 24, 24, 24, 0 },
+ { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 33, 24, 27, 9 }, { 33, 24, 27, 9 }, { 33, 24, 27, 9 }, { 41, 24, 29, 17 }, { 24, 33, 30, 9 }, { 24, 33, 30, 9 },
+ { 16, 41, 32, 25 }, { 33, 33, 33, 0 }, { 33, 33, 33, 0 }, { 41, 33, 35, 8 }, { 41, 33, 35, 8 }, { 33, 41, 38, 8 }, { 33, 41, 38, 8 }, { 33, 41, 38, 8 },
+ { 24, 49, 40, 25 }, { 41, 41, 41, 0 }, { 41, 41, 41, 0 }, { 49, 41, 43, 8 }, { 66, 33, 44, 33 }, { 41, 49, 46, 8 }, { 41, 49, 46, 8 }, { 41, 49, 46, 8 },
+ { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 57, 49, 51, 8 }, { 74, 41, 52, 33 }, { 49, 57, 54, 8 }, { 49, 57, 54, 8 }, { 33, 66, 55, 33 },
+ { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 66, 57, 60, 9 }, { 66, 57, 60, 9 }, { 66, 57, 60, 9 }, { 74, 57, 62, 17 }, { 57, 66, 63, 9 },
+ { 57, 66, 63, 9 }, { 49, 74, 65, 25 }, { 66, 66, 66, 0 }, { 66, 66, 66, 0 }, { 74, 66, 68, 8 }, { 74, 66, 68, 8 }, { 66, 74, 71, 8 }, { 66, 74, 71, 8 },
+ { 66, 74, 71, 8 }, { 57, 82, 73, 25 }, { 74, 74, 74, 0 }, { 74, 74, 74, 0 }, { 82, 74, 76, 8 }, { 99, 66, 77, 33 }, { 74, 82, 79, 8 }, { 74, 82, 79, 8 },
+ { 74, 82, 79, 8 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 90, 82, 84, 8 }, { 107, 74, 85, 33 }, { 82, 90, 87, 8 }, { 82, 90, 87, 8 },
+ { 66, 99, 88, 33 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 99, 90, 93, 9 }, { 99, 90, 93, 9 }, { 99, 90, 93, 9 }, { 107, 90, 95, 17 },
+ { 90, 99, 96, 9 }, { 90, 99, 96, 9 }, { 82, 107, 98, 25 }, { 99, 99, 99, 0 }, { 99, 99, 99, 0 }, { 107, 99, 101, 8 }, { 107, 99, 101, 8 }, { 99, 107, 104, 8 },
+ { 99, 107, 104, 8 }, { 99, 107, 104, 8 }, { 90, 115, 106, 25 }, { 107, 107, 107, 0 }, { 107, 107, 107, 0 }, { 115, 107, 109, 8 }, { 132, 99, 110, 33 }, { 107, 115, 112, 8 },
+ { 107, 115, 112, 8 }, { 107, 115, 112, 8 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 123, 115, 117, 8 }, { 140, 107, 118, 33 }, { 115, 123, 120, 8 },
+ { 115, 123, 120, 8 }, { 99, 132, 121, 33 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 132, 123, 126, 9 }, { 132, 123, 126, 9 }, { 132, 123, 126, 9 },
+ { 140, 123, 128, 17 }, { 123, 132, 129, 9 }, { 123, 132, 129, 9 }, { 115, 140, 131, 25 }, { 132, 132, 132, 0 }, { 132, 132, 132, 0 }, { 140, 132, 134, 8 }, { 140, 132, 134, 8 },
+ { 132, 140, 137, 8 }, { 132, 140, 137, 8 }, { 132, 140, 137, 8 }, { 123, 148, 139, 25 }, { 140, 140, 140, 0 }, { 140, 140, 140, 0 }, { 148, 140, 142, 8 }, { 165, 132, 143, 33 },
+ { 140, 148, 145, 8 }, { 140, 148, 145, 8 }, { 140, 148, 145, 8 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 156, 148, 150, 8 }, { 173, 140, 151, 33 },
+ { 148, 156, 153, 8 }, { 148, 156, 153, 8 }, { 132, 165, 154, 33 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 165, 156, 159, 9 }, { 165, 156, 159, 9 },
+ { 165, 156, 159, 9 }, { 173, 156, 161, 17 }, { 156, 165, 162, 9 }, { 156, 165, 162, 9 }, { 148, 173, 164, 25 }, { 165, 165, 165, 0 }, { 165, 165, 165, 0 }, { 173, 165, 167, 8 },
+ { 173, 165, 167, 8 }, { 165, 173, 170, 8 }, { 165, 173, 170, 8 }, { 165, 173, 170, 8 }, { 156, 181, 172, 25 }, { 173, 173, 173, 0 }, { 173, 173, 173, 0 }, { 181, 173, 175, 8 },
+ { 198, 165, 176, 33 }, { 173, 181, 178, 8 }, { 173, 181, 178, 8 }, { 173, 181, 178, 8 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 189, 181, 183, 8 },
+ { 206, 173, 184, 33 }, { 181, 189, 186, 8 }, { 181, 189, 186, 8 }, { 165, 198, 187, 33 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 198, 189, 192, 9 },
+ { 198, 189, 192, 9 }, { 198, 189, 192, 9 }, { 206, 189, 194, 17 }, { 189, 198, 195, 9 }, { 189, 198, 195, 9 }, { 181, 206, 197, 25 }, { 198, 198, 198, 0 }, { 198, 198, 198, 0 },
+ { 206, 198, 200, 8 }, { 206, 198, 200, 8 }, { 198, 206, 203, 8 }, { 198, 206, 203, 8 }, { 198, 206, 203, 8 }, { 189, 214, 205, 25 }, { 206, 206, 206, 0 }, { 206, 206, 206, 0 },
+ { 214, 206, 208, 8 }, { 231, 198, 209, 33 }, { 206, 214, 211, 8 }, { 206, 214, 211, 8 }, { 206, 214, 211, 8 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 },
+ { 222, 214, 216, 8 }, { 239, 206, 217, 33 }, { 214, 222, 219, 8 }, { 214, 222, 219, 8 }, { 198, 231, 220, 33 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 },
+ { 231, 222, 225, 9 }, { 231, 222, 225, 9 }, { 231, 222, 225, 9 }, { 239, 222, 227, 17 }, { 222, 231, 228, 9 }, { 222, 231, 228, 9 }, { 214, 239, 230, 25 }, { 231, 231, 231, 0 },
+ { 231, 231, 231, 0 }, { 239, 231, 233, 8 }, { 239, 231, 233, 8 }, { 231, 239, 236, 8 }, { 231, 239, 236, 8 }, { 231, 239, 236, 8 }, { 222, 247, 238, 25 }, { 239, 239, 239, 0 },
+ { 239, 239, 239, 0 }, { 247, 239, 241, 8 }, { 247, 239, 241, 8 }, { 239, 247, 244, 8 }, { 239, 247, 244, 8 }, { 239, 247, 244, 8 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 247, 247, 247, 0 }, { 255, 247, 249, 8 }, { 255, 247, 249, 8 }, { 247, 255, 252, 8 }, { 247, 255, 252, 8 }, { 247, 255, 252, 8 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+
+ SingleColorTableEntry g_singleColor6_3_p[256] =
+ {
+ { 0, 0, 0, 0 }, { 4, 0, 1, 4 }, { 0, 4, 2, 4 }, { 4, 4, 4, 0 }, { 4, 4, 4, 0 }, { 8, 4, 5, 4 }, { 4, 8, 6, 4 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 12, 8, 9, 4 }, { 8, 12, 10, 4 }, { 12, 12, 12, 0 }, { 12, 12, 12, 0 }, { 16, 12, 13, 4 }, { 12, 16, 14, 4 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 20, 16, 17, 4 }, { 16, 20, 18, 4 }, { 20, 20, 20, 0 }, { 20, 20, 20, 0 }, { 24, 20, 21, 4 }, { 20, 24, 22, 4 }, { 24, 24, 24, 0 },
+ { 24, 24, 24, 0 }, { 28, 24, 25, 4 }, { 24, 28, 26, 4 }, { 28, 28, 28, 0 }, { 28, 28, 28, 0 }, { 32, 28, 29, 4 }, { 28, 32, 30, 4 }, { 32, 32, 32, 0 },
+ { 32, 32, 32, 0 }, { 36, 32, 33, 4 }, { 32, 36, 34, 4 }, { 36, 36, 36, 0 }, { 36, 36, 36, 0 }, { 40, 36, 37, 4 }, { 36, 40, 38, 4 }, { 40, 40, 40, 0 },
+ { 40, 40, 40, 0 }, { 44, 40, 41, 4 }, { 40, 44, 42, 4 }, { 65, 32, 43, 33 }, { 44, 44, 44, 0 }, { 48, 44, 45, 4 }, { 44, 48, 46, 4 }, { 69, 36, 47, 33 },
+ { 48, 48, 48, 0 }, { 52, 48, 49, 4 }, { 48, 52, 50, 4 }, { 65, 44, 51, 21 }, { 52, 52, 52, 0 }, { 56, 52, 53, 4 }, { 52, 56, 54, 4 }, { 69, 48, 55, 21 },
+ { 56, 56, 56, 0 }, { 60, 56, 57, 4 }, { 56, 60, 58, 4 }, { 65, 56, 59, 9 }, { 60, 60, 60, 0 }, { 65, 60, 61, 5 }, { 56, 65, 62, 9 }, { 60, 65, 63, 5 },
+ { 56, 69, 64, 13 }, { 65, 65, 65, 0 }, { 69, 65, 66, 4 }, { 65, 69, 67, 4 }, { 60, 73, 68, 13 }, { 69, 69, 69, 0 }, { 73, 69, 70, 4 }, { 69, 73, 71, 4 },
+ { 56, 81, 72, 25 }, { 73, 73, 73, 0 }, { 77, 73, 74, 4 }, { 73, 77, 75, 4 }, { 60, 85, 76, 25 }, { 77, 77, 77, 0 }, { 81, 77, 78, 4 }, { 77, 81, 79, 4 },
+ { 81, 81, 81, 0 }, { 81, 81, 81, 0 }, { 85, 81, 82, 4 }, { 81, 85, 83, 4 }, { 85, 85, 85, 0 }, { 85, 85, 85, 0 }, { 89, 85, 86, 4 }, { 85, 89, 87, 4 },
+ { 89, 89, 89, 0 }, { 89, 89, 89, 0 }, { 93, 89, 90, 4 }, { 89, 93, 91, 4 }, { 93, 93, 93, 0 }, { 93, 93, 93, 0 }, { 97, 93, 94, 4 }, { 93, 97, 95, 4 },
+ { 97, 97, 97, 0 }, { 97, 97, 97, 0 }, { 101, 97, 98, 4 }, { 97, 101, 99, 4 }, { 101, 101, 101, 0 }, { 101, 101, 101, 0 }, { 105, 101, 102, 4 }, { 101, 105, 103, 4 },
+ { 105, 105, 105, 0 }, { 105, 105, 105, 0 }, { 109, 105, 106, 4 }, { 105, 109, 107, 4 }, { 130, 97, 108, 33 }, { 109, 109, 109, 0 }, { 113, 109, 110, 4 }, { 109, 113, 111, 4 },
+ { 134, 101, 112, 33 }, { 113, 113, 113, 0 }, { 117, 113, 114, 4 }, { 113, 117, 115, 4 }, { 130, 109, 116, 21 }, { 117, 117, 117, 0 }, { 121, 117, 118, 4 }, { 117, 121, 119, 4 },
+ { 134, 113, 120, 21 }, { 121, 121, 121, 0 }, { 125, 121, 122, 4 }, { 121, 125, 123, 4 }, { 130, 121, 124, 9 }, { 125, 125, 125, 0 }, { 130, 125, 126, 5 }, { 121, 130, 127, 9 },
+ { 125, 130, 128, 5 }, { 121, 134, 129, 13 }, { 130, 130, 130, 0 }, { 134, 130, 131, 4 }, { 130, 134, 132, 4 }, { 125, 138, 133, 13 }, { 134, 134, 134, 0 }, { 138, 134, 135, 4 },
+ { 134, 138, 136, 4 }, { 121, 146, 137, 25 }, { 138, 138, 138, 0 }, { 142, 138, 139, 4 }, { 138, 142, 140, 4 }, { 125, 150, 141, 25 }, { 142, 142, 142, 0 }, { 146, 142, 143, 4 },
+ { 142, 146, 144, 4 }, { 146, 146, 146, 0 }, { 146, 146, 146, 0 }, { 150, 146, 147, 4 }, { 146, 150, 148, 4 }, { 150, 150, 150, 0 }, { 150, 150, 150, 0 }, { 154, 150, 151, 4 },
+ { 150, 154, 152, 4 }, { 154, 154, 154, 0 }, { 154, 154, 154, 0 }, { 158, 154, 155, 4 }, { 154, 158, 156, 4 }, { 158, 158, 158, 0 }, { 158, 158, 158, 0 }, { 162, 158, 159, 4 },
+ { 158, 162, 160, 4 }, { 162, 162, 162, 0 }, { 162, 162, 162, 0 }, { 166, 162, 163, 4 }, { 162, 166, 164, 4 }, { 166, 166, 166, 0 }, { 166, 166, 166, 0 }, { 170, 166, 167, 4 },
+ { 166, 170, 168, 4 }, { 170, 170, 170, 0 }, { 170, 170, 170, 0 }, { 174, 170, 171, 4 }, { 170, 174, 172, 4 }, { 195, 162, 173, 33 }, { 174, 174, 174, 0 }, { 178, 174, 175, 4 },
+ { 174, 178, 176, 4 }, { 199, 166, 177, 33 }, { 178, 178, 178, 0 }, { 182, 178, 179, 4 }, { 178, 182, 180, 4 }, { 195, 174, 181, 21 }, { 182, 182, 182, 0 }, { 186, 182, 183, 4 },
+ { 182, 186, 184, 4 }, { 199, 178, 185, 21 }, { 186, 186, 186, 0 }, { 190, 186, 187, 4 }, { 186, 190, 188, 4 }, { 195, 186, 189, 9 }, { 190, 190, 190, 0 }, { 195, 190, 191, 5 },
+ { 186, 195, 192, 9 }, { 190, 195, 193, 5 }, { 186, 199, 194, 13 }, { 195, 195, 195, 0 }, { 199, 195, 196, 4 }, { 195, 199, 197, 4 }, { 190, 203, 198, 13 }, { 199, 199, 199, 0 },
+ { 203, 199, 200, 4 }, { 199, 203, 201, 4 }, { 186, 211, 202, 25 }, { 203, 203, 203, 0 }, { 207, 203, 204, 4 }, { 203, 207, 205, 4 }, { 190, 215, 206, 25 }, { 207, 207, 207, 0 },
+ { 211, 207, 208, 4 }, { 207, 211, 209, 4 }, { 211, 211, 211, 0 }, { 211, 211, 211, 0 }, { 215, 211, 212, 4 }, { 211, 215, 213, 4 }, { 215, 215, 215, 0 }, { 215, 215, 215, 0 },
+ { 219, 215, 216, 4 }, { 215, 219, 217, 4 }, { 219, 219, 219, 0 }, { 219, 219, 219, 0 }, { 223, 219, 220, 4 }, { 219, 223, 221, 4 }, { 223, 223, 223, 0 }, { 223, 223, 223, 0 },
+ { 227, 223, 224, 4 }, { 223, 227, 225, 4 }, { 227, 227, 227, 0 }, { 227, 227, 227, 0 }, { 231, 227, 228, 4 }, { 227, 231, 229, 4 }, { 231, 231, 231, 0 }, { 231, 231, 231, 0 },
+ { 235, 231, 232, 4 }, { 231, 235, 233, 4 }, { 235, 235, 235, 0 }, { 235, 235, 235, 0 }, { 239, 235, 236, 4 }, { 235, 239, 237, 4 }, { 239, 239, 239, 0 }, { 239, 239, 239, 0 },
+ { 243, 239, 240, 4 }, { 239, 243, 241, 4 }, { 243, 243, 243, 0 }, { 243, 243, 243, 0 }, { 247, 243, 244, 4 }, { 243, 247, 245, 4 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 251, 247, 248, 4 }, { 247, 251, 249, 4 }, { 251, 251, 251, 0 }, { 251, 251, 251, 0 }, { 255, 251, 252, 4 }, { 251, 255, 253, 4 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+
+ SingleColorTableEntry g_singleColor5_2_p[256] =
+ {
+ { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 8, 4, 8 }, { 0, 8, 4, 8 }, { 0, 8, 4, 8 }, { 8, 8, 8, 0 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 8, 16, 12, 8 }, { 8, 16, 12, 8 }, { 8, 16, 12, 8 }, { 16, 16, 16, 0 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 16, 24, 20, 8 }, { 16, 24, 20, 8 }, { 16, 24, 20, 8 }, { 24, 24, 24, 0 }, { 24, 24, 24, 0 },
+ { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 24, 33, 28, 9 }, { 24, 33, 28, 9 }, { 24, 33, 28, 9 }, { 24, 33, 28, 9 }, { 24, 41, 32, 17 },
+ { 24, 41, 32, 17 }, { 33, 33, 33, 0 }, { 33, 33, 33, 0 }, { 24, 49, 36, 25 }, { 24, 49, 36, 25 }, { 33, 41, 37, 8 }, { 33, 41, 37, 8 }, { 24, 57, 40, 33 },
+ { 24, 57, 40, 33 }, { 41, 41, 41, 0 }, { 41, 41, 41, 0 }, { 41, 41, 41, 0 }, { 41, 49, 45, 8 }, { 41, 49, 45, 8 }, { 41, 49, 45, 8 }, { 49, 49, 49, 0 },
+ { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 49, 49, 0 }, { 49, 57, 53, 8 }, { 49, 57, 53, 8 }, { 49, 57, 53, 8 }, { 57, 57, 57, 0 },
+ { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 57, 57, 0 }, { 57, 66, 61, 9 }, { 57, 66, 61, 9 }, { 57, 66, 61, 9 }, { 57, 66, 61, 9 },
+ { 57, 74, 65, 17 }, { 57, 74, 65, 17 }, { 66, 66, 66, 0 }, { 66, 66, 66, 0 }, { 57, 82, 69, 25 }, { 57, 82, 69, 25 }, { 66, 74, 70, 8 }, { 66, 74, 70, 8 },
+ { 57, 90, 73, 33 }, { 57, 90, 73, 33 }, { 74, 74, 74, 0 }, { 74, 74, 74, 0 }, { 74, 74, 74, 0 }, { 74, 82, 78, 8 }, { 74, 82, 78, 8 }, { 74, 82, 78, 8 },
+ { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 82, 82, 0 }, { 82, 90, 86, 8 }, { 82, 90, 86, 8 }, { 82, 90, 86, 8 },
+ { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 90, 90, 0 }, { 90, 99, 94, 9 }, { 90, 99, 94, 9 }, { 90, 99, 94, 9 },
+ { 90, 99, 94, 9 }, { 90, 107, 98, 17 }, { 90, 107, 98, 17 }, { 99, 99, 99, 0 }, { 99, 99, 99, 0 }, { 90, 115, 102, 25 }, { 90, 115, 102, 25 }, { 99, 107, 103, 8 },
+ { 99, 107, 103, 8 }, { 90, 123, 106, 33 }, { 90, 123, 106, 33 }, { 107, 107, 107, 0 }, { 107, 107, 107, 0 }, { 107, 107, 107, 0 }, { 107, 115, 111, 8 }, { 107, 115, 111, 8 },
+ { 107, 115, 111, 8 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 115, 115, 0 }, { 115, 123, 119, 8 }, { 115, 123, 119, 8 },
+ { 115, 123, 119, 8 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 123, 123, 0 }, { 123, 132, 127, 9 }, { 123, 132, 127, 9 },
+ { 123, 132, 127, 9 }, { 123, 132, 127, 9 }, { 123, 140, 131, 17 }, { 123, 140, 131, 17 }, { 132, 132, 132, 0 }, { 132, 132, 132, 0 }, { 123, 148, 135, 25 }, { 123, 148, 135, 25 },
+ { 132, 140, 136, 8 }, { 132, 140, 136, 8 }, { 123, 156, 139, 33 }, { 123, 156, 139, 33 }, { 140, 140, 140, 0 }, { 140, 140, 140, 0 }, { 140, 140, 140, 0 }, { 140, 148, 144, 8 },
+ { 140, 148, 144, 8 }, { 140, 148, 144, 8 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 148, 148, 0 }, { 148, 156, 152, 8 },
+ { 148, 156, 152, 8 }, { 148, 156, 152, 8 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 156, 156, 0 }, { 156, 165, 160, 9 },
+ { 156, 165, 160, 9 }, { 156, 165, 160, 9 }, { 156, 165, 160, 9 }, { 156, 173, 164, 17 }, { 156, 173, 164, 17 }, { 165, 165, 165, 0 }, { 165, 165, 165, 0 }, { 156, 181, 168, 25 },
+ { 156, 181, 168, 25 }, { 165, 173, 169, 8 }, { 165, 173, 169, 8 }, { 156, 189, 172, 33 }, { 156, 189, 172, 33 }, { 173, 173, 173, 0 }, { 173, 173, 173, 0 }, { 173, 173, 173, 0 },
+ { 173, 181, 177, 8 }, { 173, 181, 177, 8 }, { 173, 181, 177, 8 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 }, { 181, 181, 181, 0 },
+ { 181, 189, 185, 8 }, { 181, 189, 185, 8 }, { 181, 189, 185, 8 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 }, { 189, 189, 189, 0 },
+ { 189, 198, 193, 9 }, { 189, 198, 193, 9 }, { 189, 198, 193, 9 }, { 189, 198, 193, 9 }, { 189, 206, 197, 17 }, { 189, 206, 197, 17 }, { 198, 198, 198, 0 }, { 198, 198, 198, 0 },
+ { 189, 214, 201, 25 }, { 189, 214, 201, 25 }, { 198, 206, 202, 8 }, { 198, 206, 202, 8 }, { 189, 222, 205, 33 }, { 189, 222, 205, 33 }, { 206, 206, 206, 0 }, { 206, 206, 206, 0 },
+ { 206, 206, 206, 0 }, { 206, 214, 210, 8 }, { 206, 214, 210, 8 }, { 206, 214, 210, 8 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 }, { 214, 214, 214, 0 },
+ { 214, 214, 214, 0 }, { 214, 222, 218, 8 }, { 214, 222, 218, 8 }, { 214, 222, 218, 8 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 }, { 222, 222, 222, 0 },
+ { 222, 222, 222, 0 }, { 222, 231, 226, 9 }, { 222, 231, 226, 9 }, { 222, 231, 226, 9 }, { 222, 231, 226, 9 }, { 222, 239, 230, 17 }, { 222, 239, 230, 17 }, { 231, 231, 231, 0 },
+ { 231, 231, 231, 0 }, { 222, 247, 234, 25 }, { 222, 247, 234, 25 }, { 231, 239, 235, 8 }, { 231, 239, 235, 8 }, { 222, 255, 238, 33 }, { 222, 255, 238, 33 }, { 239, 239, 239, 0 },
+ { 239, 239, 239, 0 }, { 239, 239, 239, 0 }, { 239, 247, 243, 8 }, { 239, 247, 243, 8 }, { 239, 247, 243, 8 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 247, 247, 247, 0 }, { 247, 247, 247, 0 }, { 247, 255, 251, 8 }, { 247, 255, 251, 8 }, { 247, 255, 251, 8 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+
+ SingleColorTableEntry g_singleColor6_2_p[256] =
+ {
+ { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 4, 2, 4 }, { 4, 4, 4, 0 }, { 4, 4, 4, 0 }, { 4, 4, 4, 0 }, { 4, 8, 6, 4 }, { 8, 8, 8, 0 },
+ { 8, 8, 8, 0 }, { 8, 8, 8, 0 }, { 8, 12, 10, 4 }, { 12, 12, 12, 0 }, { 12, 12, 12, 0 }, { 12, 12, 12, 0 }, { 12, 16, 14, 4 }, { 16, 16, 16, 0 },
+ { 16, 16, 16, 0 }, { 16, 16, 16, 0 }, { 16, 20, 18, 4 }, { 20, 20, 20, 0 }, { 20, 20, 20, 0 }, { 20, 20, 20, 0 }, { 20, 24, 22, 4 }, { 24, 24, 24, 0 },
+ { 24, 24, 24, 0 }, { 24, 24, 24, 0 }, { 24, 28, 26, 4 }, { 28, 28, 28, 0 }, { 28, 28, 28, 0 }, { 28, 28, 28, 0 }, { 28, 32, 30, 4 }, { 32, 32, 32, 0 },
+ { 32, 32, 32, 0 }, { 32, 32, 32, 0 }, { 32, 36, 34, 4 }, { 36, 36, 36, 0 }, { 36, 36, 36, 0 }, { 36, 36, 36, 0 }, { 36, 40, 38, 4 }, { 40, 40, 40, 0 },
+ { 40, 40, 40, 0 }, { 40, 40, 40, 0 }, { 40, 44, 42, 4 }, { 44, 44, 44, 0 }, { 44, 44, 44, 0 }, { 44, 44, 44, 0 }, { 44, 48, 46, 4 }, { 48, 48, 48, 0 },
+ { 48, 48, 48, 0 }, { 48, 48, 48, 0 }, { 48, 52, 50, 4 }, { 52, 52, 52, 0 }, { 52, 52, 52, 0 }, { 52, 52, 52, 0 }, { 52, 56, 54, 4 }, { 56, 56, 56, 0 },
+ { 56, 56, 56, 0 }, { 56, 56, 56, 0 }, { 56, 60, 58, 4 }, { 60, 60, 60, 0 }, { 60, 60, 60, 0 }, { 60, 60, 60, 0 }, { 60, 65, 62, 5 }, { 60, 65, 62, 5 },
+ { 60, 69, 64, 9 }, { 65, 65, 65, 0 }, { 60, 73, 66, 13 }, { 65, 69, 67, 4 }, { 60, 77, 68, 17 }, { 69, 69, 69, 0 }, { 60, 81, 70, 21 }, { 69, 73, 71, 4 },
+ { 60, 85, 72, 25 }, { 73, 73, 73, 0 }, { 60, 89, 74, 29 }, { 73, 77, 75, 4 }, { 60, 93, 76, 33 }, { 77, 77, 77, 0 }, { 77, 77, 77, 0 }, { 77, 81, 79, 4 },
+ { 81, 81, 81, 0 }, { 81, 81, 81, 0 }, { 81, 81, 81, 0 }, { 81, 85, 83, 4 }, { 85, 85, 85, 0 }, { 85, 85, 85, 0 }, { 85, 85, 85, 0 }, { 85, 89, 87, 4 },
+ { 89, 89, 89, 0 }, { 89, 89, 89, 0 }, { 89, 89, 89, 0 }, { 89, 93, 91, 4 }, { 93, 93, 93, 0 }, { 93, 93, 93, 0 }, { 93, 93, 93, 0 }, { 93, 97, 95, 4 },
+ { 97, 97, 97, 0 }, { 97, 97, 97, 0 }, { 97, 97, 97, 0 }, { 97, 101, 99, 4 }, { 101, 101, 101, 0 }, { 101, 101, 101, 0 }, { 101, 101, 101, 0 }, { 101, 105, 103, 4 },
+ { 105, 105, 105, 0 }, { 105, 105, 105, 0 }, { 105, 105, 105, 0 }, { 105, 109, 107, 4 }, { 109, 109, 109, 0 }, { 109, 109, 109, 0 }, { 109, 109, 109, 0 }, { 109, 113, 111, 4 },
+ { 113, 113, 113, 0 }, { 113, 113, 113, 0 }, { 113, 113, 113, 0 }, { 113, 117, 115, 4 }, { 117, 117, 117, 0 }, { 117, 117, 117, 0 }, { 117, 117, 117, 0 }, { 117, 121, 119, 4 },
+ { 121, 121, 121, 0 }, { 121, 121, 121, 0 }, { 121, 121, 121, 0 }, { 121, 125, 123, 4 }, { 125, 125, 125, 0 }, { 125, 125, 125, 0 }, { 125, 125, 125, 0 }, { 125, 130, 127, 5 },
+ { 125, 130, 127, 5 }, { 125, 134, 129, 9 }, { 130, 130, 130, 0 }, { 125, 138, 131, 13 }, { 130, 134, 132, 4 }, { 125, 142, 133, 17 }, { 134, 134, 134, 0 }, { 125, 146, 135, 21 },
+ { 134, 138, 136, 4 }, { 125, 150, 137, 25 }, { 138, 138, 138, 0 }, { 125, 154, 139, 29 }, { 138, 142, 140, 4 }, { 125, 158, 141, 33 }, { 142, 142, 142, 0 }, { 142, 142, 142, 0 },
+ { 142, 146, 144, 4 }, { 146, 146, 146, 0 }, { 146, 146, 146, 0 }, { 146, 146, 146, 0 }, { 146, 150, 148, 4 }, { 150, 150, 150, 0 }, { 150, 150, 150, 0 }, { 150, 150, 150, 0 },
+ { 150, 154, 152, 4 }, { 154, 154, 154, 0 }, { 154, 154, 154, 0 }, { 154, 154, 154, 0 }, { 154, 158, 156, 4 }, { 158, 158, 158, 0 }, { 158, 158, 158, 0 }, { 158, 158, 158, 0 },
+ { 158, 162, 160, 4 }, { 162, 162, 162, 0 }, { 162, 162, 162, 0 }, { 162, 162, 162, 0 }, { 162, 166, 164, 4 }, { 166, 166, 166, 0 }, { 166, 166, 166, 0 }, { 166, 166, 166, 0 },
+ { 166, 170, 168, 4 }, { 170, 170, 170, 0 }, { 170, 170, 170, 0 }, { 170, 170, 170, 0 }, { 170, 174, 172, 4 }, { 174, 174, 174, 0 }, { 174, 174, 174, 0 }, { 174, 174, 174, 0 },
+ { 174, 178, 176, 4 }, { 178, 178, 178, 0 }, { 178, 178, 178, 0 }, { 178, 178, 178, 0 }, { 178, 182, 180, 4 }, { 182, 182, 182, 0 }, { 182, 182, 182, 0 }, { 182, 182, 182, 0 },
+ { 182, 186, 184, 4 }, { 186, 186, 186, 0 }, { 186, 186, 186, 0 }, { 186, 186, 186, 0 }, { 186, 190, 188, 4 }, { 190, 190, 190, 0 }, { 190, 190, 190, 0 }, { 190, 190, 190, 0 },
+ { 190, 195, 192, 5 }, { 190, 195, 192, 5 }, { 190, 199, 194, 9 }, { 195, 195, 195, 0 }, { 190, 203, 196, 13 }, { 195, 199, 197, 4 }, { 190, 207, 198, 17 }, { 199, 199, 199, 0 },
+ { 190, 211, 200, 21 }, { 199, 203, 201, 4 }, { 190, 215, 202, 25 }, { 203, 203, 203, 0 }, { 190, 219, 204, 29 }, { 203, 207, 205, 4 }, { 190, 223, 206, 33 }, { 207, 207, 207, 0 },
+ { 207, 207, 207, 0 }, { 207, 211, 209, 4 }, { 211, 211, 211, 0 }, { 211, 211, 211, 0 }, { 211, 211, 211, 0 }, { 211, 215, 213, 4 }, { 215, 215, 215, 0 }, { 215, 215, 215, 0 },
+ { 215, 215, 215, 0 }, { 215, 219, 217, 4 }, { 219, 219, 219, 0 }, { 219, 219, 219, 0 }, { 219, 219, 219, 0 }, { 219, 223, 221, 4 }, { 223, 223, 223, 0 }, { 223, 223, 223, 0 },
+ { 223, 223, 223, 0 }, { 223, 227, 225, 4 }, { 227, 227, 227, 0 }, { 227, 227, 227, 0 }, { 227, 227, 227, 0 }, { 227, 231, 229, 4 }, { 231, 231, 231, 0 }, { 231, 231, 231, 0 },
+ { 231, 231, 231, 0 }, { 231, 235, 233, 4 }, { 235, 235, 235, 0 }, { 235, 235, 235, 0 }, { 235, 235, 235, 0 }, { 235, 239, 237, 4 }, { 239, 239, 239, 0 }, { 239, 239, 239, 0 },
+ { 239, 239, 239, 0 }, { 239, 243, 241, 4 }, { 243, 243, 243, 0 }, { 243, 243, 243, 0 }, { 243, 243, 243, 0 }, { 243, 247, 245, 4 }, { 247, 247, 247, 0 }, { 247, 247, 247, 0 },
+ { 247, 247, 247, 0 }, { 247, 251, 249, 4 }, { 251, 251, 251, 0 }, { 251, 251, 251, 0 }, { 251, 251, 251, 0 }, { 251, 255, 253, 4 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 },
+ };
+ }
+
+ class S3TCComputer
+ {
+ public:
+ typedef ParallelMath::Float MFloat;
+ typedef ParallelMath::SInt16 MSInt16;
+ typedef ParallelMath::UInt15 MUInt15;
+ typedef ParallelMath::UInt16 MUInt16;
+ typedef ParallelMath::SInt32 MSInt32;
+
+ static void Init(MFloat& error)
+ {
+ error = ParallelMath::MakeFloat(FLT_MAX);
+ }
+
+ static void QuantizeTo6Bits(MUInt15& v)
+ {
+ MUInt15 reduced = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ParallelMath::CompactMultiply(v, ParallelMath::MakeUInt15(253)) + ParallelMath::MakeUInt16(512), 10));
+ v = (reduced << 2) | ParallelMath::RightShift(reduced, 4);
+ }
+
+ static void QuantizeTo5Bits(MUInt15& v)
+ {
+ MUInt15 reduced = ParallelMath::LosslessCast<MUInt15>::Cast(ParallelMath::RightShift(ParallelMath::CompactMultiply(v, ParallelMath::MakeUInt15(249)) + ParallelMath::MakeUInt16(1024), 11));
+ v = (reduced << 3) | ParallelMath::RightShift(reduced, 2);
+ }
+
+ static void QuantizeTo565(MUInt15 endPoint[3])
+ {
+ QuantizeTo5Bits(endPoint[0]);
+ QuantizeTo6Bits(endPoint[1]);
+ QuantizeTo5Bits(endPoint[2]);
+ }
+
+ static MFloat ParanoidFactorForSpan(const MSInt16& span)
+ {
+ return ParallelMath::Abs(ParallelMath::ToFloat(span)) * 0.03f;
+ }
+
+ static MFloat ParanoidDiff(const MUInt15& a, const MUInt15& b, const MFloat& d)
+ {
+ MFloat absDiff = ParallelMath::Abs(ParallelMath::ToFloat(ParallelMath::LosslessCast<MSInt16>::Cast(a) - ParallelMath::LosslessCast<MSInt16>::Cast(b)));
+ absDiff = absDiff + d;
+ return absDiff * absDiff;
+ }
+
+ static void TestSingleColor(uint32_t flags, const MUInt15 pixels[16][4], const MFloat floatPixels[16][4], int range, const float* channelWeights,
+ MFloat &bestError, MUInt15 bestEndpoints[2][3], MUInt15 bestIndexes[16], MUInt15 &bestRange, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ float channelWeightsSq[3];
+
+ for (int ch = 0; ch < 3; ch++)
+ channelWeightsSq[ch] = channelWeights[ch] * channelWeights[ch];
+
+ MUInt15 totals[3] = { ParallelMath::MakeUInt15(0), ParallelMath::MakeUInt15(0), ParallelMath::MakeUInt15(0) };
+
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ totals[ch] = totals[ch] + pixels[px][ch];
+ }
+
+ MUInt15 average[3];
+ for (int ch = 0; ch < 3; ch++)
+ average[ch] = ParallelMath::RightShift(totals[ch] + ParallelMath::MakeUInt15(8), 4);
+
+ const S3TCSingleColorTables::SingleColorTableEntry* rbTable = NULL;
+ const S3TCSingleColorTables::SingleColorTableEntry* gTable = NULL;
+ if (flags & cvtt::Flags::S3TC_Paranoid)
+ {
+ if (range == 4)
+ {
+ rbTable = S3TCSingleColorTables::g_singleColor5_3_p;
+ gTable = S3TCSingleColorTables::g_singleColor6_3_p;
+ }
+ else
+ {
+ assert(range == 3);
+ rbTable = S3TCSingleColorTables::g_singleColor5_2_p;
+ gTable = S3TCSingleColorTables::g_singleColor6_2_p;
+ }
+ }
+ else
+ {
+ if (range == 4)
+ {
+ rbTable = S3TCSingleColorTables::g_singleColor5_3;
+ gTable = S3TCSingleColorTables::g_singleColor6_3;
+ }
+ else
+ {
+ assert(range == 3);
+ rbTable = S3TCSingleColorTables::g_singleColor5_2;
+ gTable = S3TCSingleColorTables::g_singleColor6_2;
+ }
+ }
+
+ MUInt15 interpolated[3];
+ MUInt15 eps[2][3];
+ MSInt16 spans[3];
+ for (int i = 0; i < ParallelMath::ParallelSize; i++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ {
+ uint16_t avg = ParallelMath::Extract(average[ch], i);
+ const S3TCSingleColorTables::SingleColorTableEntry& tableEntry = ((ch == 1) ? gTable[avg] : rbTable[avg]);
+ ParallelMath::PutUInt15(eps[0][ch], i, tableEntry.m_min);
+ ParallelMath::PutUInt15(eps[1][ch], i, tableEntry.m_max);
+ ParallelMath::PutUInt15(interpolated[ch], i, tableEntry.m_actualColor);
+ ParallelMath::PutSInt16(spans[ch], i, tableEntry.m_span);
+ }
+ }
+
+ MFloat error = ParallelMath::MakeFloatZero();
+ if (flags & cvtt::Flags::S3TC_Paranoid)
+ {
+ MFloat spanParanoidFactors[3];
+ for (int ch = 0; ch < 3; ch++)
+ spanParanoidFactors[ch] = ParanoidFactorForSpan(spans[ch]);
+
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ error = error + ParanoidDiff(interpolated[ch], pixels[px][ch], spanParanoidFactors[ch]) * channelWeightsSq[ch];
+ }
+ }
+ else
+ {
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ error = error + ParallelMath::ToFloat(ParallelMath::SqDiffUInt8(interpolated[ch], pixels[px][ch])) * channelWeightsSq[ch];
+ }
+ }
+
+ ParallelMath::FloatCompFlag better = ParallelMath::Less(error, bestError);
+ ParallelMath::Int16CompFlag better16 = ParallelMath::FloatFlagToInt16(better);
+
+ if (ParallelMath::AnySet(better16))
+ {
+ bestError = ParallelMath::Min(bestError, error);
+ for (int epi = 0; epi < 2; epi++)
+ for (int ch = 0; ch < 3; ch++)
+ ParallelMath::ConditionalSet(bestEndpoints[epi][ch], better16, eps[epi][ch]);
+
+ MUInt15 vindexes = ParallelMath::MakeUInt15(1);
+ for (int px = 0; px < 16; px++)
+ ParallelMath::ConditionalSet(bestIndexes[px], better16, vindexes);
+
+ ParallelMath::ConditionalSet(bestRange, better16, ParallelMath::MakeUInt15(range));
+ }
+ }
+
+ static void TestEndpoints(uint32_t flags, const MUInt15 pixels[16][4], const MFloat floatPixels[16][4], const MFloat preWeightedPixels[16][4], const MUInt15 unquantizedEndPoints[2][3], int range, const float* channelWeights,
+ MFloat &bestError, MUInt15 bestEndpoints[2][3], MUInt15 bestIndexes[16], MUInt15 &bestRange, EndpointRefiner<3> *refiner, const ParallelMath::RoundTowardNearestForScope *rtn)
+ {
+ float channelWeightsSq[3];
+
+ for (int ch = 0; ch < 3; ch++)
+ channelWeightsSq[ch] = channelWeights[ch] * channelWeights[ch];
+
+ MUInt15 endPoints[2][3];
+
+ for (int ep = 0; ep < 2; ep++)
+ for (int ch = 0; ch < 3; ch++)
+ endPoints[ep][ch] = unquantizedEndPoints[ep][ch];
+
+ QuantizeTo565(endPoints[0]);
+ QuantizeTo565(endPoints[1]);
+
+ IndexSelector<3> selector;
+ selector.Init<false>(channelWeights, endPoints, range);
+
+ MUInt15 indexes[16];
+
+ MFloat paranoidFactors[3];
+ for (int ch = 0; ch < 3; ch++)
+ paranoidFactors[ch] = ParanoidFactorForSpan(ParallelMath::LosslessCast<MSInt16>::Cast(endPoints[0][ch]) - ParallelMath::LosslessCast<MSInt16>::Cast(endPoints[1][ch]));
+
+ MFloat error = ParallelMath::MakeFloatZero();
+ AggregatedError<3> aggError;
+ for (int px = 0; px < 16; px++)
+ {
+ MUInt15 index = selector.SelectIndexLDR(floatPixels[px], rtn);
+ indexes[px] = index;
+
+ if (refiner)
+ refiner->ContributeUnweightedPW(preWeightedPixels[px], index);
+
+ MUInt15 reconstructed[3];
+ selector.ReconstructLDRPrecise(index, reconstructed);
+
+ if (flags & Flags::S3TC_Paranoid)
+ {
+ for (int ch = 0; ch < 3; ch++)
+ error = error + ParanoidDiff(reconstructed[ch], pixels[px][ch], paranoidFactors[ch]) * channelWeightsSq[ch];
+ }
+ else
+ BCCommon::ComputeErrorLDR<3>(flags, reconstructed, pixels[px], aggError);
+ }
+
+ if (!(flags & Flags::S3TC_Paranoid))
+ error = aggError.Finalize(flags, channelWeightsSq);
+
+ ParallelMath::FloatCompFlag better = ParallelMath::Less(error, bestError);
+
+ if (ParallelMath::AnySet(better))
+ {
+ ParallelMath::Int16CompFlag betterInt16 = ParallelMath::FloatFlagToInt16(better);
+
+ ParallelMath::ConditionalSet(bestError, better, error);
+
+ for (int ep = 0; ep < 2; ep++)
+ for (int ch = 0; ch < 3; ch++)
+ ParallelMath::ConditionalSet(bestEndpoints[ep][ch], betterInt16, endPoints[ep][ch]);
+
+ for (int px = 0; px < 16; px++)
+ ParallelMath::ConditionalSet(bestIndexes[px], betterInt16, indexes[px]);
+
+ ParallelMath::ConditionalSet(bestRange, betterInt16, ParallelMath::MakeUInt15(static_cast<uint16_t>(range)));
+ }
+ }
+
+ static void TestCounts(uint32_t flags, const int *counts, int nCounts, MUInt15 numElements, const MUInt15 pixels[16][4], const MFloat floatPixels[16][4], const MFloat preWeightedPixels[16][4], bool alphaTest,
+ const MFloat floatSortedInputs[16][4], const MFloat preWeightedFloatSortedInputs[16][4], const float *channelWeights, MFloat &bestError, MUInt15 bestEndpoints[2][3], MUInt15 bestIndexes[16], MUInt15 &bestRange,
+ const ParallelMath::RoundTowardNearestForScope* rtn)
+ {
+ UNREFERENCED_PARAMETER(alphaTest);
+ UNREFERENCED_PARAMETER(flags);
+
+ EndpointRefiner<3> refiner;
+
+ refiner.Init(nCounts, channelWeights);
+
+ bool escape = false;
+ int e = 0;
+ for (int i = 0; i < nCounts; i++)
+ {
+ for (int n = 0; n < counts[i]; n++)
+ {
+ ParallelMath::Int16CompFlag valid = ParallelMath::Less(ParallelMath::MakeUInt15(static_cast<uint16_t>(n)), numElements);
+ if (!ParallelMath::AnySet(valid))
+ {
+ escape = true;
+ break;
+ }
+
+ if (ParallelMath::AllSet(valid))
+ refiner.ContributeUnweightedPW(preWeightedFloatSortedInputs[e++], ParallelMath::MakeUInt15(static_cast<uint16_t>(i)));
+ else
+ {
+ MFloat weight = ParallelMath::Select(ParallelMath::Int16FlagToFloat(valid), ParallelMath::MakeFloat(1.0f), ParallelMath::MakeFloat(0.0f));
+ refiner.ContributePW(preWeightedFloatSortedInputs[e++], ParallelMath::MakeUInt15(static_cast<uint16_t>(i)), weight);
+ }
+ }
+
+ if (escape)
+ break;
+ }
+
+ MUInt15 endPoints[2][3];
+ refiner.GetRefinedEndpointsLDR(endPoints, rtn);
+
+ TestEndpoints(flags, pixels, floatPixels, preWeightedPixels, endPoints, nCounts, channelWeights, bestError, bestEndpoints, bestIndexes, bestRange, NULL, rtn);
+ }
+
+ static void PackExplicitAlpha(uint32_t flags, const PixelBlockU8* inputs, int inputChannel, uint8_t* packedBlocks, size_t packedBlockStride)
+ {
+ UNREFERENCED_PARAMETER(flags);
+ ParallelMath::RoundTowardNearestForScope rtn;
+
+ float weights[1] = { 1.0f };
+
+ MUInt15 pixels[16];
+ MFloat floatPixels[16];
+
+ for (int px = 0; px < 16; px++)
+ {
+ ParallelMath::ConvertLDRInputs(inputs, px, inputChannel, pixels[px]);
+ floatPixels[px] = ParallelMath::ToFloat(pixels[px]);
+ }
+
+ MUInt15 ep[2][1] = { { ParallelMath::MakeUInt15(0) },{ ParallelMath::MakeUInt15(255) } };
+
+ IndexSelector<1> selector;
+ selector.Init<false>(weights, ep, 16);
+
+ MUInt15 indexes[16];
+
+ for (int px = 0; px < 16; px++)
+ indexes[px] = selector.SelectIndexLDR(&floatPixels[px], &rtn);
+
+ for (int block = 0; block < ParallelMath::ParallelSize; block++)
+ {
+ for (int px = 0; px < 16; px += 8)
+ {
+ int index0 = ParallelMath::Extract(indexes[px], block);
+ int index1 = ParallelMath::Extract(indexes[px], block);
+
+ packedBlocks[px / 2] = static_cast<uint8_t>(index0 | (index1 << 4));
+ }
+
+ packedBlocks += packedBlockStride;
+ }
+ }
+
+ static void PackInterpolatedAlpha(uint32_t flags, const PixelBlockU8* inputs, int inputChannel, uint8_t* packedBlocks, size_t packedBlockStride, bool isSigned, int maxTweakRounds, int numRefineRounds)
+ {
+ if (maxTweakRounds < 1)
+ maxTweakRounds = 1;
+
+ if (numRefineRounds < 1)
+ numRefineRounds = 1;
+
+ ParallelMath::RoundTowardNearestForScope rtn;
+
+ float oneWeight[1] = { 1.0f };
+
+ MUInt15 pixels[16];
+ MFloat floatPixels[16];
+
+ MUInt15 highTerminal = isSigned ? ParallelMath::MakeUInt15(254) : ParallelMath::MakeUInt15(255);
+ MUInt15 highTerminalMinusOne = highTerminal - ParallelMath::MakeUInt15(1);
+
+ for (int px = 0; px < 16; px++)
+ {
+ ParallelMath::ConvertLDRInputs(inputs, px, inputChannel, pixels[px]);
+
+ if (isSigned)
+ pixels[px] = ParallelMath::Min(pixels[px], highTerminal);
+
+ floatPixels[px] = ParallelMath::ToFloat(pixels[px]);
+ }
+
+ MUInt15 sortedPixels[16];
+ for (int px = 0; px < 16; px++)
+ sortedPixels[px] = pixels[px];
+
+ for (int sortEnd = 15; sortEnd > 0; sortEnd--)
+ {
+ for (int sortOffset = 0; sortOffset < sortEnd; sortOffset++)
+ {
+ MUInt15 a = sortedPixels[sortOffset];
+ MUInt15 b = sortedPixels[sortOffset + 1];
+
+ sortedPixels[sortOffset] = ParallelMath::Min(a, b);
+ sortedPixels[sortOffset + 1] = ParallelMath::Max(a, b);
+ }
+ }
+
+ MUInt15 zero = ParallelMath::MakeUInt15(0);
+ MUInt15 one = ParallelMath::MakeUInt15(1);
+
+ MUInt15 bestIsFullRange = zero;
+ MFloat bestError = ParallelMath::MakeFloat(FLT_MAX);
+ MUInt15 bestEP[2] = { zero, zero };
+ MUInt15 bestIndexes[16] = {
+ zero, zero, zero, zero,
+ zero, zero, zero, zero,
+ zero, zero, zero, zero,
+ zero, zero, zero, zero
+ };
+
+ // Full-precision
+ {
+ MUInt15 minEP = sortedPixels[0];
+ MUInt15 maxEP = sortedPixels[15];
+
+ MFloat base[1] = { ParallelMath::ToFloat(minEP) };
+ MFloat offset[1] = { ParallelMath::ToFloat(maxEP - minEP) };
+
+ UnfinishedEndpoints<1> ufep = UnfinishedEndpoints<1>(base, offset);
+
+ int numTweakRounds = BCCommon::TweakRoundsForRange(8);
+ if (numTweakRounds > maxTweakRounds)
+ numTweakRounds = maxTweakRounds;
+
+ for (int tweak = 0; tweak < numTweakRounds; tweak++)
+ {
+ MUInt15 ep[2][1];
+
+ ufep.FinishLDR(tweak, 8, ep[0], ep[1]);
+
+ for (int refinePass = 0; refinePass < numRefineRounds; refinePass++)
+ {
+ EndpointRefiner<1> refiner;
+ refiner.Init(8, oneWeight);
+
+ if (isSigned)
+ for (int epi = 0; epi < 2; epi++)
+ ep[epi][0] = ParallelMath::Min(ep[epi][0], highTerminal);
+
+ IndexSelector<1> indexSelector;
+ indexSelector.Init<false>(oneWeight, ep, 8);
+
+ MUInt15 indexes[16];
+
+ AggregatedError<1> aggError;
+ for (int px = 0; px < 16; px++)
+ {
+ MUInt15 index = indexSelector.SelectIndexLDR(&floatPixels[px], &rtn);
+
+ MUInt15 reconstructedPixel;
+
+ indexSelector.ReconstructLDRPrecise(index, &reconstructedPixel);
+ BCCommon::ComputeErrorLDR<1>(flags, &reconstructedPixel, &pixels[px], aggError);
+
+ if (refinePass != numRefineRounds - 1)
+ refiner.ContributeUnweightedPW(&floatPixels[px], index);
+
+ indexes[px] = index;
+ }
+ MFloat error = aggError.Finalize(flags | Flags::Uniform, oneWeight);
+
+ ParallelMath::FloatCompFlag errorBetter = ParallelMath::Less(error, bestError);
+ ParallelMath::Int16CompFlag errorBetter16 = ParallelMath::FloatFlagToInt16(errorBetter);
+
+ if (ParallelMath::AnySet(errorBetter16))
+ {
+ bestError = ParallelMath::Min(error, bestError);
+ ParallelMath::ConditionalSet(bestIsFullRange, errorBetter16, one);
+ for (int px = 0; px < 16; px++)
+ ParallelMath::ConditionalSet(bestIndexes[px], errorBetter16, indexes[px]);
+
+ for (int epi = 0; epi < 2; epi++)
+ ParallelMath::ConditionalSet(bestEP[epi], errorBetter16, ep[epi][0]);
+ }
+
+ if (refinePass != numRefineRounds - 1)
+ refiner.GetRefinedEndpointsLDR(ep, &rtn);
+ }
+ }
+ }
+
+ // Reduced precision with special endpoints
+ {
+ MUInt15 bestHeuristicMin = sortedPixels[0];
+ MUInt15 bestHeuristicMax = sortedPixels[15];
+
+ ParallelMath::Int16CompFlag canTryClipping;
+
+ // In reduced precision, we want try putting endpoints at the reserved indexes at the ends.
+ // The heuristic we use is to assign indexes to the end as long as they aren't off by more than half of the index range.
+ // This will usually not find anything, but it's cheap to check.
+
+ {
+ MUInt15 largestPossibleRange = bestHeuristicMax - bestHeuristicMin; // Max: 255
+ MUInt15 lowestPossibleClearance = ParallelMath::Min(bestHeuristicMin, static_cast<MUInt15>(highTerminal - bestHeuristicMax));
+
+ MUInt15 lowestPossibleClearanceTimes10 = (lowestPossibleClearance << 2) + (lowestPossibleClearance << 4);
+ canTryClipping = ParallelMath::LessOrEqual(lowestPossibleClearanceTimes10, largestPossibleRange);
+ }
+
+ if (ParallelMath::AnySet(canTryClipping))
+ {
+ MUInt15 lowClearances[16];
+ MUInt15 highClearances[16];
+ MUInt15 bestSkipCount = ParallelMath::MakeUInt15(0);
+
+ lowClearances[0] = highClearances[0] = ParallelMath::MakeUInt15(0);
+
+ for (int px = 1; px < 16; px++)
+ {
+ lowClearances[px] = sortedPixels[px - 1];
+ highClearances[px] = highTerminal - sortedPixels[16 - px];
+ }
+
+ for (uint16_t firstIndex = 0; firstIndex < 16; firstIndex++)
+ {
+ uint16_t numSkippedLow = firstIndex;
+
+ MUInt15 lowClearance = lowClearances[firstIndex];
+
+ for (uint16_t lastIndex = firstIndex; lastIndex < 16; lastIndex++)
+ {
+ uint16_t numSkippedHigh = 15 - lastIndex;
+ uint16_t numSkipped = numSkippedLow + numSkippedHigh;
+
+ MUInt15 numSkippedV = ParallelMath::MakeUInt15(numSkipped);
+
+ ParallelMath::Int16CompFlag areMoreSkipped = ParallelMath::Less(bestSkipCount, numSkippedV);
+
+ if (!ParallelMath::AnySet(areMoreSkipped))
+ continue;
+
+ MUInt15 clearance = ParallelMath::Max(highClearances[numSkippedHigh], lowClearance);
+ MUInt15 clearanceTimes10 = (clearance << 2) + (clearance << 4);
+
+ MUInt15 range = sortedPixels[lastIndex] - sortedPixels[firstIndex];
+
+ ParallelMath::Int16CompFlag isBetter = (areMoreSkipped & ParallelMath::LessOrEqual(clearanceTimes10, range));
+ ParallelMath::ConditionalSet(bestHeuristicMin, isBetter, sortedPixels[firstIndex]);
+ ParallelMath::ConditionalSet(bestHeuristicMax, isBetter, sortedPixels[lastIndex]);
+ }
+ }
+ }
+
+ MUInt15 bestSimpleMin = one;
+ MUInt15 bestSimpleMax = highTerminalMinusOne;
+
+ for (int px = 0; px < 16; px++)
+ {
+ ParallelMath::ConditionalSet(bestSimpleMin, ParallelMath::Less(zero, sortedPixels[15 - px]), sortedPixels[15 - px]);
+ ParallelMath::ConditionalSet(bestSimpleMax, ParallelMath::Less(sortedPixels[px], highTerminal), sortedPixels[px]);
+ }
+
+ MUInt15 minEPs[2] = { bestSimpleMin, bestHeuristicMin };
+ MUInt15 maxEPs[2] = { bestSimpleMax, bestHeuristicMax };
+
+ int minEPRange = 2;
+ if (ParallelMath::AllSet(ParallelMath::Equal(minEPs[0], minEPs[1])))
+ minEPRange = 1;
+
+ int maxEPRange = 2;
+ if (ParallelMath::AllSet(ParallelMath::Equal(maxEPs[0], maxEPs[1])))
+ maxEPRange = 1;
+
+ for (int minEPIndex = 0; minEPIndex < minEPRange; minEPIndex++)
+ {
+ for (int maxEPIndex = 0; maxEPIndex < maxEPRange; maxEPIndex++)
+ {
+ MFloat base[1] = { ParallelMath::ToFloat(minEPs[minEPIndex]) };
+ MFloat offset[1] = { ParallelMath::ToFloat(maxEPs[maxEPIndex] - minEPs[minEPIndex]) };
+
+ UnfinishedEndpoints<1> ufep = UnfinishedEndpoints<1>(base, offset);
+
+ int numTweakRounds = BCCommon::TweakRoundsForRange(6);
+ if (numTweakRounds > maxTweakRounds)
+ numTweakRounds = maxTweakRounds;
+
+ for (int tweak = 0; tweak < numTweakRounds; tweak++)
+ {
+ MUInt15 ep[2][1];
+
+ ufep.FinishLDR(tweak, 8, ep[0], ep[1]);
+
+ for (int refinePass = 0; refinePass < numRefineRounds; refinePass++)
+ {
+ EndpointRefiner<1> refiner;
+ refiner.Init(6, oneWeight);
+
+ if (isSigned)
+ for (int epi = 0; epi < 2; epi++)
+ ep[epi][0] = ParallelMath::Min(ep[epi][0], highTerminal);
+
+ IndexSelector<1> indexSelector;
+ indexSelector.Init<false>(oneWeight, ep, 6);
+
+ MUInt15 indexes[16];
+ MFloat error = ParallelMath::MakeFloatZero();
+
+ for (int px = 0; px < 16; px++)
+ {
+ MUInt15 selectedIndex = indexSelector.SelectIndexLDR(&floatPixels[px], &rtn);
+
+ MUInt15 reconstructedPixel;
+
+ indexSelector.ReconstructLDRPrecise(selectedIndex, &reconstructedPixel);
+
+ MFloat zeroError = BCCommon::ComputeErrorLDRSimple<1>(flags | Flags::Uniform, &zero, &pixels[px], 1, oneWeight);
+ MFloat highTerminalError = BCCommon::ComputeErrorLDRSimple<1>(flags | Flags::Uniform, &highTerminal, &pixels[px], 1, oneWeight);
+ MFloat selectedIndexError = BCCommon::ComputeErrorLDRSimple<1>(flags | Flags::Uniform, &reconstructedPixel, &pixels[px], 1, oneWeight);
+
+ MFloat bestPixelError = zeroError;
+ MUInt15 index = ParallelMath::MakeUInt15(6);
+
+ ParallelMath::ConditionalSet(index, ParallelMath::FloatFlagToInt16(ParallelMath::Less(highTerminalError, bestPixelError)), ParallelMath::MakeUInt15(7));
+ bestPixelError = ParallelMath::Min(bestPixelError, highTerminalError);
+
+ ParallelMath::FloatCompFlag selectedIndexBetter = ParallelMath::Less(selectedIndexError, bestPixelError);
+
+ if (ParallelMath::AllSet(selectedIndexBetter))
+ {
+ if (refinePass != numRefineRounds - 1)
+ refiner.ContributeUnweightedPW(&floatPixels[px], selectedIndex);
+ }
+ else
+ {
+ MFloat refineWeight = ParallelMath::Select(selectedIndexBetter, ParallelMath::MakeFloat(1.0f), ParallelMath::MakeFloatZero());
+
+ if (refinePass != numRefineRounds - 1)
+ refiner.ContributePW(&floatPixels[px], selectedIndex, refineWeight);
+ }
+
+ ParallelMath::ConditionalSet(index, ParallelMath::FloatFlagToInt16(selectedIndexBetter), selectedIndex);
+ bestPixelError = ParallelMath::Min(bestPixelError, selectedIndexError);
+
+ error = error + bestPixelError;
+
+ indexes[px] = index;
+ }
+
+ ParallelMath::FloatCompFlag errorBetter = ParallelMath::Less(error, bestError);
+ ParallelMath::Int16CompFlag errorBetter16 = ParallelMath::FloatFlagToInt16(errorBetter);
+
+ if (ParallelMath::AnySet(errorBetter16))
+ {
+ bestError = ParallelMath::Min(error, bestError);
+ ParallelMath::ConditionalSet(bestIsFullRange, errorBetter16, zero);
+ for (int px = 0; px < 16; px++)
+ ParallelMath::ConditionalSet(bestIndexes[px], errorBetter16, indexes[px]);
+
+ for (int epi = 0; epi < 2; epi++)
+ ParallelMath::ConditionalSet(bestEP[epi], errorBetter16, ep[epi][0]);
+ }
+
+ if (refinePass != numRefineRounds - 1)
+ refiner.GetRefinedEndpointsLDR(ep, &rtn);
+ }
+ }
+ }
+ }
+ }
+
+ for (int block = 0; block < ParallelMath::ParallelSize; block++)
+ {
+ int ep0 = ParallelMath::Extract(bestEP[0], block);
+ int ep1 = ParallelMath::Extract(bestEP[1], block);
+ int isFullRange = ParallelMath::Extract(bestIsFullRange, block);
+
+ if (isSigned)
+ {
+ ep0 -= 127;
+ ep1 -= 127;
+
+ assert(ep0 >= -127 && ep0 <= 127);
+ assert(ep1 >= -127 && ep1 <= 127);
+ }
+
+
+ bool swapEndpoints = (isFullRange != 0) != (ep0 > ep1);
+
+ if (swapEndpoints)
+ std::swap(ep0, ep1);
+
+ uint16_t dumpBits = 0;
+ int dumpBitsOffset = 0;
+ int dumpByteOffset = 2;
+ packedBlocks[0] = static_cast<uint8_t>(ep0 & 0xff);
+ packedBlocks[1] = static_cast<uint8_t>(ep1 & 0xff);
+
+ int maxValue = (isFullRange != 0) ? 7 : 5;
+
+ for (int px = 0; px < 16; px++)
+ {
+ int index = ParallelMath::Extract(bestIndexes[px], block);
+
+ if (swapEndpoints && index <= maxValue)
+ index = maxValue - index;
+
+ if (index != 0)
+ {
+ if (index == maxValue)
+ index = 1;
+ else if (index < maxValue)
+ index++;
+ }
+
+ assert(index >= 0 && index < 8);
+
+ dumpBits |= static_cast<uint16_t>(index << dumpBitsOffset);
+ dumpBitsOffset += 3;
+
+ if (dumpBitsOffset >= 8)
+ {
+ assert(dumpByteOffset < 8);
+ packedBlocks[dumpByteOffset] = static_cast<uint8_t>(dumpBits & 0xff);
+ dumpBits >>= 8;
+ dumpBitsOffset -= 8;
+ dumpByteOffset++;
+ }
+ }
+
+ assert(dumpBitsOffset == 0);
+ assert(dumpByteOffset == 8);
+
+ packedBlocks += packedBlockStride;
+ }
+ }
+
+ static void PackRGB(uint32_t flags, const PixelBlockU8* inputs, uint8_t* packedBlocks, size_t packedBlockStride, const float channelWeights[4], bool alphaTest, float alphaThreshold, bool exhaustive, int maxTweakRounds, int numRefineRounds)
+ {
+ ParallelMath::RoundTowardNearestForScope rtn;
+
+ if (numRefineRounds < 1)
+ numRefineRounds = 1;
+
+ if (maxTweakRounds < 1)
+ maxTweakRounds = 1;
+
+ EndpointSelector<3, 8> endpointSelector;
+
+ MUInt15 pixels[16][4];
+ MFloat floatPixels[16][4];
+
+ MFloat preWeightedPixels[16][4];
+
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 4; ch++)
+ ParallelMath::ConvertLDRInputs(inputs, px, ch, pixels[px][ch]);
+ }
+
+ for (int px = 0; px < 16; px++)
+ {
+ for (int ch = 0; ch < 4; ch++)
+ floatPixels[px][ch] = ParallelMath::ToFloat(pixels[px][ch]);
+ }
+
+ if (alphaTest)
+ {
+ MUInt15 threshold = ParallelMath::MakeUInt15(static_cast<uint16_t>(floor(alphaThreshold * 255.0f + 0.5f)));
+
+ for (int px = 0; px < 16; px++)
+ {
+ ParallelMath::Int16CompFlag belowThreshold = ParallelMath::Less(pixels[px][3], threshold);
+ pixels[px][3] = ParallelMath::Select(belowThreshold, ParallelMath::MakeUInt15(0), ParallelMath::MakeUInt15(255));
+ }
+ }
+
+ BCCommon::PreWeightPixelsLDR<4>(preWeightedPixels, pixels, channelWeights);
+
+ MUInt15 minAlpha = ParallelMath::MakeUInt15(255);
+
+ for (int px = 0; px < 16; px++)
+ minAlpha = ParallelMath::Min(minAlpha, pixels[px][3]);
+
+ MFloat pixelWeights[16];
+ for (int px = 0; px < 16; px++)
+ {
+ pixelWeights[px] = ParallelMath::MakeFloat(1.0f);
+ if (alphaTest)
+ {
+ ParallelMath::Int16CompFlag isTransparent = ParallelMath::Less(pixels[px][3], ParallelMath::MakeUInt15(255));
+
+ ParallelMath::ConditionalSet(pixelWeights[px], ParallelMath::Int16FlagToFloat(isTransparent), ParallelMath::MakeFloatZero());
+ }
+ }
+
+ for (int pass = 0; pass < NumEndpointSelectorPasses; pass++)
+ {
+ for (int px = 0; px < 16; px++)
+ endpointSelector.ContributePass(preWeightedPixels[px], pass, pixelWeights[px]);
+
+ endpointSelector.FinishPass(pass);
+ }
+
+ UnfinishedEndpoints<3> ufep = endpointSelector.GetEndpoints(channelWeights);
+
+ MUInt15 bestEndpoints[2][3];
+ MUInt15 bestIndexes[16];
+ MUInt15 bestRange = ParallelMath::MakeUInt15(0);
+ MFloat bestError = ParallelMath::MakeFloat(FLT_MAX);
+
+ for (int px = 0; px < 16; px++)
+ bestIndexes[px] = ParallelMath::MakeUInt15(0);
+
+ for (int ep = 0; ep < 2; ep++)
+ for (int ch = 0; ch < 3; ch++)
+ bestEndpoints[ep][ch] = ParallelMath::MakeUInt15(0);
+
+ if (exhaustive)
+ {
+ MSInt16 sortBins[16];
+
+ {
+ // Compute an 11-bit index, change it to signed, stuff it in the high bits of the sort bins,
+ // and pack the original indexes into the low bits.
+
+ MUInt15 sortEP[2][3];
+ ufep.FinishLDR(0, 11, sortEP[0], sortEP[1]);
+
+ IndexSelector<3> sortSelector;
+ sortSelector.Init<false>(channelWeights, sortEP, 1 << 11);
+
+ for (int16_t px = 0; px < 16; px++)
+ {
+ MSInt16 sortBin = ParallelMath::LosslessCast<MSInt16>::Cast(sortSelector.SelectIndexLDR(floatPixels[px], &rtn) << 4);
+
+ if (alphaTest)
+ {
+ ParallelMath::Int16CompFlag isTransparent = ParallelMath::Less(pixels[px][3], ParallelMath::MakeUInt15(255));
+
+ ParallelMath::ConditionalSet(sortBin, isTransparent, ParallelMath::MakeSInt16(-16)); // 0xfff0
+ }
+
+ sortBin = sortBin + ParallelMath::MakeSInt16(px);
+
+ sortBins[px] = sortBin;
+ }
+ }
+
+ // Sort bins
+ for (int sortEnd = 1; sortEnd < 16; sortEnd++)
+ {
+ for (int sortLoc = sortEnd; sortLoc > 0; sortLoc--)
+ {
+ MSInt16 a = sortBins[sortLoc];
+ MSInt16 b = sortBins[sortLoc - 1];
+
+ sortBins[sortLoc] = ParallelMath::Max(a, b);
+ sortBins[sortLoc - 1] = ParallelMath::Min(a, b);
+ }
+ }
+
+ MUInt15 firstElement = ParallelMath::MakeUInt15(0);
+ for (uint16_t e = 0; e < 16; e++)
+ {
+ ParallelMath::Int16CompFlag isInvalid = ParallelMath::Less(sortBins[e], ParallelMath::MakeSInt16(0));
+ ParallelMath::ConditionalSet(firstElement, isInvalid, ParallelMath::MakeUInt15(e + 1));
+ if (!ParallelMath::AnySet(isInvalid))
+ break;
+ }
+
+ MUInt15 numElements = ParallelMath::MakeUInt15(16) - firstElement;
+
+ MUInt15 sortedInputs[16][4];
+ MFloat floatSortedInputs[16][4];
+ MFloat pwFloatSortedInputs[16][4];
+
+ for (int e = 0; e < 16; e++)
+ {
+ for (int ch = 0; ch < 4; ch++)
+ sortedInputs[e][ch] = ParallelMath::MakeUInt15(0);
+ }
+
+ for (int block = 0; block < ParallelMath::ParallelSize; block++)
+ {
+ for (int e = ParallelMath::Extract(firstElement, block); e < 16; e++)
+ {
+ ParallelMath::ScalarUInt16 sortBin = ParallelMath::Extract(sortBins[e], block);
+ int originalIndex = (sortBin & 15);
+
+ for (int ch = 0; ch < 4; ch++)
+ ParallelMath::PutUInt15(sortedInputs[15 - e][ch], block, ParallelMath::Extract(pixels[originalIndex][ch], block));
+ }
+ }
+
+ for (int e = 0; e < 16; e++)
+ {
+ for (int ch = 0; ch < 4; ch++)
+ {
+ MFloat f = ParallelMath::ToFloat(sortedInputs[e][ch]);
+ floatSortedInputs[e][ch] = f;
+ pwFloatSortedInputs[e][ch] = f * channelWeights[ch];
+ }
+ }
+
+ for (int n0 = 0; n0 <= 15; n0++)
+ {
+ int remainingFor1 = 16 - n0;
+ if (remainingFor1 == 16)
+ remainingFor1 = 15;
+
+ for (int n1 = 0; n1 <= remainingFor1; n1++)
+ {
+ int remainingFor2 = 16 - n1 - n0;
+ if (remainingFor2 == 16)
+ remainingFor2 = 15;
+
+ for (int n2 = 0; n2 <= remainingFor2; n2++)
+ {
+ int n3 = 16 - n2 - n1 - n0;
+
+ if (n3 == 16)
+ continue;
+
+ int counts[4] = { n0, n1, n2, n3 };
+
+ TestCounts(flags, counts, 4, numElements, pixels, floatPixels, preWeightedPixels, alphaTest, floatSortedInputs, pwFloatSortedInputs, channelWeights, bestError, bestEndpoints, bestIndexes, bestRange, &rtn);
+ }
+ }
+ }
+
+ TestSingleColor(flags, pixels, floatPixels, 4, channelWeights, bestError, bestEndpoints, bestIndexes, bestRange, &rtn);
+
+ if (alphaTest)
+ {
+ for (int n0 = 0; n0 <= 15; n0++)
+ {
+ int remainingFor1 = 16 - n0;
+ if (remainingFor1 == 16)
+ remainingFor1 = 15;
+
+ for (int n1 = 0; n1 <= remainingFor1; n1++)
+ {
+ int n2 = 16 - n1 - n0;
+
+ if (n2 == 16)
+ continue;
+
+ int counts[3] = { n0, n1, n2 };
+
+ TestCounts(flags, counts, 3, numElements, pixels, floatPixels, preWeightedPixels, alphaTest, floatSortedInputs, pwFloatSortedInputs, channelWeights, bestError, bestEndpoints, bestIndexes, bestRange, &rtn);
+ }
+ }
+
+ TestSingleColor(flags, pixels, floatPixels, 3, channelWeights, bestError, bestEndpoints, bestIndexes, bestRange, &rtn);
+ }
+ }
+ else
+ {
+ int minRange = alphaTest ? 3 : 4;
+
+ for (int range = minRange; range <= 4; range++)
+ {
+ int tweakRounds = BCCommon::TweakRoundsForRange(range);
+ if (tweakRounds > maxTweakRounds)
+ tweakRounds = maxTweakRounds;
+
+ for (int tweak = 0; tweak < tweakRounds; tweak++)
+ {
+ MUInt15 endPoints[2][3];
+
+ ufep.FinishLDR(tweak, range, endPoints[0], endPoints[1]);
+
+ for (int refine = 0; refine < numRefineRounds; refine++)
+ {
+ EndpointRefiner<3> refiner;
+ refiner.Init(range, channelWeights);
+
+ TestEndpoints(flags, pixels, floatPixels, preWeightedPixels, endPoints, range, channelWeights, bestError, bestEndpoints, bestIndexes, bestRange, &refiner, &rtn);
+
+ if (refine != numRefineRounds - 1)
+ refiner.GetRefinedEndpointsLDR(endPoints, &rtn);
+ }
+ }
+ }
+ }
+
+ for (int block = 0; block < ParallelMath::ParallelSize; block++)
+ {
+ ParallelMath::ScalarUInt16 range = ParallelMath::Extract(bestRange, block);
+ assert(range == 3 || range == 4);
+
+ ParallelMath::ScalarUInt16 compressedEP[2];
+ for (int ep = 0; ep < 2; ep++)
+ {
+ ParallelMath::ScalarUInt16 endPoint[3];
+ for (int ch = 0; ch < 3; ch++)
+ endPoint[ch] = ParallelMath::Extract(bestEndpoints[ep][ch], block);
+
+ int compressed = (endPoint[0] & 0xf8) << 8;
+ compressed |= (endPoint[1] & 0xfc) << 3;
+ compressed |= (endPoint[2] & 0xf8) >> 3;
+
+ compressedEP[ep] = static_cast<ParallelMath::ScalarUInt16>(compressed);
+ }
+
+ int indexOrder[4];
+
+ if (range == 4)
+ {
+ if (compressedEP[0] == compressedEP[1])
+ {
+ indexOrder[0] = 0;
+ indexOrder[1] = 0;
+ indexOrder[2] = 0;
+ indexOrder[3] = 0;
+ }
+ else if (compressedEP[0] < compressedEP[1])
+ {
+ std::swap(compressedEP[0], compressedEP[1]);
+ indexOrder[0] = 1;
+ indexOrder[1] = 3;
+ indexOrder[2] = 2;
+ indexOrder[3] = 0;
+ }
+ else
+ {
+ indexOrder[0] = 0;
+ indexOrder[1] = 2;
+ indexOrder[2] = 3;
+ indexOrder[3] = 1;
+ }
+ }
+ else
+ {
+ assert(range == 3);
+
+ if (compressedEP[0] > compressedEP[1])
+ {
+ std::swap(compressedEP[0], compressedEP[1]);
+ indexOrder[0] = 1;
+ indexOrder[1] = 2;
+ indexOrder[2] = 0;
+ }
+ else
+ {
+ indexOrder[0] = 0;
+ indexOrder[1] = 2;
+ indexOrder[2] = 1;
+ }
+ indexOrder[3] = 3;
+ }
+
+ packedBlocks[0] = static_cast<uint8_t>(compressedEP[0] & 0xff);
+ packedBlocks[1] = static_cast<uint8_t>((compressedEP[0] >> 8) & 0xff);
+ packedBlocks[2] = static_cast<uint8_t>(compressedEP[1] & 0xff);
+ packedBlocks[3] = static_cast<uint8_t>((compressedEP[1] >> 8) & 0xff);
+
+ for (int i = 0; i < 16; i += 4)
+ {
+ int packedIndexes = 0;
+ for (int subi = 0; subi < 4; subi++)
+ {
+ ParallelMath::ScalarUInt16 index = ParallelMath::Extract(bestIndexes[i + subi], block);
+ packedIndexes |= (indexOrder[index] << (subi * 2));
+ }
+
+ packedBlocks[4 + i / 4] = static_cast<uint8_t>(packedIndexes);
+ }
+
+ packedBlocks += packedBlockStride;
+ }
+ }
+ };
+
+ // Signed input blocks are converted into unsigned space, with the maximum value being 254
+ void BiasSignedInput(PixelBlockU8 inputNormalized[ParallelMath::ParallelSize], const PixelBlockS8 inputSigned[ParallelMath::ParallelSize])
+ {
+ for (size_t block = 0; block < ParallelMath::ParallelSize; block++)
+ {
+ const PixelBlockS8& inputSignedBlock = inputSigned[block];
+ PixelBlockU8& inputNormalizedBlock = inputNormalized[block];
+
+ for (size_t px = 0; px < 16; px++)
+ {
+ for (size_t ch = 0; ch < 4; ch++)
+ inputNormalizedBlock.m_pixels[px][ch] = static_cast<uint8_t>(std::max<int>(inputSignedBlock.m_pixels[px][ch], -127) + 127);
+ }
+ }
+ }
+
+ void FillWeights(const Options &options, float channelWeights[4])
+ {
+ if (options.flags & Flags::Uniform)
+ channelWeights[0] = channelWeights[1] = channelWeights[2] = channelWeights[3] = 1.0f;
+ else
+ {
+ channelWeights[0] = options.redWeight;
+ channelWeights[1] = options.greenWeight;
+ channelWeights[2] = options.blueWeight;
+ channelWeights[3] = options.alphaWeight;
+ }
+ }
+ }
+
+ namespace Kernels
+ {
+ void EncodeBC7(uint8_t *pBC, const PixelBlockU8 *pBlocks, const cvtt::Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < cvtt::NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::BC7Computer::Pack(options.flags, pBlocks + blockBase, pBC, channelWeights, options.seedPoints, options.refineRoundsBC7);
+ pBC += ParallelMath::ParallelSize * 16;
+ }
+ }
+
+ void EncodeBC6HU(uint8_t *pBC, const PixelBlockF16 *pBlocks, const cvtt::Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < cvtt::NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::BC6HComputer::Pack(options.flags, pBlocks + blockBase, pBC, channelWeights, false, options.seedPoints, options.refineRoundsBC6H);
+ pBC += ParallelMath::ParallelSize * 16;
+ }
+ }
+
+ void EncodeBC6HS(uint8_t *pBC, const PixelBlockF16 *pBlocks, const cvtt::Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < cvtt::NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::BC6HComputer::Pack(options.flags, pBlocks + blockBase, pBC, channelWeights, true, options.seedPoints, options.refineRoundsBC6H);
+ pBC += ParallelMath::ParallelSize * 16;
+ }
+ }
+
+ void EncodeBC1(uint8_t *pBC, const PixelBlockU8 *pBlocks, const cvtt::Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < cvtt::NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::S3TCComputer::PackRGB(options.flags, pBlocks + blockBase, pBC, 8, channelWeights, true, options.threshold, (options.flags & Flags::S3TC_Exhaustive) != 0, options.seedPoints, options.refineRoundsS3TC);
+ pBC += ParallelMath::ParallelSize * 8;
+ }
+ }
+
+ void EncodeBC2(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::S3TCComputer::PackRGB(options.flags, pBlocks + blockBase, pBC + 8, 16, channelWeights, false, 1.0f, (options.flags & Flags::S3TC_Exhaustive) != 0, options.seedPoints, options.refineRoundsS3TC);
+ Internal::S3TCComputer::PackExplicitAlpha(options.flags, pBlocks + blockBase, 3, pBC, 16);
+ pBC += ParallelMath::ParallelSize * 16;
+ }
+ }
+
+ void EncodeBC3(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::S3TCComputer::PackRGB(options.flags, pBlocks + blockBase, pBC + 8, 16, channelWeights, false, 1.0f, (options.flags & Flags::S3TC_Exhaustive) != 0, options.seedPoints, options.refineRoundsS3TC);
+ Internal::S3TCComputer::PackInterpolatedAlpha(options.flags, pBlocks + blockBase, 3, pBC, 16, false, options.seedPoints, options.refineRoundsIIC);
+ pBC += ParallelMath::ParallelSize * 16;
+ }
+ }
+
+ void EncodeBC4U(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::S3TCComputer::PackInterpolatedAlpha(options.flags, pBlocks + blockBase, 0, pBC, 8, false, options.seedPoints, options.refineRoundsIIC);
+ pBC += ParallelMath::ParallelSize * 8;
+ }
+ }
+
+ void EncodeBC4S(uint8_t *pBC, const PixelBlockS8 *pBlocks, const Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ PixelBlockU8 inputBlocks[ParallelMath::ParallelSize];
+ Internal::BiasSignedInput(inputBlocks, pBlocks + blockBase);
+
+ Internal::S3TCComputer::PackInterpolatedAlpha(options.flags, inputBlocks, 0, pBC, 8, true, options.seedPoints, options.refineRoundsIIC);
+ pBC += ParallelMath::ParallelSize * 8;
+ }
+ }
+
+ void EncodeBC5U(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ Internal::S3TCComputer::PackInterpolatedAlpha(options.flags, pBlocks + blockBase, 0, pBC, 16, false, options.seedPoints, options.refineRoundsIIC);
+ Internal::S3TCComputer::PackInterpolatedAlpha(options.flags, pBlocks + blockBase, 1, pBC + 8, 16, false, options.seedPoints, options.refineRoundsIIC);
+ pBC += ParallelMath::ParallelSize * 16;
+ }
+ }
+
+ void EncodeBC5S(uint8_t *pBC, const PixelBlockS8 *pBlocks, const Options &options)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ float channelWeights[4];
+ Internal::FillWeights(options, channelWeights);
+
+ for (size_t blockBase = 0; blockBase < NumParallelBlocks; blockBase += ParallelMath::ParallelSize)
+ {
+ PixelBlockU8 inputBlocks[ParallelMath::ParallelSize];
+ Internal::BiasSignedInput(inputBlocks, pBlocks + blockBase);
+
+ Internal::S3TCComputer::PackInterpolatedAlpha(options.flags, inputBlocks, 0, pBC, 16, true, options.seedPoints, options.refineRoundsIIC);
+ Internal::S3TCComputer::PackInterpolatedAlpha(options.flags, inputBlocks, 1, pBC + 8, 16, true, options.seedPoints, options.refineRoundsIIC);
+ pBC += ParallelMath::ParallelSize * 16;
+ }
+ }
+
+ void DecodeBC7(PixelBlockU8 *pBlocks, const uint8_t *pBC)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ for (size_t blockBase = 0; blockBase < cvtt::NumParallelBlocks; blockBase++)
+ {
+ Internal::BC7Computer::UnpackOne(pBlocks[blockBase], pBC);
+ pBC += 16;
+ }
+ }
+
+ void DecodeBC6HU(PixelBlockF16 *pBlocks, const uint8_t *pBC)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ for (size_t blockBase = 0; blockBase < cvtt::NumParallelBlocks; blockBase++)
+ {
+ Internal::BC6HComputer::UnpackOne(pBlocks[blockBase], pBC, false);
+ pBC += 16;
+ }
+ }
+
+ void DecodeBC6HS(PixelBlockF16 *pBlocks, const uint8_t *pBC)
+ {
+ assert(pBlocks);
+ assert(pBC);
+
+ for (size_t blockBase = 0; blockBase < cvtt::NumParallelBlocks; blockBase++)
+ {
+ Internal::BC6HComputer::UnpackOne(pBlocks[blockBase], pBC, true);
+ pBC += 16;
+ }
+ }
+ }
+}
diff --git a/thirdparty/cvtt/ConvectionKernels.h b/thirdparty/cvtt/ConvectionKernels.h
new file mode 100644
index 0000000000..fb5ca130f9
--- /dev/null
+++ b/thirdparty/cvtt/ConvectionKernels.h
@@ -0,0 +1,145 @@
+/*
+Convection Texture Tools
+Copyright (c) 2018 Eric Lasota
+
+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.
+*/
+#pragma once
+#ifndef __CVTT_CONVECTION_KERNELS__
+#define __CVTT_CONVECTION_KERNELS__
+
+#include <stdint.h>
+
+namespace cvtt
+{
+ namespace Flags
+ {
+ // Enable partitioned modes in BC7 encoding (slower, better quality)
+ const uint32_t BC7_EnablePartitioning = 0x001;
+
+ // Enable 3-partition modes in BC7 encoding (slower, better quality, requires BC7_EnablePartitioning)
+ const uint32_t BC7_Enable3Subsets = 0x002;
+
+ // Enable dual-plane modes in BC7 encoding (slower, better quality)
+ const uint32_t BC7_EnableDualPlane = 0x004;
+
+ // Use fast indexing in BC7 encoding (about 2x faster, slightly worse quality)
+ const uint32_t BC7_FastIndexing = 0x008;
+
+ // Try precomputed single-color lookups where applicable (slightly slower, small quality increase on specific blocks)
+ const uint32_t BC7_TrySingleColor = 0x010;
+
+ // Don't allow non-zero or non-max alpha values in blocks that only contain one or the other
+ const uint32_t BC7_RespectPunchThrough = 0x020;
+
+ // Use fast indexing in HDR formats (faster, worse quality)
+ const uint32_t BC6H_FastIndexing = 0x040;
+
+ // Exhaustive search RGB orderings when encoding BC1-BC3 (much slower, better quality)
+ const uint32_t S3TC_Exhaustive = 0x080;
+
+ // Penalize distant endpoints, improving quality on inaccurate GPU decoders
+ const uint32_t S3TC_Paranoid = 0x100;
+
+ // Uniform color channel importance
+ const uint32_t Uniform = 0x200;
+
+ // Misc useful default flag combinations
+ const uint32_t Fastest = (BC6H_FastIndexing | S3TC_Paranoid);
+ const uint32_t Faster = (BC7_EnableDualPlane | BC6H_FastIndexing | S3TC_Paranoid);
+ const uint32_t Fast = (BC7_EnablePartitioning | BC7_EnableDualPlane | BC7_FastIndexing | S3TC_Paranoid);
+ const uint32_t Default = (BC7_EnablePartitioning | BC7_EnableDualPlane | BC7_Enable3Subsets | BC7_FastIndexing | S3TC_Paranoid);
+ const uint32_t Better = (BC7_EnablePartitioning | BC7_EnableDualPlane | BC7_Enable3Subsets | S3TC_Paranoid | S3TC_Exhaustive);
+ const uint32_t Ultra = (BC7_EnablePartitioning | BC7_EnableDualPlane | BC7_Enable3Subsets | BC7_TrySingleColor | S3TC_Paranoid | S3TC_Exhaustive);
+ }
+
+ const unsigned int NumParallelBlocks = 8;
+
+ struct Options
+ {
+ uint32_t flags; // Bitmask of cvtt::Flags values
+ float threshold; // Alpha test threshold for BC1
+ float redWeight; // Red channel importance
+ float greenWeight; // Green channel importance
+ float blueWeight; // Blue channel importance
+ float alphaWeight; // Alpha channel importance
+
+ int refineRoundsBC7; // Number of refine rounds for BC7
+ int refineRoundsBC6H; // Number of refine rounds for BC6H (max 3)
+ int refineRoundsIIC; // Number of refine rounds for independent interpolated channels (BC3 alpha, BC4, BC5)
+ int refineRoundsS3TC; // Number of refine rounds for S3TC RGB
+
+ int seedPoints; // Number of seed points (min 1, max 4)
+
+ Options()
+ : flags(Flags::Default)
+ , threshold(0.5f)
+ , redWeight(0.2125f / 0.7154f)
+ , greenWeight(1.0f)
+ , blueWeight(0.0721f / 0.7154f)
+ , alphaWeight(1.0f)
+ , refineRoundsBC7(2)
+ , refineRoundsBC6H(3)
+ , refineRoundsIIC(8)
+ , refineRoundsS3TC(2)
+ , seedPoints(4)
+ {
+ }
+ };
+
+ // RGBA input block for unsigned 8-bit formats
+ struct PixelBlockU8
+ {
+ uint8_t m_pixels[16][4];
+ };
+
+ // RGBA input block for signed 8-bit formats
+ struct PixelBlockS8
+ {
+ int8_t m_pixels[16][4];
+ };
+
+ // RGBA input block for half-precision float formats (bit-cast to int16_t)
+ struct PixelBlockF16
+ {
+ int16_t m_pixels[16][4];
+ };
+
+ namespace Kernels
+ {
+ // NOTE: All functions accept and output NumParallelBlocks blocks at once
+ void EncodeBC1(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options);
+ void EncodeBC2(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options);
+ void EncodeBC3(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options);
+ void EncodeBC4U(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options);
+ void EncodeBC4S(uint8_t *pBC, const PixelBlockS8 *pBlocks, const Options &options);
+ void EncodeBC5U(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options);
+ void EncodeBC5S(uint8_t *pBC, const PixelBlockS8 *pBlocks, const Options &options);
+ void EncodeBC6HU(uint8_t *pBC, const PixelBlockF16 *pBlocks, const Options &options);
+ void EncodeBC6HS(uint8_t *pBC, const PixelBlockF16 *pBlocks, const Options &options);
+ void EncodeBC7(uint8_t *pBC, const PixelBlockU8 *pBlocks, const Options &options);
+
+ void DecodeBC6HU(PixelBlockF16 *pBlocks, const uint8_t *pBC);
+ void DecodeBC6HS(PixelBlockF16 *pBlocks, const uint8_t *pBC);
+ void DecodeBC7(PixelBlockU8 *pBlocks, const uint8_t *pBC);
+ }
+}
+
+#endif
diff --git a/thirdparty/cvtt/ConvectionKernels_BC7_SingleColor.h b/thirdparty/cvtt/ConvectionKernels_BC7_SingleColor.h
new file mode 100644
index 0000000000..b5564c0dab
--- /dev/null
+++ b/thirdparty/cvtt/ConvectionKernels_BC7_SingleColor.h
@@ -0,0 +1,1940 @@
+#pragma once
+#include <stdint.h>
+
+namespace cvtt { namespace Tables { namespace BC7SC {
+
+struct TableEntry
+{
+ uint8_t m_min;
+ uint8_t m_max;
+ uint8_t m_actualColor;
+};
+
+struct Table
+{
+ uint8_t m_index;
+ uint8_t m_pBits;
+ TableEntry m_entries[256];
+};
+
+Table g_mode0_p00_i1=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 16, 2 }, { 0, 16, 2 }, { 0, 33, 5 }, { 0, 33, 5 }, { 0, 33, 5 }, { 0, 49, 7 },
+ { 0, 49, 7 }, { 0, 66, 9 }, { 0, 66, 9 }, { 0, 82, 12 }, { 0, 82, 12 }, { 0, 82, 12 }, { 0, 99, 14 }, { 0, 99, 14 },
+ { 0, 115, 16 }, { 0, 115, 16 }, { 16, 33, 18 }, { 0, 132, 19 }, { 0, 132, 19 }, { 0, 148, 21 }, { 0, 148, 21 }, { 0, 165, 23 },
+ { 0, 165, 23 }, { 0, 181, 25 }, { 0, 181, 25 }, { 0, 198, 28 }, { 0, 198, 28 }, { 0, 198, 28 }, { 0, 214, 30 }, { 33, 16, 31 },
+ { 0, 231, 32 }, { 33, 33, 33 }, { 0, 247, 35 }, { 0, 247, 35 }, { 0, 247, 35 }, { 16, 165, 37 }, { 33, 66, 38 }, { 16, 181, 39 },
+ { 33, 82, 40 }, { 16, 198, 42 }, { 16, 198, 42 }, { 16, 198, 42 }, { 16, 214, 44 }, { 33, 115, 45 }, { 16, 231, 46 }, { 33, 132, 47 },
+ { 16, 247, 48 }, { 33, 148, 49 }, { 33, 148, 49 }, { 49, 66, 51 }, { 33, 165, 52 }, { 33, 165, 52 }, { 33, 181, 54 }, { 33, 181, 54 },
+ { 33, 198, 56 }, { 66, 0, 57 }, { 33, 214, 58 }, { 66, 16, 59 }, { 33, 231, 61 }, { 33, 231, 61 }, { 33, 231, 61 }, { 33, 247, 63 },
+ { 66, 49, 64 }, { 49, 165, 65 }, { 66, 66, 66 }, { 49, 181, 68 }, { 49, 181, 68 }, { 49, 181, 68 }, { 49, 198, 70 }, { 66, 99, 71 },
+ { 49, 214, 72 }, { 66, 115, 73 }, { 49, 231, 75 }, { 49, 231, 75 }, { 49, 231, 75 }, { 49, 247, 77 }, { 66, 148, 78 }, { 66, 148, 78 },
+ { 66, 165, 80 }, { 66, 165, 80 }, { 66, 181, 82 }, { 66, 181, 82 }, { 82, 99, 84 }, { 66, 198, 85 }, { 66, 198, 85 }, { 66, 214, 87 },
+ { 66, 214, 87 }, { 66, 231, 89 }, { 99, 33, 90 }, { 66, 247, 91 }, { 99, 49, 92 }, { 82, 165, 94 }, { 82, 165, 94 }, { 82, 165, 94 },
+ { 82, 181, 96 }, { 99, 82, 97 }, { 82, 198, 98 }, { 99, 99, 99 }, { 82, 214, 101 }, { 82, 214, 101 }, { 82, 214, 101 }, { 82, 231, 103 },
+ { 99, 132, 104 }, { 82, 247, 105 }, { 99, 148, 106 }, { 99, 148, 106 }, { 99, 165, 108 }, { 99, 165, 108 }, { 115, 82, 110 }, { 99, 181, 111 },
+ { 99, 181, 111 }, { 99, 198, 113 }, { 99, 198, 113 }, { 99, 214, 115 }, { 132, 16, 116 }, { 115, 132, 117 }, { 99, 231, 118 }, { 99, 231, 118 },
+ { 99, 247, 120 }, { 99, 247, 120 }, { 115, 165, 122 }, { 132, 66, 123 }, { 115, 181, 124 }, { 132, 82, 125 }, { 115, 198, 127 }, { 115, 198, 127 },
+ { 115, 198, 127 }, { 115, 214, 129 }, { 132, 115, 130 }, { 115, 231, 131 }, { 132, 132, 132 }, { 115, 247, 134 }, { 115, 247, 134 }, { 115, 247, 134 },
+ { 148, 66, 136 }, { 132, 165, 137 }, { 132, 165, 137 }, { 132, 181, 139 }, { 132, 181, 139 }, { 132, 198, 141 }, { 165, 0, 142 }, { 148, 115, 143 },
+ { 132, 214, 144 }, { 132, 214, 144 }, { 132, 231, 146 }, { 132, 231, 146 }, { 132, 247, 148 }, { 165, 49, 149 }, { 148, 165, 150 }, { 165, 66, 151 },
+ { 148, 181, 153 }, { 148, 181, 153 }, { 148, 181, 153 }, { 148, 198, 155 }, { 165, 99, 156 }, { 148, 214, 157 }, { 165, 115, 158 }, { 148, 231, 160 },
+ { 148, 231, 160 }, { 148, 231, 160 }, { 148, 247, 162 }, { 165, 148, 163 }, { 165, 148, 163 }, { 165, 165, 165 }, { 165, 165, 165 }, { 165, 181, 167 },
+ { 165, 181, 167 }, { 181, 99, 169 }, { 165, 198, 170 }, { 165, 198, 170 }, { 165, 214, 172 }, { 165, 214, 172 }, { 165, 231, 174 }, { 198, 33, 175 },
+ { 181, 148, 176 }, { 165, 247, 177 }, { 165, 247, 177 }, { 181, 165, 179 }, { 181, 165, 179 }, { 181, 181, 181 }, { 198, 82, 182 }, { 181, 198, 183 },
+ { 198, 99, 184 }, { 181, 214, 186 }, { 181, 214, 186 }, { 181, 214, 186 }, { 181, 231, 188 }, { 198, 132, 189 }, { 181, 247, 190 }, { 198, 148, 191 },
+ { 198, 148, 191 }, { 198, 165, 193 }, { 198, 165, 193 }, { 214, 82, 195 }, { 198, 181, 196 }, { 198, 181, 196 }, { 198, 198, 198 }, { 231, 0, 199 },
+ { 198, 214, 200 }, { 231, 16, 201 }, { 214, 132, 202 }, { 198, 231, 203 }, { 198, 231, 203 }, { 198, 247, 205 }, { 198, 247, 205 }, { 214, 165, 207 },
+ { 231, 66, 208 }, { 214, 181, 209 }, { 231, 82, 210 }, { 214, 198, 212 }, { 214, 198, 212 }, { 214, 198, 212 }, { 214, 214, 214 }, { 231, 115, 215 },
+ { 214, 231, 216 }, { 231, 132, 217 }, { 214, 247, 219 }, { 214, 247, 219 }, { 214, 247, 219 }, { 231, 165, 222 }, { 231, 165, 222 }, { 231, 165, 222 },
+ { 231, 181, 224 }, { 231, 181, 224 }, { 231, 198, 226 }, { 231, 198, 226 }, { 247, 115, 228 }, { 231, 214, 229 }, { 231, 214, 229 }, { 231, 231, 231 },
+ { 231, 231, 231 }, { 231, 247, 233 }, { 231, 247, 233 }, { 247, 165, 235 }, { 247, 165, 235 }, { 247, 181, 238 }, { 247, 181, 238 }, { 247, 181, 238 },
+ { 247, 198, 240 }, { 247, 198, 240 }, { 247, 214, 242 }, { 247, 214, 242 }, { 247, 231, 245 }, { 247, 231, 245 }, { 247, 231, 245 }, { 247, 247, 247 },
+ { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 },
+ }
+};
+
+Table g_mode0_p00_i2=
+{
+ 2,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 16, 5 }, { 0, 16, 5 }, { 0, 16, 5 }, { 0, 16, 5 }, { 0, 16, 5 },
+ { 0, 33, 9 }, { 0, 33, 9 }, { 0, 33, 9 }, { 16, 0, 12 }, { 16, 0, 12 }, { 0, 49, 14 }, { 0, 49, 14 }, { 0, 49, 14 },
+ { 16, 16, 16 }, { 16, 16, 16 }, { 0, 66, 19 }, { 0, 66, 19 }, { 0, 66, 19 }, { 16, 33, 21 }, { 0, 82, 23 }, { 0, 82, 23 },
+ { 33, 0, 24 }, { 16, 49, 25 }, { 16, 49, 25 }, { 0, 99, 28 }, { 0, 99, 28 }, { 0, 99, 28 }, { 16, 66, 30 }, { 0, 115, 32 },
+ { 0, 115, 32 }, { 33, 33, 33 }, { 16, 82, 35 }, { 16, 82, 35 }, { 0, 132, 37 }, { 0, 132, 37 }, { 33, 49, 38 }, { 16, 99, 39 },
+ { 49, 16, 40 }, { 0, 148, 42 }, { 0, 148, 42 }, { 0, 148, 42 }, { 16, 115, 44 }, { 49, 33, 45 }, { 0, 165, 46 }, { 33, 82, 47 },
+ { 16, 132, 49 }, { 16, 132, 49 }, { 0, 181, 51 }, { 0, 181, 51 }, { 33, 99, 52 }, { 16, 148, 53 }, { 49, 66, 54 }, { 0, 198, 56 },
+ { 0, 198, 56 }, { 66, 33, 57 }, { 16, 165, 58 }, { 82, 0, 59 }, { 0, 214, 60 }, { 33, 132, 61 }, { 16, 181, 62 }, { 49, 99, 63 },
+ { 0, 231, 65 }, { 0, 231, 65 }, { 66, 66, 66 }, { 16, 198, 67 }, { 49, 115, 68 }, { 0, 247, 69 }, { 33, 165, 70 }, { 66, 82, 71 },
+ { 16, 214, 72 }, { 82, 49, 73 }, { 33, 181, 75 }, { 33, 181, 75 }, { 16, 231, 76 }, { 49, 148, 77 }, { 82, 66, 78 }, { 33, 198, 79 },
+ { 66, 115, 80 }, { 16, 247, 81 }, { 49, 165, 82 }, { 115, 0, 83 }, { 33, 214, 84 }, { 66, 132, 85 }, { 49, 181, 86 }, { 82, 99, 87 },
+ { 33, 231, 89 }, { 33, 231, 89 }, { 99, 66, 90 }, { 49, 198, 91 }, { 115, 33, 92 }, { 33, 247, 93 }, { 66, 165, 94 }, { 49, 214, 95 },
+ { 82, 132, 96 }, { 66, 181, 98 }, { 66, 181, 98 }, { 99, 99, 99 }, { 49, 231, 100 }, { 82, 148, 101 }, { 66, 198, 103 }, { 66, 198, 103 },
+ { 99, 115, 104 }, { 49, 247, 105 }, { 115, 82, 106 }, { 66, 214, 108 }, { 66, 214, 108 }, { 132, 49, 109 }, { 82, 181, 110 }, { 115, 99, 111 },
+ { 66, 231, 112 }, { 99, 148, 113 }, { 82, 198, 115 }, { 82, 198, 115 }, { 148, 33, 116 }, { 66, 247, 117 }, { 99, 165, 118 }, { 82, 214, 119 },
+ { 115, 132, 120 }, { 99, 181, 122 }, { 99, 181, 122 }, { 132, 99, 123 }, { 82, 231, 124 }, { 148, 66, 125 }, { 99, 198, 127 }, { 99, 198, 127 },
+ { 82, 247, 128 }, { 115, 165, 129 }, { 181, 0, 130 }, { 99, 214, 131 }, { 132, 132, 132 }, { 115, 181, 134 }, { 115, 181, 134 }, { 181, 16, 135 },
+ { 99, 231, 136 }, { 132, 148, 137 }, { 115, 198, 138 }, { 148, 115, 139 }, { 99, 247, 141 }, { 99, 247, 141 }, { 165, 82, 142 }, { 115, 214, 143 },
+ { 148, 132, 144 }, { 132, 181, 146 }, { 132, 181, 146 }, { 198, 16, 147 }, { 115, 231, 148 }, { 181, 66, 149 }, { 132, 198, 151 }, { 132, 198, 151 },
+ { 115, 247, 152 }, { 148, 165, 153 }, { 214, 0, 154 }, { 132, 214, 155 }, { 165, 132, 156 }, { 148, 181, 157 }, { 181, 99, 158 }, { 132, 231, 160 },
+ { 132, 231, 160 }, { 198, 66, 161 }, { 148, 198, 162 }, { 214, 33, 163 }, { 132, 247, 164 }, { 165, 165, 165 }, { 231, 0, 166 }, { 148, 214, 167 },
+ { 214, 49, 168 }, { 165, 181, 170 }, { 165, 181, 170 }, { 148, 231, 171 }, { 181, 148, 172 }, { 165, 198, 174 }, { 165, 198, 174 }, { 198, 115, 175 },
+ { 148, 247, 176 }, { 181, 165, 177 }, { 247, 0, 178 }, { 165, 214, 179 }, { 231, 49, 180 }, { 181, 181, 181 }, { 214, 99, 182 }, { 165, 231, 184 },
+ { 165, 231, 184 }, { 231, 66, 185 }, { 181, 198, 186 }, { 247, 33, 187 }, { 165, 247, 188 }, { 198, 165, 189 }, { 181, 214, 190 }, { 214, 132, 191 },
+ { 198, 181, 193 }, { 198, 181, 193 }, { 231, 99, 194 }, { 181, 231, 195 }, { 247, 66, 196 }, { 198, 198, 198 }, { 198, 198, 198 }, { 181, 247, 200 },
+ { 181, 247, 200 }, { 247, 82, 201 }, { 198, 214, 203 }, { 198, 214, 203 }, { 198, 214, 203 }, { 214, 181, 205 }, { 198, 231, 207 }, { 198, 231, 207 },
+ { 231, 148, 208 }, { 214, 198, 210 }, { 214, 198, 210 }, { 198, 247, 212 }, { 198, 247, 212 }, { 198, 247, 212 }, { 214, 214, 214 }, { 247, 132, 215 },
+ { 231, 181, 217 }, { 231, 181, 217 }, { 214, 231, 219 }, { 214, 231, 219 }, { 214, 231, 219 }, { 231, 198, 222 }, { 231, 198, 222 }, { 214, 247, 223 },
+ { 247, 165, 224 }, { 231, 214, 226 }, { 231, 214, 226 }, { 231, 214, 226 }, { 247, 181, 228 }, { 247, 181, 228 }, { 231, 231, 231 }, { 231, 231, 231 },
+ { 231, 231, 231 }, { 247, 198, 233 }, { 247, 198, 233 }, { 231, 247, 236 }, { 231, 247, 236 }, { 231, 247, 236 }, { 247, 214, 238 }, { 247, 214, 238 },
+ { 247, 214, 238 }, { 247, 231, 243 }, { 247, 231, 243 }, { 247, 231, 243 }, { 247, 231, 243 }, { 247, 231, 243 }, { 247, 247, 247 }, { 247, 247, 247 },
+ { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 },
+ }
+};
+
+Table g_mode0_p00_i3=
+{
+ 3,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 16, 7 }, { 0, 16, 7 }, { 0, 16, 7 }, { 0, 16, 7 },
+ { 0, 16, 7 }, { 16, 0, 9 }, { 16, 0, 9 }, { 16, 0, 9 }, { 0, 33, 14 }, { 0, 33, 14 }, { 0, 33, 14 }, { 0, 33, 14 },
+ { 16, 16, 16 }, { 16, 16, 16 }, { 33, 0, 19 }, { 33, 0, 19 }, { 0, 49, 21 }, { 0, 49, 21 }, { 0, 49, 21 }, { 16, 33, 23 },
+ { 16, 33, 23 }, { 33, 16, 26 }, { 33, 16, 26 }, { 0, 66, 28 }, { 0, 66, 28 }, { 0, 66, 28 }, { 16, 49, 30 }, { 16, 49, 30 },
+ { 33, 33, 33 }, { 33, 33, 33 }, { 0, 82, 35 }, { 0, 82, 35 }, { 0, 82, 35 }, { 16, 66, 37 }, { 66, 0, 38 }, { 33, 49, 40 },
+ { 33, 49, 40 }, { 0, 99, 42 }, { 0, 99, 42 }, { 0, 99, 42 }, { 16, 82, 44 }, { 66, 16, 45 }, { 33, 66, 47 }, { 33, 66, 47 },
+ { 0, 115, 49 }, { 0, 115, 49 }, { 0, 115, 49 }, { 16, 99, 51 }, { 66, 33, 52 }, { 33, 82, 54 }, { 33, 82, 54 }, { 0, 132, 56 },
+ { 0, 132, 56 }, { 99, 0, 57 }, { 16, 115, 58 }, { 66, 49, 59 }, { 33, 99, 61 }, { 33, 99, 61 }, { 0, 148, 62 }, { 49, 82, 63 },
+ { 99, 16, 64 }, { 16, 132, 65 }, { 66, 66, 66 }, { 33, 115, 68 }, { 33, 115, 68 }, { 0, 165, 70 }, { 0, 165, 70 }, { 99, 33, 71 },
+ { 16, 148, 72 }, { 66, 82, 73 }, { 33, 132, 75 }, { 33, 132, 75 }, { 0, 181, 76 }, { 49, 115, 77 }, { 99, 49, 78 }, { 16, 165, 79 },
+ { 66, 99, 80 }, { 33, 148, 82 }, { 33, 148, 82 }, { 132, 16, 83 }, { 0, 198, 84 }, { 99, 66, 85 }, { 16, 181, 86 }, { 66, 115, 87 },
+ { 33, 165, 89 }, { 33, 165, 89 }, { 0, 214, 90 }, { 49, 148, 91 }, { 99, 82, 92 }, { 16, 198, 93 }, { 66, 132, 94 }, { 33, 181, 95 },
+ { 82, 115, 96 }, { 0, 231, 97 }, { 49, 165, 98 }, { 99, 99, 99 }, { 16, 214, 100 }, { 66, 148, 101 }, { 165, 16, 102 }, { 33, 198, 103 },
+ { 0, 247, 104 }, { 49, 181, 105 }, { 99, 115, 106 }, { 16, 231, 107 }, { 66, 165, 108 }, { 33, 214, 109 }, { 82, 148, 110 }, { 132, 82, 111 },
+ { 49, 198, 112 }, { 16, 247, 113 }, { 198, 0, 114 }, { 66, 181, 115 }, { 165, 49, 116 }, { 33, 231, 117 }, { 132, 99, 118 }, { 49, 214, 119 },
+ { 99, 148, 120 }, { 198, 16, 121 }, { 66, 198, 122 }, { 33, 247, 123 }, { 82, 181, 124 }, { 132, 115, 125 }, { 49, 231, 126 }, { 99, 165, 127 },
+ { 66, 214, 128 }, { 115, 148, 129 }, { 165, 82, 130 }, { 82, 198, 131 }, { 132, 132, 132 }, { 49, 247, 133 }, { 99, 181, 134 }, { 198, 49, 135 },
+ { 66, 231, 136 }, { 165, 99, 137 }, { 82, 214, 138 }, { 132, 148, 139 }, { 231, 16, 140 }, { 99, 198, 141 }, { 66, 247, 142 }, { 115, 181, 143 },
+ { 165, 115, 144 }, { 82, 231, 145 }, { 132, 165, 146 }, { 231, 33, 147 }, { 99, 214, 148 }, { 198, 82, 149 }, { 115, 198, 150 }, { 165, 132, 151 },
+ { 82, 247, 152 }, { 132, 181, 153 }, { 231, 49, 154 }, { 99, 231, 155 }, { 198, 99, 156 }, { 115, 214, 157 }, { 165, 148, 158 }, { 132, 198, 160 },
+ { 132, 198, 160 }, { 99, 247, 161 }, { 148, 181, 162 }, { 198, 115, 163 }, { 115, 231, 164 }, { 165, 165, 165 }, { 132, 214, 167 }, { 132, 214, 167 },
+ { 231, 82, 168 }, { 148, 198, 169 }, { 198, 132, 170 }, { 115, 247, 171 }, { 165, 181, 172 }, { 132, 231, 174 }, { 132, 231, 174 }, { 231, 99, 175 },
+ { 148, 214, 176 }, { 198, 148, 177 }, { 165, 198, 179 }, { 165, 198, 179 }, { 132, 247, 181 }, { 132, 247, 181 }, { 231, 115, 182 }, { 148, 231, 183 },
+ { 198, 165, 184 }, { 247, 99, 185 }, { 165, 214, 186 }, { 165, 214, 186 }, { 181, 198, 188 }, { 231, 132, 189 }, { 148, 247, 190 }, { 198, 181, 191 },
+ { 165, 231, 193 }, { 165, 231, 193 }, { 165, 231, 193 }, { 181, 214, 195 }, { 231, 148, 196 }, { 198, 198, 198 }, { 198, 198, 198 }, { 165, 247, 200 },
+ { 165, 247, 200 }, { 165, 247, 200 }, { 181, 231, 202 }, { 231, 165, 203 }, { 198, 214, 205 }, { 198, 214, 205 }, { 198, 214, 205 }, { 214, 198, 207 },
+ { 181, 247, 209 }, { 181, 247, 209 }, { 231, 181, 210 }, { 198, 231, 212 }, { 198, 231, 212 }, { 198, 231, 212 }, { 214, 214, 214 }, { 214, 214, 214 },
+ { 231, 198, 217 }, { 231, 198, 217 }, { 198, 247, 219 }, { 198, 247, 219 }, { 198, 247, 219 }, { 214, 231, 221 }, { 214, 231, 221 }, { 231, 214, 224 },
+ { 231, 214, 224 }, { 231, 214, 224 }, { 247, 198, 226 }, { 214, 247, 228 }, { 214, 247, 228 }, { 214, 247, 228 }, { 231, 231, 231 }, { 231, 231, 231 },
+ { 231, 231, 231 }, { 247, 214, 233 }, { 247, 214, 233 }, { 247, 214, 233 }, { 231, 247, 238 }, { 231, 247, 238 }, { 231, 247, 238 }, { 231, 247, 238 },
+ { 247, 231, 240 }, { 247, 231, 240 }, { 247, 231, 240 }, { 247, 231, 240 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 },
+ { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 }, { 247, 247, 247 },
+ }
+};
+
+Table g_mode0_p01_i1=
+{
+ 1,
+ 2,
+ {
+ { 0, 8, 1 }, { 0, 8, 1 }, { 0, 8, 1 }, { 0, 24, 3 }, { 0, 24, 3 }, { 0, 41, 6 }, { 0, 41, 6 }, { 0, 41, 6 },
+ { 0, 57, 8 }, { 0, 57, 8 }, { 0, 74, 10 }, { 0, 74, 10 }, { 0, 90, 13 }, { 0, 90, 13 }, { 0, 90, 13 }, { 0, 107, 15 },
+ { 0, 107, 15 }, { 0, 123, 17 }, { 0, 123, 17 }, { 0, 140, 20 }, { 0, 140, 20 }, { 0, 140, 20 }, { 0, 156, 22 }, { 0, 156, 22 },
+ { 0, 173, 24 }, { 0, 173, 24 }, { 16, 90, 26 }, { 0, 189, 27 }, { 0, 189, 27 }, { 0, 206, 29 }, { 0, 206, 29 }, { 0, 222, 31 },
+ { 33, 24, 32 }, { 16, 140, 33 }, { 0, 239, 34 }, { 0, 239, 34 }, { 0, 255, 36 }, { 0, 255, 36 }, { 16, 173, 38 }, { 33, 74, 39 },
+ { 16, 189, 40 }, { 33, 90, 41 }, { 16, 206, 43 }, { 16, 206, 43 }, { 16, 206, 43 }, { 16, 222, 45 }, { 33, 123, 46 }, { 16, 239, 47 },
+ { 33, 140, 48 }, { 16, 255, 50 }, { 16, 255, 50 }, { 16, 255, 50 }, { 33, 173, 53 }, { 33, 173, 53 }, { 33, 173, 53 }, { 33, 189, 55 },
+ { 33, 189, 55 }, { 33, 206, 57 }, { 66, 8, 58 }, { 49, 123, 59 }, { 33, 222, 60 }, { 33, 222, 60 }, { 33, 239, 62 }, { 33, 239, 62 },
+ { 33, 255, 64 }, { 66, 57, 65 }, { 49, 173, 66 }, { 66, 74, 67 }, { 49, 189, 69 }, { 49, 189, 69 }, { 49, 189, 69 }, { 49, 206, 71 },
+ { 66, 107, 72 }, { 49, 222, 73 }, { 66, 123, 74 }, { 49, 239, 76 }, { 49, 239, 76 }, { 49, 239, 76 }, { 49, 255, 78 }, { 66, 156, 79 },
+ { 66, 156, 79 }, { 66, 173, 81 }, { 66, 173, 81 }, { 66, 189, 83 }, { 66, 189, 83 }, { 66, 206, 86 }, { 66, 206, 86 }, { 66, 206, 86 },
+ { 66, 222, 88 }, { 66, 222, 88 }, { 66, 239, 90 }, { 99, 41, 91 }, { 82, 156, 92 }, { 66, 255, 93 }, { 66, 255, 93 }, { 82, 173, 95 },
+ { 82, 173, 95 }, { 82, 189, 97 }, { 99, 90, 98 }, { 82, 206, 99 }, { 99, 107, 100 }, { 82, 222, 102 }, { 82, 222, 102 }, { 82, 222, 102 },
+ { 82, 239, 104 }, { 99, 140, 105 }, { 82, 255, 106 }, { 99, 156, 107 }, { 99, 156, 107 }, { 99, 173, 109 }, { 99, 173, 109 }, { 115, 90, 111 },
+ { 99, 189, 112 }, { 99, 189, 112 }, { 99, 206, 114 }, { 132, 8, 115 }, { 99, 222, 116 }, { 132, 24, 117 }, { 99, 239, 119 }, { 99, 239, 119 },
+ { 99, 239, 119 }, { 99, 255, 121 }, { 99, 255, 121 }, { 115, 173, 123 }, { 132, 74, 124 }, { 115, 189, 125 }, { 132, 90, 126 }, { 115, 206, 128 },
+ { 115, 206, 128 }, { 115, 206, 128 }, { 115, 222, 130 }, { 132, 123, 131 }, { 115, 239, 132 }, { 132, 140, 133 }, { 115, 255, 135 }, { 115, 255, 135 },
+ { 115, 255, 135 }, { 132, 173, 138 }, { 132, 173, 138 }, { 132, 173, 138 }, { 132, 189, 140 }, { 132, 189, 140 }, { 132, 206, 142 }, { 165, 8, 143 },
+ { 148, 123, 144 }, { 132, 222, 145 }, { 132, 222, 145 }, { 132, 239, 147 }, { 165, 41, 148 }, { 132, 255, 149 }, { 165, 57, 150 }, { 148, 173, 152 },
+ { 148, 173, 152 }, { 148, 173, 152 }, { 148, 189, 154 }, { 148, 189, 154 }, { 148, 206, 156 }, { 165, 107, 157 }, { 148, 222, 158 }, { 165, 123, 159 },
+ { 148, 239, 161 }, { 148, 239, 161 }, { 148, 239, 161 }, { 148, 255, 163 }, { 165, 156, 164 }, { 165, 156, 164 }, { 165, 173, 166 }, { 165, 173, 166 },
+ { 165, 189, 168 }, { 165, 189, 168 }, { 165, 206, 171 }, { 165, 206, 171 }, { 165, 206, 171 }, { 165, 222, 173 }, { 198, 24, 174 }, { 165, 239, 175 },
+ { 198, 41, 176 }, { 181, 156, 177 }, { 165, 255, 178 }, { 165, 255, 178 }, { 181, 173, 180 }, { 198, 74, 181 }, { 181, 189, 182 }, { 198, 90, 183 },
+ { 181, 206, 185 }, { 181, 206, 185 }, { 181, 206, 185 }, { 181, 222, 187 }, { 181, 222, 187 }, { 181, 239, 189 }, { 198, 140, 190 }, { 181, 255, 191 },
+ { 198, 156, 192 }, { 198, 156, 192 }, { 198, 173, 194 }, { 198, 173, 194 }, { 198, 189, 197 }, { 198, 189, 197 }, { 198, 189, 197 }, { 198, 206, 199 },
+ { 231, 8, 200 }, { 198, 222, 201 }, { 231, 24, 202 }, { 198, 239, 204 }, { 198, 239, 204 }, { 198, 239, 204 }, { 198, 255, 206 }, { 231, 57, 207 },
+ { 214, 173, 208 }, { 231, 74, 209 }, { 214, 189, 210 }, { 231, 90, 211 }, { 214, 206, 213 }, { 214, 206, 213 }, { 231, 107, 214 }, { 214, 222, 215 },
+ { 231, 123, 216 }, { 214, 239, 218 }, { 214, 239, 218 }, { 214, 239, 218 }, { 214, 255, 220 }, { 214, 255, 220 }, { 231, 173, 223 }, { 231, 173, 223 },
+ { 231, 173, 223 }, { 231, 189, 225 }, { 231, 189, 225 }, { 231, 206, 227 }, { 231, 206, 227 }, { 231, 222, 230 }, { 231, 222, 230 }, { 231, 222, 230 },
+ { 231, 239, 232 }, { 231, 239, 232 }, { 231, 255, 234 }, { 231, 255, 234 }, { 247, 173, 237 }, { 247, 173, 237 }, { 247, 173, 237 }, { 247, 189, 239 },
+ { 247, 189, 239 }, { 247, 206, 241 }, { 247, 206, 241 }, { 247, 222, 243 }, { 247, 222, 243 }, { 247, 239, 246 }, { 247, 239, 246 }, { 247, 239, 246 },
+ { 247, 255, 248 }, { 247, 255, 248 }, { 247, 255, 248 }, { 247, 255, 248 }, { 247, 255, 248 }, { 247, 255, 248 }, { 247, 255, 248 }, { 247, 255, 248 },
+ }
+};
+
+Table g_mode0_p01_i2=
+{
+ 2,
+ 2,
+ {
+ { 0, 8, 2 }, { 0, 8, 2 }, { 0, 8, 2 }, { 0, 8, 2 }, { 0, 8, 2 }, { 0, 24, 7 }, { 0, 24, 7 }, { 0, 24, 7 },
+ { 0, 24, 7 }, { 0, 24, 7 }, { 0, 41, 12 }, { 0, 41, 12 }, { 0, 41, 12 }, { 0, 41, 12 }, { 16, 8, 14 }, { 0, 57, 16 },
+ { 0, 57, 16 }, { 0, 57, 16 }, { 16, 24, 18 }, { 16, 24, 18 }, { 0, 74, 21 }, { 0, 74, 21 }, { 0, 74, 21 }, { 16, 41, 23 },
+ { 0, 90, 25 }, { 0, 90, 25 }, { 33, 8, 26 }, { 16, 57, 28 }, { 16, 57, 28 }, { 0, 107, 30 }, { 0, 107, 30 }, { 0, 107, 30 },
+ { 16, 74, 32 }, { 16, 74, 32 }, { 0, 123, 35 }, { 0, 123, 35 }, { 0, 123, 35 }, { 16, 90, 37 }, { 0, 140, 39 }, { 0, 140, 39 },
+ { 33, 57, 40 }, { 16, 107, 42 }, { 16, 107, 42 }, { 0, 156, 44 }, { 0, 156, 44 }, { 33, 74, 45 }, { 16, 123, 46 }, { 49, 41, 47 },
+ { 0, 173, 49 }, { 0, 173, 49 }, { 66, 8, 50 }, { 16, 140, 51 }, { 0, 189, 53 }, { 0, 189, 53 }, { 33, 107, 54 }, { 16, 156, 55 },
+ { 49, 74, 56 }, { 0, 206, 58 }, { 0, 206, 58 }, { 66, 41, 59 }, { 16, 173, 60 }, { 49, 90, 61 }, { 0, 222, 62 }, { 33, 140, 63 },
+ { 16, 189, 65 }, { 16, 189, 65 }, { 82, 24, 66 }, { 0, 239, 67 }, { 33, 156, 68 }, { 16, 206, 69 }, { 49, 123, 70 }, { 0, 255, 72 },
+ { 0, 255, 72 }, { 66, 90, 73 }, { 16, 222, 74 }, { 49, 140, 75 }, { 33, 189, 77 }, { 33, 189, 77 }, { 66, 107, 78 }, { 16, 239, 79 },
+ { 82, 74, 80 }, { 33, 206, 82 }, { 33, 206, 82 }, { 16, 255, 83 }, { 49, 173, 84 }, { 115, 8, 85 }, { 33, 222, 86 }, { 66, 140, 87 },
+ { 49, 189, 88 }, { 82, 107, 89 }, { 33, 239, 91 }, { 33, 239, 91 }, { 99, 74, 92 }, { 49, 206, 93 }, { 82, 123, 94 }, { 33, 255, 95 },
+ { 66, 173, 96 }, { 132, 8, 97 }, { 49, 222, 98 }, { 115, 57, 99 }, { 66, 189, 101 }, { 66, 189, 101 }, { 49, 239, 102 }, { 82, 156, 103 },
+ { 66, 206, 105 }, { 66, 206, 105 }, { 99, 123, 106 }, { 49, 255, 107 }, { 82, 173, 108 }, { 148, 8, 109 }, { 66, 222, 110 }, { 99, 140, 111 },
+ { 82, 189, 112 }, { 115, 107, 113 }, { 66, 239, 115 }, { 66, 239, 115 }, { 132, 74, 116 }, { 82, 206, 117 }, { 148, 41, 118 }, { 66, 255, 119 },
+ { 99, 173, 120 }, { 82, 222, 121 }, { 115, 140, 122 }, { 99, 189, 124 }, { 99, 189, 124 }, { 132, 107, 125 }, { 82, 239, 126 }, { 115, 156, 127 },
+ { 99, 206, 129 }, { 99, 206, 129 }, { 165, 41, 130 }, { 82, 255, 131 }, { 148, 90, 132 }, { 99, 222, 134 }, { 99, 222, 134 }, { 165, 57, 135 },
+ { 115, 189, 136 }, { 181, 24, 137 }, { 99, 239, 138 }, { 132, 156, 139 }, { 115, 206, 141 }, { 115, 206, 141 }, { 181, 41, 142 }, { 99, 255, 143 },
+ { 132, 173, 144 }, { 115, 222, 145 }, { 148, 140, 146 }, { 132, 189, 148 }, { 132, 189, 148 }, { 165, 107, 149 }, { 115, 239, 150 }, { 181, 74, 151 },
+ { 132, 206, 153 }, { 132, 206, 153 }, { 115, 255, 154 }, { 148, 173, 155 }, { 214, 8, 156 }, { 132, 222, 157 }, { 165, 140, 158 }, { 148, 189, 160 },
+ { 148, 189, 160 }, { 214, 24, 161 }, { 132, 239, 162 }, { 198, 74, 163 }, { 148, 206, 164 }, { 181, 123, 165 }, { 132, 255, 167 }, { 132, 255, 167 },
+ { 198, 90, 168 }, { 148, 222, 169 }, { 214, 57, 170 }, { 165, 189, 172 }, { 165, 189, 172 }, { 231, 24, 173 }, { 148, 239, 174 }, { 214, 74, 175 },
+ { 165, 206, 177 }, { 165, 206, 177 }, { 148, 255, 178 }, { 181, 173, 179 }, { 247, 8, 180 }, { 165, 222, 181 }, { 198, 140, 182 }, { 181, 189, 183 },
+ { 214, 107, 184 }, { 165, 239, 186 }, { 165, 239, 186 }, { 231, 74, 187 }, { 181, 206, 188 }, { 247, 41, 189 }, { 165, 255, 190 }, { 198, 173, 191 },
+ { 181, 222, 193 }, { 181, 222, 193 }, { 247, 57, 194 }, { 198, 189, 195 }, { 231, 107, 196 }, { 181, 239, 197 }, { 214, 156, 198 }, { 198, 206, 200 },
+ { 198, 206, 200 }, { 231, 123, 201 }, { 181, 255, 202 }, { 247, 90, 203 }, { 198, 222, 205 }, { 198, 222, 205 }, { 198, 222, 205 }, { 214, 189, 207 },
+ { 247, 107, 208 }, { 198, 239, 210 }, { 198, 239, 210 }, { 198, 239, 210 }, { 214, 206, 212 }, { 198, 255, 214 }, { 198, 255, 214 }, { 231, 173, 215 },
+ { 214, 222, 216 }, { 247, 140, 217 }, { 231, 189, 219 }, { 231, 189, 219 }, { 214, 239, 221 }, { 214, 239, 221 }, { 214, 239, 221 }, { 231, 206, 224 },
+ { 231, 206, 224 }, { 214, 255, 226 }, { 214, 255, 226 }, { 214, 255, 226 }, { 231, 222, 228 }, { 231, 222, 228 }, { 247, 189, 231 }, { 247, 189, 231 },
+ { 231, 239, 233 }, { 231, 239, 233 }, { 231, 239, 233 }, { 247, 206, 235 }, { 247, 206, 235 }, { 231, 255, 238 }, { 231, 255, 238 }, { 231, 255, 238 },
+ { 247, 222, 240 }, { 247, 222, 240 }, { 247, 222, 240 }, { 247, 239, 245 }, { 247, 239, 245 }, { 247, 239, 245 }, { 247, 239, 245 }, { 247, 239, 245 },
+ { 247, 255, 249 }, { 247, 255, 249 }, { 247, 255, 249 }, { 247, 255, 249 }, { 247, 255, 249 }, { 247, 255, 249 }, { 247, 255, 249 }, { 247, 255, 249 },
+ }
+};
+
+Table g_mode0_p01_i3=
+{
+ 3,
+ 2,
+ {
+ { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 24, 10 },
+ { 0, 24, 10 }, { 0, 24, 10 }, { 0, 24, 10 }, { 0, 24, 10 }, { 16, 8, 13 }, { 16, 8, 13 }, { 16, 8, 13 }, { 0, 41, 17 },
+ { 0, 41, 17 }, { 0, 41, 17 }, { 0, 41, 17 }, { 16, 24, 19 }, { 16, 24, 19 }, { 33, 8, 22 }, { 33, 8, 22 }, { 0, 57, 24 },
+ { 0, 57, 24 }, { 0, 57, 24 }, { 16, 41, 27 }, { 16, 41, 27 }, { 16, 41, 27 }, { 33, 24, 29 }, { 0, 74, 31 }, { 0, 74, 31 },
+ { 49, 8, 32 }, { 16, 57, 33 }, { 16, 57, 33 }, { 33, 41, 36 }, { 33, 41, 36 }, { 0, 90, 38 }, { 0, 90, 38 }, { 0, 90, 38 },
+ { 16, 74, 40 }, { 16, 74, 40 }, { 66, 8, 42 }, { 33, 57, 43 }, { 0, 107, 45 }, { 0, 107, 45 }, { 49, 41, 46 }, { 16, 90, 47 },
+ { 66, 24, 48 }, { 33, 74, 50 }, { 33, 74, 50 }, { 82, 8, 51 }, { 0, 123, 52 }, { 0, 123, 52 }, { 16, 107, 54 }, { 66, 41, 55 },
+ { 33, 90, 57 }, { 33, 90, 57 }, { 82, 24, 58 }, { 0, 140, 59 }, { 49, 74, 60 }, { 16, 123, 61 }, { 66, 57, 62 }, { 33, 107, 64 },
+ { 33, 107, 64 }, { 82, 41, 65 }, { 0, 156, 66 }, { 99, 24, 67 }, { 16, 140, 68 }, { 66, 74, 69 }, { 115, 8, 70 }, { 33, 123, 71 },
+ { 0, 173, 73 }, { 0, 173, 73 }, { 0, 173, 73 }, { 16, 156, 75 }, { 66, 90, 76 }, { 115, 24, 77 }, { 33, 140, 78 }, { 82, 74, 79 },
+ { 0, 189, 80 }, { 99, 57, 81 }, { 16, 173, 82 }, { 66, 107, 83 }, { 115, 41, 84 }, { 33, 156, 85 }, { 132, 24, 86 }, { 0, 206, 87 },
+ { 99, 74, 88 }, { 16, 189, 89 }, { 66, 123, 90 }, { 115, 57, 91 }, { 33, 173, 92 }, { 82, 107, 93 }, { 0, 222, 94 }, { 99, 90, 95 },
+ { 16, 206, 96 }, { 66, 140, 97 }, { 115, 74, 98 }, { 33, 189, 99 }, { 132, 57, 100 }, { 0, 239, 101 }, { 99, 107, 102 }, { 16, 222, 103 },
+ { 66, 156, 104 }, { 33, 206, 106 }, { 33, 206, 106 }, { 0, 255, 108 }, { 0, 255, 108 }, { 99, 123, 109 }, { 16, 239, 110 }, { 66, 173, 111 },
+ { 115, 107, 112 }, { 33, 222, 113 }, { 132, 90, 114 }, { 49, 206, 115 }, { 99, 140, 116 }, { 16, 255, 117 }, { 66, 189, 118 }, { 165, 57, 119 },
+ { 33, 239, 120 }, { 132, 107, 121 }, { 49, 222, 122 }, { 99, 156, 123 }, { 148, 90, 124 }, { 66, 206, 125 }, { 115, 140, 126 }, { 33, 255, 127 },
+ { 132, 123, 128 }, { 49, 239, 129 }, { 99, 173, 130 }, { 148, 107, 131 }, { 66, 222, 132 }, { 165, 90, 133 }, { 82, 206, 134 }, { 132, 140, 135 },
+ { 49, 255, 136 }, { 99, 189, 137 }, { 66, 239, 139 }, { 66, 239, 139 }, { 66, 239, 139 }, { 82, 222, 141 }, { 132, 156, 142 }, { 181, 90, 143 },
+ { 99, 206, 144 }, { 148, 140, 145 }, { 66, 255, 146 }, { 165, 123, 147 }, { 82, 239, 148 }, { 132, 173, 149 }, { 181, 107, 150 }, { 99, 222, 151 },
+ { 198, 90, 152 }, { 115, 206, 153 }, { 165, 140, 154 }, { 82, 255, 155 }, { 132, 189, 156 }, { 181, 123, 157 }, { 99, 239, 158 }, { 148, 173, 159 },
+ { 115, 222, 160 }, { 165, 156, 161 }, { 214, 90, 162 }, { 132, 206, 163 }, { 181, 140, 164 }, { 99, 255, 165 }, { 198, 123, 166 }, { 115, 239, 167 },
+ { 165, 173, 168 }, { 214, 107, 169 }, { 132, 222, 170 }, { 132, 222, 170 }, { 148, 206, 172 }, { 115, 255, 174 }, { 115, 255, 174 }, { 165, 189, 175 },
+ { 214, 123, 176 }, { 132, 239, 177 }, { 181, 173, 178 }, { 148, 222, 179 }, { 198, 156, 180 }, { 247, 90, 181 }, { 165, 206, 182 }, { 214, 140, 183 },
+ { 132, 255, 184 }, { 231, 123, 185 }, { 148, 239, 186 }, { 198, 173, 187 }, { 247, 107, 188 }, { 165, 222, 189 }, { 214, 156, 190 }, { 181, 206, 192 },
+ { 181, 206, 192 }, { 148, 255, 193 }, { 198, 189, 194 }, { 247, 123, 195 }, { 165, 239, 196 }, { 214, 173, 197 }, { 181, 222, 198 }, { 231, 156, 199 },
+ { 198, 206, 201 }, { 198, 206, 201 }, { 247, 140, 202 }, { 165, 255, 203 }, { 165, 255, 203 }, { 181, 239, 205 }, { 181, 239, 205 }, { 231, 173, 207 },
+ { 198, 222, 208 }, { 247, 156, 209 }, { 214, 206, 211 }, { 214, 206, 211 }, { 181, 255, 212 }, { 231, 189, 213 }, { 198, 239, 215 }, { 198, 239, 215 },
+ { 247, 173, 216 }, { 214, 222, 217 }, { 214, 222, 217 }, { 231, 206, 220 }, { 231, 206, 220 }, { 198, 255, 222 }, { 198, 255, 222 }, { 247, 189, 223 },
+ { 214, 239, 225 }, { 214, 239, 225 }, { 214, 239, 225 }, { 231, 222, 227 }, { 231, 222, 227 }, { 247, 206, 230 }, { 247, 206, 230 }, { 214, 255, 231 },
+ { 214, 255, 231 }, { 231, 239, 234 }, { 231, 239, 234 }, { 231, 239, 234 }, { 247, 222, 236 }, { 247, 222, 236 }, { 247, 222, 236 }, { 231, 255, 241 },
+ { 231, 255, 241 }, { 231, 255, 241 }, { 231, 255, 241 }, { 247, 239, 244 }, { 247, 239, 244 }, { 247, 239, 244 }, { 247, 239, 244 }, { 247, 239, 244 },
+ { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 },
+ }
+};
+
+Table g_mode0_p10_i1=
+{
+ 1,
+ 1,
+ {
+ { 8, 0, 7 }, { 8, 0, 7 }, { 8, 0, 7 }, { 8, 0, 7 }, { 8, 0, 7 }, { 8, 0, 7 }, { 8, 0, 7 }, { 8, 0, 7 },
+ { 8, 0, 7 }, { 8, 16, 9 }, { 8, 16, 9 }, { 8, 33, 12 }, { 8, 33, 12 }, { 8, 33, 12 }, { 8, 49, 14 }, { 8, 49, 14 },
+ { 8, 66, 16 }, { 8, 66, 16 }, { 8, 82, 18 }, { 8, 82, 18 }, { 8, 99, 21 }, { 8, 99, 21 }, { 8, 99, 21 }, { 8, 115, 23 },
+ { 8, 115, 23 }, { 8, 132, 25 }, { 8, 132, 25 }, { 8, 148, 28 }, { 8, 148, 28 }, { 8, 148, 28 }, { 8, 165, 30 }, { 8, 165, 30 },
+ { 8, 181, 32 }, { 8, 181, 32 }, { 8, 198, 35 }, { 8, 198, 35 }, { 8, 198, 35 }, { 8, 214, 37 }, { 8, 214, 37 }, { 8, 231, 39 },
+ { 41, 33, 40 }, { 24, 148, 41 }, { 8, 247, 42 }, { 8, 247, 42 }, { 24, 165, 44 }, { 41, 66, 45 }, { 24, 181, 46 }, { 41, 82, 47 },
+ { 24, 198, 48 }, { 41, 99, 49 }, { 24, 214, 51 }, { 24, 214, 51 }, { 24, 214, 51 }, { 24, 231, 53 }, { 41, 132, 54 }, { 24, 247, 55 },
+ { 41, 148, 56 }, { 41, 148, 56 }, { 41, 165, 58 }, { 41, 165, 58 }, { 41, 181, 61 }, { 41, 181, 61 }, { 41, 181, 61 }, { 41, 198, 63 },
+ { 74, 0, 64 }, { 41, 214, 65 }, { 74, 16, 66 }, { 41, 231, 68 }, { 41, 231, 68 }, { 41, 231, 68 }, { 41, 247, 70 }, { 41, 247, 70 },
+ { 57, 165, 72 }, { 74, 66, 73 }, { 57, 181, 74 }, { 74, 82, 75 }, { 57, 198, 77 }, { 57, 198, 77 }, { 74, 99, 78 }, { 57, 214, 79 },
+ { 74, 115, 80 }, { 57, 231, 81 }, { 74, 132, 82 }, { 57, 247, 84 }, { 57, 247, 84 }, { 57, 247, 84 }, { 74, 165, 87 }, { 74, 165, 87 },
+ { 74, 165, 87 }, { 74, 181, 89 }, { 74, 181, 89 }, { 74, 198, 91 }, { 107, 0, 92 }, { 74, 214, 94 }, { 74, 214, 94 }, { 74, 214, 94 },
+ { 74, 231, 96 }, { 107, 33, 97 }, { 74, 247, 98 }, { 107, 49, 99 }, { 90, 165, 101 }, { 90, 165, 101 }, { 90, 165, 101 }, { 90, 181, 103 },
+ { 90, 181, 103 }, { 90, 198, 105 }, { 107, 99, 106 }, { 90, 214, 107 }, { 107, 115, 108 }, { 90, 231, 110 }, { 90, 231, 110 }, { 107, 132, 111 },
+ { 90, 247, 112 }, { 107, 148, 113 }, { 107, 148, 113 }, { 107, 165, 115 }, { 107, 165, 115 }, { 107, 181, 117 }, { 107, 181, 117 }, { 107, 198, 120 },
+ { 107, 198, 120 }, { 107, 198, 120 }, { 107, 214, 122 }, { 140, 16, 123 }, { 107, 231, 124 }, { 140, 33, 125 }, { 107, 247, 127 }, { 107, 247, 127 },
+ { 107, 247, 127 }, { 123, 165, 129 }, { 140, 66, 130 }, { 123, 181, 131 }, { 140, 82, 132 }, { 123, 198, 134 }, { 123, 198, 134 }, { 123, 198, 134 },
+ { 123, 214, 136 }, { 123, 214, 136 }, { 123, 231, 138 }, { 140, 132, 139 }, { 123, 247, 140 }, { 140, 148, 141 }, { 140, 148, 141 }, { 156, 66, 143 },
+ { 140, 165, 144 }, { 140, 165, 144 }, { 140, 181, 146 }, { 140, 181, 146 }, { 140, 198, 148 }, { 173, 0, 149 }, { 140, 214, 150 }, { 173, 16, 151 },
+ { 140, 231, 153 }, { 140, 231, 153 }, { 140, 231, 153 }, { 140, 247, 155 }, { 173, 49, 156 }, { 156, 165, 157 }, { 173, 66, 158 }, { 156, 181, 160 },
+ { 156, 181, 160 }, { 156, 181, 160 }, { 156, 198, 162 }, { 173, 99, 163 }, { 156, 214, 164 }, { 173, 115, 165 }, { 156, 231, 167 }, { 156, 231, 167 },
+ { 156, 231, 167 }, { 156, 247, 169 }, { 156, 247, 169 }, { 173, 165, 172 }, { 173, 165, 172 }, { 173, 165, 172 }, { 173, 181, 174 }, { 173, 181, 174 },
+ { 189, 99, 176 }, { 173, 198, 177 }, { 173, 198, 177 }, { 173, 214, 179 }, { 173, 214, 179 }, { 173, 231, 181 }, { 206, 33, 182 }, { 173, 247, 183 },
+ { 206, 49, 184 }, { 189, 165, 186 }, { 189, 165, 186 }, { 189, 165, 186 }, { 189, 181, 188 }, { 206, 82, 189 }, { 189, 198, 190 }, { 206, 99, 191 },
+ { 189, 214, 193 }, { 189, 214, 193 }, { 189, 214, 193 }, { 189, 231, 195 }, { 206, 132, 196 }, { 189, 247, 197 }, { 206, 148, 198 }, { 206, 148, 198 },
+ { 206, 165, 200 }, { 206, 165, 200 }, { 206, 181, 202 }, { 206, 181, 202 }, { 206, 198, 205 }, { 206, 198, 205 }, { 206, 198, 205 }, { 206, 214, 207 },
+ { 239, 16, 208 }, { 222, 132, 209 }, { 206, 231, 210 }, { 206, 231, 210 }, { 206, 247, 212 }, { 206, 247, 212 }, { 222, 165, 214 }, { 239, 66, 215 },
+ { 222, 181, 216 }, { 239, 82, 217 }, { 222, 198, 219 }, { 222, 198, 219 }, { 222, 198, 219 }, { 222, 214, 221 }, { 239, 115, 222 }, { 222, 231, 223 },
+ { 239, 132, 224 }, { 222, 247, 226 }, { 222, 247, 226 }, { 222, 247, 226 }, { 255, 66, 228 }, { 239, 165, 229 }, { 239, 165, 229 }, { 239, 181, 231 },
+ { 239, 181, 231 }, { 239, 198, 233 }, { 239, 198, 233 }, { 239, 214, 235 }, { 239, 214, 235 }, { 239, 231, 238 }, { 239, 231, 238 }, { 239, 231, 238 },
+ { 239, 247, 240 }, { 239, 247, 240 }, { 255, 165, 242 }, { 255, 165, 242 }, { 255, 181, 245 }, { 255, 181, 245 }, { 255, 181, 245 }, { 255, 198, 247 },
+ { 255, 198, 247 }, { 255, 214, 249 }, { 255, 214, 249 }, { 255, 231, 252 }, { 255, 231, 252 }, { 255, 231, 252 }, { 255, 247, 254 }, { 255, 247, 254 },
+ }
+};
+
+Table g_mode0_p10_i2=
+{
+ 2,
+ 1,
+ {
+ { 8, 0, 6 }, { 8, 0, 6 }, { 8, 0, 6 }, { 8, 0, 6 }, { 8, 0, 6 }, { 8, 0, 6 }, { 8, 0, 6 }, { 8, 0, 6 },
+ { 8, 0, 6 }, { 8, 16, 10 }, { 8, 16, 10 }, { 8, 16, 10 }, { 8, 16, 10 }, { 8, 33, 15 }, { 8, 33, 15 }, { 8, 33, 15 },
+ { 8, 33, 15 }, { 24, 0, 17 }, { 24, 0, 17 }, { 8, 49, 20 }, { 8, 49, 20 }, { 8, 49, 20 }, { 24, 16, 22 }, { 8, 66, 24 },
+ { 8, 66, 24 }, { 8, 66, 24 }, { 24, 33, 27 }, { 24, 33, 27 }, { 8, 82, 29 }, { 8, 82, 29 }, { 8, 82, 29 }, { 24, 49, 31 },
+ { 24, 49, 31 }, { 8, 99, 34 }, { 8, 99, 34 }, { 8, 99, 34 }, { 24, 66, 36 }, { 8, 115, 38 }, { 8, 115, 38 }, { 41, 33, 39 },
+ { 24, 82, 40 }, { 57, 0, 41 }, { 8, 132, 43 }, { 8, 132, 43 }, { 8, 132, 43 }, { 24, 99, 45 }, { 8, 148, 47 }, { 8, 148, 47 },
+ { 41, 66, 48 }, { 24, 115, 50 }, { 24, 115, 50 }, { 8, 165, 52 }, { 8, 165, 52 }, { 41, 82, 53 }, { 24, 132, 54 }, { 57, 49, 55 },
+ { 8, 181, 57 }, { 8, 181, 57 }, { 74, 16, 58 }, { 24, 148, 59 }, { 57, 66, 60 }, { 8, 198, 61 }, { 41, 115, 62 }, { 24, 165, 64 },
+ { 24, 165, 64 }, { 90, 0, 65 }, { 8, 214, 66 }, { 41, 132, 67 }, { 24, 181, 68 }, { 57, 99, 69 }, { 8, 231, 71 }, { 8, 231, 71 },
+ { 74, 66, 72 }, { 24, 198, 73 }, { 90, 33, 74 }, { 8, 247, 75 }, { 41, 165, 76 }, { 24, 214, 77 }, { 57, 132, 78 }, { 41, 181, 80 },
+ { 41, 181, 80 }, { 74, 99, 81 }, { 24, 231, 82 }, { 57, 148, 83 }, { 41, 198, 85 }, { 41, 198, 85 }, { 74, 115, 86 }, { 24, 247, 87 },
+ { 90, 82, 88 }, { 41, 214, 90 }, { 41, 214, 90 }, { 107, 49, 91 }, { 57, 181, 92 }, { 90, 99, 93 }, { 41, 231, 94 }, { 74, 148, 95 },
+ { 57, 198, 97 }, { 57, 198, 97 }, { 123, 33, 98 }, { 41, 247, 99 }, { 74, 165, 100 }, { 57, 214, 101 }, { 90, 132, 102 }, { 74, 181, 104 },
+ { 74, 181, 104 }, { 107, 99, 105 }, { 57, 231, 106 }, { 123, 66, 107 }, { 74, 198, 109 }, { 74, 198, 109 }, { 57, 247, 110 }, { 90, 165, 111 },
+ { 156, 0, 112 }, { 74, 214, 113 }, { 107, 132, 114 }, { 90, 181, 116 }, { 90, 181, 116 }, { 156, 16, 117 }, { 74, 231, 118 }, { 107, 148, 119 },
+ { 90, 198, 120 }, { 123, 115, 121 }, { 74, 247, 123 }, { 74, 247, 123 }, { 140, 82, 124 }, { 90, 214, 125 }, { 123, 132, 126 }, { 107, 181, 128 },
+ { 107, 181, 128 }, { 173, 16, 129 }, { 90, 231, 130 }, { 156, 66, 131 }, { 107, 198, 133 }, { 107, 198, 133 }, { 90, 247, 134 }, { 123, 165, 135 },
+ { 189, 0, 136 }, { 107, 214, 137 }, { 140, 132, 138 }, { 123, 181, 139 }, { 156, 99, 140 }, { 107, 231, 142 }, { 107, 231, 142 }, { 173, 66, 143 },
+ { 123, 198, 144 }, { 189, 33, 145 }, { 107, 247, 146 }, { 140, 165, 147 }, { 206, 0, 148 }, { 123, 214, 149 }, { 189, 49, 150 }, { 140, 181, 152 },
+ { 140, 181, 152 }, { 123, 231, 153 }, { 156, 148, 154 }, { 140, 198, 156 }, { 140, 198, 156 }, { 173, 115, 157 }, { 123, 247, 158 }, { 156, 165, 159 },
+ { 222, 0, 160 }, { 140, 214, 161 }, { 206, 49, 162 }, { 156, 181, 163 }, { 189, 99, 164 }, { 140, 231, 166 }, { 140, 231, 166 }, { 206, 66, 167 },
+ { 156, 198, 168 }, { 222, 33, 169 }, { 140, 247, 170 }, { 173, 165, 171 }, { 156, 214, 172 }, { 189, 132, 173 }, { 173, 181, 175 }, { 173, 181, 175 },
+ { 206, 99, 176 }, { 156, 231, 177 }, { 222, 66, 178 }, { 173, 198, 180 }, { 173, 198, 180 }, { 239, 33, 181 }, { 156, 247, 182 }, { 222, 82, 183 },
+ { 173, 214, 185 }, { 173, 214, 185 }, { 239, 49, 186 }, { 189, 181, 187 }, { 255, 16, 188 }, { 173, 231, 189 }, { 206, 148, 190 }, { 189, 198, 192 },
+ { 189, 198, 192 }, { 255, 33, 193 }, { 173, 247, 194 }, { 239, 82, 195 }, { 189, 214, 196 }, { 222, 132, 197 }, { 206, 181, 199 }, { 206, 181, 199 },
+ { 239, 99, 200 }, { 189, 231, 201 }, { 255, 66, 202 }, { 206, 198, 204 }, { 206, 198, 204 }, { 189, 247, 205 }, { 222, 165, 206 }, { 206, 214, 208 },
+ { 206, 214, 208 }, { 239, 132, 209 }, { 222, 181, 210 }, { 255, 99, 211 }, { 206, 231, 213 }, { 206, 231, 213 }, { 206, 231, 213 }, { 222, 198, 215 },
+ { 255, 115, 216 }, { 206, 247, 218 }, { 206, 247, 218 }, { 206, 247, 218 }, { 222, 214, 220 }, { 222, 214, 220 }, { 239, 181, 223 }, { 239, 181, 223 },
+ { 222, 231, 225 }, { 222, 231, 225 }, { 222, 231, 225 }, { 239, 198, 227 }, { 222, 247, 229 }, { 222, 247, 229 }, { 255, 165, 230 }, { 239, 214, 232 },
+ { 239, 214, 232 }, { 239, 214, 232 }, { 255, 181, 234 }, { 255, 181, 234 }, { 239, 231, 237 }, { 239, 231, 237 }, { 239, 231, 237 }, { 255, 198, 239 },
+ { 239, 247, 241 }, { 239, 247, 241 }, { 239, 247, 241 }, { 255, 214, 243 }, { 255, 214, 243 }, { 255, 214, 243 }, { 255, 231, 248 }, { 255, 231, 248 },
+ { 255, 231, 248 }, { 255, 231, 248 }, { 255, 231, 248 }, { 255, 247, 253 }, { 255, 247, 253 }, { 255, 247, 253 }, { 255, 247, 253 }, { 255, 247, 253 },
+ }
+};
+
+Table g_mode0_p10_i3=
+{
+ 3,
+ 3,
+ {
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 },
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 24, 15 }, { 8, 24, 15 }, { 8, 24, 15 }, { 8, 24, 15 },
+ { 8, 24, 15 }, { 24, 8, 17 }, { 24, 8, 17 }, { 24, 8, 17 }, { 8, 41, 22 }, { 8, 41, 22 }, { 8, 41, 22 }, { 8, 41, 22 },
+ { 24, 24, 24 }, { 24, 24, 24 }, { 41, 8, 27 }, { 41, 8, 27 }, { 8, 57, 29 }, { 8, 57, 29 }, { 8, 57, 29 }, { 24, 41, 31 },
+ { 24, 41, 31 }, { 41, 24, 34 }, { 41, 24, 34 }, { 8, 74, 36 }, { 8, 74, 36 }, { 8, 74, 36 }, { 24, 57, 38 }, { 24, 57, 38 },
+ { 41, 41, 41 }, { 41, 41, 41 }, { 8, 90, 43 }, { 8, 90, 43 }, { 8, 90, 43 }, { 24, 74, 45 }, { 74, 8, 46 }, { 41, 57, 48 },
+ { 41, 57, 48 }, { 8, 107, 50 }, { 8, 107, 50 }, { 8, 107, 50 }, { 24, 90, 52 }, { 74, 24, 53 }, { 41, 74, 55 }, { 41, 74, 55 },
+ { 8, 123, 57 }, { 8, 123, 57 }, { 8, 123, 57 }, { 24, 107, 59 }, { 74, 41, 60 }, { 41, 90, 62 }, { 41, 90, 62 }, { 8, 140, 64 },
+ { 8, 140, 64 }, { 107, 8, 65 }, { 24, 123, 66 }, { 74, 57, 67 }, { 41, 107, 69 }, { 41, 107, 69 }, { 8, 156, 70 }, { 57, 90, 71 },
+ { 107, 24, 72 }, { 24, 140, 73 }, { 74, 74, 74 }, { 41, 123, 76 }, { 41, 123, 76 }, { 8, 173, 78 }, { 8, 173, 78 }, { 107, 41, 79 },
+ { 24, 156, 80 }, { 74, 90, 81 }, { 41, 140, 83 }, { 41, 140, 83 }, { 8, 189, 84 }, { 57, 123, 85 }, { 107, 57, 86 }, { 24, 173, 87 },
+ { 74, 107, 88 }, { 41, 156, 90 }, { 41, 156, 90 }, { 140, 24, 91 }, { 8, 206, 92 }, { 107, 74, 93 }, { 24, 189, 94 }, { 74, 123, 95 },
+ { 41, 173, 97 }, { 41, 173, 97 }, { 8, 222, 98 }, { 57, 156, 99 }, { 107, 90, 100 }, { 24, 206, 101 }, { 74, 140, 102 }, { 41, 189, 103 },
+ { 90, 123, 104 }, { 8, 239, 105 }, { 57, 173, 106 }, { 107, 107, 107 }, { 24, 222, 108 }, { 74, 156, 109 }, { 173, 24, 110 }, { 41, 206, 111 },
+ { 8, 255, 112 }, { 57, 189, 113 }, { 107, 123, 114 }, { 24, 239, 115 }, { 74, 173, 116 }, { 41, 222, 117 }, { 90, 156, 118 }, { 140, 90, 119 },
+ { 57, 206, 120 }, { 24, 255, 121 }, { 206, 8, 122 }, { 74, 189, 123 }, { 173, 57, 124 }, { 41, 239, 125 }, { 140, 107, 126 }, { 57, 222, 127 },
+ { 107, 156, 128 }, { 206, 24, 129 }, { 74, 206, 130 }, { 41, 255, 131 }, { 90, 189, 132 }, { 140, 123, 133 }, { 57, 239, 134 }, { 107, 173, 135 },
+ { 74, 222, 136 }, { 123, 156, 137 }, { 173, 90, 138 }, { 90, 206, 139 }, { 140, 140, 140 }, { 57, 255, 141 }, { 107, 189, 142 }, { 206, 57, 143 },
+ { 74, 239, 144 }, { 173, 107, 145 }, { 90, 222, 146 }, { 140, 156, 147 }, { 239, 24, 148 }, { 107, 206, 149 }, { 74, 255, 150 }, { 123, 189, 151 },
+ { 173, 123, 152 }, { 90, 239, 153 }, { 140, 173, 154 }, { 239, 41, 155 }, { 107, 222, 156 }, { 206, 90, 157 }, { 123, 206, 158 }, { 173, 140, 159 },
+ { 90, 255, 160 }, { 140, 189, 161 }, { 239, 57, 162 }, { 107, 239, 163 }, { 206, 107, 164 }, { 123, 222, 165 }, { 173, 156, 166 }, { 140, 206, 168 },
+ { 140, 206, 168 }, { 107, 255, 169 }, { 156, 189, 170 }, { 206, 123, 171 }, { 123, 239, 172 }, { 173, 173, 173 }, { 140, 222, 175 }, { 140, 222, 175 },
+ { 239, 90, 176 }, { 156, 206, 177 }, { 206, 140, 178 }, { 123, 255, 179 }, { 173, 189, 180 }, { 140, 239, 182 }, { 140, 239, 182 }, { 239, 107, 183 },
+ { 156, 222, 184 }, { 206, 156, 185 }, { 173, 206, 187 }, { 173, 206, 187 }, { 140, 255, 189 }, { 140, 255, 189 }, { 239, 123, 190 }, { 156, 239, 191 },
+ { 206, 173, 192 }, { 255, 107, 193 }, { 173, 222, 194 }, { 173, 222, 194 }, { 189, 206, 196 }, { 239, 140, 197 }, { 156, 255, 198 }, { 206, 189, 199 },
+ { 173, 239, 201 }, { 173, 239, 201 }, { 173, 239, 201 }, { 189, 222, 203 }, { 239, 156, 204 }, { 206, 206, 206 }, { 206, 206, 206 }, { 173, 255, 208 },
+ { 173, 255, 208 }, { 173, 255, 208 }, { 189, 239, 210 }, { 239, 173, 211 }, { 206, 222, 213 }, { 206, 222, 213 }, { 206, 222, 213 }, { 222, 206, 215 },
+ { 189, 255, 217 }, { 189, 255, 217 }, { 239, 189, 218 }, { 206, 239, 220 }, { 206, 239, 220 }, { 206, 239, 220 }, { 222, 222, 222 }, { 222, 222, 222 },
+ { 239, 206, 225 }, { 239, 206, 225 }, { 206, 255, 227 }, { 206, 255, 227 }, { 206, 255, 227 }, { 222, 239, 229 }, { 222, 239, 229 }, { 239, 222, 232 },
+ { 239, 222, 232 }, { 239, 222, 232 }, { 255, 206, 234 }, { 222, 255, 236 }, { 222, 255, 236 }, { 222, 255, 236 }, { 239, 239, 239 }, { 239, 239, 239 },
+ { 239, 239, 239 }, { 255, 222, 241 }, { 255, 222, 241 }, { 255, 222, 241 }, { 239, 255, 246 }, { 239, 255, 246 }, { 239, 255, 246 }, { 239, 255, 246 },
+ { 255, 239, 248 }, { 255, 239, 248 }, { 255, 239, 248 }, { 255, 239, 248 }, { 255, 255, 255 }, { 255, 255, 255 }, { 255, 255, 255 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode0_p11_i1=
+{
+ 1,
+ 3,
+ {
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 },
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 24, 10 }, { 8, 24, 10 }, { 8, 41, 13 }, { 8, 41, 13 }, { 8, 41, 13 }, { 8, 57, 15 },
+ { 8, 57, 15 }, { 8, 74, 17 }, { 8, 74, 17 }, { 8, 90, 20 }, { 8, 90, 20 }, { 8, 90, 20 }, { 8, 107, 22 }, { 8, 107, 22 },
+ { 8, 123, 24 }, { 8, 123, 24 }, { 24, 41, 26 }, { 8, 140, 27 }, { 8, 140, 27 }, { 8, 156, 29 }, { 8, 156, 29 }, { 8, 173, 31 },
+ { 8, 173, 31 }, { 8, 189, 33 }, { 8, 189, 33 }, { 8, 206, 36 }, { 8, 206, 36 }, { 8, 206, 36 }, { 8, 222, 38 }, { 41, 24, 39 },
+ { 8, 239, 40 }, { 41, 41, 41 }, { 8, 255, 43 }, { 8, 255, 43 }, { 8, 255, 43 }, { 24, 173, 45 }, { 41, 74, 46 }, { 24, 189, 47 },
+ { 41, 90, 48 }, { 24, 206, 50 }, { 24, 206, 50 }, { 24, 206, 50 }, { 24, 222, 52 }, { 41, 123, 53 }, { 24, 239, 54 }, { 41, 140, 55 },
+ { 24, 255, 56 }, { 41, 156, 57 }, { 41, 156, 57 }, { 57, 74, 59 }, { 41, 173, 60 }, { 41, 173, 60 }, { 41, 189, 62 }, { 41, 189, 62 },
+ { 41, 206, 64 }, { 74, 8, 65 }, { 41, 222, 66 }, { 74, 24, 67 }, { 41, 239, 69 }, { 41, 239, 69 }, { 41, 239, 69 }, { 41, 255, 71 },
+ { 74, 57, 72 }, { 57, 173, 73 }, { 74, 74, 74 }, { 57, 189, 76 }, { 57, 189, 76 }, { 57, 189, 76 }, { 57, 206, 78 }, { 74, 107, 79 },
+ { 57, 222, 80 }, { 74, 123, 81 }, { 57, 239, 83 }, { 57, 239, 83 }, { 57, 239, 83 }, { 57, 255, 85 }, { 74, 156, 86 }, { 74, 156, 86 },
+ { 74, 173, 88 }, { 74, 173, 88 }, { 74, 189, 90 }, { 74, 189, 90 }, { 90, 107, 92 }, { 74, 206, 93 }, { 74, 206, 93 }, { 74, 222, 95 },
+ { 74, 222, 95 }, { 74, 239, 97 }, { 107, 41, 98 }, { 74, 255, 99 }, { 107, 57, 100 }, { 90, 173, 102 }, { 90, 173, 102 }, { 90, 173, 102 },
+ { 90, 189, 104 }, { 107, 90, 105 }, { 90, 206, 106 }, { 107, 107, 107 }, { 90, 222, 109 }, { 90, 222, 109 }, { 90, 222, 109 }, { 90, 239, 111 },
+ { 107, 140, 112 }, { 90, 255, 113 }, { 107, 156, 114 }, { 107, 156, 114 }, { 107, 173, 116 }, { 107, 173, 116 }, { 123, 90, 118 }, { 107, 189, 119 },
+ { 107, 189, 119 }, { 107, 206, 121 }, { 107, 206, 121 }, { 107, 222, 123 }, { 140, 24, 124 }, { 123, 140, 125 }, { 107, 239, 126 }, { 107, 239, 126 },
+ { 107, 255, 128 }, { 107, 255, 128 }, { 123, 173, 130 }, { 140, 74, 131 }, { 123, 189, 132 }, { 140, 90, 133 }, { 123, 206, 135 }, { 123, 206, 135 },
+ { 123, 206, 135 }, { 123, 222, 137 }, { 140, 123, 138 }, { 123, 239, 139 }, { 140, 140, 140 }, { 123, 255, 142 }, { 123, 255, 142 }, { 123, 255, 142 },
+ { 156, 74, 144 }, { 140, 173, 145 }, { 140, 173, 145 }, { 140, 189, 147 }, { 140, 189, 147 }, { 140, 206, 149 }, { 173, 8, 150 }, { 156, 123, 151 },
+ { 140, 222, 152 }, { 140, 222, 152 }, { 140, 239, 154 }, { 140, 239, 154 }, { 140, 255, 156 }, { 173, 57, 157 }, { 156, 173, 158 }, { 173, 74, 159 },
+ { 156, 189, 161 }, { 156, 189, 161 }, { 156, 189, 161 }, { 156, 206, 163 }, { 173, 107, 164 }, { 156, 222, 165 }, { 173, 123, 166 }, { 156, 239, 168 },
+ { 156, 239, 168 }, { 156, 239, 168 }, { 156, 255, 170 }, { 173, 156, 171 }, { 173, 156, 171 }, { 173, 173, 173 }, { 173, 173, 173 }, { 173, 189, 175 },
+ { 173, 189, 175 }, { 189, 107, 177 }, { 173, 206, 178 }, { 173, 206, 178 }, { 173, 222, 180 }, { 173, 222, 180 }, { 173, 239, 182 }, { 206, 41, 183 },
+ { 189, 156, 184 }, { 173, 255, 185 }, { 173, 255, 185 }, { 189, 173, 187 }, { 189, 173, 187 }, { 189, 189, 189 }, { 206, 90, 190 }, { 189, 206, 191 },
+ { 206, 107, 192 }, { 189, 222, 194 }, { 189, 222, 194 }, { 189, 222, 194 }, { 189, 239, 196 }, { 206, 140, 197 }, { 189, 255, 198 }, { 206, 156, 199 },
+ { 206, 156, 199 }, { 206, 173, 201 }, { 206, 173, 201 }, { 222, 90, 203 }, { 206, 189, 204 }, { 206, 189, 204 }, { 206, 206, 206 }, { 239, 8, 207 },
+ { 206, 222, 208 }, { 239, 24, 209 }, { 222, 140, 210 }, { 206, 239, 211 }, { 206, 239, 211 }, { 206, 255, 213 }, { 206, 255, 213 }, { 222, 173, 215 },
+ { 239, 74, 216 }, { 222, 189, 217 }, { 239, 90, 218 }, { 222, 206, 220 }, { 222, 206, 220 }, { 222, 206, 220 }, { 222, 222, 222 }, { 239, 123, 223 },
+ { 222, 239, 224 }, { 239, 140, 225 }, { 222, 255, 227 }, { 222, 255, 227 }, { 222, 255, 227 }, { 239, 173, 230 }, { 239, 173, 230 }, { 239, 173, 230 },
+ { 239, 189, 232 }, { 239, 189, 232 }, { 239, 206, 234 }, { 239, 206, 234 }, { 255, 123, 236 }, { 239, 222, 237 }, { 239, 222, 237 }, { 239, 239, 239 },
+ { 239, 239, 239 }, { 239, 255, 241 }, { 239, 255, 241 }, { 255, 173, 243 }, { 255, 173, 243 }, { 255, 189, 246 }, { 255, 189, 246 }, { 255, 189, 246 },
+ { 255, 206, 248 }, { 255, 206, 248 }, { 255, 222, 250 }, { 255, 222, 250 }, { 255, 239, 253 }, { 255, 239, 253 }, { 255, 239, 253 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode0_p11_i2=
+{
+ 2,
+ 3,
+ {
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 },
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 24, 13 }, { 8, 24, 13 }, { 8, 24, 13 }, { 8, 24, 13 }, { 8, 24, 13 },
+ { 8, 41, 17 }, { 8, 41, 17 }, { 8, 41, 17 }, { 24, 8, 20 }, { 24, 8, 20 }, { 8, 57, 22 }, { 8, 57, 22 }, { 8, 57, 22 },
+ { 24, 24, 24 }, { 24, 24, 24 }, { 8, 74, 27 }, { 8, 74, 27 }, { 8, 74, 27 }, { 24, 41, 29 }, { 8, 90, 31 }, { 8, 90, 31 },
+ { 41, 8, 32 }, { 24, 57, 33 }, { 24, 57, 33 }, { 8, 107, 36 }, { 8, 107, 36 }, { 8, 107, 36 }, { 24, 74, 38 }, { 8, 123, 40 },
+ { 8, 123, 40 }, { 41, 41, 41 }, { 24, 90, 43 }, { 24, 90, 43 }, { 8, 140, 45 }, { 8, 140, 45 }, { 41, 57, 46 }, { 24, 107, 47 },
+ { 57, 24, 48 }, { 8, 156, 50 }, { 8, 156, 50 }, { 8, 156, 50 }, { 24, 123, 52 }, { 57, 41, 53 }, { 8, 173, 54 }, { 41, 90, 55 },
+ { 24, 140, 57 }, { 24, 140, 57 }, { 8, 189, 59 }, { 8, 189, 59 }, { 41, 107, 60 }, { 24, 156, 61 }, { 57, 74, 62 }, { 8, 206, 64 },
+ { 8, 206, 64 }, { 74, 41, 65 }, { 24, 173, 66 }, { 90, 8, 67 }, { 8, 222, 68 }, { 41, 140, 69 }, { 24, 189, 70 }, { 57, 107, 71 },
+ { 8, 239, 73 }, { 8, 239, 73 }, { 74, 74, 74 }, { 24, 206, 75 }, { 57, 123, 76 }, { 8, 255, 77 }, { 41, 173, 78 }, { 74, 90, 79 },
+ { 24, 222, 80 }, { 90, 57, 81 }, { 41, 189, 83 }, { 41, 189, 83 }, { 24, 239, 84 }, { 57, 156, 85 }, { 90, 74, 86 }, { 41, 206, 87 },
+ { 74, 123, 88 }, { 24, 255, 89 }, { 57, 173, 90 }, { 123, 8, 91 }, { 41, 222, 92 }, { 74, 140, 93 }, { 57, 189, 94 }, { 90, 107, 95 },
+ { 41, 239, 97 }, { 41, 239, 97 }, { 107, 74, 98 }, { 57, 206, 99 }, { 123, 41, 100 }, { 41, 255, 101 }, { 74, 173, 102 }, { 57, 222, 103 },
+ { 90, 140, 104 }, { 74, 189, 106 }, { 74, 189, 106 }, { 107, 107, 107 }, { 57, 239, 108 }, { 90, 156, 109 }, { 74, 206, 111 }, { 74, 206, 111 },
+ { 107, 123, 112 }, { 57, 255, 113 }, { 123, 90, 114 }, { 74, 222, 116 }, { 74, 222, 116 }, { 140, 57, 117 }, { 90, 189, 118 }, { 123, 107, 119 },
+ { 74, 239, 120 }, { 107, 156, 121 }, { 90, 206, 123 }, { 90, 206, 123 }, { 156, 41, 124 }, { 74, 255, 125 }, { 107, 173, 126 }, { 90, 222, 127 },
+ { 123, 140, 128 }, { 107, 189, 130 }, { 107, 189, 130 }, { 140, 107, 131 }, { 90, 239, 132 }, { 156, 74, 133 }, { 107, 206, 135 }, { 107, 206, 135 },
+ { 90, 255, 136 }, { 123, 173, 137 }, { 189, 8, 138 }, { 107, 222, 139 }, { 140, 140, 140 }, { 123, 189, 142 }, { 123, 189, 142 }, { 189, 24, 143 },
+ { 107, 239, 144 }, { 140, 156, 145 }, { 123, 206, 146 }, { 156, 123, 147 }, { 107, 255, 149 }, { 107, 255, 149 }, { 173, 90, 150 }, { 123, 222, 151 },
+ { 156, 140, 152 }, { 140, 189, 154 }, { 140, 189, 154 }, { 206, 24, 155 }, { 123, 239, 156 }, { 189, 74, 157 }, { 140, 206, 159 }, { 140, 206, 159 },
+ { 123, 255, 160 }, { 156, 173, 161 }, { 222, 8, 162 }, { 140, 222, 163 }, { 173, 140, 164 }, { 156, 189, 165 }, { 189, 107, 166 }, { 140, 239, 168 },
+ { 140, 239, 168 }, { 206, 74, 169 }, { 156, 206, 170 }, { 222, 41, 171 }, { 140, 255, 172 }, { 173, 173, 173 }, { 239, 8, 174 }, { 156, 222, 175 },
+ { 222, 57, 176 }, { 173, 189, 178 }, { 173, 189, 178 }, { 156, 239, 179 }, { 189, 156, 180 }, { 173, 206, 182 }, { 173, 206, 182 }, { 206, 123, 183 },
+ { 156, 255, 184 }, { 189, 173, 185 }, { 255, 8, 186 }, { 173, 222, 187 }, { 239, 57, 188 }, { 189, 189, 189 }, { 222, 107, 190 }, { 173, 239, 192 },
+ { 173, 239, 192 }, { 239, 74, 193 }, { 189, 206, 194 }, { 255, 41, 195 }, { 173, 255, 196 }, { 206, 173, 197 }, { 189, 222, 198 }, { 222, 140, 199 },
+ { 206, 189, 201 }, { 206, 189, 201 }, { 239, 107, 202 }, { 189, 239, 203 }, { 255, 74, 204 }, { 206, 206, 206 }, { 206, 206, 206 }, { 189, 255, 208 },
+ { 189, 255, 208 }, { 255, 90, 209 }, { 206, 222, 211 }, { 206, 222, 211 }, { 206, 222, 211 }, { 222, 189, 213 }, { 206, 239, 215 }, { 206, 239, 215 },
+ { 239, 156, 216 }, { 222, 206, 218 }, { 222, 206, 218 }, { 206, 255, 220 }, { 206, 255, 220 }, { 206, 255, 220 }, { 222, 222, 222 }, { 255, 140, 223 },
+ { 239, 189, 225 }, { 239, 189, 225 }, { 222, 239, 227 }, { 222, 239, 227 }, { 222, 239, 227 }, { 239, 206, 230 }, { 239, 206, 230 }, { 222, 255, 231 },
+ { 255, 173, 232 }, { 239, 222, 234 }, { 239, 222, 234 }, { 239, 222, 234 }, { 255, 189, 236 }, { 255, 189, 236 }, { 239, 239, 239 }, { 239, 239, 239 },
+ { 239, 239, 239 }, { 255, 206, 241 }, { 255, 206, 241 }, { 239, 255, 244 }, { 239, 255, 244 }, { 239, 255, 244 }, { 255, 222, 246 }, { 255, 222, 246 },
+ { 255, 222, 246 }, { 255, 239, 251 }, { 255, 239, 251 }, { 255, 239, 251 }, { 255, 239, 251 }, { 255, 239, 251 }, { 255, 255, 255 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode0_p11_i3=
+{
+ 3,
+ 3,
+ {
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 },
+ { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 8, 8 }, { 8, 24, 15 }, { 8, 24, 15 }, { 8, 24, 15 }, { 8, 24, 15 },
+ { 8, 24, 15 }, { 24, 8, 17 }, { 24, 8, 17 }, { 24, 8, 17 }, { 8, 41, 22 }, { 8, 41, 22 }, { 8, 41, 22 }, { 8, 41, 22 },
+ { 24, 24, 24 }, { 24, 24, 24 }, { 41, 8, 27 }, { 41, 8, 27 }, { 8, 57, 29 }, { 8, 57, 29 }, { 8, 57, 29 }, { 24, 41, 31 },
+ { 24, 41, 31 }, { 41, 24, 34 }, { 41, 24, 34 }, { 8, 74, 36 }, { 8, 74, 36 }, { 8, 74, 36 }, { 24, 57, 38 }, { 24, 57, 38 },
+ { 41, 41, 41 }, { 41, 41, 41 }, { 8, 90, 43 }, { 8, 90, 43 }, { 8, 90, 43 }, { 24, 74, 45 }, { 74, 8, 46 }, { 41, 57, 48 },
+ { 41, 57, 48 }, { 8, 107, 50 }, { 8, 107, 50 }, { 8, 107, 50 }, { 24, 90, 52 }, { 74, 24, 53 }, { 41, 74, 55 }, { 41, 74, 55 },
+ { 8, 123, 57 }, { 8, 123, 57 }, { 8, 123, 57 }, { 24, 107, 59 }, { 74, 41, 60 }, { 41, 90, 62 }, { 41, 90, 62 }, { 8, 140, 64 },
+ { 8, 140, 64 }, { 107, 8, 65 }, { 24, 123, 66 }, { 74, 57, 67 }, { 41, 107, 69 }, { 41, 107, 69 }, { 8, 156, 70 }, { 57, 90, 71 },
+ { 107, 24, 72 }, { 24, 140, 73 }, { 74, 74, 74 }, { 41, 123, 76 }, { 41, 123, 76 }, { 8, 173, 78 }, { 8, 173, 78 }, { 107, 41, 79 },
+ { 24, 156, 80 }, { 74, 90, 81 }, { 41, 140, 83 }, { 41, 140, 83 }, { 8, 189, 84 }, { 57, 123, 85 }, { 107, 57, 86 }, { 24, 173, 87 },
+ { 74, 107, 88 }, { 41, 156, 90 }, { 41, 156, 90 }, { 140, 24, 91 }, { 8, 206, 92 }, { 107, 74, 93 }, { 24, 189, 94 }, { 74, 123, 95 },
+ { 41, 173, 97 }, { 41, 173, 97 }, { 8, 222, 98 }, { 57, 156, 99 }, { 107, 90, 100 }, { 24, 206, 101 }, { 74, 140, 102 }, { 41, 189, 103 },
+ { 90, 123, 104 }, { 8, 239, 105 }, { 57, 173, 106 }, { 107, 107, 107 }, { 24, 222, 108 }, { 74, 156, 109 }, { 173, 24, 110 }, { 41, 206, 111 },
+ { 8, 255, 112 }, { 57, 189, 113 }, { 107, 123, 114 }, { 24, 239, 115 }, { 74, 173, 116 }, { 41, 222, 117 }, { 90, 156, 118 }, { 140, 90, 119 },
+ { 57, 206, 120 }, { 24, 255, 121 }, { 206, 8, 122 }, { 74, 189, 123 }, { 173, 57, 124 }, { 41, 239, 125 }, { 140, 107, 126 }, { 57, 222, 127 },
+ { 107, 156, 128 }, { 206, 24, 129 }, { 74, 206, 130 }, { 41, 255, 131 }, { 90, 189, 132 }, { 140, 123, 133 }, { 57, 239, 134 }, { 107, 173, 135 },
+ { 74, 222, 136 }, { 123, 156, 137 }, { 173, 90, 138 }, { 90, 206, 139 }, { 140, 140, 140 }, { 57, 255, 141 }, { 107, 189, 142 }, { 206, 57, 143 },
+ { 74, 239, 144 }, { 173, 107, 145 }, { 90, 222, 146 }, { 140, 156, 147 }, { 239, 24, 148 }, { 107, 206, 149 }, { 74, 255, 150 }, { 123, 189, 151 },
+ { 173, 123, 152 }, { 90, 239, 153 }, { 140, 173, 154 }, { 239, 41, 155 }, { 107, 222, 156 }, { 206, 90, 157 }, { 123, 206, 158 }, { 173, 140, 159 },
+ { 90, 255, 160 }, { 140, 189, 161 }, { 239, 57, 162 }, { 107, 239, 163 }, { 206, 107, 164 }, { 123, 222, 165 }, { 173, 156, 166 }, { 140, 206, 168 },
+ { 140, 206, 168 }, { 107, 255, 169 }, { 156, 189, 170 }, { 206, 123, 171 }, { 123, 239, 172 }, { 173, 173, 173 }, { 140, 222, 175 }, { 140, 222, 175 },
+ { 239, 90, 176 }, { 156, 206, 177 }, { 206, 140, 178 }, { 123, 255, 179 }, { 173, 189, 180 }, { 140, 239, 182 }, { 140, 239, 182 }, { 239, 107, 183 },
+ { 156, 222, 184 }, { 206, 156, 185 }, { 173, 206, 187 }, { 173, 206, 187 }, { 140, 255, 189 }, { 140, 255, 189 }, { 239, 123, 190 }, { 156, 239, 191 },
+ { 206, 173, 192 }, { 255, 107, 193 }, { 173, 222, 194 }, { 173, 222, 194 }, { 189, 206, 196 }, { 239, 140, 197 }, { 156, 255, 198 }, { 206, 189, 199 },
+ { 173, 239, 201 }, { 173, 239, 201 }, { 173, 239, 201 }, { 189, 222, 203 }, { 239, 156, 204 }, { 206, 206, 206 }, { 206, 206, 206 }, { 173, 255, 208 },
+ { 173, 255, 208 }, { 173, 255, 208 }, { 189, 239, 210 }, { 239, 173, 211 }, { 206, 222, 213 }, { 206, 222, 213 }, { 206, 222, 213 }, { 222, 206, 215 },
+ { 189, 255, 217 }, { 189, 255, 217 }, { 239, 189, 218 }, { 206, 239, 220 }, { 206, 239, 220 }, { 206, 239, 220 }, { 222, 222, 222 }, { 222, 222, 222 },
+ { 239, 206, 225 }, { 239, 206, 225 }, { 206, 255, 227 }, { 206, 255, 227 }, { 206, 255, 227 }, { 222, 239, 229 }, { 222, 239, 229 }, { 239, 222, 232 },
+ { 239, 222, 232 }, { 239, 222, 232 }, { 255, 206, 234 }, { 222, 255, 236 }, { 222, 255, 236 }, { 222, 255, 236 }, { 239, 239, 239 }, { 239, 239, 239 },
+ { 239, 239, 239 }, { 255, 222, 241 }, { 255, 222, 241 }, { 255, 222, 241 }, { 239, 255, 246 }, { 239, 255, 246 }, { 239, 255, 246 }, { 239, 255, 246 },
+ { 255, 239, 248 }, { 255, 239, 248 }, { 255, 239, 248 }, { 255, 239, 248 }, { 255, 255, 255 }, { 255, 255, 255 }, { 255, 255, 255 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode1_p0_i1=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 4, 1 }, { 0, 12, 2 }, { 0, 20, 3 }, { 0, 28, 4 }, { 0, 32, 5 }, { 0, 40, 6 }, { 0, 48, 7 },
+ { 0, 56, 8 }, { 0, 64, 9 }, { 0, 68, 10 }, { 0, 76, 11 }, { 0, 84, 12 }, { 0, 92, 13 }, { 0, 96, 14 }, { 0, 104, 15 },
+ { 0, 112, 16 }, { 0, 120, 17 }, { 0, 129, 18 }, { 0, 133, 19 }, { 0, 141, 20 }, { 0, 149, 21 }, { 0, 153, 22 }, { 0, 161, 23 },
+ { 0, 169, 24 }, { 0, 177, 25 }, { 0, 185, 26 }, { 0, 189, 27 }, { 0, 197, 28 }, { 0, 205, 29 }, { 0, 213, 30 }, { 0, 217, 31 },
+ { 0, 225, 32 }, { 0, 233, 33 }, { 0, 241, 34 }, { 0, 249, 35 }, { 0, 253, 36 }, { 4, 237, 37 }, { 4, 245, 38 }, { 4, 253, 39 },
+ { 8, 233, 40 }, { 8, 241, 41 }, { 8, 249, 42 }, { 12, 229, 43 }, { 12, 237, 44 }, { 12, 245, 45 }, { 12, 253, 46 }, { 16, 233, 47 },
+ { 16, 241, 48 }, { 16, 249, 49 }, { 20, 233, 50 }, { 20, 237, 51 }, { 20, 245, 52 }, { 20, 253, 53 }, { 24, 237, 54 }, { 24, 241, 55 },
+ { 24, 249, 56 }, { 28, 233, 57 }, { 28, 241, 58 }, { 28, 245, 59 }, { 28, 253, 60 }, { 32, 237, 61 }, { 32, 245, 62 }, { 32, 249, 63 },
+ { 36, 233, 64 }, { 36, 241, 65 }, { 36, 249, 66 }, { 36, 253, 67 }, { 40, 237, 68 }, { 40, 245, 69 }, { 40, 253, 70 }, { 44, 233, 71 },
+ { 44, 241, 72 }, { 44, 249, 73 }, { 48, 233, 74 }, { 48, 237, 75 }, { 48, 245, 76 }, { 48, 253, 77 }, { 52, 237, 78 }, { 52, 241, 79 },
+ { 52, 249, 80 }, { 56, 233, 81 }, { 56, 241, 82 }, { 56, 245, 83 }, { 56, 253, 84 }, { 60, 237, 85 }, { 60, 245, 86 }, { 60, 249, 87 },
+ { 64, 233, 88 }, { 64, 241, 89 }, { 64, 249, 90 }, { 64, 253, 91 }, { 68, 237, 92 }, { 68, 245, 93 }, { 68, 253, 94 }, { 72, 233, 95 },
+ { 72, 241, 96 }, { 72, 249, 97 }, { 76, 229, 98 }, { 76, 237, 99 }, { 76, 245, 100 }, { 76, 253, 101 }, { 80, 233, 102 }, { 80, 241, 103 },
+ { 80, 249, 104 }, { 84, 233, 105 }, { 84, 237, 106 }, { 84, 245, 107 }, { 84, 253, 108 }, { 88, 237, 109 }, { 88, 241, 110 }, { 88, 249, 111 },
+ { 92, 233, 112 }, { 92, 241, 113 }, { 92, 245, 114 }, { 92, 253, 115 }, { 96, 237, 116 }, { 96, 245, 117 }, { 96, 249, 118 }, { 100, 233, 119 },
+ { 100, 241, 120 }, { 100, 249, 121 }, { 100, 253, 122 }, { 104, 237, 123 }, { 104, 245, 124 }, { 104, 253, 125 }, { 108, 233, 126 }, { 108, 241, 127 },
+ { 108, 249, 128 }, { 112, 233, 129 }, { 112, 237, 130 }, { 112, 245, 131 }, { 112, 253, 132 }, { 116, 237, 133 }, { 116, 241, 134 }, { 116, 249, 135 },
+ { 120, 233, 136 }, { 120, 241, 137 }, { 120, 245, 138 }, { 120, 253, 139 }, { 124, 237, 140 }, { 124, 245, 141 }, { 124, 249, 142 }, { 129, 225, 143 },
+ { 129, 233, 144 }, { 129, 241, 145 }, { 129, 249, 146 }, { 133, 229, 147 }, { 133, 237, 148 }, { 133, 245, 149 }, { 133, 253, 150 }, { 137, 233, 151 },
+ { 137, 241, 152 }, { 137, 249, 153 }, { 141, 233, 154 }, { 141, 237, 155 }, { 141, 245, 156 }, { 141, 253, 157 }, { 145, 237, 158 }, { 145, 241, 159 },
+ { 145, 249, 160 }, { 149, 233, 161 }, { 149, 241, 162 }, { 149, 245, 163 }, { 149, 253, 164 }, { 153, 237, 165 }, { 153, 245, 166 }, { 153, 249, 167 },
+ { 157, 233, 168 }, { 157, 241, 169 }, { 157, 249, 170 }, { 157, 253, 171 }, { 161, 237, 172 }, { 161, 245, 173 }, { 161, 253, 174 }, { 165, 233, 175 },
+ { 165, 241, 176 }, { 165, 249, 177 }, { 169, 233, 178 }, { 169, 237, 179 }, { 169, 245, 180 }, { 169, 253, 181 }, { 173, 237, 182 }, { 173, 241, 183 },
+ { 173, 249, 184 }, { 177, 233, 185 }, { 177, 241, 186 }, { 177, 245, 187 }, { 177, 253, 188 }, { 181, 237, 189 }, { 181, 245, 190 }, { 181, 249, 191 },
+ { 185, 233, 192 }, { 185, 241, 193 }, { 185, 249, 194 }, { 185, 253, 195 }, { 189, 237, 196 }, { 189, 245, 197 }, { 189, 253, 198 }, { 193, 233, 199 },
+ { 193, 241, 200 }, { 193, 249, 201 }, { 197, 229, 202 }, { 197, 237, 203 }, { 197, 245, 204 }, { 197, 253, 205 }, { 201, 233, 206 }, { 201, 241, 207 },
+ { 201, 249, 208 }, { 205, 233, 209 }, { 205, 237, 210 }, { 205, 245, 211 }, { 205, 253, 212 }, { 209, 237, 213 }, { 209, 241, 214 }, { 209, 249, 215 },
+ { 213, 233, 216 }, { 213, 241, 217 }, { 213, 245, 218 }, { 213, 253, 219 }, { 217, 237, 220 }, { 217, 245, 221 }, { 217, 249, 222 }, { 221, 233, 223 },
+ { 221, 241, 224 }, { 221, 249, 225 }, { 221, 253, 226 }, { 225, 237, 227 }, { 225, 245, 228 }, { 225, 253, 229 }, { 229, 233, 230 }, { 229, 241, 231 },
+ { 229, 249, 232 }, { 233, 233, 233 }, { 233, 237, 234 }, { 233, 245, 235 }, { 233, 253, 236 }, { 237, 237, 237 }, { 237, 241, 238 }, { 237, 249, 239 },
+ { 241, 233, 240 }, { 241, 241, 241 }, { 241, 245, 242 }, { 241, 253, 243 }, { 245, 237, 244 }, { 245, 245, 245 }, { 245, 249, 246 }, { 249, 233, 247 },
+ { 249, 241, 248 }, { 249, 249, 249 }, { 249, 253, 250 }, { 253, 237, 251 }, { 253, 245, 252 }, { 253, 253, 253 }, { 253, 253, 253 }, { 253, 253, 253 },
+ }
+};
+
+Table g_mode1_p0_i2=
+{
+ 2,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 4, 1 }, { 0, 8, 2 }, { 0, 12, 3 }, { 4, 4, 4 }, { 0, 16, 5 }, { 0, 20, 6 }, { 0, 24, 7 },
+ { 0, 28, 8 }, { 0, 32, 9 }, { 0, 36, 10 }, { 0, 40, 11 }, { 0, 44, 12 }, { 4, 36, 13 }, { 0, 48, 14 }, { 0, 52, 15 },
+ { 0, 56, 16 }, { 0, 60, 17 }, { 0, 64, 18 }, { 0, 68, 19 }, { 0, 72, 20 }, { 0, 76, 21 }, { 4, 68, 22 }, { 0, 80, 23 },
+ { 0, 84, 24 }, { 0, 88, 25 }, { 0, 92, 26 }, { 0, 96, 27 }, { 0, 100, 28 }, { 0, 104, 29 }, { 0, 108, 30 }, { 4, 100, 31 },
+ { 0, 112, 32 }, { 0, 116, 33 }, { 0, 120, 34 }, { 0, 124, 35 }, { 0, 129, 36 }, { 0, 133, 37 }, { 4, 124, 38 }, { 0, 137, 39 },
+ { 0, 141, 40 }, { 0, 145, 41 }, { 0, 149, 42 }, { 0, 153, 43 }, { 0, 157, 44 }, { 0, 161, 45 }, { 0, 165, 46 }, { 4, 157, 47 },
+ { 0, 169, 48 }, { 0, 173, 49 }, { 0, 177, 50 }, { 0, 181, 51 }, { 0, 185, 52 }, { 0, 189, 53 }, { 0, 193, 54 }, { 0, 197, 55 },
+ { 4, 189, 56 }, { 0, 201, 57 }, { 0, 205, 58 }, { 0, 209, 59 }, { 0, 213, 60 }, { 0, 217, 61 }, { 0, 221, 62 }, { 0, 225, 63 },
+ { 0, 229, 64 }, { 4, 221, 65 }, { 0, 233, 66 }, { 0, 237, 67 }, { 0, 241, 68 }, { 0, 245, 69 }, { 0, 249, 70 }, { 0, 253, 71 },
+ { 4, 245, 72 }, { 4, 249, 73 }, { 4, 253, 74 }, { 8, 245, 75 }, { 8, 249, 76 }, { 8, 253, 77 }, { 12, 245, 78 }, { 12, 249, 79 },
+ { 12, 253, 80 }, { 20, 237, 81 }, { 16, 249, 82 }, { 16, 253, 83 }, { 20, 249, 84 }, { 24, 241, 85 }, { 20, 253, 86 }, { 24, 249, 87 },
+ { 24, 253, 88 }, { 28, 245, 89 }, { 28, 249, 90 }, { 28, 253, 91 }, { 32, 245, 92 }, { 32, 249, 93 }, { 32, 253, 94 }, { 36, 245, 95 },
+ { 36, 249, 96 }, { 36, 253, 97 }, { 40, 245, 98 }, { 40, 249, 99 }, { 40, 253, 100 }, { 44, 245, 101 }, { 44, 249, 102 }, { 44, 253, 103 },
+ { 52, 237, 104 }, { 48, 249, 105 }, { 48, 253, 106 }, { 52, 249, 107 }, { 56, 241, 108 }, { 52, 253, 109 }, { 56, 249, 110 }, { 56, 253, 111 },
+ { 60, 245, 112 }, { 60, 249, 113 }, { 60, 253, 114 }, { 64, 245, 115 }, { 64, 249, 116 }, { 64, 253, 117 }, { 68, 245, 118 }, { 68, 249, 119 },
+ { 68, 253, 120 }, { 72, 245, 121 }, { 72, 249, 122 }, { 72, 253, 123 }, { 76, 245, 124 }, { 76, 249, 125 }, { 76, 253, 126 }, { 84, 237, 127 },
+ { 80, 249, 128 }, { 80, 253, 129 }, { 84, 249, 130 }, { 88, 241, 131 }, { 84, 253, 132 }, { 88, 249, 133 }, { 88, 253, 134 }, { 92, 245, 135 },
+ { 92, 249, 136 }, { 92, 253, 137 }, { 96, 245, 138 }, { 96, 249, 139 }, { 96, 253, 140 }, { 100, 245, 141 }, { 100, 249, 142 }, { 100, 253, 143 },
+ { 104, 245, 144 }, { 104, 249, 145 }, { 104, 253, 146 }, { 108, 245, 147 }, { 108, 249, 148 }, { 108, 253, 149 }, { 116, 237, 150 }, { 112, 249, 151 },
+ { 112, 253, 152 }, { 116, 249, 153 }, { 120, 241, 154 }, { 116, 253, 155 }, { 120, 249, 156 }, { 120, 253, 157 }, { 124, 245, 158 }, { 124, 249, 159 },
+ { 124, 253, 160 }, { 129, 241, 161 }, { 129, 245, 162 }, { 129, 249, 163 }, { 129, 253, 164 }, { 133, 245, 165 }, { 133, 249, 166 }, { 133, 253, 167 },
+ { 141, 237, 168 }, { 137, 249, 169 }, { 137, 253, 170 }, { 141, 249, 171 }, { 145, 241, 172 }, { 141, 253, 173 }, { 145, 249, 174 }, { 145, 253, 175 },
+ { 149, 245, 176 }, { 149, 249, 177 }, { 149, 253, 178 }, { 153, 245, 179 }, { 153, 249, 180 }, { 153, 253, 181 }, { 157, 245, 182 }, { 157, 249, 183 },
+ { 157, 253, 184 }, { 161, 245, 185 }, { 161, 249, 186 }, { 161, 253, 187 }, { 165, 245, 188 }, { 165, 249, 189 }, { 165, 253, 190 }, { 173, 237, 191 },
+ { 169, 249, 192 }, { 169, 253, 193 }, { 173, 249, 194 }, { 177, 241, 195 }, { 173, 253, 196 }, { 177, 249, 197 }, { 177, 253, 198 }, { 181, 245, 199 },
+ { 181, 249, 200 }, { 181, 253, 201 }, { 185, 245, 202 }, { 185, 249, 203 }, { 185, 253, 204 }, { 189, 245, 205 }, { 189, 249, 206 }, { 189, 253, 207 },
+ { 193, 245, 208 }, { 193, 249, 209 }, { 193, 253, 210 }, { 197, 245, 211 }, { 197, 249, 212 }, { 197, 253, 213 }, { 205, 237, 214 }, { 201, 249, 215 },
+ { 201, 253, 216 }, { 205, 249, 217 }, { 209, 241, 218 }, { 205, 253, 219 }, { 209, 249, 220 }, { 209, 253, 221 }, { 213, 245, 222 }, { 213, 249, 223 },
+ { 213, 253, 224 }, { 217, 245, 225 }, { 217, 249, 226 }, { 217, 253, 227 }, { 221, 245, 228 }, { 221, 249, 229 }, { 221, 253, 230 }, { 225, 245, 231 },
+ { 225, 249, 232 }, { 225, 253, 233 }, { 229, 245, 234 }, { 229, 249, 235 }, { 229, 253, 236 }, { 237, 237, 237 }, { 233, 249, 238 }, { 233, 253, 239 },
+ { 237, 249, 240 }, { 241, 241, 241 }, { 237, 253, 242 }, { 241, 249, 243 }, { 241, 253, 244 }, { 245, 245, 245 }, { 245, 249, 246 }, { 245, 253, 247 },
+ { 249, 245, 248 }, { 249, 249, 249 }, { 249, 253, 250 }, { 253, 245, 251 }, { 253, 249, 252 }, { 253, 253, 253 }, { 253, 253, 253 }, { 253, 253, 253 },
+ }
+};
+
+Table g_mode1_p0_i3=
+{
+ 3,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 4, 2 }, { 0, 8, 3 }, { 4, 4, 4 }, { 0, 12, 5 }, { 4, 8, 6 }, { 0, 16, 7 },
+ { 0, 20, 8 }, { 4, 16, 9 }, { 0, 24, 10 }, { 4, 20, 11 }, { 0, 28, 12 }, { 8, 20, 13 }, { 0, 32, 14 }, { 0, 36, 15 },
+ { 4, 32, 16 }, { 0, 40, 17 }, { 4, 36, 18 }, { 0, 44, 19 }, { 0, 48, 20 }, { 4, 44, 21 }, { 0, 52, 22 }, { 4, 48, 23 },
+ { 0, 56, 24 }, { 0, 60, 25 }, { 4, 56, 26 }, { 0, 64, 27 }, { 4, 60, 28 }, { 0, 68, 29 }, { 0, 72, 30 }, { 4, 68, 31 },
+ { 0, 76, 32 }, { 4, 72, 33 }, { 0, 80, 34 }, { 0, 84, 35 }, { 4, 80, 36 }, { 0, 88, 37 }, { 4, 84, 38 }, { 0, 92, 39 },
+ { 8, 84, 40 }, { 0, 96, 41 }, { 0, 100, 42 }, { 4, 96, 43 }, { 0, 104, 44 }, { 4, 100, 45 }, { 0, 108, 46 }, { 0, 112, 47 },
+ { 4, 108, 48 }, { 0, 116, 49 }, { 4, 112, 50 }, { 0, 120, 51 }, { 0, 124, 52 }, { 4, 120, 53 }, { 0, 129, 54 }, { 4, 124, 55 },
+ { 0, 133, 56 }, { 4, 129, 57 }, { 0, 137, 58 }, { 0, 141, 59 }, { 4, 137, 60 }, { 0, 145, 61 }, { 4, 141, 62 }, { 0, 149, 63 },
+ { 8, 141, 64 }, { 0, 153, 65 }, { 0, 157, 66 }, { 4, 153, 67 }, { 0, 161, 68 }, { 4, 157, 69 }, { 0, 165, 70 }, { 0, 169, 71 },
+ { 4, 165, 72 }, { 0, 173, 73 }, { 4, 169, 74 }, { 0, 177, 75 }, { 0, 181, 76 }, { 4, 177, 77 }, { 0, 185, 78 }, { 4, 181, 79 },
+ { 0, 189, 80 }, { 0, 193, 81 }, { 4, 189, 82 }, { 0, 197, 83 }, { 4, 193, 84 }, { 0, 201, 85 }, { 0, 205, 86 }, { 4, 201, 87 },
+ { 0, 209, 88 }, { 4, 205, 89 }, { 0, 213, 90 }, { 8, 205, 91 }, { 0, 217, 92 }, { 0, 221, 93 }, { 4, 217, 94 }, { 0, 225, 95 },
+ { 4, 221, 96 }, { 0, 229, 97 }, { 0, 233, 98 }, { 4, 229, 99 }, { 0, 237, 100 }, { 4, 233, 101 }, { 0, 241, 102 }, { 0, 245, 103 },
+ { 4, 241, 104 }, { 0, 249, 105 }, { 4, 245, 106 }, { 0, 253, 107 }, { 8, 245, 108 }, { 4, 253, 109 }, { 8, 249, 110 }, { 8, 253, 111 },
+ { 12, 249, 112 }, { 16, 245, 113 }, { 12, 253, 114 }, { 20, 245, 115 }, { 16, 253, 116 }, { 20, 249, 117 }, { 20, 253, 118 }, { 24, 249, 119 },
+ { 28, 245, 120 }, { 24, 253, 121 }, { 32, 245, 122 }, { 28, 253, 123 }, { 32, 249, 124 }, { 32, 253, 125 }, { 36, 249, 126 }, { 44, 241, 127 },
+ { 36, 253, 128 }, { 44, 245, 129 }, { 40, 253, 130 }, { 48, 245, 131 }, { 44, 253, 132 }, { 48, 249, 133 }, { 48, 253, 134 }, { 52, 249, 135 },
+ { 56, 245, 136 }, { 52, 253, 137 }, { 60, 245, 138 }, { 56, 253, 139 }, { 60, 249, 140 }, { 60, 253, 141 }, { 64, 249, 142 }, { 68, 245, 143 },
+ { 64, 253, 144 }, { 72, 245, 145 }, { 68, 253, 146 }, { 72, 249, 147 }, { 72, 253, 148 }, { 76, 249, 149 }, { 80, 245, 150 }, { 76, 253, 151 },
+ { 84, 245, 152 }, { 80, 253, 153 }, { 84, 249, 154 }, { 84, 253, 155 }, { 88, 249, 156 }, { 92, 245, 157 }, { 88, 253, 158 }, { 96, 245, 159 },
+ { 92, 253, 160 }, { 96, 249, 161 }, { 96, 253, 162 }, { 100, 249, 163 }, { 108, 241, 164 }, { 100, 253, 165 }, { 108, 245, 166 }, { 104, 253, 167 },
+ { 112, 245, 168 }, { 108, 253, 169 }, { 112, 249, 170 }, { 112, 253, 171 }, { 116, 249, 172 }, { 120, 245, 173 }, { 116, 253, 174 }, { 124, 245, 175 },
+ { 120, 253, 176 }, { 124, 249, 177 }, { 124, 253, 178 }, { 133, 241, 179 }, { 129, 249, 180 }, { 129, 253, 181 }, { 133, 249, 182 }, { 137, 245, 183 },
+ { 133, 253, 184 }, { 141, 245, 185 }, { 137, 253, 186 }, { 141, 249, 187 }, { 141, 253, 188 }, { 145, 249, 189 }, { 149, 245, 190 }, { 145, 253, 191 },
+ { 153, 245, 192 }, { 149, 253, 193 }, { 153, 249, 194 }, { 153, 253, 195 }, { 157, 249, 196 }, { 165, 241, 197 }, { 157, 253, 198 }, { 165, 245, 199 },
+ { 161, 253, 200 }, { 169, 245, 201 }, { 165, 253, 202 }, { 169, 249, 203 }, { 169, 253, 204 }, { 173, 249, 205 }, { 177, 245, 206 }, { 173, 253, 207 },
+ { 181, 245, 208 }, { 177, 253, 209 }, { 181, 249, 210 }, { 181, 253, 211 }, { 185, 249, 212 }, { 189, 245, 213 }, { 185, 253, 214 }, { 193, 245, 215 },
+ { 189, 253, 216 }, { 193, 249, 217 }, { 193, 253, 218 }, { 197, 249, 219 }, { 201, 245, 220 }, { 197, 253, 221 }, { 205, 245, 222 }, { 201, 253, 223 },
+ { 205, 249, 224 }, { 205, 253, 225 }, { 209, 249, 226 }, { 213, 245, 227 }, { 209, 253, 228 }, { 217, 245, 229 }, { 213, 253, 230 }, { 217, 249, 231 },
+ { 217, 253, 232 }, { 221, 249, 233 }, { 229, 241, 234 }, { 221, 253, 235 }, { 229, 245, 236 }, { 225, 253, 237 }, { 233, 245, 238 }, { 229, 253, 239 },
+ { 233, 249, 240 }, { 233, 253, 241 }, { 237, 249, 242 }, { 241, 245, 243 }, { 237, 253, 244 }, { 245, 245, 245 }, { 241, 253, 246 }, { 245, 249, 247 },
+ { 245, 253, 248 }, { 249, 249, 249 }, { 253, 245, 250 }, { 249, 253, 251 }, { 249, 253, 251 }, { 253, 253, 253 }, { 253, 253, 253 }, { 253, 253, 253 },
+ }
+};
+
+Table g_mode1_p1_i1=
+{
+ 1,
+ 1,
+ {
+ { 2, 2, 2 }, { 2, 2, 2 }, { 2, 2, 2 }, { 2, 6, 3 }, { 2, 14, 4 }, { 2, 22, 5 }, { 2, 30, 6 }, { 2, 34, 7 },
+ { 2, 42, 8 }, { 2, 50, 9 }, { 2, 58, 10 }, { 2, 66, 11 }, { 2, 70, 12 }, { 2, 78, 13 }, { 2, 86, 14 }, { 2, 94, 15 },
+ { 2, 98, 16 }, { 2, 106, 17 }, { 2, 114, 18 }, { 2, 122, 19 }, { 2, 131, 20 }, { 2, 135, 21 }, { 2, 143, 22 }, { 2, 151, 23 },
+ { 2, 155, 24 }, { 2, 163, 25 }, { 2, 171, 26 }, { 2, 179, 27 }, { 2, 187, 28 }, { 2, 191, 29 }, { 2, 199, 30 }, { 2, 207, 31 },
+ { 2, 215, 32 }, { 2, 219, 33 }, { 2, 227, 34 }, { 2, 235, 35 }, { 2, 243, 36 }, { 2, 251, 37 }, { 2, 255, 38 }, { 6, 239, 39 },
+ { 6, 247, 40 }, { 6, 255, 41 }, { 10, 235, 42 }, { 10, 243, 43 }, { 10, 251, 44 }, { 14, 231, 45 }, { 14, 239, 46 }, { 14, 247, 47 },
+ { 14, 255, 48 }, { 18, 235, 49 }, { 18, 243, 50 }, { 18, 251, 51 }, { 22, 235, 52 }, { 22, 239, 53 }, { 22, 247, 54 }, { 22, 255, 55 },
+ { 26, 239, 56 }, { 26, 243, 57 }, { 26, 251, 58 }, { 30, 235, 59 }, { 30, 243, 60 }, { 30, 247, 61 }, { 30, 255, 62 }, { 34, 239, 63 },
+ { 34, 247, 64 }, { 34, 251, 65 }, { 38, 235, 66 }, { 38, 243, 67 }, { 38, 251, 68 }, { 38, 255, 69 }, { 42, 239, 70 }, { 42, 247, 71 },
+ { 42, 255, 72 }, { 46, 235, 73 }, { 46, 243, 74 }, { 46, 251, 75 }, { 50, 235, 76 }, { 50, 239, 77 }, { 50, 247, 78 }, { 50, 255, 79 },
+ { 54, 239, 80 }, { 54, 243, 81 }, { 54, 251, 82 }, { 58, 235, 83 }, { 58, 243, 84 }, { 58, 247, 85 }, { 58, 255, 86 }, { 62, 239, 87 },
+ { 62, 247, 88 }, { 62, 251, 89 }, { 66, 235, 90 }, { 66, 243, 91 }, { 66, 251, 92 }, { 66, 255, 93 }, { 70, 239, 94 }, { 70, 247, 95 },
+ { 70, 255, 96 }, { 74, 235, 97 }, { 74, 243, 98 }, { 74, 251, 99 }, { 78, 231, 100 }, { 78, 239, 101 }, { 78, 247, 102 }, { 78, 255, 103 },
+ { 82, 235, 104 }, { 82, 243, 105 }, { 82, 251, 106 }, { 86, 235, 107 }, { 86, 239, 108 }, { 86, 247, 109 }, { 86, 255, 110 }, { 90, 239, 111 },
+ { 90, 243, 112 }, { 90, 251, 113 }, { 94, 235, 114 }, { 94, 243, 115 }, { 94, 247, 116 }, { 94, 255, 117 }, { 98, 239, 118 }, { 98, 247, 119 },
+ { 98, 251, 120 }, { 102, 235, 121 }, { 102, 243, 122 }, { 102, 251, 123 }, { 102, 255, 124 }, { 106, 239, 125 }, { 106, 247, 126 }, { 106, 255, 127 },
+ { 110, 235, 128 }, { 110, 243, 129 }, { 110, 251, 130 }, { 114, 235, 131 }, { 114, 239, 132 }, { 114, 247, 133 }, { 114, 255, 134 }, { 118, 239, 135 },
+ { 118, 243, 136 }, { 118, 251, 137 }, { 122, 235, 138 }, { 122, 243, 139 }, { 122, 247, 140 }, { 122, 255, 141 }, { 126, 239, 142 }, { 126, 247, 143 },
+ { 126, 251, 144 }, { 131, 227, 145 }, { 131, 235, 146 }, { 131, 243, 147 }, { 131, 251, 148 }, { 135, 231, 149 }, { 135, 239, 150 }, { 135, 247, 151 },
+ { 135, 255, 152 }, { 139, 235, 153 }, { 139, 243, 154 }, { 139, 251, 155 }, { 143, 235, 156 }, { 143, 239, 157 }, { 143, 247, 158 }, { 143, 255, 159 },
+ { 147, 239, 160 }, { 147, 243, 161 }, { 147, 251, 162 }, { 151, 235, 163 }, { 151, 243, 164 }, { 151, 247, 165 }, { 151, 255, 166 }, { 155, 239, 167 },
+ { 155, 247, 168 }, { 155, 251, 169 }, { 159, 235, 170 }, { 159, 243, 171 }, { 159, 251, 172 }, { 159, 255, 173 }, { 163, 239, 174 }, { 163, 247, 175 },
+ { 163, 255, 176 }, { 167, 235, 177 }, { 167, 243, 178 }, { 167, 251, 179 }, { 171, 235, 180 }, { 171, 239, 181 }, { 171, 247, 182 }, { 171, 255, 183 },
+ { 175, 239, 184 }, { 175, 243, 185 }, { 175, 251, 186 }, { 179, 235, 187 }, { 179, 243, 188 }, { 179, 247, 189 }, { 179, 255, 190 }, { 183, 239, 191 },
+ { 183, 247, 192 }, { 183, 251, 193 }, { 187, 235, 194 }, { 187, 243, 195 }, { 187, 251, 196 }, { 187, 255, 197 }, { 191, 239, 198 }, { 191, 247, 199 },
+ { 191, 255, 200 }, { 195, 235, 201 }, { 195, 243, 202 }, { 195, 251, 203 }, { 199, 231, 204 }, { 199, 239, 205 }, { 199, 247, 206 }, { 199, 255, 207 },
+ { 203, 235, 208 }, { 203, 243, 209 }, { 203, 251, 210 }, { 207, 235, 211 }, { 207, 239, 212 }, { 207, 247, 213 }, { 207, 255, 214 }, { 211, 239, 215 },
+ { 211, 243, 216 }, { 211, 251, 217 }, { 215, 235, 218 }, { 215, 243, 219 }, { 215, 247, 220 }, { 215, 255, 221 }, { 219, 239, 222 }, { 219, 247, 223 },
+ { 219, 251, 224 }, { 223, 235, 225 }, { 223, 243, 226 }, { 223, 251, 227 }, { 223, 255, 228 }, { 227, 239, 229 }, { 227, 247, 230 }, { 227, 255, 231 },
+ { 231, 235, 232 }, { 231, 243, 233 }, { 231, 251, 234 }, { 235, 235, 235 }, { 235, 239, 236 }, { 235, 247, 237 }, { 235, 255, 238 }, { 239, 239, 239 },
+ { 239, 243, 240 }, { 239, 251, 241 }, { 243, 235, 242 }, { 243, 243, 243 }, { 243, 247, 244 }, { 243, 255, 245 }, { 247, 239, 246 }, { 247, 247, 247 },
+ { 247, 251, 248 }, { 251, 235, 249 }, { 251, 243, 250 }, { 251, 251, 251 }, { 251, 255, 252 }, { 255, 239, 253 }, { 255, 247, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode1_p1_i2=
+{
+ 2,
+ 1,
+ {
+ { 2, 2, 2 }, { 2, 2, 2 }, { 2, 2, 2 }, { 2, 6, 3 }, { 2, 10, 4 }, { 2, 14, 5 }, { 6, 6, 6 }, { 2, 18, 7 },
+ { 2, 22, 8 }, { 2, 26, 9 }, { 2, 30, 10 }, { 2, 34, 11 }, { 2, 38, 12 }, { 2, 42, 13 }, { 2, 46, 14 }, { 6, 38, 15 },
+ { 2, 50, 16 }, { 2, 54, 17 }, { 2, 58, 18 }, { 2, 62, 19 }, { 2, 66, 20 }, { 2, 70, 21 }, { 2, 74, 22 }, { 2, 78, 23 },
+ { 6, 70, 24 }, { 2, 82, 25 }, { 2, 86, 26 }, { 2, 90, 27 }, { 2, 94, 28 }, { 2, 98, 29 }, { 2, 102, 30 }, { 2, 106, 31 },
+ { 2, 110, 32 }, { 6, 102, 33 }, { 2, 114, 34 }, { 2, 118, 35 }, { 2, 122, 36 }, { 2, 126, 37 }, { 2, 131, 38 }, { 2, 135, 39 },
+ { 6, 126, 40 }, { 2, 139, 41 }, { 2, 143, 42 }, { 2, 147, 43 }, { 2, 151, 44 }, { 2, 155, 45 }, { 2, 159, 46 }, { 2, 163, 47 },
+ { 2, 167, 48 }, { 6, 159, 49 }, { 2, 171, 50 }, { 2, 175, 51 }, { 2, 179, 52 }, { 2, 183, 53 }, { 2, 187, 54 }, { 2, 191, 55 },
+ { 2, 195, 56 }, { 2, 199, 57 }, { 6, 191, 58 }, { 2, 203, 59 }, { 2, 207, 60 }, { 2, 211, 61 }, { 2, 215, 62 }, { 2, 219, 63 },
+ { 2, 223, 64 }, { 2, 227, 65 }, { 2, 231, 66 }, { 6, 223, 67 }, { 2, 235, 68 }, { 2, 239, 69 }, { 2, 243, 70 }, { 2, 247, 71 },
+ { 2, 251, 72 }, { 2, 255, 73 }, { 6, 247, 74 }, { 6, 251, 75 }, { 6, 255, 76 }, { 10, 247, 77 }, { 10, 251, 78 }, { 10, 255, 79 },
+ { 14, 247, 80 }, { 14, 251, 81 }, { 14, 255, 82 }, { 22, 239, 83 }, { 18, 251, 84 }, { 18, 255, 85 }, { 22, 251, 86 }, { 26, 243, 87 },
+ { 22, 255, 88 }, { 26, 251, 89 }, { 26, 255, 90 }, { 30, 247, 91 }, { 30, 251, 92 }, { 30, 255, 93 }, { 34, 247, 94 }, { 34, 251, 95 },
+ { 34, 255, 96 }, { 38, 247, 97 }, { 38, 251, 98 }, { 38, 255, 99 }, { 42, 247, 100 }, { 42, 251, 101 }, { 42, 255, 102 }, { 46, 247, 103 },
+ { 46, 251, 104 }, { 46, 255, 105 }, { 54, 239, 106 }, { 50, 251, 107 }, { 50, 255, 108 }, { 54, 251, 109 }, { 58, 243, 110 }, { 54, 255, 111 },
+ { 58, 251, 112 }, { 58, 255, 113 }, { 62, 247, 114 }, { 62, 251, 115 }, { 62, 255, 116 }, { 66, 247, 117 }, { 66, 251, 118 }, { 66, 255, 119 },
+ { 70, 247, 120 }, { 70, 251, 121 }, { 70, 255, 122 }, { 74, 247, 123 }, { 74, 251, 124 }, { 74, 255, 125 }, { 78, 247, 126 }, { 78, 251, 127 },
+ { 78, 255, 128 }, { 86, 239, 129 }, { 82, 251, 130 }, { 82, 255, 131 }, { 86, 251, 132 }, { 90, 243, 133 }, { 86, 255, 134 }, { 90, 251, 135 },
+ { 90, 255, 136 }, { 94, 247, 137 }, { 94, 251, 138 }, { 94, 255, 139 }, { 98, 247, 140 }, { 98, 251, 141 }, { 98, 255, 142 }, { 102, 247, 143 },
+ { 102, 251, 144 }, { 102, 255, 145 }, { 106, 247, 146 }, { 106, 251, 147 }, { 106, 255, 148 }, { 110, 247, 149 }, { 110, 251, 150 }, { 110, 255, 151 },
+ { 118, 239, 152 }, { 114, 251, 153 }, { 114, 255, 154 }, { 118, 251, 155 }, { 122, 243, 156 }, { 118, 255, 157 }, { 122, 251, 158 }, { 122, 255, 159 },
+ { 126, 247, 160 }, { 126, 251, 161 }, { 126, 255, 162 }, { 131, 243, 163 }, { 131, 247, 164 }, { 131, 251, 165 }, { 131, 255, 166 }, { 135, 247, 167 },
+ { 135, 251, 168 }, { 135, 255, 169 }, { 143, 239, 170 }, { 139, 251, 171 }, { 139, 255, 172 }, { 143, 251, 173 }, { 147, 243, 174 }, { 143, 255, 175 },
+ { 147, 251, 176 }, { 147, 255, 177 }, { 151, 247, 178 }, { 151, 251, 179 }, { 151, 255, 180 }, { 155, 247, 181 }, { 155, 251, 182 }, { 155, 255, 183 },
+ { 159, 247, 184 }, { 159, 251, 185 }, { 159, 255, 186 }, { 163, 247, 187 }, { 163, 251, 188 }, { 163, 255, 189 }, { 167, 247, 190 }, { 167, 251, 191 },
+ { 167, 255, 192 }, { 175, 239, 193 }, { 171, 251, 194 }, { 171, 255, 195 }, { 175, 251, 196 }, { 179, 243, 197 }, { 175, 255, 198 }, { 179, 251, 199 },
+ { 179, 255, 200 }, { 183, 247, 201 }, { 183, 251, 202 }, { 183, 255, 203 }, { 187, 247, 204 }, { 187, 251, 205 }, { 187, 255, 206 }, { 191, 247, 207 },
+ { 191, 251, 208 }, { 191, 255, 209 }, { 195, 247, 210 }, { 195, 251, 211 }, { 195, 255, 212 }, { 199, 247, 213 }, { 199, 251, 214 }, { 199, 255, 215 },
+ { 207, 239, 216 }, { 203, 251, 217 }, { 203, 255, 218 }, { 207, 251, 219 }, { 211, 243, 220 }, { 207, 255, 221 }, { 211, 251, 222 }, { 211, 255, 223 },
+ { 215, 247, 224 }, { 215, 251, 225 }, { 215, 255, 226 }, { 219, 247, 227 }, { 219, 251, 228 }, { 219, 255, 229 }, { 223, 247, 230 }, { 223, 251, 231 },
+ { 223, 255, 232 }, { 227, 247, 233 }, { 227, 251, 234 }, { 227, 255, 235 }, { 231, 247, 236 }, { 231, 251, 237 }, { 231, 255, 238 }, { 239, 239, 239 },
+ { 235, 251, 240 }, { 235, 255, 241 }, { 239, 251, 242 }, { 243, 243, 243 }, { 239, 255, 244 }, { 243, 251, 245 }, { 243, 255, 246 }, { 247, 247, 247 },
+ { 247, 251, 248 }, { 247, 255, 249 }, { 251, 247, 250 }, { 251, 251, 251 }, { 251, 255, 252 }, { 255, 247, 253 }, { 255, 251, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode1_p1_i3=
+{
+ 3,
+ 1,
+ {
+ { 2, 2, 2 }, { 2, 2, 2 }, { 2, 2, 2 }, { 2, 2, 2 }, { 2, 6, 4 }, { 2, 10, 5 }, { 6, 6, 6 }, { 2, 14, 7 },
+ { 6, 10, 8 }, { 2, 18, 9 }, { 2, 22, 10 }, { 6, 18, 11 }, { 2, 26, 12 }, { 6, 22, 13 }, { 2, 30, 14 }, { 10, 22, 15 },
+ { 2, 34, 16 }, { 2, 38, 17 }, { 6, 34, 18 }, { 2, 42, 19 }, { 6, 38, 20 }, { 2, 46, 21 }, { 2, 50, 22 }, { 6, 46, 23 },
+ { 2, 54, 24 }, { 6, 50, 25 }, { 2, 58, 26 }, { 2, 62, 27 }, { 6, 58, 28 }, { 2, 66, 29 }, { 6, 62, 30 }, { 2, 70, 31 },
+ { 2, 74, 32 }, { 6, 70, 33 }, { 2, 78, 34 }, { 6, 74, 35 }, { 2, 82, 36 }, { 2, 86, 37 }, { 6, 82, 38 }, { 2, 90, 39 },
+ { 6, 86, 40 }, { 2, 94, 41 }, { 10, 86, 42 }, { 2, 98, 43 }, { 2, 102, 44 }, { 6, 98, 45 }, { 2, 106, 46 }, { 6, 102, 47 },
+ { 2, 110, 48 }, { 2, 114, 49 }, { 6, 110, 50 }, { 2, 118, 51 }, { 6, 114, 52 }, { 2, 122, 53 }, { 2, 126, 54 }, { 6, 122, 55 },
+ { 2, 131, 56 }, { 6, 126, 57 }, { 2, 135, 58 }, { 6, 131, 59 }, { 2, 139, 60 }, { 2, 143, 61 }, { 6, 139, 62 }, { 2, 147, 63 },
+ { 6, 143, 64 }, { 2, 151, 65 }, { 10, 143, 66 }, { 2, 155, 67 }, { 2, 159, 68 }, { 6, 155, 69 }, { 2, 163, 70 }, { 6, 159, 71 },
+ { 2, 167, 72 }, { 2, 171, 73 }, { 6, 167, 74 }, { 2, 175, 75 }, { 6, 171, 76 }, { 2, 179, 77 }, { 2, 183, 78 }, { 6, 179, 79 },
+ { 2, 187, 80 }, { 6, 183, 81 }, { 2, 191, 82 }, { 2, 195, 83 }, { 6, 191, 84 }, { 2, 199, 85 }, { 6, 195, 86 }, { 2, 203, 87 },
+ { 2, 207, 88 }, { 6, 203, 89 }, { 2, 211, 90 }, { 6, 207, 91 }, { 2, 215, 92 }, { 10, 207, 93 }, { 2, 219, 94 }, { 2, 223, 95 },
+ { 6, 219, 96 }, { 2, 227, 97 }, { 6, 223, 98 }, { 2, 231, 99 }, { 2, 235, 100 }, { 6, 231, 101 }, { 2, 239, 102 }, { 6, 235, 103 },
+ { 2, 243, 104 }, { 2, 247, 105 }, { 6, 243, 106 }, { 2, 251, 107 }, { 6, 247, 108 }, { 2, 255, 109 }, { 10, 247, 110 }, { 6, 255, 111 },
+ { 10, 251, 112 }, { 10, 255, 113 }, { 14, 251, 114 }, { 18, 247, 115 }, { 14, 255, 116 }, { 22, 247, 117 }, { 18, 255, 118 }, { 22, 251, 119 },
+ { 22, 255, 120 }, { 26, 251, 121 }, { 30, 247, 122 }, { 26, 255, 123 }, { 34, 247, 124 }, { 30, 255, 125 }, { 34, 251, 126 }, { 34, 255, 127 },
+ { 38, 251, 128 }, { 46, 243, 129 }, { 38, 255, 130 }, { 46, 247, 131 }, { 42, 255, 132 }, { 50, 247, 133 }, { 46, 255, 134 }, { 50, 251, 135 },
+ { 50, 255, 136 }, { 54, 251, 137 }, { 58, 247, 138 }, { 54, 255, 139 }, { 62, 247, 140 }, { 58, 255, 141 }, { 62, 251, 142 }, { 62, 255, 143 },
+ { 66, 251, 144 }, { 70, 247, 145 }, { 66, 255, 146 }, { 74, 247, 147 }, { 70, 255, 148 }, { 74, 251, 149 }, { 74, 255, 150 }, { 78, 251, 151 },
+ { 82, 247, 152 }, { 78, 255, 153 }, { 86, 247, 154 }, { 82, 255, 155 }, { 86, 251, 156 }, { 86, 255, 157 }, { 90, 251, 158 }, { 94, 247, 159 },
+ { 90, 255, 160 }, { 98, 247, 161 }, { 94, 255, 162 }, { 98, 251, 163 }, { 98, 255, 164 }, { 102, 251, 165 }, { 110, 243, 166 }, { 102, 255, 167 },
+ { 110, 247, 168 }, { 106, 255, 169 }, { 114, 247, 170 }, { 110, 255, 171 }, { 114, 251, 172 }, { 114, 255, 173 }, { 118, 251, 174 }, { 122, 247, 175 },
+ { 118, 255, 176 }, { 126, 247, 177 }, { 122, 255, 178 }, { 126, 251, 179 }, { 126, 255, 180 }, { 135, 243, 181 }, { 131, 251, 182 }, { 131, 255, 183 },
+ { 135, 251, 184 }, { 139, 247, 185 }, { 135, 255, 186 }, { 143, 247, 187 }, { 139, 255, 188 }, { 143, 251, 189 }, { 143, 255, 190 }, { 147, 251, 191 },
+ { 151, 247, 192 }, { 147, 255, 193 }, { 155, 247, 194 }, { 151, 255, 195 }, { 155, 251, 196 }, { 155, 255, 197 }, { 159, 251, 198 }, { 167, 243, 199 },
+ { 159, 255, 200 }, { 167, 247, 201 }, { 163, 255, 202 }, { 171, 247, 203 }, { 167, 255, 204 }, { 171, 251, 205 }, { 171, 255, 206 }, { 175, 251, 207 },
+ { 179, 247, 208 }, { 175, 255, 209 }, { 183, 247, 210 }, { 179, 255, 211 }, { 183, 251, 212 }, { 183, 255, 213 }, { 187, 251, 214 }, { 191, 247, 215 },
+ { 187, 255, 216 }, { 195, 247, 217 }, { 191, 255, 218 }, { 195, 251, 219 }, { 195, 255, 220 }, { 199, 251, 221 }, { 203, 247, 222 }, { 199, 255, 223 },
+ { 207, 247, 224 }, { 203, 255, 225 }, { 207, 251, 226 }, { 207, 255, 227 }, { 211, 251, 228 }, { 215, 247, 229 }, { 211, 255, 230 }, { 219, 247, 231 },
+ { 215, 255, 232 }, { 219, 251, 233 }, { 219, 255, 234 }, { 223, 251, 235 }, { 231, 243, 236 }, { 223, 255, 237 }, { 231, 247, 238 }, { 227, 255, 239 },
+ { 235, 247, 240 }, { 231, 255, 241 }, { 235, 251, 242 }, { 235, 255, 243 }, { 239, 251, 244 }, { 243, 247, 245 }, { 239, 255, 246 }, { 247, 247, 247 },
+ { 243, 255, 248 }, { 247, 251, 249 }, { 247, 255, 250 }, { 251, 251, 251 }, { 255, 247, 252 }, { 251, 255, 253 }, { 251, 255, 253 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode2=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 16, 5 }, { 0, 16, 5 }, { 0, 24, 8 },
+ { 0, 24, 8 }, { 0, 24, 8 }, { 0, 33, 11 }, { 0, 33, 11 }, { 0, 33, 11 }, { 0, 41, 13 }, { 0, 41, 13 }, { 0, 49, 16 },
+ { 0, 49, 16 }, { 0, 49, 16 }, { 0, 57, 19 }, { 0, 57, 19 }, { 0, 57, 19 }, { 8, 49, 21 }, { 0, 66, 22 }, { 0, 66, 22 },
+ { 0, 74, 24 }, { 33, 8, 25 }, { 0, 82, 27 }, { 0, 82, 27 }, { 41, 0, 28 }, { 16, 57, 29 }, { 0, 90, 30 }, { 0, 90, 30 },
+ { 0, 99, 32 }, { 33, 33, 33 }, { 0, 107, 35 }, { 0, 107, 35 }, { 33, 41, 36 }, { 0, 115, 38 }, { 0, 115, 38 }, { 0, 115, 38 },
+ { 0, 123, 40 }, { 33, 57, 41 }, { 0, 132, 43 }, { 0, 132, 43 }, { 33, 66, 44 }, { 0, 140, 46 }, { 0, 140, 46 }, { 66, 8, 47 },
+ { 16, 115, 48 }, { 0, 148, 49 }, { 66, 16, 50 }, { 0, 156, 51 }, { 33, 90, 52 }, { 0, 165, 54 }, { 0, 165, 54 }, { 33, 99, 55 },
+ { 24, 123, 56 }, { 0, 173, 57 }, { 66, 41, 58 }, { 0, 181, 59 }, { 8, 165, 60 }, { 74, 33, 61 }, { 0, 189, 62 }, { 33, 123, 63 },
+ { 0, 198, 65 }, { 0, 198, 65 }, { 66, 66, 66 }, { 8, 189, 67 }, { 0, 206, 68 }, { 66, 74, 69 }, { 0, 214, 70 }, { 33, 148, 71 },
+ { 99, 16, 72 }, { 0, 222, 73 }, { 66, 90, 74 }, { 107, 8, 75 }, { 0, 231, 76 }, { 66, 99, 77 }, { 0, 239, 78 }, { 33, 173, 79 },
+ { 99, 41, 80 }, { 0, 247, 81 }, { 33, 181, 82 }, { 99, 49, 83 }, { 0, 255, 84 }, { 66, 123, 85 }, { 8, 247, 86 }, { 16, 231, 87 },
+ { 66, 132, 88 }, { 8, 255, 89 }, { 33, 206, 90 }, { 99, 74, 91 }, { 16, 247, 92 }, { 41, 198, 93 }, { 16, 255, 94 }, { 24, 239, 95 },
+ { 66, 156, 96 }, { 24, 247, 97 }, { 33, 231, 98 }, { 99, 99, 99 }, { 24, 255, 100 }, { 33, 239, 101 }, { 99, 107, 102 }, { 33, 247, 103 },
+ { 66, 181, 104 }, { 132, 49, 105 }, { 33, 255, 106 }, { 99, 123, 107 }, { 140, 41, 108 }, { 41, 247, 109 }, { 99, 132, 110 }, { 41, 255, 111 },
+ { 66, 206, 112 }, { 132, 74, 113 }, { 49, 247, 114 }, { 66, 214, 115 }, { 132, 82, 116 }, { 49, 255, 117 }, { 99, 156, 118 }, { 57, 247, 119 },
+ { 66, 231, 120 }, { 99, 165, 121 }, { 57, 255, 122 }, { 66, 239, 123 }, { 132, 107, 124 }, { 66, 247, 125 }, { 74, 231, 126 }, { 140, 99, 127 },
+ { 66, 255, 128 }, { 99, 189, 129 }, { 165, 57, 130 }, { 74, 247, 131 }, { 132, 132, 132 }, { 74, 255, 133 }, { 82, 239, 134 }, { 132, 140, 135 },
+ { 82, 247, 136 }, { 99, 214, 137 }, { 165, 82, 138 }, { 82, 255, 139 }, { 132, 156, 140 }, { 173, 74, 141 }, { 90, 247, 142 }, { 132, 165, 143 },
+ { 90, 255, 144 }, { 99, 239, 145 }, { 165, 107, 146 }, { 115, 214, 147 }, { 99, 247, 148 }, { 165, 115, 149 }, { 99, 255, 150 }, { 132, 189, 151 },
+ { 198, 57, 152 }, { 107, 247, 153 }, { 132, 198, 154 }, { 123, 222, 155 }, { 107, 255, 156 }, { 165, 140, 157 }, { 115, 247, 158 }, { 132, 214, 159 },
+ { 173, 132, 160 }, { 115, 255, 161 }, { 132, 222, 162 }, { 198, 90, 163 }, { 123, 247, 164 }, { 165, 165, 165 }, { 123, 255, 166 }, { 132, 239, 167 },
+ { 165, 173, 168 }, { 231, 41, 169 }, { 132, 247, 170 }, { 198, 115, 171 }, { 132, 255, 172 }, { 165, 189, 173 }, { 206, 107, 174 }, { 140, 247, 175 },
+ { 165, 198, 176 }, { 231, 66, 177 }, { 140, 255, 178 }, { 198, 140, 179 }, { 148, 247, 180 }, { 156, 231, 181 }, { 198, 148, 182 }, { 148, 255, 183 },
+ { 165, 222, 184 }, { 231, 90, 185 }, { 156, 247, 186 }, { 165, 231, 187 }, { 156, 255, 188 }, { 165, 239, 189 }, { 198, 173, 190 }, { 165, 247, 192 },
+ { 165, 247, 192 }, { 206, 165, 193 }, { 181, 222, 194 }, { 165, 255, 195 }, { 231, 123, 196 }, { 173, 247, 197 }, { 198, 198, 198 }, { 231, 132, 199 },
+ { 173, 255, 200 }, { 198, 206, 201 }, { 181, 247, 203 }, { 181, 247, 203 }, { 231, 148, 204 }, { 181, 255, 205 }, { 198, 222, 206 }, { 239, 140, 207 },
+ { 189, 247, 208 }, { 198, 231, 209 }, { 189, 255, 211 }, { 189, 255, 211 }, { 231, 173, 212 }, { 198, 247, 214 }, { 198, 247, 214 }, { 231, 181, 215 },
+ { 198, 255, 217 }, { 198, 255, 217 }, { 198, 255, 217 }, { 206, 247, 219 }, { 214, 231, 220 }, { 206, 255, 222 }, { 206, 255, 222 }, { 231, 206, 223 },
+ { 214, 247, 225 }, { 214, 247, 225 }, { 239, 198, 226 }, { 214, 255, 227 }, { 222, 239, 228 }, { 222, 239, 228 }, { 222, 247, 230 }, { 231, 231, 231 },
+ { 222, 255, 233 }, { 222, 255, 233 }, { 231, 239, 234 }, { 231, 239, 234 }, { 231, 247, 236 }, { 231, 247, 236 }, { 231, 255, 239 }, { 231, 255, 239 },
+ { 231, 255, 239 }, { 239, 247, 242 }, { 239, 247, 242 }, { 239, 247, 242 }, { 239, 255, 244 }, { 239, 255, 244 }, { 247, 247, 247 }, { 247, 247, 247 },
+ { 247, 247, 247 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 255, 247, 252 }, { 255, 247, 252 }, { 255, 255, 255 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode3_p0=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 2, 1 }, { 0, 6, 2 }, { 0, 8, 3 }, { 0, 12, 4 }, { 0, 14, 5 }, { 0, 18, 6 }, { 0, 20, 7 },
+ { 0, 24, 8 }, { 0, 26, 9 }, { 0, 30, 10 }, { 0, 32, 11 }, { 0, 36, 12 }, { 0, 40, 13 }, { 0, 42, 14 }, { 0, 46, 15 },
+ { 0, 48, 16 }, { 0, 52, 17 }, { 0, 54, 18 }, { 0, 58, 19 }, { 0, 60, 20 }, { 0, 64, 21 }, { 0, 66, 22 }, { 0, 70, 23 },
+ { 0, 72, 24 }, { 0, 76, 25 }, { 0, 78, 26 }, { 0, 82, 27 }, { 0, 84, 28 }, { 0, 88, 29 }, { 0, 90, 30 }, { 0, 94, 31 },
+ { 0, 96, 32 }, { 0, 100, 33 }, { 0, 104, 34 }, { 0, 106, 35 }, { 0, 110, 36 }, { 0, 112, 37 }, { 0, 116, 38 }, { 0, 118, 39 },
+ { 0, 122, 40 }, { 0, 124, 41 }, { 0, 128, 42 }, { 0, 130, 43 }, { 0, 134, 44 }, { 0, 136, 45 }, { 0, 140, 46 }, { 0, 142, 47 },
+ { 0, 146, 48 }, { 0, 148, 49 }, { 0, 152, 50 }, { 0, 154, 51 }, { 0, 158, 52 }, { 0, 160, 53 }, { 0, 164, 54 }, { 0, 168, 55 },
+ { 0, 170, 56 }, { 0, 174, 57 }, { 0, 176, 58 }, { 0, 180, 59 }, { 0, 182, 60 }, { 0, 186, 61 }, { 0, 188, 62 }, { 0, 192, 63 },
+ { 0, 194, 64 }, { 0, 198, 65 }, { 0, 200, 66 }, { 0, 204, 67 }, { 0, 206, 68 }, { 0, 210, 69 }, { 0, 212, 70 }, { 0, 216, 71 },
+ { 0, 218, 72 }, { 0, 222, 73 }, { 0, 224, 74 }, { 0, 228, 75 }, { 0, 232, 76 }, { 0, 234, 77 }, { 0, 238, 78 }, { 0, 240, 79 },
+ { 0, 244, 80 }, { 0, 246, 81 }, { 0, 250, 82 }, { 0, 252, 83 }, { 2, 252, 84 }, { 2, 254, 85 }, { 4, 254, 86 }, { 6, 252, 87 },
+ { 8, 252, 88 }, { 8, 254, 89 }, { 10, 254, 90 }, { 12, 252, 91 }, { 14, 252, 92 }, { 14, 254, 93 }, { 16, 254, 94 }, { 18, 252, 95 },
+ { 20, 252, 96 }, { 20, 254, 97 }, { 22, 254, 98 }, { 24, 252, 99 }, { 26, 250, 100 }, { 26, 254, 101 }, { 28, 252, 102 }, { 30, 252, 103 },
+ { 30, 254, 104 }, { 32, 254, 105 }, { 34, 252, 106 }, { 36, 252, 107 }, { 36, 254, 108 }, { 38, 254, 109 }, { 40, 252, 110 }, { 42, 252, 111 },
+ { 42, 254, 112 }, { 44, 254, 113 }, { 46, 252, 114 }, { 48, 252, 115 }, { 48, 254, 116 }, { 50, 254, 117 }, { 52, 252, 118 }, { 54, 252, 119 },
+ { 54, 254, 120 }, { 56, 254, 121 }, { 58, 252, 122 }, { 60, 252, 123 }, { 60, 254, 124 }, { 62, 254, 125 }, { 64, 252, 126 }, { 66, 252, 127 },
+ { 66, 254, 128 }, { 68, 254, 129 }, { 70, 252, 130 }, { 72, 252, 131 }, { 72, 254, 132 }, { 74, 254, 133 }, { 76, 252, 134 }, { 78, 252, 135 },
+ { 78, 254, 136 }, { 80, 254, 137 }, { 82, 252, 138 }, { 84, 252, 139 }, { 84, 254, 140 }, { 86, 254, 141 }, { 88, 252, 142 }, { 90, 250, 143 },
+ { 90, 254, 144 }, { 92, 252, 145 }, { 94, 252, 146 }, { 94, 254, 147 }, { 96, 254, 148 }, { 98, 252, 149 }, { 100, 252, 150 }, { 100, 254, 151 },
+ { 102, 254, 152 }, { 104, 252, 153 }, { 106, 252, 154 }, { 106, 254, 155 }, { 108, 254, 156 }, { 110, 252, 157 }, { 112, 252, 158 }, { 112, 254, 159 },
+ { 114, 254, 160 }, { 116, 252, 161 }, { 118, 252, 162 }, { 118, 254, 163 }, { 120, 254, 164 }, { 122, 252, 165 }, { 124, 252, 166 }, { 124, 254, 167 },
+ { 126, 254, 168 }, { 128, 252, 169 }, { 130, 252, 170 }, { 130, 254, 171 }, { 132, 254, 172 }, { 134, 252, 173 }, { 136, 252, 174 }, { 136, 254, 175 },
+ { 138, 254, 176 }, { 140, 252, 177 }, { 142, 252, 178 }, { 142, 254, 179 }, { 144, 254, 180 }, { 146, 252, 181 }, { 148, 252, 182 }, { 148, 254, 183 },
+ { 150, 254, 184 }, { 152, 252, 185 }, { 154, 250, 186 }, { 154, 254, 187 }, { 156, 252, 188 }, { 158, 252, 189 }, { 158, 254, 190 }, { 160, 254, 191 },
+ { 162, 252, 192 }, { 164, 252, 193 }, { 164, 254, 194 }, { 166, 254, 195 }, { 168, 252, 196 }, { 170, 252, 197 }, { 170, 254, 198 }, { 172, 254, 199 },
+ { 174, 252, 200 }, { 176, 252, 201 }, { 176, 254, 202 }, { 178, 254, 203 }, { 180, 252, 204 }, { 182, 252, 205 }, { 182, 254, 206 }, { 184, 254, 207 },
+ { 186, 252, 208 }, { 188, 252, 209 }, { 188, 254, 210 }, { 190, 254, 211 }, { 192, 252, 212 }, { 194, 252, 213 }, { 194, 254, 214 }, { 196, 254, 215 },
+ { 198, 252, 216 }, { 200, 252, 217 }, { 200, 254, 218 }, { 202, 254, 219 }, { 204, 252, 220 }, { 206, 252, 221 }, { 206, 254, 222 }, { 208, 254, 223 },
+ { 210, 252, 224 }, { 212, 252, 225 }, { 212, 254, 226 }, { 214, 254, 227 }, { 216, 252, 228 }, { 218, 250, 229 }, { 218, 254, 230 }, { 220, 252, 231 },
+ { 222, 252, 232 }, { 222, 254, 233 }, { 224, 254, 234 }, { 226, 252, 235 }, { 228, 252, 236 }, { 228, 254, 237 }, { 230, 254, 238 }, { 232, 252, 239 },
+ { 234, 252, 240 }, { 234, 254, 241 }, { 236, 254, 242 }, { 238, 252, 243 }, { 240, 252, 244 }, { 240, 254, 245 }, { 242, 254, 246 }, { 244, 252, 247 },
+ { 246, 252, 248 }, { 246, 254, 249 }, { 248, 254, 250 }, { 250, 252, 251 }, { 252, 252, 252 }, { 252, 254, 253 }, { 254, 254, 254 }, { 254, 254, 254 },
+ }
+};
+
+Table g_mode3_p1=
+{
+ 1,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 3, 2 }, { 1, 7, 3 }, { 1, 9, 4 }, { 1, 13, 5 }, { 1, 15, 6 }, { 1, 19, 7 },
+ { 1, 21, 8 }, { 1, 25, 9 }, { 1, 27, 10 }, { 1, 31, 11 }, { 1, 33, 12 }, { 1, 37, 13 }, { 1, 41, 14 }, { 1, 43, 15 },
+ { 1, 47, 16 }, { 1, 49, 17 }, { 1, 53, 18 }, { 1, 55, 19 }, { 1, 59, 20 }, { 1, 61, 21 }, { 1, 65, 22 }, { 1, 67, 23 },
+ { 1, 71, 24 }, { 1, 73, 25 }, { 1, 77, 26 }, { 1, 79, 27 }, { 1, 83, 28 }, { 1, 85, 29 }, { 1, 89, 30 }, { 1, 91, 31 },
+ { 1, 95, 32 }, { 1, 97, 33 }, { 1, 101, 34 }, { 1, 105, 35 }, { 1, 107, 36 }, { 1, 111, 37 }, { 1, 113, 38 }, { 1, 117, 39 },
+ { 1, 119, 40 }, { 1, 123, 41 }, { 1, 125, 42 }, { 1, 129, 43 }, { 1, 131, 44 }, { 1, 135, 45 }, { 1, 137, 46 }, { 1, 141, 47 },
+ { 1, 143, 48 }, { 1, 147, 49 }, { 1, 149, 50 }, { 1, 153, 51 }, { 1, 155, 52 }, { 1, 159, 53 }, { 1, 161, 54 }, { 1, 165, 55 },
+ { 1, 169, 56 }, { 1, 171, 57 }, { 1, 175, 58 }, { 1, 177, 59 }, { 1, 181, 60 }, { 1, 183, 61 }, { 1, 187, 62 }, { 1, 189, 63 },
+ { 1, 193, 64 }, { 1, 195, 65 }, { 1, 199, 66 }, { 1, 201, 67 }, { 1, 205, 68 }, { 1, 207, 69 }, { 1, 211, 70 }, { 1, 213, 71 },
+ { 1, 217, 72 }, { 1, 219, 73 }, { 1, 223, 74 }, { 1, 225, 75 }, { 1, 229, 76 }, { 1, 233, 77 }, { 1, 235, 78 }, { 1, 239, 79 },
+ { 1, 241, 80 }, { 1, 245, 81 }, { 1, 247, 82 }, { 1, 251, 83 }, { 1, 253, 84 }, { 3, 253, 85 }, { 3, 255, 86 }, { 5, 255, 87 },
+ { 7, 253, 88 }, { 9, 253, 89 }, { 9, 255, 90 }, { 11, 255, 91 }, { 13, 253, 92 }, { 15, 253, 93 }, { 15, 255, 94 }, { 17, 255, 95 },
+ { 19, 253, 96 }, { 21, 253, 97 }, { 21, 255, 98 }, { 23, 255, 99 }, { 25, 253, 100 }, { 27, 251, 101 }, { 27, 255, 102 }, { 29, 253, 103 },
+ { 31, 253, 104 }, { 31, 255, 105 }, { 33, 255, 106 }, { 35, 253, 107 }, { 37, 253, 108 }, { 37, 255, 109 }, { 39, 255, 110 }, { 41, 253, 111 },
+ { 43, 253, 112 }, { 43, 255, 113 }, { 45, 255, 114 }, { 47, 253, 115 }, { 49, 253, 116 }, { 49, 255, 117 }, { 51, 255, 118 }, { 53, 253, 119 },
+ { 55, 253, 120 }, { 55, 255, 121 }, { 57, 255, 122 }, { 59, 253, 123 }, { 61, 253, 124 }, { 61, 255, 125 }, { 63, 255, 126 }, { 65, 253, 127 },
+ { 67, 253, 128 }, { 67, 255, 129 }, { 69, 255, 130 }, { 71, 253, 131 }, { 73, 253, 132 }, { 73, 255, 133 }, { 75, 255, 134 }, { 77, 253, 135 },
+ { 79, 253, 136 }, { 79, 255, 137 }, { 81, 255, 138 }, { 83, 253, 139 }, { 85, 253, 140 }, { 85, 255, 141 }, { 87, 255, 142 }, { 89, 253, 143 },
+ { 91, 251, 144 }, { 91, 255, 145 }, { 93, 253, 146 }, { 95, 253, 147 }, { 95, 255, 148 }, { 97, 255, 149 }, { 99, 253, 150 }, { 101, 253, 151 },
+ { 101, 255, 152 }, { 103, 255, 153 }, { 105, 253, 154 }, { 107, 253, 155 }, { 107, 255, 156 }, { 109, 255, 157 }, { 111, 253, 158 }, { 113, 253, 159 },
+ { 113, 255, 160 }, { 115, 255, 161 }, { 117, 253, 162 }, { 119, 253, 163 }, { 119, 255, 164 }, { 121, 255, 165 }, { 123, 253, 166 }, { 125, 253, 167 },
+ { 125, 255, 168 }, { 127, 255, 169 }, { 129, 253, 170 }, { 131, 253, 171 }, { 131, 255, 172 }, { 133, 255, 173 }, { 135, 253, 174 }, { 137, 253, 175 },
+ { 137, 255, 176 }, { 139, 255, 177 }, { 141, 253, 178 }, { 143, 253, 179 }, { 143, 255, 180 }, { 145, 255, 181 }, { 147, 253, 182 }, { 149, 253, 183 },
+ { 149, 255, 184 }, { 151, 255, 185 }, { 153, 253, 186 }, { 155, 251, 187 }, { 155, 255, 188 }, { 157, 253, 189 }, { 159, 253, 190 }, { 159, 255, 191 },
+ { 161, 255, 192 }, { 163, 253, 193 }, { 165, 253, 194 }, { 165, 255, 195 }, { 167, 255, 196 }, { 169, 253, 197 }, { 171, 253, 198 }, { 171, 255, 199 },
+ { 173, 255, 200 }, { 175, 253, 201 }, { 177, 253, 202 }, { 177, 255, 203 }, { 179, 255, 204 }, { 181, 253, 205 }, { 183, 253, 206 }, { 183, 255, 207 },
+ { 185, 255, 208 }, { 187, 253, 209 }, { 189, 253, 210 }, { 189, 255, 211 }, { 191, 255, 212 }, { 193, 253, 213 }, { 195, 253, 214 }, { 195, 255, 215 },
+ { 197, 255, 216 }, { 199, 253, 217 }, { 201, 253, 218 }, { 201, 255, 219 }, { 203, 255, 220 }, { 205, 253, 221 }, { 207, 253, 222 }, { 207, 255, 223 },
+ { 209, 255, 224 }, { 211, 253, 225 }, { 213, 253, 226 }, { 213, 255, 227 }, { 215, 255, 228 }, { 217, 253, 229 }, { 219, 251, 230 }, { 219, 255, 231 },
+ { 221, 253, 232 }, { 223, 253, 233 }, { 223, 255, 234 }, { 225, 255, 235 }, { 227, 253, 236 }, { 229, 253, 237 }, { 229, 255, 238 }, { 231, 255, 239 },
+ { 233, 253, 240 }, { 235, 253, 241 }, { 235, 255, 242 }, { 237, 255, 243 }, { 239, 253, 244 }, { 241, 253, 245 }, { 241, 255, 246 }, { 243, 255, 247 },
+ { 245, 253, 248 }, { 247, 253, 249 }, { 247, 255, 250 }, { 249, 255, 251 }, { 251, 253, 252 }, { 253, 253, 253 }, { 253, 255, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_rgb_low=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 16, 5 }, { 0, 16, 5 }, { 0, 24, 8 },
+ { 0, 24, 8 }, { 0, 24, 8 }, { 0, 33, 11 }, { 0, 33, 11 }, { 0, 33, 11 }, { 0, 41, 13 }, { 0, 41, 13 }, { 0, 49, 16 },
+ { 0, 49, 16 }, { 0, 49, 16 }, { 0, 57, 19 }, { 0, 57, 19 }, { 0, 57, 19 }, { 8, 49, 21 }, { 0, 66, 22 }, { 0, 66, 22 },
+ { 0, 74, 24 }, { 33, 8, 25 }, { 0, 82, 27 }, { 0, 82, 27 }, { 41, 0, 28 }, { 16, 57, 29 }, { 0, 90, 30 }, { 0, 90, 30 },
+ { 0, 99, 32 }, { 33, 33, 33 }, { 0, 107, 35 }, { 0, 107, 35 }, { 33, 41, 36 }, { 0, 115, 38 }, { 0, 115, 38 }, { 0, 115, 38 },
+ { 0, 123, 40 }, { 33, 57, 41 }, { 0, 132, 43 }, { 0, 132, 43 }, { 33, 66, 44 }, { 0, 140, 46 }, { 0, 140, 46 }, { 66, 8, 47 },
+ { 16, 115, 48 }, { 0, 148, 49 }, { 66, 16, 50 }, { 0, 156, 51 }, { 33, 90, 52 }, { 0, 165, 54 }, { 0, 165, 54 }, { 33, 99, 55 },
+ { 24, 123, 56 }, { 0, 173, 57 }, { 66, 41, 58 }, { 0, 181, 59 }, { 8, 165, 60 }, { 74, 33, 61 }, { 0, 189, 62 }, { 33, 123, 63 },
+ { 0, 198, 65 }, { 0, 198, 65 }, { 66, 66, 66 }, { 8, 189, 67 }, { 0, 206, 68 }, { 66, 74, 69 }, { 0, 214, 70 }, { 33, 148, 71 },
+ { 99, 16, 72 }, { 0, 222, 73 }, { 66, 90, 74 }, { 107, 8, 75 }, { 0, 231, 76 }, { 66, 99, 77 }, { 0, 239, 78 }, { 33, 173, 79 },
+ { 99, 41, 80 }, { 0, 247, 81 }, { 33, 181, 82 }, { 99, 49, 83 }, { 0, 255, 84 }, { 66, 123, 85 }, { 8, 247, 86 }, { 16, 231, 87 },
+ { 66, 132, 88 }, { 8, 255, 89 }, { 33, 206, 90 }, { 99, 74, 91 }, { 16, 247, 92 }, { 41, 198, 93 }, { 16, 255, 94 }, { 24, 239, 95 },
+ { 66, 156, 96 }, { 24, 247, 97 }, { 33, 231, 98 }, { 99, 99, 99 }, { 24, 255, 100 }, { 33, 239, 101 }, { 99, 107, 102 }, { 33, 247, 103 },
+ { 66, 181, 104 }, { 132, 49, 105 }, { 33, 255, 106 }, { 99, 123, 107 }, { 140, 41, 108 }, { 41, 247, 109 }, { 99, 132, 110 }, { 41, 255, 111 },
+ { 66, 206, 112 }, { 132, 74, 113 }, { 49, 247, 114 }, { 66, 214, 115 }, { 132, 82, 116 }, { 49, 255, 117 }, { 99, 156, 118 }, { 57, 247, 119 },
+ { 66, 231, 120 }, { 99, 165, 121 }, { 57, 255, 122 }, { 66, 239, 123 }, { 132, 107, 124 }, { 66, 247, 125 }, { 74, 231, 126 }, { 140, 99, 127 },
+ { 66, 255, 128 }, { 99, 189, 129 }, { 165, 57, 130 }, { 74, 247, 131 }, { 132, 132, 132 }, { 74, 255, 133 }, { 82, 239, 134 }, { 132, 140, 135 },
+ { 82, 247, 136 }, { 99, 214, 137 }, { 165, 82, 138 }, { 82, 255, 139 }, { 132, 156, 140 }, { 173, 74, 141 }, { 90, 247, 142 }, { 132, 165, 143 },
+ { 90, 255, 144 }, { 99, 239, 145 }, { 165, 107, 146 }, { 115, 214, 147 }, { 99, 247, 148 }, { 165, 115, 149 }, { 99, 255, 150 }, { 132, 189, 151 },
+ { 198, 57, 152 }, { 107, 247, 153 }, { 132, 198, 154 }, { 123, 222, 155 }, { 107, 255, 156 }, { 165, 140, 157 }, { 115, 247, 158 }, { 132, 214, 159 },
+ { 173, 132, 160 }, { 115, 255, 161 }, { 132, 222, 162 }, { 198, 90, 163 }, { 123, 247, 164 }, { 165, 165, 165 }, { 123, 255, 166 }, { 132, 239, 167 },
+ { 165, 173, 168 }, { 231, 41, 169 }, { 132, 247, 170 }, { 198, 115, 171 }, { 132, 255, 172 }, { 165, 189, 173 }, { 206, 107, 174 }, { 140, 247, 175 },
+ { 165, 198, 176 }, { 231, 66, 177 }, { 140, 255, 178 }, { 198, 140, 179 }, { 148, 247, 180 }, { 156, 231, 181 }, { 198, 148, 182 }, { 148, 255, 183 },
+ { 165, 222, 184 }, { 231, 90, 185 }, { 156, 247, 186 }, { 165, 231, 187 }, { 156, 255, 188 }, { 165, 239, 189 }, { 198, 173, 190 }, { 165, 247, 192 },
+ { 165, 247, 192 }, { 206, 165, 193 }, { 181, 222, 194 }, { 165, 255, 195 }, { 231, 123, 196 }, { 173, 247, 197 }, { 198, 198, 198 }, { 231, 132, 199 },
+ { 173, 255, 200 }, { 198, 206, 201 }, { 181, 247, 203 }, { 181, 247, 203 }, { 231, 148, 204 }, { 181, 255, 205 }, { 198, 222, 206 }, { 239, 140, 207 },
+ { 189, 247, 208 }, { 198, 231, 209 }, { 189, 255, 211 }, { 189, 255, 211 }, { 231, 173, 212 }, { 198, 247, 214 }, { 198, 247, 214 }, { 231, 181, 215 },
+ { 198, 255, 217 }, { 198, 255, 217 }, { 198, 255, 217 }, { 206, 247, 219 }, { 214, 231, 220 }, { 206, 255, 222 }, { 206, 255, 222 }, { 231, 206, 223 },
+ { 214, 247, 225 }, { 214, 247, 225 }, { 239, 198, 226 }, { 214, 255, 227 }, { 222, 239, 228 }, { 222, 239, 228 }, { 222, 247, 230 }, { 231, 231, 231 },
+ { 222, 255, 233 }, { 222, 255, 233 }, { 231, 239, 234 }, { 231, 239, 234 }, { 231, 247, 236 }, { 231, 247, 236 }, { 231, 255, 239 }, { 231, 255, 239 },
+ { 231, 255, 239 }, { 239, 247, 242 }, { 239, 247, 242 }, { 239, 247, 242 }, { 239, 255, 244 }, { 239, 255, 244 }, { 247, 247, 247 }, { 247, 247, 247 },
+ { 247, 247, 247 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 255, 247, 252 }, { 255, 247, 252 }, { 255, 255, 255 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_rgb_high_i1=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 8, 1 }, { 0, 16, 2 }, { 0, 24, 3 }, { 0, 24, 3 }, { 0, 33, 5 }, { 0, 41, 6 }, { 0, 49, 7 },
+ { 0, 57, 8 }, { 0, 66, 9 }, { 0, 74, 10 }, { 0, 74, 10 }, { 0, 82, 12 }, { 0, 90, 13 }, { 0, 99, 14 }, { 0, 107, 15 },
+ { 0, 115, 16 }, { 0, 123, 17 }, { 8, 82, 18 }, { 0, 132, 19 }, { 0, 140, 20 }, { 0, 148, 21 }, { 0, 156, 22 }, { 0, 165, 23 },
+ { 0, 173, 24 }, { 0, 181, 25 }, { 16, 90, 26 }, { 0, 189, 27 }, { 0, 198, 28 }, { 0, 206, 29 }, { 0, 214, 30 }, { 0, 222, 31 },
+ { 0, 231, 32 }, { 8, 189, 33 }, { 0, 239, 34 }, { 0, 247, 35 }, { 0, 255, 36 }, { 8, 214, 37 }, { 8, 222, 38 }, { 8, 231, 39 },
+ { 8, 239, 40 }, { 24, 148, 41 }, { 8, 247, 42 }, { 8, 255, 43 }, { 16, 214, 44 }, { 16, 222, 45 }, { 16, 231, 46 }, { 16, 239, 47 },
+ { 16, 247, 48 }, { 33, 148, 49 }, { 16, 255, 50 }, { 24, 214, 51 }, { 24, 222, 52 }, { 24, 231, 53 }, { 24, 239, 54 }, { 24, 247, 55 },
+ { 24, 255, 56 }, { 33, 206, 57 }, { 33, 214, 58 }, { 49, 123, 59 }, { 33, 222, 60 }, { 33, 231, 61 }, { 33, 239, 62 }, { 33, 247, 63 },
+ { 33, 255, 64 }, { 41, 214, 65 }, { 41, 222, 66 }, { 66, 74, 67 }, { 41, 231, 68 }, { 41, 239, 69 }, { 41, 247, 70 }, { 41, 255, 71 },
+ { 49, 214, 72 }, { 49, 222, 73 }, { 57, 181, 74 }, { 49, 231, 75 }, { 49, 239, 76 }, { 49, 247, 77 }, { 49, 255, 78 }, { 57, 214, 79 },
+ { 57, 222, 80 }, { 57, 231, 81 }, { 66, 181, 82 }, { 57, 239, 83 }, { 57, 247, 84 }, { 57, 255, 85 }, { 66, 206, 86 }, { 66, 214, 87 },
+ { 66, 222, 88 }, { 66, 231, 89 }, { 66, 239, 90 }, { 66, 247, 91 }, { 82, 156, 92 }, { 66, 255, 93 }, { 74, 214, 94 }, { 74, 222, 95 },
+ { 74, 231, 96 }, { 74, 239, 97 }, { 74, 247, 98 }, { 74, 255, 99 }, { 99, 107, 100 }, { 82, 214, 101 }, { 82, 222, 102 }, { 82, 231, 103 },
+ { 82, 239, 104 }, { 82, 247, 105 }, { 82, 255, 106 }, { 90, 214, 107 }, { 99, 165, 108 }, { 90, 222, 109 }, { 90, 231, 110 }, { 90, 239, 111 },
+ { 90, 247, 112 }, { 90, 255, 113 }, { 99, 206, 114 }, { 99, 214, 115 }, { 99, 222, 116 }, { 107, 181, 117 }, { 99, 231, 118 }, { 99, 239, 119 },
+ { 99, 247, 120 }, { 99, 255, 121 }, { 107, 214, 122 }, { 107, 222, 123 }, { 107, 231, 124 }, { 115, 189, 125 }, { 107, 239, 126 }, { 107, 247, 127 },
+ { 107, 255, 128 }, { 115, 214, 129 }, { 115, 222, 130 }, { 115, 231, 131 }, { 115, 239, 132 }, { 132, 140, 133 }, { 115, 247, 134 }, { 115, 255, 135 },
+ { 123, 214, 136 }, { 123, 222, 137 }, { 123, 231, 138 }, { 123, 239, 139 }, { 123, 247, 140 }, { 132, 198, 141 }, { 123, 255, 142 }, { 148, 115, 143 },
+ { 132, 214, 144 }, { 132, 222, 145 }, { 132, 231, 146 }, { 132, 239, 147 }, { 132, 247, 148 }, { 132, 255, 149 }, { 140, 214, 150 }, { 156, 123, 151 },
+ { 140, 222, 152 }, { 140, 231, 153 }, { 140, 239, 154 }, { 140, 247, 155 }, { 140, 255, 156 }, { 148, 214, 157 }, { 148, 222, 158 }, { 165, 123, 159 },
+ { 148, 231, 160 }, { 148, 239, 161 }, { 148, 247, 162 }, { 148, 255, 163 }, { 156, 214, 164 }, { 156, 222, 165 }, { 165, 173, 166 }, { 156, 231, 167 },
+ { 156, 239, 168 }, { 156, 247, 169 }, { 156, 255, 170 }, { 165, 206, 171 }, { 165, 214, 172 }, { 165, 222, 173 }, { 165, 231, 174 }, { 165, 239, 175 },
+ { 181, 148, 176 }, { 165, 247, 177 }, { 165, 255, 178 }, { 173, 214, 179 }, { 173, 222, 180 }, { 173, 231, 181 }, { 173, 239, 182 }, { 173, 247, 183 },
+ { 189, 156, 184 }, { 173, 255, 185 }, { 181, 214, 186 }, { 181, 222, 187 }, { 181, 231, 188 }, { 181, 239, 189 }, { 181, 247, 190 }, { 181, 255, 191 },
+ { 198, 156, 192 }, { 189, 214, 193 }, { 189, 222, 194 }, { 189, 231, 195 }, { 189, 239, 196 }, { 189, 247, 197 }, { 189, 255, 198 }, { 198, 206, 199 },
+ { 198, 214, 200 }, { 198, 222, 201 }, { 206, 181, 202 }, { 198, 231, 203 }, { 198, 239, 204 }, { 198, 247, 205 }, { 198, 255, 206 }, { 206, 214, 207 },
+ { 206, 222, 208 }, { 214, 181, 209 }, { 206, 231, 210 }, { 206, 239, 211 }, { 206, 247, 212 }, { 206, 255, 213 }, { 214, 214, 214 }, { 214, 222, 215 },
+ { 214, 231, 216 }, { 222, 189, 217 }, { 214, 239, 218 }, { 214, 247, 219 }, { 214, 255, 220 }, { 222, 214, 221 }, { 222, 222, 222 }, { 222, 231, 223 },
+ { 222, 239, 224 }, { 231, 189, 225 }, { 222, 247, 226 }, { 222, 255, 227 }, { 247, 115, 228 }, { 231, 214, 229 }, { 231, 222, 230 }, { 231, 231, 231 },
+ { 231, 239, 232 }, { 231, 247, 233 }, { 231, 255, 234 }, { 239, 214, 235 }, { 255, 123, 236 }, { 239, 222, 237 }, { 239, 231, 238 }, { 239, 239, 239 },
+ { 239, 247, 240 }, { 239, 255, 241 }, { 247, 214, 242 }, { 247, 222, 243 }, { 247, 222, 243 }, { 247, 231, 245 }, { 247, 239, 246 }, { 247, 247, 247 },
+ { 247, 255, 248 }, { 255, 214, 249 }, { 255, 222, 250 }, { 255, 222, 250 }, { 255, 231, 252 }, { 255, 239, 253 }, { 255, 247, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_rgb_high_i2=
+{
+ 2,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 8, 2 }, { 0, 8, 2 }, { 0, 16, 5 }, { 0, 16, 5 }, { 8, 0, 6 }, { 0, 24, 7 },
+ { 8, 8, 8 }, { 0, 33, 9 }, { 8, 16, 10 }, { 0, 41, 12 }, { 0, 41, 12 }, { 8, 24, 13 }, { 0, 49, 14 }, { 8, 33, 15 },
+ { 0, 57, 16 }, { 8, 41, 17 }, { 16, 24, 18 }, { 0, 66, 19 }, { 8, 49, 20 }, { 0, 74, 21 }, { 8, 57, 22 }, { 0, 82, 23 },
+ { 8, 66, 24 }, { 0, 90, 25 }, { 33, 8, 26 }, { 8, 74, 27 }, { 0, 99, 28 }, { 8, 82, 29 }, { 0, 107, 30 }, { 8, 90, 31 },
+ { 0, 115, 32 }, { 24, 57, 33 }, { 8, 99, 34 }, { 0, 123, 35 }, { 8, 107, 36 }, { 0, 132, 37 }, { 8, 115, 38 }, { 0, 140, 39 },
+ { 8, 123, 40 }, { 41, 41, 41 }, { 0, 148, 42 }, { 8, 132, 43 }, { 0, 156, 44 }, { 8, 140, 45 }, { 0, 165, 46 }, { 8, 148, 47 },
+ { 41, 66, 48 }, { 0, 173, 49 }, { 8, 156, 50 }, { 0, 181, 51 }, { 8, 165, 52 }, { 0, 189, 53 }, { 8, 173, 54 }, { 16, 156, 55 },
+ { 0, 198, 56 }, { 8, 181, 57 }, { 0, 206, 58 }, { 8, 189, 59 }, { 0, 214, 60 }, { 8, 198, 61 }, { 0, 222, 62 }, { 33, 140, 63 },
+ { 8, 206, 64 }, { 0, 231, 65 }, { 8, 214, 66 }, { 0, 239, 67 }, { 8, 222, 68 }, { 0, 247, 69 }, { 24, 189, 70 }, { 8, 231, 71 },
+ { 0, 255, 72 }, { 8, 239, 73 }, { 16, 222, 74 }, { 8, 247, 75 }, { 16, 231, 76 }, { 8, 255, 77 }, { 41, 173, 78 }, { 16, 239, 79 },
+ { 24, 222, 80 }, { 16, 247, 81 }, { 24, 231, 82 }, { 16, 255, 83 }, { 24, 239, 84 }, { 41, 198, 85 }, { 33, 222, 86 }, { 24, 247, 87 },
+ { 49, 189, 88 }, { 24, 255, 89 }, { 41, 214, 90 }, { 33, 239, 91 }, { 41, 222, 92 }, { 33, 247, 93 }, { 41, 231, 94 }, { 33, 255, 95 },
+ { 66, 173, 96 }, { 41, 239, 97 }, { 49, 222, 98 }, { 41, 247, 99 }, { 49, 231, 100 }, { 41, 255, 101 }, { 49, 239, 102 }, { 57, 222, 103 },
+ { 74, 181, 104 }, { 49, 247, 105 }, { 57, 231, 106 }, { 49, 255, 107 }, { 57, 239, 108 }, { 74, 198, 109 }, { 57, 247, 110 }, { 74, 206, 111 },
+ { 66, 231, 112 }, { 57, 255, 113 }, { 107, 132, 114 }, { 66, 239, 115 }, { 74, 222, 116 }, { 66, 247, 117 }, { 74, 231, 118 }, { 66, 255, 119 },
+ { 74, 239, 120 }, { 82, 222, 121 }, { 99, 181, 122 }, { 74, 247, 123 }, { 82, 231, 124 }, { 74, 255, 125 }, { 82, 239, 126 }, { 90, 222, 127 },
+ { 82, 247, 128 }, { 99, 206, 129 }, { 90, 231, 130 }, { 82, 255, 131 }, { 90, 239, 132 }, { 107, 198, 133 }, { 90, 247, 134 }, { 107, 206, 135 },
+ { 90, 255, 136 }, { 107, 214, 137 }, { 99, 239, 138 }, { 107, 222, 139 }, { 140, 140, 140 }, { 99, 247, 141 }, { 107, 231, 142 }, { 99, 255, 143 },
+ { 107, 239, 144 }, { 115, 222, 145 }, { 107, 247, 146 }, { 140, 165, 147 }, { 115, 231, 148 }, { 107, 255, 149 }, { 115, 239, 150 }, { 123, 222, 151 },
+ { 115, 247, 152 }, { 123, 231, 153 }, { 115, 255, 154 }, { 132, 214, 155 }, { 123, 239, 156 }, { 132, 222, 157 }, { 123, 247, 158 }, { 140, 206, 159 },
+ { 123, 255, 160 }, { 140, 214, 161 }, { 132, 239, 162 }, { 140, 222, 163 }, { 132, 247, 164 }, { 156, 189, 165 }, { 140, 231, 166 }, { 132, 255, 167 },
+ { 140, 239, 168 }, { 148, 222, 169 }, { 140, 247, 170 }, { 148, 231, 171 }, { 140, 255, 172 }, { 173, 173, 173 }, { 148, 239, 174 }, { 156, 222, 175 },
+ { 148, 247, 176 }, { 156, 231, 177 }, { 148, 255, 178 }, { 156, 239, 179 }, { 173, 198, 180 }, { 165, 222, 181 }, { 156, 247, 182 }, { 181, 189, 183 },
+ { 156, 255, 184 }, { 173, 214, 185 }, { 165, 239, 186 }, { 173, 222, 187 }, { 165, 247, 188 }, { 173, 231, 189 }, { 165, 255, 190 }, { 198, 173, 191 },
+ { 173, 239, 192 }, { 181, 222, 193 }, { 173, 247, 194 }, { 181, 231, 195 }, { 173, 255, 196 }, { 181, 239, 197 }, { 189, 222, 198 }, { 206, 181, 199 },
+ { 181, 247, 200 }, { 189, 231, 201 }, { 181, 255, 202 }, { 189, 239, 203 }, { 206, 198, 204 }, { 189, 247, 205 }, { 206, 206, 206 }, { 198, 231, 207 },
+ { 189, 255, 208 }, { 239, 132, 209 }, { 198, 239, 210 }, { 206, 222, 211 }, { 198, 247, 212 }, { 206, 231, 213 }, { 198, 255, 214 }, { 206, 239, 215 },
+ { 214, 222, 216 }, { 231, 181, 217 }, { 206, 247, 218 }, { 214, 231, 219 }, { 206, 255, 220 }, { 214, 239, 221 }, { 222, 222, 222 }, { 214, 247, 223 },
+ { 231, 206, 224 }, { 222, 231, 225 }, { 214, 255, 226 }, { 222, 239, 227 }, { 231, 222, 228 }, { 222, 247, 229 }, { 239, 206, 230 }, { 222, 255, 231 },
+ { 239, 214, 232 }, { 231, 239, 233 }, { 239, 222, 234 }, { 247, 206, 235 }, { 231, 247, 236 }, { 239, 231, 237 }, { 231, 255, 238 }, { 239, 239, 239 },
+ { 247, 222, 240 }, { 239, 247, 241 }, { 239, 247, 241 }, { 247, 231, 243 }, { 239, 255, 244 }, { 247, 239, 245 }, { 255, 222, 246 }, { 247, 247, 247 },
+ { 255, 231, 248 }, { 247, 255, 249 }, { 247, 255, 249 }, { 255, 239, 251 }, { 255, 239, 251 }, { 255, 247, 253 }, { 255, 247, 253 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_rgb_high_i3=
+{
+ 3,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 8, 3 }, { 0, 8, 3 }, { 0, 8, 3 }, { 8, 0, 5 }, { 0, 16, 7 }, { 0, 16, 7 },
+ { 8, 8, 8 }, { 16, 0, 9 }, { 0, 24, 10 }, { 8, 16, 11 }, { 8, 16, 11 }, { 16, 8, 13 }, { 0, 33, 14 }, { 8, 24, 15 },
+ { 16, 16, 16 }, { 0, 41, 17 }, { 0, 41, 17 }, { 8, 33, 19 }, { 0, 49, 21 }, { 0, 49, 21 }, { 8, 41, 22 }, { 16, 33, 23 },
+ { 0, 57, 24 }, { 8, 49, 25 }, { 33, 16, 26 }, { 16, 41, 27 }, { 0, 66, 28 }, { 8, 57, 29 }, { 16, 49, 30 }, { 0, 74, 31 },
+ { 8, 66, 32 }, { 16, 57, 33 }, { 41, 24, 34 }, { 0, 82, 35 }, { 8, 74, 36 }, { 16, 66, 37 }, { 0, 90, 38 }, { 8, 82, 39 },
+ { 16, 74, 40 }, { 41, 41, 41 }, { 0, 99, 42 }, { 8, 90, 43 }, { 16, 82, 44 }, { 0, 107, 45 }, { 8, 99, 46 }, { 16, 90, 47 },
+ { 24, 82, 48 }, { 0, 115, 49 }, { 8, 107, 50 }, { 16, 99, 51 }, { 0, 123, 52 }, { 8, 115, 53 }, { 16, 107, 54 }, { 41, 74, 55 },
+ { 0, 132, 56 }, { 8, 123, 57 }, { 16, 115, 58 }, { 0, 140, 59 }, { 8, 132, 60 }, { 16, 123, 61 }, { 0, 148, 62 }, { 49, 82, 63 },
+ { 8, 140, 64 }, { 16, 132, 65 }, { 0, 156, 66 }, { 8, 148, 67 }, { 16, 140, 68 }, { 41, 107, 69 }, { 0, 165, 70 }, { 33, 123, 71 },
+ { 16, 148, 72 }, { 0, 173, 73 }, { 8, 165, 74 }, { 16, 156, 75 }, { 0, 181, 76 }, { 49, 115, 77 }, { 8, 173, 78 }, { 16, 165, 79 },
+ { 0, 189, 80 }, { 8, 181, 81 }, { 16, 173, 82 }, { 24, 165, 83 }, { 0, 198, 84 }, { 33, 156, 85 }, { 16, 181, 86 }, { 0, 206, 87 },
+ { 8, 198, 88 }, { 16, 189, 89 }, { 0, 214, 90 }, { 49, 148, 91 }, { 8, 206, 92 }, { 16, 198, 93 }, { 0, 222, 94 }, { 8, 214, 95 },
+ { 16, 206, 96 }, { 0, 231, 97 }, { 8, 222, 98 }, { 33, 189, 99 }, { 16, 214, 100 }, { 0, 239, 101 }, { 8, 231, 102 }, { 16, 222, 103 },
+ { 0, 247, 104 }, { 8, 239, 105 }, { 33, 206, 106 }, { 16, 231, 107 }, { 0, 255, 108 }, { 8, 247, 109 }, { 16, 239, 110 }, { 24, 231, 111 },
+ { 8, 255, 112 }, { 16, 247, 113 }, { 41, 214, 114 }, { 24, 239, 115 }, { 57, 198, 116 }, { 16, 255, 117 }, { 24, 247, 118 }, { 49, 214, 119 },
+ { 33, 239, 120 }, { 24, 255, 121 }, { 49, 222, 122 }, { 33, 247, 123 }, { 82, 181, 124 }, { 41, 239, 125 }, { 49, 231, 126 }, { 33, 255, 127 },
+ { 41, 247, 128 }, { 49, 239, 129 }, { 57, 231, 130 }, { 41, 255, 131 }, { 66, 222, 132 }, { 49, 247, 133 }, { 57, 239, 134 }, { 107, 173, 135 },
+ { 49, 255, 136 }, { 57, 247, 137 }, { 82, 214, 138 }, { 66, 239, 139 }, { 74, 231, 140 }, { 57, 255, 141 }, { 66, 247, 142 }, { 115, 181, 143 },
+ { 74, 239, 144 }, { 82, 231, 145 }, { 66, 255, 146 }, { 74, 247, 147 }, { 82, 239, 148 }, { 90, 231, 149 }, { 74, 255, 150 }, { 99, 222, 151 },
+ { 82, 247, 152 }, { 90, 239, 153 }, { 140, 173, 154 }, { 82, 255, 155 }, { 90, 247, 156 }, { 115, 214, 157 }, { 99, 239, 158 }, { 107, 231, 159 },
+ { 90, 255, 160 }, { 99, 247, 161 }, { 148, 181, 162 }, { 107, 239, 163 }, { 115, 231, 164 }, { 99, 255, 165 }, { 107, 247, 166 }, { 115, 239, 167 },
+ { 140, 206, 168 }, { 107, 255, 169 }, { 132, 222, 170 }, { 115, 247, 171 }, { 123, 239, 172 }, { 173, 173, 173 }, { 115, 255, 174 }, { 123, 247, 175 },
+ { 148, 214, 176 }, { 132, 239, 177 }, { 140, 231, 178 }, { 123, 255, 179 }, { 156, 214, 180 }, { 132, 247, 181 }, { 140, 239, 182 }, { 148, 231, 183 },
+ { 132, 255, 184 }, { 140, 247, 185 }, { 148, 239, 186 }, { 173, 206, 187 }, { 156, 231, 188 }, { 140, 255, 189 }, { 148, 247, 190 }, { 156, 239, 191 },
+ { 181, 206, 192 }, { 148, 255, 193 }, { 156, 247, 194 }, { 181, 214, 195 }, { 165, 239, 196 }, { 173, 231, 197 }, { 156, 255, 198 }, { 206, 189, 199 },
+ { 165, 247, 200 }, { 173, 239, 201 }, { 181, 231, 202 }, { 165, 255, 203 }, { 173, 247, 204 }, { 181, 239, 205 }, { 206, 206, 206 }, { 189, 231, 207 },
+ { 173, 255, 208 }, { 181, 247, 209 }, { 189, 239, 210 }, { 214, 206, 211 }, { 181, 255, 212 }, { 189, 247, 213 }, { 214, 214, 214 }, { 198, 239, 215 },
+ { 247, 173, 216 }, { 189, 255, 217 }, { 239, 189, 218 }, { 198, 247, 219 }, { 206, 239, 220 }, { 214, 231, 221 }, { 198, 255, 222 }, { 206, 247, 223 },
+ { 231, 214, 224 }, { 214, 239, 225 }, { 222, 231, 226 }, { 206, 255, 227 }, { 214, 247, 228 }, { 222, 239, 229 }, { 247, 206, 230 }, { 214, 255, 231 },
+ { 239, 222, 232 }, { 222, 247, 233 }, { 231, 239, 234 }, { 222, 255, 236 }, { 222, 255, 236 }, { 222, 255, 236 }, { 231, 247, 238 }, { 239, 239, 239 },
+ { 247, 231, 240 }, { 231, 255, 241 }, { 239, 247, 242 }, { 239, 247, 242 }, { 247, 239, 244 }, { 255, 231, 245 }, { 239, 255, 246 }, { 247, 247, 247 },
+ { 255, 239, 248 }, { 247, 255, 250 }, { 247, 255, 250 }, { 247, 255, 250 }, { 255, 247, 252 }, { 255, 247, 252 }, { 255, 255, 255 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_a_low=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 4, 1 }, { 0, 4, 1 }, { 0, 8, 3 }, { 0, 12, 4 }, { 0, 16, 5 }, { 0, 16, 5 }, { 0, 20, 7 },
+ { 0, 24, 8 }, { 0, 28, 9 }, { 0, 28, 9 }, { 0, 32, 11 }, { 0, 36, 12 }, { 0, 40, 13 }, { 0, 44, 14 }, { 4, 36, 15 },
+ { 0, 48, 16 }, { 0, 52, 17 }, { 0, 56, 18 }, { 8, 40, 19 }, { 0, 60, 20 }, { 0, 65, 21 }, { 4, 60, 22 }, { 0, 69, 23 },
+ { 0, 73, 24 }, { 0, 77, 25 }, { 12, 56, 26 }, { 0, 81, 27 }, { 0, 85, 28 }, { 0, 89, 29 }, { 16, 60, 30 }, { 0, 93, 31 },
+ { 0, 97, 32 }, { 0, 101, 33 }, { 0, 105, 34 }, { 4, 97, 35 }, { 0, 109, 36 }, { 0, 113, 37 }, { 0, 117, 38 }, { 8, 101, 39 },
+ { 0, 121, 40 }, { 0, 125, 41 }, { 4, 121, 42 }, { 0, 130, 43 }, { 0, 134, 44 }, { 0, 138, 45 }, { 8, 125, 46 }, { 0, 142, 47 },
+ { 0, 146, 48 }, { 0, 150, 49 }, { 16, 121, 50 }, { 0, 154, 51 }, { 0, 158, 52 }, { 0, 162, 53 }, { 0, 166, 54 }, { 4, 158, 55 },
+ { 0, 170, 56 }, { 0, 174, 57 }, { 0, 178, 58 }, { 8, 162, 59 }, { 0, 182, 60 }, { 0, 186, 61 }, { 0, 190, 62 }, { 12, 166, 63 },
+ { 0, 195, 64 }, { 0, 199, 65 }, { 8, 186, 66 }, { 0, 203, 67 }, { 0, 207, 68 }, { 0, 211, 69 }, { 12, 190, 70 }, { 0, 215, 71 },
+ { 0, 219, 72 }, { 0, 223, 73 }, { 0, 227, 74 }, { 4, 219, 75 }, { 0, 231, 76 }, { 0, 235, 77 }, { 0, 239, 78 }, { 8, 223, 79 },
+ { 0, 243, 80 }, { 0, 247, 81 }, { 0, 251, 82 }, { 12, 227, 83 }, { 0, 255, 84 }, { 4, 251, 85 }, { 4, 255, 86 }, { 16, 231, 87 },
+ { 8, 251, 88 }, { 8, 255, 89 }, { 12, 251, 90 }, { 20, 235, 91 }, { 12, 255, 92 }, { 16, 251, 93 }, { 16, 255, 94 }, { 24, 239, 95 },
+ { 20, 251, 96 }, { 20, 255, 97 }, { 24, 251, 98 }, { 28, 243, 99 }, { 24, 255, 100 }, { 28, 251, 101 }, { 28, 255, 102 }, { 32, 247, 103 },
+ { 32, 251, 104 }, { 32, 255, 105 }, { 56, 207, 106 }, { 36, 251, 107 }, { 36, 255, 108 }, { 40, 251, 109 }, { 60, 211, 110 }, { 40, 255, 111 },
+ { 44, 251, 112 }, { 44, 255, 113 }, { 65, 215, 114 }, { 48, 251, 115 }, { 48, 255, 116 }, { 52, 251, 117 }, { 65, 227, 118 }, { 52, 255, 119 },
+ { 56, 251, 120 }, { 56, 255, 121 }, { 65, 239, 122 }, { 60, 251, 123 }, { 60, 255, 124 }, { 65, 247, 125 }, { 65, 251, 126 }, { 65, 255, 127 },
+ { 77, 231, 128 }, { 69, 251, 129 }, { 69, 255, 130 }, { 73, 251, 131 }, { 81, 235, 132 }, { 73, 255, 133 }, { 77, 251, 134 }, { 77, 255, 135 },
+ { 85, 239, 136 }, { 81, 251, 137 }, { 81, 255, 138 }, { 85, 251, 139 }, { 89, 243, 140 }, { 85, 255, 141 }, { 89, 251, 142 }, { 89, 255, 143 },
+ { 93, 247, 144 }, { 93, 251, 145 }, { 93, 255, 146 }, { 117, 207, 147 }, { 97, 251, 148 }, { 97, 255, 149 }, { 101, 251, 150 }, { 121, 211, 151 },
+ { 101, 255, 152 }, { 105, 251, 153 }, { 105, 255, 154 }, { 125, 215, 155 }, { 109, 251, 156 }, { 109, 255, 157 }, { 113, 251, 158 }, { 130, 219, 159 },
+ { 113, 255, 160 }, { 117, 251, 161 }, { 117, 255, 162 }, { 130, 231, 163 }, { 121, 251, 164 }, { 121, 255, 165 }, { 125, 251, 166 }, { 130, 243, 167 },
+ { 125, 255, 168 }, { 138, 231, 169 }, { 130, 251, 170 }, { 130, 255, 171 }, { 134, 251, 172 }, { 142, 235, 173 }, { 134, 255, 174 }, { 138, 251, 175 },
+ { 138, 255, 176 }, { 146, 239, 177 }, { 142, 251, 178 }, { 142, 255, 179 }, { 146, 251, 180 }, { 150, 243, 181 }, { 146, 255, 182 }, { 150, 251, 183 },
+ { 150, 255, 184 }, { 154, 247, 185 }, { 154, 251, 186 }, { 154, 255, 187 }, { 178, 207, 188 }, { 158, 251, 189 }, { 158, 255, 190 }, { 162, 251, 191 },
+ { 182, 211, 192 }, { 162, 255, 193 }, { 166, 251, 194 }, { 166, 255, 195 }, { 186, 215, 196 }, { 170, 251, 197 }, { 170, 255, 198 }, { 174, 251, 199 },
+ { 190, 219, 200 }, { 174, 255, 201 }, { 178, 251, 202 }, { 178, 255, 203 }, { 195, 223, 204 }, { 182, 251, 205 }, { 182, 255, 206 }, { 186, 251, 207 },
+ { 195, 235, 208 }, { 186, 255, 209 }, { 190, 251, 210 }, { 190, 255, 211 }, { 195, 247, 212 }, { 195, 251, 213 }, { 203, 235, 214 }, { 195, 255, 215 },
+ { 199, 251, 216 }, { 199, 255, 217 }, { 207, 239, 218 }, { 203, 251, 219 }, { 203, 255, 220 }, { 207, 251, 221 }, { 211, 243, 222 }, { 207, 255, 223 },
+ { 211, 251, 224 }, { 211, 255, 225 }, { 215, 247, 226 }, { 215, 251, 227 }, { 215, 255, 228 }, { 239, 207, 229 }, { 219, 251, 230 }, { 219, 255, 231 },
+ { 223, 251, 232 }, { 243, 211, 233 }, { 223, 255, 234 }, { 227, 251, 235 }, { 227, 255, 236 }, { 247, 215, 237 }, { 231, 251, 238 }, { 231, 255, 239 },
+ { 235, 251, 240 }, { 251, 219, 241 }, { 235, 255, 242 }, { 239, 251, 243 }, { 239, 255, 244 }, { 255, 223, 245 }, { 243, 251, 246 }, { 243, 255, 247 },
+ { 247, 251, 248 }, { 247, 251, 248 }, { 247, 255, 250 }, { 251, 251, 251 }, { 251, 255, 252 }, { 251, 255, 252 }, { 255, 251, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_a_high_i1=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 4, 1 }, { 0, 12, 2 }, { 0, 20, 3 }, { 0, 28, 4 }, { 0, 32, 5 }, { 0, 40, 6 }, { 0, 48, 7 },
+ { 0, 56, 8 }, { 0, 65, 9 }, { 0, 69, 10 }, { 0, 77, 11 }, { 0, 85, 12 }, { 0, 89, 13 }, { 0, 97, 14 }, { 0, 105, 15 },
+ { 0, 113, 16 }, { 0, 121, 17 }, { 0, 125, 18 }, { 0, 134, 19 }, { 0, 142, 20 }, { 0, 146, 21 }, { 0, 154, 22 }, { 0, 162, 23 },
+ { 0, 170, 24 }, { 0, 178, 25 }, { 0, 182, 26 }, { 0, 190, 27 }, { 0, 199, 28 }, { 0, 203, 29 }, { 0, 211, 30 }, { 0, 219, 31 },
+ { 0, 227, 32 }, { 0, 235, 33 }, { 0, 239, 34 }, { 0, 247, 35 }, { 0, 255, 36 }, { 4, 239, 37 }, { 4, 243, 38 }, { 4, 251, 39 },
+ { 8, 235, 40 }, { 8, 243, 41 }, { 8, 247, 42 }, { 8, 255, 43 }, { 12, 239, 44 }, { 12, 247, 45 }, { 12, 251, 46 }, { 16, 235, 47 },
+ { 16, 243, 48 }, { 16, 251, 49 }, { 16, 255, 50 }, { 20, 239, 51 }, { 20, 247, 52 }, { 20, 255, 53 }, { 24, 235, 54 }, { 24, 243, 55 },
+ { 24, 251, 56 }, { 28, 231, 57 }, { 28, 239, 58 }, { 28, 247, 59 }, { 28, 255, 60 }, { 32, 235, 61 }, { 32, 243, 62 }, { 32, 251, 63 },
+ { 36, 235, 64 }, { 36, 239, 65 }, { 36, 247, 66 }, { 36, 255, 67 }, { 40, 239, 68 }, { 40, 243, 69 }, { 40, 251, 70 }, { 44, 235, 71 },
+ { 44, 243, 72 }, { 44, 247, 73 }, { 44, 255, 74 }, { 48, 239, 75 }, { 48, 247, 76 }, { 48, 251, 77 }, { 52, 235, 78 }, { 52, 243, 79 },
+ { 52, 251, 80 }, { 52, 255, 81 }, { 56, 239, 82 }, { 56, 247, 83 }, { 56, 255, 84 }, { 60, 235, 85 }, { 60, 243, 86 }, { 60, 251, 87 },
+ { 65, 227, 88 }, { 65, 235, 89 }, { 65, 243, 90 }, { 65, 247, 91 }, { 65, 255, 92 }, { 69, 239, 93 }, { 69, 247, 94 }, { 69, 251, 95 },
+ { 73, 235, 96 }, { 73, 243, 97 }, { 73, 251, 98 }, { 73, 255, 99 }, { 77, 239, 100 }, { 77, 247, 101 }, { 77, 255, 102 }, { 81, 235, 103 },
+ { 81, 243, 104 }, { 81, 251, 105 }, { 85, 231, 106 }, { 85, 239, 107 }, { 85, 247, 108 }, { 85, 255, 109 }, { 89, 235, 110 }, { 89, 243, 111 },
+ { 89, 251, 112 }, { 93, 235, 113 }, { 93, 239, 114 }, { 93, 247, 115 }, { 93, 255, 116 }, { 97, 239, 117 }, { 97, 243, 118 }, { 97, 251, 119 },
+ { 101, 235, 120 }, { 101, 243, 121 }, { 101, 247, 122 }, { 101, 255, 123 }, { 105, 239, 124 }, { 105, 247, 125 }, { 105, 251, 126 }, { 109, 235, 127 },
+ { 109, 243, 128 }, { 109, 251, 129 }, { 109, 255, 130 }, { 113, 239, 131 }, { 113, 247, 132 }, { 113, 255, 133 }, { 117, 235, 134 }, { 117, 243, 135 },
+ { 117, 251, 136 }, { 121, 235, 137 }, { 121, 239, 138 }, { 121, 247, 139 }, { 121, 255, 140 }, { 125, 239, 141 }, { 125, 243, 142 }, { 125, 251, 143 },
+ { 130, 227, 144 }, { 130, 235, 145 }, { 130, 243, 146 }, { 130, 251, 147 }, { 130, 255, 148 }, { 134, 239, 149 }, { 134, 247, 150 }, { 134, 255, 151 },
+ { 138, 235, 152 }, { 138, 243, 153 }, { 138, 251, 154 }, { 142, 231, 155 }, { 142, 239, 156 }, { 142, 247, 157 }, { 142, 255, 158 }, { 146, 235, 159 },
+ { 146, 243, 160 }, { 146, 251, 161 }, { 150, 235, 162 }, { 150, 239, 163 }, { 150, 247, 164 }, { 150, 255, 165 }, { 154, 239, 166 }, { 154, 243, 167 },
+ { 154, 251, 168 }, { 158, 235, 169 }, { 158, 243, 170 }, { 158, 247, 171 }, { 158, 255, 172 }, { 162, 239, 173 }, { 162, 247, 174 }, { 162, 251, 175 },
+ { 166, 235, 176 }, { 166, 243, 177 }, { 166, 251, 178 }, { 166, 255, 179 }, { 170, 239, 180 }, { 170, 247, 181 }, { 170, 255, 182 }, { 174, 235, 183 },
+ { 174, 243, 184 }, { 174, 251, 185 }, { 178, 235, 186 }, { 178, 239, 187 }, { 178, 247, 188 }, { 178, 255, 189 }, { 182, 239, 190 }, { 182, 243, 191 },
+ { 182, 251, 192 }, { 186, 235, 193 }, { 186, 243, 194 }, { 186, 247, 195 }, { 186, 255, 196 }, { 190, 239, 197 }, { 190, 247, 198 }, { 190, 251, 199 },
+ { 195, 227, 200 }, { 195, 235, 201 }, { 195, 243, 202 }, { 195, 251, 203 }, { 199, 231, 204 }, { 199, 239, 205 }, { 199, 247, 206 }, { 199, 255, 207 },
+ { 203, 235, 208 }, { 203, 243, 209 }, { 203, 251, 210 }, { 207, 235, 211 }, { 207, 239, 212 }, { 207, 247, 213 }, { 207, 255, 214 }, { 211, 239, 215 },
+ { 211, 243, 216 }, { 211, 251, 217 }, { 215, 235, 218 }, { 215, 243, 219 }, { 215, 247, 220 }, { 215, 255, 221 }, { 219, 239, 222 }, { 219, 247, 223 },
+ { 219, 251, 224 }, { 223, 235, 225 }, { 223, 243, 226 }, { 223, 251, 227 }, { 223, 255, 228 }, { 227, 239, 229 }, { 227, 247, 230 }, { 227, 255, 231 },
+ { 231, 235, 232 }, { 231, 243, 233 }, { 231, 251, 234 }, { 235, 235, 235 }, { 235, 239, 236 }, { 235, 247, 237 }, { 235, 255, 238 }, { 239, 239, 239 },
+ { 239, 243, 240 }, { 239, 251, 241 }, { 243, 235, 242 }, { 243, 243, 243 }, { 243, 247, 244 }, { 243, 255, 245 }, { 247, 239, 246 }, { 247, 247, 247 },
+ { 247, 251, 248 }, { 251, 235, 249 }, { 251, 243, 250 }, { 251, 251, 251 }, { 251, 255, 252 }, { 255, 239, 253 }, { 255, 247, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_a_high_i2=
+{
+ 2,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 4, 1 }, { 0, 8, 2 }, { 0, 12, 3 }, { 4, 4, 4 }, { 0, 16, 5 }, { 0, 20, 6 }, { 0, 24, 7 },
+ { 0, 28, 8 }, { 0, 32, 9 }, { 0, 36, 10 }, { 0, 40, 11 }, { 0, 44, 12 }, { 4, 36, 13 }, { 0, 48, 14 }, { 0, 52, 15 },
+ { 0, 56, 16 }, { 0, 60, 17 }, { 0, 65, 18 }, { 0, 69, 19 }, { 4, 60, 20 }, { 0, 73, 21 }, { 0, 77, 22 }, { 0, 81, 23 },
+ { 0, 85, 24 }, { 0, 89, 25 }, { 0, 93, 26 }, { 0, 97, 27 }, { 0, 101, 28 }, { 4, 93, 29 }, { 0, 105, 30 }, { 0, 109, 31 },
+ { 0, 113, 32 }, { 0, 117, 33 }, { 0, 121, 34 }, { 0, 125, 35 }, { 4, 117, 36 }, { 0, 130, 37 }, { 0, 134, 38 }, { 0, 138, 39 },
+ { 0, 142, 40 }, { 0, 146, 41 }, { 0, 150, 42 }, { 0, 154, 43 }, { 0, 158, 44 }, { 4, 150, 45 }, { 0, 162, 46 }, { 0, 166, 47 },
+ { 0, 170, 48 }, { 0, 174, 49 }, { 0, 178, 50 }, { 0, 182, 51 }, { 0, 186, 52 }, { 0, 190, 53 }, { 4, 182, 54 }, { 0, 195, 55 },
+ { 0, 199, 56 }, { 0, 203, 57 }, { 0, 207, 58 }, { 0, 211, 59 }, { 0, 215, 60 }, { 4, 207, 61 }, { 0, 219, 62 }, { 0, 223, 63 },
+ { 0, 227, 64 }, { 0, 231, 65 }, { 0, 235, 66 }, { 0, 239, 67 }, { 0, 243, 68 }, { 0, 247, 69 }, { 4, 239, 70 }, { 0, 251, 71 },
+ { 0, 255, 72 }, { 4, 251, 73 }, { 8, 243, 74 }, { 4, 255, 75 }, { 8, 251, 76 }, { 8, 255, 77 }, { 12, 247, 78 }, { 12, 251, 79 },
+ { 12, 255, 80 }, { 16, 247, 81 }, { 16, 251, 82 }, { 16, 255, 83 }, { 20, 247, 84 }, { 20, 251, 85 }, { 20, 255, 86 }, { 24, 247, 87 },
+ { 24, 251, 88 }, { 24, 255, 89 }, { 28, 247, 90 }, { 28, 251, 91 }, { 28, 255, 92 }, { 36, 239, 93 }, { 32, 251, 94 }, { 32, 255, 95 },
+ { 36, 251, 96 }, { 40, 243, 97 }, { 36, 255, 98 }, { 40, 251, 99 }, { 40, 255, 100 }, { 44, 247, 101 }, { 44, 251, 102 }, { 44, 255, 103 },
+ { 48, 247, 104 }, { 48, 251, 105 }, { 48, 255, 106 }, { 52, 247, 107 }, { 52, 251, 108 }, { 52, 255, 109 }, { 56, 247, 110 }, { 56, 251, 111 },
+ { 56, 255, 112 }, { 60, 247, 113 }, { 60, 251, 114 }, { 60, 255, 115 }, { 65, 247, 116 }, { 65, 251, 117 }, { 65, 255, 118 }, { 69, 247, 119 },
+ { 69, 251, 120 }, { 69, 255, 121 }, { 73, 247, 122 }, { 73, 251, 123 }, { 73, 255, 124 }, { 77, 247, 125 }, { 77, 251, 126 }, { 77, 255, 127 },
+ { 81, 247, 128 }, { 81, 251, 129 }, { 81, 255, 130 }, { 85, 247, 131 }, { 85, 251, 132 }, { 85, 255, 133 }, { 93, 239, 134 }, { 89, 251, 135 },
+ { 89, 255, 136 }, { 93, 251, 137 }, { 97, 243, 138 }, { 93, 255, 139 }, { 97, 251, 140 }, { 97, 255, 141 }, { 101, 247, 142 }, { 101, 251, 143 },
+ { 101, 255, 144 }, { 105, 247, 145 }, { 105, 251, 146 }, { 105, 255, 147 }, { 109, 247, 148 }, { 109, 251, 149 }, { 109, 255, 150 }, { 113, 247, 151 },
+ { 113, 251, 152 }, { 113, 255, 153 }, { 117, 247, 154 }, { 117, 251, 155 }, { 117, 255, 156 }, { 125, 239, 157 }, { 121, 251, 158 }, { 121, 255, 159 },
+ { 125, 251, 160 }, { 130, 239, 161 }, { 125, 255, 162 }, { 130, 247, 163 }, { 130, 251, 164 }, { 130, 255, 165 }, { 134, 247, 166 }, { 134, 251, 167 },
+ { 134, 255, 168 }, { 138, 247, 169 }, { 138, 251, 170 }, { 138, 255, 171 }, { 142, 247, 172 }, { 142, 251, 173 }, { 142, 255, 174 }, { 150, 239, 175 },
+ { 146, 251, 176 }, { 146, 255, 177 }, { 150, 251, 178 }, { 154, 243, 179 }, { 150, 255, 180 }, { 154, 251, 181 }, { 154, 255, 182 }, { 158, 247, 183 },
+ { 158, 251, 184 }, { 158, 255, 185 }, { 162, 247, 186 }, { 162, 251, 187 }, { 162, 255, 188 }, { 166, 247, 189 }, { 166, 251, 190 }, { 166, 255, 191 },
+ { 170, 247, 192 }, { 170, 251, 193 }, { 170, 255, 194 }, { 174, 247, 195 }, { 174, 251, 196 }, { 174, 255, 197 }, { 182, 239, 198 }, { 178, 251, 199 },
+ { 178, 255, 200 }, { 182, 251, 201 }, { 186, 243, 202 }, { 182, 255, 203 }, { 186, 251, 204 }, { 186, 255, 205 }, { 190, 247, 206 }, { 190, 251, 207 },
+ { 190, 255, 208 }, { 195, 243, 209 }, { 195, 247, 210 }, { 195, 251, 211 }, { 195, 255, 212 }, { 199, 247, 213 }, { 199, 251, 214 }, { 199, 255, 215 },
+ { 207, 239, 216 }, { 203, 251, 217 }, { 203, 255, 218 }, { 207, 251, 219 }, { 211, 243, 220 }, { 207, 255, 221 }, { 211, 251, 222 }, { 211, 255, 223 },
+ { 215, 247, 224 }, { 215, 251, 225 }, { 215, 255, 226 }, { 219, 247, 227 }, { 219, 251, 228 }, { 219, 255, 229 }, { 223, 247, 230 }, { 223, 251, 231 },
+ { 223, 255, 232 }, { 227, 247, 233 }, { 227, 251, 234 }, { 227, 255, 235 }, { 231, 247, 236 }, { 231, 251, 237 }, { 231, 255, 238 }, { 239, 239, 239 },
+ { 235, 251, 240 }, { 235, 255, 241 }, { 239, 251, 242 }, { 243, 243, 243 }, { 239, 255, 244 }, { 243, 251, 245 }, { 243, 255, 246 }, { 247, 247, 247 },
+ { 247, 251, 248 }, { 247, 255, 249 }, { 251, 247, 250 }, { 251, 251, 251 }, { 251, 255, 252 }, { 255, 247, 253 }, { 255, 251, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode4_a_high_i3=
+{
+ 3,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 4, 2 }, { 0, 8, 3 }, { 4, 4, 4 }, { 0, 12, 5 }, { 4, 8, 6 }, { 0, 16, 7 },
+ { 0, 20, 8 }, { 4, 16, 9 }, { 0, 24, 10 }, { 4, 20, 11 }, { 0, 28, 12 }, { 8, 20, 13 }, { 0, 32, 14 }, { 0, 36, 15 },
+ { 4, 32, 16 }, { 0, 40, 17 }, { 4, 36, 18 }, { 0, 44, 19 }, { 0, 48, 20 }, { 4, 44, 21 }, { 0, 52, 22 }, { 4, 48, 23 },
+ { 0, 56, 24 }, { 0, 60, 25 }, { 4, 56, 26 }, { 0, 65, 27 }, { 4, 60, 28 }, { 0, 69, 29 }, { 4, 65, 30 }, { 0, 73, 31 },
+ { 0, 77, 32 }, { 4, 73, 33 }, { 0, 81, 34 }, { 4, 77, 35 }, { 0, 85, 36 }, { 8, 77, 37 }, { 0, 89, 38 }, { 0, 93, 39 },
+ { 4, 89, 40 }, { 0, 97, 41 }, { 4, 93, 42 }, { 0, 101, 43 }, { 0, 105, 44 }, { 4, 101, 45 }, { 0, 109, 46 }, { 4, 105, 47 },
+ { 0, 113, 48 }, { 0, 117, 49 }, { 4, 113, 50 }, { 0, 121, 51 }, { 4, 117, 52 }, { 0, 125, 53 }, { 8, 117, 54 }, { 0, 130, 55 },
+ { 8, 121, 56 }, { 0, 134, 57 }, { 0, 138, 58 }, { 4, 134, 59 }, { 0, 142, 60 }, { 4, 138, 61 }, { 0, 146, 62 }, { 0, 150, 63 },
+ { 4, 146, 64 }, { 0, 154, 65 }, { 4, 150, 66 }, { 0, 158, 67 }, { 0, 162, 68 }, { 4, 158, 69 }, { 0, 166, 70 }, { 4, 162, 71 },
+ { 0, 170, 72 }, { 0, 174, 73 }, { 4, 170, 74 }, { 0, 178, 75 }, { 4, 174, 76 }, { 0, 182, 77 }, { 0, 186, 78 }, { 4, 182, 79 },
+ { 0, 190, 80 }, { 4, 186, 81 }, { 0, 195, 82 }, { 8, 186, 83 }, { 0, 199, 84 }, { 4, 195, 85 }, { 0, 203, 86 }, { 0, 207, 87 },
+ { 4, 203, 88 }, { 0, 211, 89 }, { 4, 207, 90 }, { 0, 215, 91 }, { 0, 219, 92 }, { 4, 215, 93 }, { 0, 223, 94 }, { 4, 219, 95 },
+ { 0, 227, 96 }, { 0, 231, 97 }, { 4, 227, 98 }, { 0, 235, 99 }, { 4, 231, 100 }, { 0, 239, 101 }, { 8, 231, 102 }, { 0, 243, 103 },
+ { 0, 247, 104 }, { 4, 243, 105 }, { 0, 251, 106 }, { 4, 247, 107 }, { 0, 255, 108 }, { 8, 247, 109 }, { 4, 255, 110 }, { 8, 251, 111 },
+ { 8, 255, 112 }, { 12, 251, 113 }, { 20, 243, 114 }, { 12, 255, 115 }, { 20, 247, 116 }, { 16, 255, 117 }, { 24, 247, 118 }, { 20, 255, 119 },
+ { 24, 251, 120 }, { 24, 255, 121 }, { 28, 251, 122 }, { 32, 247, 123 }, { 28, 255, 124 }, { 36, 247, 125 }, { 32, 255, 126 }, { 36, 251, 127 },
+ { 36, 255, 128 }, { 40, 251, 129 }, { 44, 247, 130 }, { 40, 255, 131 }, { 48, 247, 132 }, { 44, 255, 133 }, { 48, 251, 134 }, { 48, 255, 135 },
+ { 52, 251, 136 }, { 56, 247, 137 }, { 52, 255, 138 }, { 60, 247, 139 }, { 56, 255, 140 }, { 60, 251, 141 }, { 60, 255, 142 }, { 65, 251, 143 },
+ { 69, 247, 144 }, { 65, 255, 145 }, { 69, 251, 146 }, { 69, 255, 147 }, { 73, 251, 148 }, { 77, 247, 149 }, { 73, 255, 150 }, { 81, 247, 151 },
+ { 77, 255, 152 }, { 81, 251, 153 }, { 81, 255, 154 }, { 85, 251, 155 }, { 89, 247, 156 }, { 85, 255, 157 }, { 93, 247, 158 }, { 89, 255, 159 },
+ { 93, 251, 160 }, { 93, 255, 161 }, { 97, 251, 162 }, { 101, 247, 163 }, { 97, 255, 164 }, { 105, 247, 165 }, { 101, 255, 166 }, { 105, 251, 167 },
+ { 105, 255, 168 }, { 109, 251, 169 }, { 113, 247, 170 }, { 109, 255, 171 }, { 117, 247, 172 }, { 113, 255, 173 }, { 117, 251, 174 }, { 117, 255, 175 },
+ { 121, 251, 176 }, { 134, 235, 177 }, { 121, 255, 178 }, { 130, 247, 179 }, { 125, 255, 180 }, { 130, 251, 181 }, { 134, 247, 182 }, { 130, 255, 183 },
+ { 138, 247, 184 }, { 134, 255, 185 }, { 138, 251, 186 }, { 138, 255, 187 }, { 142, 251, 188 }, { 146, 247, 189 }, { 142, 255, 190 }, { 150, 247, 191 },
+ { 146, 255, 192 }, { 150, 251, 193 }, { 150, 255, 194 }, { 154, 251, 195 }, { 158, 247, 196 }, { 154, 255, 197 }, { 162, 247, 198 }, { 158, 255, 199 },
+ { 162, 251, 200 }, { 162, 255, 201 }, { 166, 251, 202 }, { 174, 243, 203 }, { 166, 255, 204 }, { 174, 247, 205 }, { 170, 255, 206 }, { 178, 247, 207 },
+ { 174, 255, 208 }, { 178, 251, 209 }, { 178, 255, 210 }, { 182, 251, 211 }, { 186, 247, 212 }, { 182, 255, 213 }, { 190, 247, 214 }, { 186, 255, 215 },
+ { 190, 251, 216 }, { 190, 255, 217 }, { 199, 243, 218 }, { 195, 251, 219 }, { 195, 255, 220 }, { 199, 251, 221 }, { 203, 247, 222 }, { 199, 255, 223 },
+ { 207, 247, 224 }, { 203, 255, 225 }, { 207, 251, 226 }, { 207, 255, 227 }, { 211, 251, 228 }, { 215, 247, 229 }, { 211, 255, 230 }, { 219, 247, 231 },
+ { 215, 255, 232 }, { 219, 251, 233 }, { 219, 255, 234 }, { 223, 251, 235 }, { 231, 243, 236 }, { 223, 255, 237 }, { 231, 247, 238 }, { 227, 255, 239 },
+ { 235, 247, 240 }, { 231, 255, 241 }, { 235, 251, 242 }, { 235, 255, 243 }, { 239, 251, 244 }, { 243, 247, 245 }, { 239, 255, 246 }, { 247, 247, 247 },
+ { 243, 255, 248 }, { 247, 251, 249 }, { 247, 255, 250 }, { 251, 251, 251 }, { 255, 247, 252 }, { 251, 255, 253 }, { 251, 255, 253 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode5_rgb_low=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 2, 1 }, { 0, 6, 2 }, { 0, 8, 3 }, { 0, 12, 4 }, { 0, 14, 5 }, { 0, 18, 6 }, { 0, 20, 7 },
+ { 0, 24, 8 }, { 0, 26, 9 }, { 0, 30, 10 }, { 0, 32, 11 }, { 0, 36, 12 }, { 0, 40, 13 }, { 0, 42, 14 }, { 0, 46, 15 },
+ { 0, 48, 16 }, { 0, 52, 17 }, { 0, 54, 18 }, { 0, 58, 19 }, { 0, 60, 20 }, { 0, 64, 21 }, { 0, 66, 22 }, { 0, 70, 23 },
+ { 0, 72, 24 }, { 0, 76, 25 }, { 0, 78, 26 }, { 0, 82, 27 }, { 0, 84, 28 }, { 0, 88, 29 }, { 0, 90, 30 }, { 0, 94, 31 },
+ { 0, 96, 32 }, { 0, 100, 33 }, { 0, 104, 34 }, { 0, 106, 35 }, { 0, 110, 36 }, { 0, 112, 37 }, { 0, 116, 38 }, { 0, 118, 39 },
+ { 0, 122, 40 }, { 0, 124, 41 }, { 0, 129, 42 }, { 0, 131, 43 }, { 0, 133, 44 }, { 0, 137, 45 }, { 0, 139, 46 }, { 0, 143, 47 },
+ { 0, 145, 48 }, { 0, 149, 49 }, { 0, 151, 50 }, { 0, 155, 51 }, { 0, 157, 52 }, { 0, 161, 53 }, { 0, 165, 54 }, { 0, 167, 55 },
+ { 0, 171, 56 }, { 0, 173, 57 }, { 0, 177, 58 }, { 0, 179, 59 }, { 0, 183, 60 }, { 0, 185, 61 }, { 0, 189, 62 }, { 0, 191, 63 },
+ { 0, 195, 64 }, { 0, 197, 65 }, { 0, 201, 66 }, { 0, 203, 67 }, { 0, 207, 68 }, { 0, 209, 69 }, { 0, 213, 70 }, { 0, 215, 71 },
+ { 0, 219, 72 }, { 0, 221, 73 }, { 0, 225, 74 }, { 0, 229, 75 }, { 0, 231, 76 }, { 0, 235, 77 }, { 0, 237, 78 }, { 0, 241, 79 },
+ { 0, 243, 80 }, { 0, 247, 81 }, { 0, 249, 82 }, { 0, 253, 83 }, { 0, 255, 84 }, { 2, 255, 85 }, { 4, 253, 86 }, { 6, 253, 87 },
+ { 6, 255, 88 }, { 8, 255, 89 }, { 10, 253, 90 }, { 12, 253, 91 }, { 12, 255, 92 }, { 14, 255, 93 }, { 16, 253, 94 }, { 18, 253, 95 },
+ { 18, 255, 96 }, { 20, 255, 97 }, { 22, 253, 98 }, { 24, 253, 99 }, { 24, 255, 100 }, { 26, 255, 101 }, { 28, 253, 102 }, { 30, 251, 103 },
+ { 30, 255, 104 }, { 32, 253, 105 }, { 34, 253, 106 }, { 34, 255, 107 }, { 36, 255, 108 }, { 38, 253, 109 }, { 40, 253, 110 }, { 40, 255, 111 },
+ { 42, 255, 112 }, { 44, 253, 113 }, { 46, 253, 114 }, { 46, 255, 115 }, { 48, 255, 116 }, { 50, 253, 117 }, { 52, 253, 118 }, { 52, 255, 119 },
+ { 54, 255, 120 }, { 56, 253, 121 }, { 58, 253, 122 }, { 58, 255, 123 }, { 60, 255, 124 }, { 62, 253, 125 }, { 64, 253, 126 }, { 64, 255, 127 },
+ { 66, 255, 128 }, { 68, 253, 129 }, { 70, 253, 130 }, { 70, 255, 131 }, { 72, 255, 132 }, { 74, 253, 133 }, { 76, 253, 134 }, { 76, 255, 135 },
+ { 78, 255, 136 }, { 80, 253, 137 }, { 82, 253, 138 }, { 82, 255, 139 }, { 84, 255, 140 }, { 86, 253, 141 }, { 88, 253, 142 }, { 88, 255, 143 },
+ { 90, 255, 144 }, { 92, 253, 145 }, { 94, 251, 146 }, { 94, 255, 147 }, { 96, 253, 148 }, { 98, 253, 149 }, { 98, 255, 150 }, { 100, 255, 151 },
+ { 102, 253, 152 }, { 104, 253, 153 }, { 104, 255, 154 }, { 106, 255, 155 }, { 108, 253, 156 }, { 110, 253, 157 }, { 110, 255, 158 }, { 112, 255, 159 },
+ { 114, 253, 160 }, { 116, 253, 161 }, { 116, 255, 162 }, { 118, 255, 163 }, { 120, 253, 164 }, { 122, 253, 165 }, { 122, 255, 166 }, { 124, 255, 167 },
+ { 126, 253, 168 }, { 129, 251, 169 }, { 129, 253, 170 }, { 131, 253, 171 }, { 131, 255, 172 }, { 133, 255, 173 }, { 135, 253, 174 }, { 137, 253, 175 },
+ { 137, 255, 176 }, { 139, 255, 177 }, { 141, 253, 178 }, { 143, 253, 179 }, { 143, 255, 180 }, { 145, 255, 181 }, { 147, 253, 182 }, { 149, 253, 183 },
+ { 149, 255, 184 }, { 151, 255, 185 }, { 153, 253, 186 }, { 155, 251, 187 }, { 155, 255, 188 }, { 157, 253, 189 }, { 159, 253, 190 }, { 159, 255, 191 },
+ { 161, 255, 192 }, { 163, 253, 193 }, { 165, 253, 194 }, { 165, 255, 195 }, { 167, 255, 196 }, { 169, 253, 197 }, { 171, 253, 198 }, { 171, 255, 199 },
+ { 173, 255, 200 }, { 175, 253, 201 }, { 177, 253, 202 }, { 177, 255, 203 }, { 179, 255, 204 }, { 181, 253, 205 }, { 183, 253, 206 }, { 183, 255, 207 },
+ { 185, 255, 208 }, { 187, 253, 209 }, { 189, 253, 210 }, { 189, 255, 211 }, { 191, 255, 212 }, { 193, 253, 213 }, { 195, 253, 214 }, { 195, 255, 215 },
+ { 197, 255, 216 }, { 199, 253, 217 }, { 201, 253, 218 }, { 201, 255, 219 }, { 203, 255, 220 }, { 205, 253, 221 }, { 207, 253, 222 }, { 207, 255, 223 },
+ { 209, 255, 224 }, { 211, 253, 225 }, { 213, 253, 226 }, { 213, 255, 227 }, { 215, 255, 228 }, { 217, 253, 229 }, { 219, 251, 230 }, { 219, 255, 231 },
+ { 221, 253, 232 }, { 223, 253, 233 }, { 223, 255, 234 }, { 225, 255, 235 }, { 227, 253, 236 }, { 229, 253, 237 }, { 229, 255, 238 }, { 231, 255, 239 },
+ { 233, 253, 240 }, { 235, 253, 241 }, { 235, 255, 242 }, { 237, 255, 243 }, { 239, 253, 244 }, { 241, 253, 245 }, { 241, 255, 246 }, { 243, 255, 247 },
+ { 245, 253, 248 }, { 247, 253, 249 }, { 247, 255, 250 }, { 249, 255, 251 }, { 251, 253, 252 }, { 253, 253, 253 }, { 253, 255, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode6_p0_i1=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 8, 1 }, { 0, 24, 2 }, { 0, 40, 3 }, { 0, 56, 4 }, { 0, 72, 5 }, { 0, 88, 6 }, { 0, 104, 7 },
+ { 0, 120, 8 }, { 0, 136, 9 }, { 0, 152, 10 }, { 0, 168, 11 }, { 0, 184, 12 }, { 0, 200, 13 }, { 0, 216, 14 }, { 0, 232, 15 },
+ { 0, 248, 16 }, { 2, 234, 17 }, { 2, 250, 18 }, { 4, 236, 19 }, { 4, 252, 20 }, { 6, 238, 21 }, { 6, 254, 22 }, { 8, 240, 23 },
+ { 10, 226, 24 }, { 10, 242, 25 }, { 12, 228, 26 }, { 12, 244, 27 }, { 14, 230, 28 }, { 14, 246, 29 }, { 16, 232, 30 }, { 16, 248, 31 },
+ { 18, 234, 32 }, { 18, 250, 33 }, { 20, 236, 34 }, { 20, 252, 35 }, { 22, 238, 36 }, { 22, 254, 37 }, { 24, 240, 38 }, { 26, 226, 39 },
+ { 26, 242, 40 }, { 28, 228, 41 }, { 28, 244, 42 }, { 30, 230, 43 }, { 30, 246, 44 }, { 32, 232, 45 }, { 32, 248, 46 }, { 34, 234, 47 },
+ { 34, 250, 48 }, { 36, 236, 49 }, { 36, 252, 50 }, { 38, 238, 51 }, { 38, 254, 52 }, { 40, 240, 53 }, { 42, 226, 54 }, { 42, 242, 55 },
+ { 44, 228, 56 }, { 44, 244, 57 }, { 46, 230, 58 }, { 46, 246, 59 }, { 48, 232, 60 }, { 48, 248, 61 }, { 50, 234, 62 }, { 50, 250, 63 },
+ { 52, 236, 64 }, { 52, 252, 65 }, { 54, 238, 66 }, { 54, 254, 67 }, { 56, 240, 68 }, { 58, 226, 69 }, { 58, 242, 70 }, { 60, 228, 71 },
+ { 60, 244, 72 }, { 62, 230, 73 }, { 62, 246, 74 }, { 64, 232, 75 }, { 64, 248, 76 }, { 66, 234, 77 }, { 66, 250, 78 }, { 68, 236, 79 },
+ { 68, 252, 80 }, { 70, 238, 81 }, { 70, 254, 82 }, { 72, 240, 83 }, { 74, 226, 84 }, { 74, 242, 85 }, { 76, 228, 86 }, { 76, 244, 87 },
+ { 78, 230, 88 }, { 78, 246, 89 }, { 80, 232, 90 }, { 80, 248, 91 }, { 82, 234, 92 }, { 82, 250, 93 }, { 84, 236, 94 }, { 84, 252, 95 },
+ { 86, 238, 96 }, { 86, 254, 97 }, { 88, 240, 98 }, { 90, 226, 99 }, { 90, 242, 100 }, { 92, 228, 101 }, { 92, 244, 102 }, { 94, 230, 103 },
+ { 94, 246, 104 }, { 96, 232, 105 }, { 96, 248, 106 }, { 98, 234, 107 }, { 98, 250, 108 }, { 100, 236, 109 }, { 100, 252, 110 }, { 102, 238, 111 },
+ { 102, 254, 112 }, { 104, 240, 113 }, { 106, 226, 114 }, { 106, 242, 115 }, { 108, 228, 116 }, { 108, 244, 117 }, { 110, 230, 118 }, { 110, 246, 119 },
+ { 112, 232, 120 }, { 112, 248, 121 }, { 114, 234, 122 }, { 114, 250, 123 }, { 116, 236, 124 }, { 116, 252, 125 }, { 118, 238, 126 }, { 118, 254, 127 },
+ { 120, 240, 128 }, { 122, 226, 129 }, { 122, 242, 130 }, { 124, 228, 131 }, { 124, 244, 132 }, { 126, 230, 133 }, { 126, 246, 134 }, { 128, 232, 135 },
+ { 128, 248, 136 }, { 130, 234, 137 }, { 130, 250, 138 }, { 132, 236, 139 }, { 132, 252, 140 }, { 134, 238, 141 }, { 134, 254, 142 }, { 136, 240, 143 },
+ { 138, 226, 144 }, { 138, 242, 145 }, { 140, 228, 146 }, { 140, 244, 147 }, { 142, 230, 148 }, { 142, 246, 149 }, { 144, 232, 150 }, { 144, 248, 151 },
+ { 146, 234, 152 }, { 146, 250, 153 }, { 148, 236, 154 }, { 148, 252, 155 }, { 150, 238, 156 }, { 150, 254, 157 }, { 152, 240, 158 }, { 154, 226, 159 },
+ { 154, 242, 160 }, { 156, 228, 161 }, { 156, 244, 162 }, { 158, 230, 163 }, { 158, 246, 164 }, { 160, 232, 165 }, { 160, 248, 166 }, { 162, 234, 167 },
+ { 162, 250, 168 }, { 164, 236, 169 }, { 164, 252, 170 }, { 166, 238, 171 }, { 166, 254, 172 }, { 168, 240, 173 }, { 170, 226, 174 }, { 170, 242, 175 },
+ { 172, 228, 176 }, { 172, 244, 177 }, { 174, 230, 178 }, { 174, 246, 179 }, { 176, 232, 180 }, { 176, 248, 181 }, { 178, 234, 182 }, { 178, 250, 183 },
+ { 180, 236, 184 }, { 180, 252, 185 }, { 182, 238, 186 }, { 182, 254, 187 }, { 184, 240, 188 }, { 186, 226, 189 }, { 186, 242, 190 }, { 188, 228, 191 },
+ { 188, 244, 192 }, { 190, 230, 193 }, { 190, 246, 194 }, { 192, 232, 195 }, { 192, 248, 196 }, { 194, 234, 197 }, { 194, 250, 198 }, { 196, 236, 199 },
+ { 196, 252, 200 }, { 198, 238, 201 }, { 198, 254, 202 }, { 200, 240, 203 }, { 202, 226, 204 }, { 202, 242, 205 }, { 204, 228, 206 }, { 204, 244, 207 },
+ { 206, 230, 208 }, { 206, 246, 209 }, { 208, 232, 210 }, { 208, 248, 211 }, { 210, 234, 212 }, { 210, 250, 213 }, { 212, 236, 214 }, { 212, 252, 215 },
+ { 214, 238, 216 }, { 214, 254, 217 }, { 216, 240, 218 }, { 218, 226, 219 }, { 218, 242, 220 }, { 220, 228, 221 }, { 220, 244, 222 }, { 222, 230, 223 },
+ { 222, 246, 224 }, { 224, 232, 225 }, { 224, 248, 226 }, { 226, 234, 227 }, { 226, 250, 228 }, { 228, 236, 229 }, { 228, 252, 230 }, { 230, 238, 231 },
+ { 230, 254, 232 }, { 232, 240, 233 }, { 234, 226, 234 }, { 234, 242, 235 }, { 236, 228, 236 }, { 236, 244, 237 }, { 238, 230, 238 }, { 238, 246, 239 },
+ { 240, 232, 240 }, { 240, 248, 241 }, { 242, 234, 242 }, { 242, 250, 243 }, { 244, 236, 244 }, { 244, 252, 245 }, { 246, 238, 246 }, { 246, 254, 247 },
+ { 248, 240, 248 }, { 250, 226, 249 }, { 250, 242, 250 }, { 252, 228, 251 }, { 252, 244, 252 }, { 254, 230, 253 }, { 254, 246, 254 }, { 254, 246, 254 },
+ }
+};
+
+Table g_mode6_p0_i2=
+{
+ 2,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 4, 1 }, { 0, 12, 2 }, { 0, 18, 3 }, { 0, 26, 4 }, { 0, 32, 5 }, { 0, 40, 6 }, { 0, 48, 7 },
+ { 0, 54, 8 }, { 0, 62, 9 }, { 0, 68, 10 }, { 0, 76, 11 }, { 0, 82, 12 }, { 0, 90, 13 }, { 0, 96, 14 }, { 0, 104, 15 },
+ { 0, 112, 16 }, { 0, 118, 17 }, { 0, 126, 18 }, { 0, 132, 19 }, { 0, 140, 20 }, { 0, 146, 21 }, { 0, 154, 22 }, { 0, 160, 23 },
+ { 0, 168, 24 }, { 0, 176, 25 }, { 0, 182, 26 }, { 0, 190, 27 }, { 0, 196, 28 }, { 0, 204, 29 }, { 0, 210, 30 }, { 0, 218, 31 },
+ { 0, 224, 32 }, { 0, 232, 33 }, { 0, 240, 34 }, { 0, 246, 35 }, { 0, 254, 36 }, { 2, 248, 37 }, { 4, 244, 38 }, { 4, 250, 39 },
+ { 6, 246, 40 }, { 6, 252, 41 }, { 8, 248, 42 }, { 8, 254, 43 }, { 10, 250, 44 }, { 12, 244, 45 }, { 12, 252, 46 }, { 14, 246, 47 },
+ { 14, 254, 48 }, { 16, 248, 49 }, { 18, 242, 50 }, { 18, 250, 51 }, { 20, 244, 52 }, { 20, 252, 53 }, { 22, 246, 54 }, { 22, 254, 55 },
+ { 24, 248, 56 }, { 26, 244, 57 }, { 26, 250, 58 }, { 28, 246, 59 }, { 28, 252, 60 }, { 30, 248, 61 }, { 30, 254, 62 }, { 32, 250, 63 },
+ { 34, 244, 64 }, { 34, 252, 65 }, { 36, 246, 66 }, { 36, 254, 67 }, { 38, 248, 68 }, { 40, 244, 69 }, { 40, 250, 70 }, { 42, 246, 71 },
+ { 42, 252, 72 }, { 44, 248, 73 }, { 44, 254, 74 }, { 46, 250, 75 }, { 48, 244, 76 }, { 48, 252, 77 }, { 50, 246, 78 }, { 50, 254, 79 },
+ { 52, 248, 80 }, { 54, 244, 81 }, { 54, 250, 82 }, { 56, 246, 83 }, { 56, 252, 84 }, { 58, 248, 85 }, { 58, 254, 86 }, { 60, 250, 87 },
+ { 62, 244, 88 }, { 62, 252, 89 }, { 64, 246, 90 }, { 64, 254, 91 }, { 66, 248, 92 }, { 68, 244, 93 }, { 68, 250, 94 }, { 70, 246, 95 },
+ { 70, 252, 96 }, { 72, 248, 97 }, { 72, 254, 98 }, { 74, 250, 99 }, { 76, 244, 100 }, { 76, 252, 101 }, { 78, 246, 102 }, { 78, 254, 103 },
+ { 80, 248, 104 }, { 82, 242, 105 }, { 82, 250, 106 }, { 84, 244, 107 }, { 84, 252, 108 }, { 86, 246, 109 }, { 86, 254, 110 }, { 88, 248, 111 },
+ { 90, 244, 112 }, { 90, 250, 113 }, { 92, 246, 114 }, { 92, 252, 115 }, { 94, 248, 116 }, { 94, 254, 117 }, { 96, 250, 118 }, { 98, 244, 119 },
+ { 98, 252, 120 }, { 100, 246, 121 }, { 100, 254, 122 }, { 102, 248, 123 }, { 104, 244, 124 }, { 104, 250, 125 }, { 106, 246, 126 }, { 106, 252, 127 },
+ { 108, 248, 128 }, { 108, 254, 129 }, { 110, 250, 130 }, { 112, 244, 131 }, { 112, 252, 132 }, { 114, 246, 133 }, { 114, 254, 134 }, { 116, 248, 135 },
+ { 118, 244, 136 }, { 118, 250, 137 }, { 120, 246, 138 }, { 120, 252, 139 }, { 122, 248, 140 }, { 122, 254, 141 }, { 124, 250, 142 }, { 126, 244, 143 },
+ { 126, 252, 144 }, { 128, 246, 145 }, { 128, 254, 146 }, { 130, 248, 147 }, { 132, 244, 148 }, { 132, 250, 149 }, { 134, 246, 150 }, { 134, 252, 151 },
+ { 136, 248, 152 }, { 136, 254, 153 }, { 138, 250, 154 }, { 140, 244, 155 }, { 140, 252, 156 }, { 142, 246, 157 }, { 142, 254, 158 }, { 144, 248, 159 },
+ { 146, 242, 160 }, { 146, 250, 161 }, { 148, 244, 162 }, { 148, 252, 163 }, { 150, 246, 164 }, { 150, 254, 165 }, { 152, 248, 166 }, { 154, 244, 167 },
+ { 154, 250, 168 }, { 156, 246, 169 }, { 156, 252, 170 }, { 158, 248, 171 }, { 158, 254, 172 }, { 160, 250, 173 }, { 162, 244, 174 }, { 162, 252, 175 },
+ { 164, 246, 176 }, { 164, 254, 177 }, { 166, 248, 178 }, { 168, 244, 179 }, { 168, 250, 180 }, { 170, 246, 181 }, { 170, 252, 182 }, { 172, 248, 183 },
+ { 172, 254, 184 }, { 174, 250, 185 }, { 176, 244, 186 }, { 176, 252, 187 }, { 178, 246, 188 }, { 178, 254, 189 }, { 180, 248, 190 }, { 182, 244, 191 },
+ { 182, 250, 192 }, { 184, 246, 193 }, { 184, 252, 194 }, { 186, 248, 195 }, { 186, 254, 196 }, { 188, 250, 197 }, { 190, 244, 198 }, { 190, 252, 199 },
+ { 192, 246, 200 }, { 192, 254, 201 }, { 194, 248, 202 }, { 196, 244, 203 }, { 196, 250, 204 }, { 198, 246, 205 }, { 198, 252, 206 }, { 200, 248, 207 },
+ { 200, 254, 208 }, { 202, 250, 209 }, { 204, 244, 210 }, { 204, 252, 211 }, { 206, 246, 212 }, { 206, 254, 213 }, { 208, 248, 214 }, { 210, 242, 215 },
+ { 210, 250, 216 }, { 212, 244, 217 }, { 212, 252, 218 }, { 214, 246, 219 }, { 214, 254, 220 }, { 216, 248, 221 }, { 218, 244, 222 }, { 218, 250, 223 },
+ { 220, 246, 224 }, { 220, 252, 225 }, { 222, 248, 226 }, { 222, 254, 227 }, { 224, 250, 228 }, { 226, 244, 229 }, { 226, 252, 230 }, { 228, 246, 231 },
+ { 228, 254, 232 }, { 230, 248, 233 }, { 232, 244, 234 }, { 232, 250, 235 }, { 234, 246, 236 }, { 234, 252, 237 }, { 236, 248, 238 }, { 236, 254, 239 },
+ { 238, 250, 240 }, { 240, 244, 241 }, { 240, 252, 242 }, { 242, 246, 243 }, { 242, 254, 244 }, { 244, 248, 245 }, { 246, 244, 246 }, { 246, 250, 247 },
+ { 248, 246, 248 }, { 248, 252, 249 }, { 250, 248, 250 }, { 250, 254, 251 }, { 252, 250, 252 }, { 254, 244, 253 }, { 254, 252, 254 }, { 254, 252, 254 },
+ }
+};
+
+Table g_mode6_p0_i3=
+{
+ 3,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 4, 1 }, { 0, 8, 2 }, { 0, 14, 3 }, { 0, 18, 4 }, { 0, 24, 5 }, { 0, 28, 6 }, { 0, 32, 7 },
+ { 0, 38, 8 }, { 0, 42, 9 }, { 0, 48, 10 }, { 0, 52, 11 }, { 0, 58, 12 }, { 0, 62, 13 }, { 0, 68, 14 }, { 0, 72, 15 },
+ { 0, 78, 16 }, { 0, 82, 17 }, { 0, 88, 18 }, { 0, 92, 19 }, { 0, 96, 20 }, { 0, 102, 21 }, { 0, 106, 22 }, { 0, 112, 23 },
+ { 0, 116, 24 }, { 0, 122, 25 }, { 0, 126, 26 }, { 0, 132, 27 }, { 0, 136, 28 }, { 0, 142, 29 }, { 0, 146, 30 }, { 0, 152, 31 },
+ { 0, 156, 32 }, { 0, 160, 33 }, { 0, 166, 34 }, { 0, 170, 35 }, { 0, 176, 36 }, { 0, 180, 37 }, { 0, 186, 38 }, { 0, 190, 39 },
+ { 0, 196, 40 }, { 0, 200, 41 }, { 0, 206, 42 }, { 0, 210, 43 }, { 0, 216, 44 }, { 0, 220, 45 }, { 0, 224, 46 }, { 0, 230, 47 },
+ { 0, 234, 48 }, { 0, 240, 49 }, { 0, 244, 50 }, { 0, 250, 51 }, { 0, 254, 52 }, { 2, 252, 53 }, { 4, 248, 54 }, { 4, 254, 55 },
+ { 6, 250, 56 }, { 8, 248, 57 }, { 8, 252, 58 }, { 10, 250, 59 }, { 10, 254, 60 }, { 12, 252, 61 }, { 14, 248, 62 }, { 14, 254, 63 },
+ { 16, 250, 64 }, { 18, 248, 65 }, { 18, 252, 66 }, { 20, 250, 67 }, { 20, 254, 68 }, { 22, 252, 69 }, { 24, 248, 70 }, { 24, 254, 71 },
+ { 26, 250, 72 }, { 28, 248, 73 }, { 28, 252, 74 }, { 30, 250, 75 }, { 30, 254, 76 }, { 32, 252, 77 }, { 34, 250, 78 }, { 34, 254, 79 },
+ { 36, 252, 80 }, { 38, 248, 81 }, { 38, 254, 82 }, { 40, 250, 83 }, { 42, 248, 84 }, { 42, 252, 85 }, { 44, 250, 86 }, { 44, 254, 87 },
+ { 46, 252, 88 }, { 48, 248, 89 }, { 48, 254, 90 }, { 50, 250, 91 }, { 52, 248, 92 }, { 52, 252, 93 }, { 54, 250, 94 }, { 54, 254, 95 },
+ { 56, 252, 96 }, { 58, 248, 97 }, { 58, 254, 98 }, { 60, 250, 99 }, { 62, 248, 100 }, { 62, 252, 101 }, { 64, 250, 102 }, { 64, 254, 103 },
+ { 66, 252, 104 }, { 68, 248, 105 }, { 68, 254, 106 }, { 70, 250, 107 }, { 72, 248, 108 }, { 72, 252, 109 }, { 74, 250, 110 }, { 74, 254, 111 },
+ { 76, 252, 112 }, { 78, 248, 113 }, { 78, 254, 114 }, { 80, 250, 115 }, { 82, 248, 116 }, { 82, 252, 117 }, { 84, 250, 118 }, { 84, 254, 119 },
+ { 86, 252, 120 }, { 88, 248, 121 }, { 88, 254, 122 }, { 90, 250, 123 }, { 92, 248, 124 }, { 92, 252, 125 }, { 94, 250, 126 }, { 94, 254, 127 },
+ { 96, 252, 128 }, { 98, 250, 129 }, { 98, 254, 130 }, { 100, 252, 131 }, { 102, 248, 132 }, { 102, 254, 133 }, { 104, 250, 134 }, { 106, 248, 135 },
+ { 106, 252, 136 }, { 108, 250, 137 }, { 108, 254, 138 }, { 110, 252, 139 }, { 112, 248, 140 }, { 112, 254, 141 }, { 114, 250, 142 }, { 116, 248, 143 },
+ { 116, 252, 144 }, { 118, 250, 145 }, { 118, 254, 146 }, { 120, 252, 147 }, { 122, 248, 148 }, { 122, 254, 149 }, { 124, 250, 150 }, { 126, 248, 151 },
+ { 126, 252, 152 }, { 128, 250, 153 }, { 128, 254, 154 }, { 130, 252, 155 }, { 132, 248, 156 }, { 132, 254, 157 }, { 134, 250, 158 }, { 136, 248, 159 },
+ { 136, 252, 160 }, { 138, 250, 161 }, { 138, 254, 162 }, { 140, 252, 163 }, { 142, 248, 164 }, { 142, 254, 165 }, { 144, 250, 166 }, { 146, 248, 167 },
+ { 146, 252, 168 }, { 148, 250, 169 }, { 148, 254, 170 }, { 150, 252, 171 }, { 152, 248, 172 }, { 152, 254, 173 }, { 154, 250, 174 }, { 156, 248, 175 },
+ { 156, 252, 176 }, { 158, 250, 177 }, { 158, 254, 178 }, { 160, 252, 179 }, { 162, 250, 180 }, { 162, 254, 181 }, { 164, 252, 182 }, { 166, 248, 183 },
+ { 166, 254, 184 }, { 168, 250, 185 }, { 170, 248, 186 }, { 170, 252, 187 }, { 172, 250, 188 }, { 172, 254, 189 }, { 174, 252, 190 }, { 176, 248, 191 },
+ { 176, 254, 192 }, { 178, 250, 193 }, { 180, 248, 194 }, { 180, 252, 195 }, { 182, 250, 196 }, { 182, 254, 197 }, { 184, 252, 198 }, { 186, 248, 199 },
+ { 186, 254, 200 }, { 188, 250, 201 }, { 190, 248, 202 }, { 190, 252, 203 }, { 192, 250, 204 }, { 192, 254, 205 }, { 194, 252, 206 }, { 196, 248, 207 },
+ { 196, 254, 208 }, { 198, 250, 209 }, { 200, 248, 210 }, { 200, 252, 211 }, { 202, 250, 212 }, { 202, 254, 213 }, { 204, 252, 214 }, { 206, 248, 215 },
+ { 206, 254, 216 }, { 208, 250, 217 }, { 210, 248, 218 }, { 210, 252, 219 }, { 212, 250, 220 }, { 212, 254, 221 }, { 214, 252, 222 }, { 216, 248, 223 },
+ { 216, 254, 224 }, { 218, 250, 225 }, { 220, 248, 226 }, { 220, 252, 227 }, { 222, 250, 228 }, { 222, 254, 229 }, { 224, 252, 230 }, { 226, 250, 231 },
+ { 226, 254, 232 }, { 228, 252, 233 }, { 230, 248, 234 }, { 230, 254, 235 }, { 232, 250, 236 }, { 234, 248, 237 }, { 234, 252, 238 }, { 236, 250, 239 },
+ { 236, 254, 240 }, { 238, 252, 241 }, { 240, 248, 242 }, { 240, 254, 243 }, { 242, 250, 244 }, { 244, 248, 245 }, { 244, 252, 246 }, { 246, 250, 247 },
+ { 246, 254, 248 }, { 248, 252, 249 }, { 250, 248, 250 }, { 250, 254, 251 }, { 252, 250, 252 }, { 254, 248, 253 }, { 254, 252, 254 }, { 254, 252, 254 },
+ }
+};
+
+Table g_mode6_p0_i4=
+{
+ 4,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 2, 1 }, { 0, 6, 2 }, { 0, 10, 3 }, { 0, 14, 4 }, { 0, 18, 5 }, { 0, 22, 6 }, { 0, 26, 7 },
+ { 0, 30, 8 }, { 0, 32, 9 }, { 0, 36, 10 }, { 0, 40, 11 }, { 0, 44, 12 }, { 0, 48, 13 }, { 0, 52, 14 }, { 0, 56, 15 },
+ { 0, 60, 16 }, { 0, 64, 17 }, { 0, 66, 18 }, { 0, 70, 19 }, { 0, 74, 20 }, { 0, 78, 21 }, { 0, 82, 22 }, { 0, 86, 23 },
+ { 0, 90, 24 }, { 0, 94, 25 }, { 0, 96, 26 }, { 0, 100, 27 }, { 0, 104, 28 }, { 0, 108, 29 }, { 0, 112, 30 }, { 0, 116, 31 },
+ { 0, 120, 32 }, { 0, 124, 33 }, { 0, 128, 34 }, { 0, 130, 35 }, { 0, 134, 36 }, { 0, 138, 37 }, { 0, 142, 38 }, { 0, 146, 39 },
+ { 0, 150, 40 }, { 0, 154, 41 }, { 0, 158, 42 }, { 0, 160, 43 }, { 0, 164, 44 }, { 0, 168, 45 }, { 0, 172, 46 }, { 0, 176, 47 },
+ { 0, 180, 48 }, { 0, 184, 49 }, { 0, 188, 50 }, { 0, 192, 51 }, { 0, 194, 52 }, { 0, 198, 53 }, { 0, 202, 54 }, { 0, 206, 55 },
+ { 0, 210, 56 }, { 0, 214, 57 }, { 0, 218, 58 }, { 0, 222, 59 }, { 0, 224, 60 }, { 0, 228, 61 }, { 0, 232, 62 }, { 0, 236, 63 },
+ { 0, 240, 64 }, { 0, 244, 65 }, { 0, 248, 66 }, { 0, 252, 67 }, { 2, 250, 68 }, { 2, 254, 69 }, { 4, 252, 70 }, { 6, 250, 71 },
+ { 6, 254, 72 }, { 8, 252, 73 }, { 10, 250, 74 }, { 10, 254, 75 }, { 12, 252, 76 }, { 14, 250, 77 }, { 14, 254, 78 }, { 16, 252, 79 },
+ { 18, 250, 80 }, { 18, 254, 81 }, { 20, 252, 82 }, { 22, 250, 83 }, { 22, 254, 84 }, { 24, 252, 85 }, { 26, 250, 86 }, { 26, 254, 87 },
+ { 28, 252, 88 }, { 30, 252, 89 }, { 30, 254, 90 }, { 32, 254, 91 }, { 34, 252, 92 }, { 36, 250, 93 }, { 36, 254, 94 }, { 38, 252, 95 },
+ { 40, 250, 96 }, { 40, 254, 97 }, { 42, 252, 98 }, { 44, 250, 99 }, { 44, 254, 100 }, { 46, 252, 101 }, { 48, 250, 102 }, { 48, 254, 103 },
+ { 50, 252, 104 }, { 52, 250, 105 }, { 52, 254, 106 }, { 54, 252, 107 }, { 56, 250, 108 }, { 56, 254, 109 }, { 58, 252, 110 }, { 60, 252, 111 },
+ { 60, 254, 112 }, { 62, 254, 113 }, { 64, 252, 114 }, { 66, 250, 115 }, { 66, 254, 116 }, { 68, 252, 117 }, { 70, 250, 118 }, { 70, 254, 119 },
+ { 72, 252, 120 }, { 74, 250, 121 }, { 74, 254, 122 }, { 76, 252, 123 }, { 78, 250, 124 }, { 78, 254, 125 }, { 80, 252, 126 }, { 82, 250, 127 },
+ { 82, 254, 128 }, { 84, 252, 129 }, { 86, 250, 130 }, { 86, 254, 131 }, { 88, 252, 132 }, { 90, 250, 133 }, { 90, 254, 134 }, { 92, 252, 135 },
+ { 94, 252, 136 }, { 94, 254, 137 }, { 96, 254, 138 }, { 98, 252, 139 }, { 100, 250, 140 }, { 100, 254, 141 }, { 102, 252, 142 }, { 104, 250, 143 },
+ { 104, 254, 144 }, { 106, 252, 145 }, { 108, 250, 146 }, { 108, 254, 147 }, { 110, 252, 148 }, { 112, 250, 149 }, { 112, 254, 150 }, { 114, 252, 151 },
+ { 116, 250, 152 }, { 116, 254, 153 }, { 118, 252, 154 }, { 120, 250, 155 }, { 120, 254, 156 }, { 122, 252, 157 }, { 124, 252, 158 }, { 124, 254, 159 },
+ { 126, 254, 160 }, { 128, 252, 161 }, { 130, 250, 162 }, { 130, 254, 163 }, { 132, 252, 164 }, { 134, 250, 165 }, { 134, 254, 166 }, { 136, 252, 167 },
+ { 138, 250, 168 }, { 138, 254, 169 }, { 140, 252, 170 }, { 142, 250, 171 }, { 142, 254, 172 }, { 144, 252, 173 }, { 146, 250, 174 }, { 146, 254, 175 },
+ { 148, 252, 176 }, { 150, 250, 177 }, { 150, 254, 178 }, { 152, 252, 179 }, { 154, 250, 180 }, { 154, 254, 181 }, { 156, 252, 182 }, { 158, 252, 183 },
+ { 158, 254, 184 }, { 160, 254, 185 }, { 162, 252, 186 }, { 164, 250, 187 }, { 164, 254, 188 }, { 166, 252, 189 }, { 168, 250, 190 }, { 168, 254, 191 },
+ { 170, 252, 192 }, { 172, 250, 193 }, { 172, 254, 194 }, { 174, 252, 195 }, { 176, 250, 196 }, { 176, 254, 197 }, { 178, 252, 198 }, { 180, 250, 199 },
+ { 180, 254, 200 }, { 182, 252, 201 }, { 184, 250, 202 }, { 184, 254, 203 }, { 186, 252, 204 }, { 188, 252, 205 }, { 188, 254, 206 }, { 190, 254, 207 },
+ { 192, 252, 208 }, { 194, 250, 209 }, { 194, 254, 210 }, { 196, 252, 211 }, { 198, 250, 212 }, { 198, 254, 213 }, { 200, 252, 214 }, { 202, 250, 215 },
+ { 202, 254, 216 }, { 204, 252, 217 }, { 206, 250, 218 }, { 206, 254, 219 }, { 208, 252, 220 }, { 210, 250, 221 }, { 210, 254, 222 }, { 212, 252, 223 },
+ { 214, 250, 224 }, { 214, 254, 225 }, { 216, 252, 226 }, { 218, 250, 227 }, { 218, 254, 228 }, { 220, 252, 229 }, { 222, 252, 230 }, { 222, 254, 231 },
+ { 224, 254, 232 }, { 226, 252, 233 }, { 228, 250, 234 }, { 228, 254, 235 }, { 230, 252, 236 }, { 232, 250, 237 }, { 232, 254, 238 }, { 234, 252, 239 },
+ { 236, 250, 240 }, { 236, 254, 241 }, { 238, 252, 242 }, { 240, 250, 243 }, { 240, 254, 244 }, { 242, 252, 245 }, { 244, 250, 246 }, { 244, 254, 247 },
+ { 246, 252, 248 }, { 248, 250, 249 }, { 248, 254, 250 }, { 250, 252, 251 }, { 252, 252, 252 }, { 252, 254, 253 }, { 254, 254, 254 }, { 254, 254, 254 },
+ }
+};
+
+Table g_mode6_p0_i5=
+{
+ 5,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 2, 1 }, { 0, 6, 2 }, { 0, 8, 3 }, { 0, 12, 4 }, { 0, 14, 5 }, { 0, 18, 6 }, { 0, 20, 7 },
+ { 0, 24, 8 }, { 0, 26, 9 }, { 0, 30, 10 }, { 0, 32, 11 }, { 0, 36, 12 }, { 0, 40, 13 }, { 0, 42, 14 }, { 0, 46, 15 },
+ { 0, 48, 16 }, { 0, 52, 17 }, { 0, 54, 18 }, { 0, 58, 19 }, { 0, 60, 20 }, { 0, 64, 21 }, { 0, 66, 22 }, { 0, 70, 23 },
+ { 0, 72, 24 }, { 0, 76, 25 }, { 0, 78, 26 }, { 0, 82, 27 }, { 0, 84, 28 }, { 0, 88, 29 }, { 0, 90, 30 }, { 0, 94, 31 },
+ { 0, 96, 32 }, { 0, 100, 33 }, { 0, 104, 34 }, { 0, 106, 35 }, { 0, 110, 36 }, { 0, 112, 37 }, { 0, 116, 38 }, { 0, 118, 39 },
+ { 0, 122, 40 }, { 0, 124, 41 }, { 0, 128, 42 }, { 0, 130, 43 }, { 0, 134, 44 }, { 0, 136, 45 }, { 0, 140, 46 }, { 0, 142, 47 },
+ { 0, 146, 48 }, { 0, 148, 49 }, { 0, 152, 50 }, { 0, 154, 51 }, { 0, 158, 52 }, { 0, 160, 53 }, { 0, 164, 54 }, { 0, 168, 55 },
+ { 0, 170, 56 }, { 0, 174, 57 }, { 0, 176, 58 }, { 0, 180, 59 }, { 0, 182, 60 }, { 0, 186, 61 }, { 0, 188, 62 }, { 0, 192, 63 },
+ { 0, 194, 64 }, { 0, 198, 65 }, { 0, 200, 66 }, { 0, 204, 67 }, { 0, 206, 68 }, { 0, 210, 69 }, { 0, 212, 70 }, { 0, 216, 71 },
+ { 0, 218, 72 }, { 0, 222, 73 }, { 0, 224, 74 }, { 0, 228, 75 }, { 0, 232, 76 }, { 0, 234, 77 }, { 0, 238, 78 }, { 0, 240, 79 },
+ { 0, 244, 80 }, { 0, 246, 81 }, { 0, 250, 82 }, { 0, 252, 83 }, { 2, 252, 84 }, { 2, 254, 85 }, { 4, 254, 86 }, { 6, 252, 87 },
+ { 8, 252, 88 }, { 8, 254, 89 }, { 10, 254, 90 }, { 12, 252, 91 }, { 14, 252, 92 }, { 14, 254, 93 }, { 16, 254, 94 }, { 18, 252, 95 },
+ { 20, 252, 96 }, { 20, 254, 97 }, { 22, 254, 98 }, { 24, 252, 99 }, { 26, 250, 100 }, { 26, 254, 101 }, { 28, 252, 102 }, { 30, 252, 103 },
+ { 30, 254, 104 }, { 32, 254, 105 }, { 34, 252, 106 }, { 36, 252, 107 }, { 36, 254, 108 }, { 38, 254, 109 }, { 40, 252, 110 }, { 42, 252, 111 },
+ { 42, 254, 112 }, { 44, 254, 113 }, { 46, 252, 114 }, { 48, 252, 115 }, { 48, 254, 116 }, { 50, 254, 117 }, { 52, 252, 118 }, { 54, 252, 119 },
+ { 54, 254, 120 }, { 56, 254, 121 }, { 58, 252, 122 }, { 60, 252, 123 }, { 60, 254, 124 }, { 62, 254, 125 }, { 64, 252, 126 }, { 66, 252, 127 },
+ { 66, 254, 128 }, { 68, 254, 129 }, { 70, 252, 130 }, { 72, 252, 131 }, { 72, 254, 132 }, { 74, 254, 133 }, { 76, 252, 134 }, { 78, 252, 135 },
+ { 78, 254, 136 }, { 80, 254, 137 }, { 82, 252, 138 }, { 84, 252, 139 }, { 84, 254, 140 }, { 86, 254, 141 }, { 88, 252, 142 }, { 90, 250, 143 },
+ { 90, 254, 144 }, { 92, 252, 145 }, { 94, 252, 146 }, { 94, 254, 147 }, { 96, 254, 148 }, { 98, 252, 149 }, { 100, 252, 150 }, { 100, 254, 151 },
+ { 102, 254, 152 }, { 104, 252, 153 }, { 106, 252, 154 }, { 106, 254, 155 }, { 108, 254, 156 }, { 110, 252, 157 }, { 112, 252, 158 }, { 112, 254, 159 },
+ { 114, 254, 160 }, { 116, 252, 161 }, { 118, 252, 162 }, { 118, 254, 163 }, { 120, 254, 164 }, { 122, 252, 165 }, { 124, 252, 166 }, { 124, 254, 167 },
+ { 126, 254, 168 }, { 128, 252, 169 }, { 130, 252, 170 }, { 130, 254, 171 }, { 132, 254, 172 }, { 134, 252, 173 }, { 136, 252, 174 }, { 136, 254, 175 },
+ { 138, 254, 176 }, { 140, 252, 177 }, { 142, 252, 178 }, { 142, 254, 179 }, { 144, 254, 180 }, { 146, 252, 181 }, { 148, 252, 182 }, { 148, 254, 183 },
+ { 150, 254, 184 }, { 152, 252, 185 }, { 154, 250, 186 }, { 154, 254, 187 }, { 156, 252, 188 }, { 158, 252, 189 }, { 158, 254, 190 }, { 160, 254, 191 },
+ { 162, 252, 192 }, { 164, 252, 193 }, { 164, 254, 194 }, { 166, 254, 195 }, { 168, 252, 196 }, { 170, 252, 197 }, { 170, 254, 198 }, { 172, 254, 199 },
+ { 174, 252, 200 }, { 176, 252, 201 }, { 176, 254, 202 }, { 178, 254, 203 }, { 180, 252, 204 }, { 182, 252, 205 }, { 182, 254, 206 }, { 184, 254, 207 },
+ { 186, 252, 208 }, { 188, 252, 209 }, { 188, 254, 210 }, { 190, 254, 211 }, { 192, 252, 212 }, { 194, 252, 213 }, { 194, 254, 214 }, { 196, 254, 215 },
+ { 198, 252, 216 }, { 200, 252, 217 }, { 200, 254, 218 }, { 202, 254, 219 }, { 204, 252, 220 }, { 206, 252, 221 }, { 206, 254, 222 }, { 208, 254, 223 },
+ { 210, 252, 224 }, { 212, 252, 225 }, { 212, 254, 226 }, { 214, 254, 227 }, { 216, 252, 228 }, { 218, 250, 229 }, { 218, 254, 230 }, { 220, 252, 231 },
+ { 222, 252, 232 }, { 222, 254, 233 }, { 224, 254, 234 }, { 226, 252, 235 }, { 228, 252, 236 }, { 228, 254, 237 }, { 230, 254, 238 }, { 232, 252, 239 },
+ { 234, 252, 240 }, { 234, 254, 241 }, { 236, 254, 242 }, { 238, 252, 243 }, { 240, 252, 244 }, { 240, 254, 245 }, { 242, 254, 246 }, { 244, 252, 247 },
+ { 246, 252, 248 }, { 246, 254, 249 }, { 248, 254, 250 }, { 250, 252, 251 }, { 252, 252, 252 }, { 252, 254, 253 }, { 254, 254, 254 }, { 254, 254, 254 },
+ }
+};
+
+Table g_mode6_p0_i6=
+{
+ 6,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 2, 1 }, { 0, 4, 2 }, { 0, 8, 3 }, { 0, 10, 4 }, { 0, 12, 5 }, { 0, 14, 6 }, { 0, 16, 7 },
+ { 0, 20, 8 }, { 0, 22, 9 }, { 0, 24, 10 }, { 0, 26, 11 }, { 0, 30, 12 }, { 0, 32, 13 }, { 0, 34, 14 }, { 0, 36, 15 },
+ { 0, 40, 16 }, { 0, 42, 17 }, { 0, 44, 18 }, { 0, 46, 19 }, { 0, 48, 20 }, { 0, 52, 21 }, { 0, 54, 22 }, { 0, 56, 23 },
+ { 0, 58, 24 }, { 0, 62, 25 }, { 0, 64, 26 }, { 0, 66, 27 }, { 0, 68, 28 }, { 0, 72, 29 }, { 0, 74, 30 }, { 0, 76, 31 },
+ { 0, 78, 32 }, { 0, 80, 33 }, { 0, 84, 34 }, { 0, 86, 35 }, { 0, 88, 36 }, { 0, 90, 37 }, { 0, 94, 38 }, { 0, 96, 39 },
+ { 0, 98, 40 }, { 0, 100, 41 }, { 0, 104, 42 }, { 0, 106, 43 }, { 0, 108, 44 }, { 0, 110, 45 }, { 0, 112, 46 }, { 0, 116, 47 },
+ { 0, 118, 48 }, { 0, 120, 49 }, { 0, 122, 50 }, { 0, 126, 51 }, { 0, 128, 52 }, { 0, 130, 53 }, { 0, 132, 54 }, { 0, 136, 55 },
+ { 0, 138, 56 }, { 0, 140, 57 }, { 0, 142, 58 }, { 0, 144, 59 }, { 0, 148, 60 }, { 0, 150, 61 }, { 0, 152, 62 }, { 0, 154, 63 },
+ { 0, 158, 64 }, { 0, 160, 65 }, { 0, 162, 66 }, { 0, 164, 67 }, { 0, 168, 68 }, { 0, 170, 69 }, { 0, 172, 70 }, { 0, 174, 71 },
+ { 0, 176, 72 }, { 0, 180, 73 }, { 0, 182, 74 }, { 0, 184, 75 }, { 0, 186, 76 }, { 0, 190, 77 }, { 0, 192, 78 }, { 0, 194, 79 },
+ { 0, 196, 80 }, { 0, 200, 81 }, { 0, 202, 82 }, { 0, 204, 83 }, { 0, 206, 84 }, { 0, 208, 85 }, { 0, 212, 86 }, { 0, 214, 87 },
+ { 0, 216, 88 }, { 0, 218, 89 }, { 0, 222, 90 }, { 0, 224, 91 }, { 0, 226, 92 }, { 0, 228, 93 }, { 0, 232, 94 }, { 0, 234, 95 },
+ { 0, 236, 96 }, { 0, 238, 97 }, { 0, 240, 98 }, { 0, 244, 99 }, { 0, 246, 100 }, { 0, 248, 101 }, { 0, 250, 102 }, { 0, 254, 103 },
+ { 2, 252, 104 }, { 4, 252, 105 }, { 4, 254, 106 }, { 6, 254, 107 }, { 8, 254, 108 }, { 10, 254, 109 }, { 12, 252, 110 }, { 14, 252, 111 },
+ { 14, 254, 112 }, { 16, 254, 113 }, { 18, 254, 114 }, { 20, 254, 115 }, { 22, 254, 116 }, { 24, 252, 117 }, { 26, 252, 118 }, { 26, 254, 119 },
+ { 28, 254, 120 }, { 30, 254, 121 }, { 32, 254, 122 }, { 34, 252, 123 }, { 36, 252, 124 }, { 36, 254, 125 }, { 38, 254, 126 }, { 40, 254, 127 },
+ { 42, 254, 128 }, { 44, 252, 129 }, { 46, 252, 130 }, { 46, 254, 131 }, { 48, 254, 132 }, { 50, 254, 133 }, { 52, 254, 134 }, { 54, 254, 135 },
+ { 56, 252, 136 }, { 58, 252, 137 }, { 58, 254, 138 }, { 60, 254, 139 }, { 62, 254, 140 }, { 64, 254, 141 }, { 66, 252, 142 }, { 68, 252, 143 },
+ { 68, 254, 144 }, { 70, 254, 145 }, { 72, 254, 146 }, { 74, 254, 147 }, { 76, 252, 148 }, { 78, 252, 149 }, { 78, 254, 150 }, { 80, 254, 151 },
+ { 82, 254, 152 }, { 84, 254, 153 }, { 86, 254, 154 }, { 88, 252, 155 }, { 90, 252, 156 }, { 90, 254, 157 }, { 92, 254, 158 }, { 94, 254, 159 },
+ { 96, 254, 160 }, { 98, 252, 161 }, { 100, 252, 162 }, { 100, 254, 163 }, { 102, 254, 164 }, { 104, 254, 165 }, { 106, 254, 166 }, { 108, 252, 167 },
+ { 110, 252, 168 }, { 110, 254, 169 }, { 112, 254, 170 }, { 114, 254, 171 }, { 116, 254, 172 }, { 118, 254, 173 }, { 120, 252, 174 }, { 122, 252, 175 },
+ { 122, 254, 176 }, { 124, 254, 177 }, { 126, 254, 178 }, { 128, 254, 179 }, { 130, 252, 180 }, { 132, 252, 181 }, { 132, 254, 182 }, { 134, 254, 183 },
+ { 136, 254, 184 }, { 138, 254, 185 }, { 140, 252, 186 }, { 142, 252, 187 }, { 142, 254, 188 }, { 144, 254, 189 }, { 146, 254, 190 }, { 148, 254, 191 },
+ { 150, 254, 192 }, { 152, 252, 193 }, { 154, 252, 194 }, { 154, 254, 195 }, { 156, 254, 196 }, { 158, 254, 197 }, { 160, 254, 198 }, { 162, 252, 199 },
+ { 164, 252, 200 }, { 164, 254, 201 }, { 166, 254, 202 }, { 168, 254, 203 }, { 170, 254, 204 }, { 172, 252, 205 }, { 174, 252, 206 }, { 174, 254, 207 },
+ { 176, 254, 208 }, { 178, 254, 209 }, { 180, 254, 210 }, { 182, 254, 211 }, { 184, 252, 212 }, { 186, 252, 213 }, { 186, 254, 214 }, { 188, 254, 215 },
+ { 190, 254, 216 }, { 192, 254, 217 }, { 194, 252, 218 }, { 196, 252, 219 }, { 196, 254, 220 }, { 198, 254, 221 }, { 200, 254, 222 }, { 202, 254, 223 },
+ { 204, 252, 224 }, { 206, 252, 225 }, { 206, 254, 226 }, { 208, 254, 227 }, { 210, 254, 228 }, { 212, 254, 229 }, { 214, 254, 230 }, { 216, 252, 231 },
+ { 218, 252, 232 }, { 218, 254, 233 }, { 220, 254, 234 }, { 222, 254, 235 }, { 224, 254, 236 }, { 226, 252, 237 }, { 228, 252, 238 }, { 228, 254, 239 },
+ { 230, 254, 240 }, { 232, 254, 241 }, { 234, 254, 242 }, { 236, 252, 243 }, { 238, 252, 244 }, { 238, 254, 245 }, { 240, 254, 246 }, { 242, 254, 247 },
+ { 244, 254, 248 }, { 246, 254, 249 }, { 248, 252, 250 }, { 250, 252, 251 }, { 250, 254, 252 }, { 252, 254, 253 }, { 254, 254, 254 }, { 254, 254, 254 },
+ }
+};
+
+Table g_mode6_p0_i7=
+{
+ 7,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 2, 1 }, { 0, 4, 2 }, { 0, 6, 3 }, { 0, 8, 4 }, { 0, 10, 5 }, { 0, 12, 6 }, { 0, 14, 7 },
+ { 0, 16, 8 }, { 0, 20, 9 }, { 0, 22, 10 }, { 0, 24, 11 }, { 0, 26, 12 }, { 0, 28, 13 }, { 0, 30, 14 }, { 0, 32, 15 },
+ { 0, 34, 16 }, { 0, 36, 17 }, { 0, 38, 18 }, { 0, 40, 19 }, { 0, 42, 20 }, { 0, 44, 21 }, { 0, 46, 22 }, { 0, 48, 23 },
+ { 0, 52, 24 }, { 0, 54, 25 }, { 0, 56, 26 }, { 0, 58, 27 }, { 0, 60, 28 }, { 0, 62, 29 }, { 0, 64, 30 }, { 0, 66, 31 },
+ { 0, 68, 32 }, { 0, 70, 33 }, { 0, 72, 34 }, { 0, 74, 35 }, { 0, 76, 36 }, { 0, 78, 37 }, { 0, 80, 38 }, { 0, 84, 39 },
+ { 0, 86, 40 }, { 0, 88, 41 }, { 0, 90, 42 }, { 0, 92, 43 }, { 0, 94, 44 }, { 0, 96, 45 }, { 0, 98, 46 }, { 0, 100, 47 },
+ { 0, 102, 48 }, { 0, 104, 49 }, { 0, 106, 50 }, { 0, 108, 51 }, { 0, 110, 52 }, { 0, 112, 53 }, { 0, 116, 54 }, { 0, 118, 55 },
+ { 0, 120, 56 }, { 0, 122, 57 }, { 0, 124, 58 }, { 0, 126, 59 }, { 0, 128, 60 }, { 0, 130, 61 }, { 0, 132, 62 }, { 0, 134, 63 },
+ { 0, 136, 64 }, { 0, 138, 65 }, { 0, 140, 66 }, { 0, 142, 67 }, { 0, 144, 68 }, { 0, 148, 69 }, { 0, 150, 70 }, { 0, 152, 71 },
+ { 0, 154, 72 }, { 0, 156, 73 }, { 0, 158, 74 }, { 0, 160, 75 }, { 0, 162, 76 }, { 0, 164, 77 }, { 0, 166, 78 }, { 0, 168, 79 },
+ { 0, 170, 80 }, { 0, 172, 81 }, { 0, 174, 82 }, { 0, 176, 83 }, { 0, 180, 84 }, { 0, 182, 85 }, { 0, 184, 86 }, { 0, 186, 87 },
+ { 0, 188, 88 }, { 0, 190, 89 }, { 0, 192, 90 }, { 0, 194, 91 }, { 0, 196, 92 }, { 0, 198, 93 }, { 0, 200, 94 }, { 0, 202, 95 },
+ { 0, 204, 96 }, { 0, 206, 97 }, { 0, 208, 98 }, { 0, 212, 99 }, { 0, 214, 100 }, { 0, 216, 101 }, { 0, 218, 102 }, { 0, 220, 103 },
+ { 0, 222, 104 }, { 0, 224, 105 }, { 0, 226, 106 }, { 0, 228, 107 }, { 0, 230, 108 }, { 0, 232, 109 }, { 0, 234, 110 }, { 0, 236, 111 },
+ { 0, 238, 112 }, { 0, 240, 113 }, { 0, 244, 114 }, { 0, 246, 115 }, { 0, 248, 116 }, { 0, 250, 117 }, { 0, 252, 118 }, { 0, 254, 119 },
+ { 2, 254, 120 }, { 4, 254, 121 }, { 6, 254, 122 }, { 8, 254, 123 }, { 10, 254, 124 }, { 12, 252, 125 }, { 14, 252, 126 }, { 14, 254, 127 },
+ { 16, 254, 128 }, { 18, 254, 129 }, { 20, 254, 130 }, { 22, 254, 131 }, { 24, 254, 132 }, { 26, 254, 133 }, { 28, 254, 134 }, { 30, 254, 135 },
+ { 32, 254, 136 }, { 34, 254, 137 }, { 36, 254, 138 }, { 38, 254, 139 }, { 40, 254, 140 }, { 42, 254, 141 }, { 44, 252, 142 }, { 46, 252, 143 },
+ { 46, 254, 144 }, { 48, 254, 145 }, { 50, 254, 146 }, { 52, 254, 147 }, { 54, 254, 148 }, { 56, 254, 149 }, { 58, 254, 150 }, { 60, 254, 151 },
+ { 62, 254, 152 }, { 64, 254, 153 }, { 66, 254, 154 }, { 68, 254, 155 }, { 70, 254, 156 }, { 72, 254, 157 }, { 74, 254, 158 }, { 76, 252, 159 },
+ { 78, 252, 160 }, { 78, 254, 161 }, { 80, 254, 162 }, { 82, 254, 163 }, { 84, 254, 164 }, { 86, 254, 165 }, { 88, 254, 166 }, { 90, 254, 167 },
+ { 92, 254, 168 }, { 94, 254, 169 }, { 96, 254, 170 }, { 98, 254, 171 }, { 100, 254, 172 }, { 102, 254, 173 }, { 104, 254, 174 }, { 106, 254, 175 },
+ { 108, 252, 176 }, { 110, 252, 177 }, { 110, 254, 178 }, { 112, 254, 179 }, { 114, 254, 180 }, { 116, 254, 181 }, { 118, 254, 182 }, { 120, 254, 183 },
+ { 122, 254, 184 }, { 124, 254, 185 }, { 126, 254, 186 }, { 128, 254, 187 }, { 130, 254, 188 }, { 132, 254, 189 }, { 134, 254, 190 }, { 136, 254, 191 },
+ { 138, 254, 192 }, { 140, 252, 193 }, { 142, 252, 194 }, { 142, 254, 195 }, { 144, 254, 196 }, { 146, 254, 197 }, { 148, 254, 198 }, { 150, 254, 199 },
+ { 152, 254, 200 }, { 154, 254, 201 }, { 156, 254, 202 }, { 158, 254, 203 }, { 160, 254, 204 }, { 162, 254, 205 }, { 164, 254, 206 }, { 166, 254, 207 },
+ { 168, 254, 208 }, { 170, 254, 209 }, { 172, 252, 210 }, { 174, 252, 211 }, { 174, 254, 212 }, { 176, 254, 213 }, { 178, 254, 214 }, { 180, 254, 215 },
+ { 182, 254, 216 }, { 184, 254, 217 }, { 186, 254, 218 }, { 188, 254, 219 }, { 190, 254, 220 }, { 192, 254, 221 }, { 194, 254, 222 }, { 196, 254, 223 },
+ { 198, 254, 224 }, { 200, 254, 225 }, { 202, 254, 226 }, { 204, 252, 227 }, { 206, 252, 228 }, { 206, 254, 229 }, { 208, 254, 230 }, { 210, 254, 231 },
+ { 212, 254, 232 }, { 214, 254, 233 }, { 216, 254, 234 }, { 218, 254, 235 }, { 220, 254, 236 }, { 222, 254, 237 }, { 224, 254, 238 }, { 226, 254, 239 },
+ { 228, 254, 240 }, { 230, 254, 241 }, { 232, 254, 242 }, { 234, 254, 243 }, { 236, 252, 244 }, { 238, 252, 245 }, { 238, 254, 246 }, { 240, 254, 247 },
+ { 242, 254, 248 }, { 244, 254, 249 }, { 246, 254, 250 }, { 248, 254, 251 }, { 250, 254, 252 }, { 252, 254, 253 }, { 254, 254, 254 }, { 254, 254, 254 },
+ }
+};
+
+Table g_mode6_p1_i1=
+{
+ 1,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 9, 2 }, { 1, 25, 3 }, { 1, 41, 4 }, { 1, 57, 5 }, { 1, 73, 6 }, { 1, 89, 7 },
+ { 1, 105, 8 }, { 1, 121, 9 }, { 1, 137, 10 }, { 1, 153, 11 }, { 1, 169, 12 }, { 1, 185, 13 }, { 1, 201, 14 }, { 1, 217, 15 },
+ { 1, 233, 16 }, { 1, 249, 17 }, { 3, 235, 18 }, { 3, 251, 19 }, { 5, 237, 20 }, { 5, 253, 21 }, { 7, 239, 22 }, { 7, 255, 23 },
+ { 9, 241, 24 }, { 11, 227, 25 }, { 11, 243, 26 }, { 13, 229, 27 }, { 13, 245, 28 }, { 15, 231, 29 }, { 15, 247, 30 }, { 17, 233, 31 },
+ { 17, 249, 32 }, { 19, 235, 33 }, { 19, 251, 34 }, { 21, 237, 35 }, { 21, 253, 36 }, { 23, 239, 37 }, { 23, 255, 38 }, { 25, 241, 39 },
+ { 27, 227, 40 }, { 27, 243, 41 }, { 29, 229, 42 }, { 29, 245, 43 }, { 31, 231, 44 }, { 31, 247, 45 }, { 33, 233, 46 }, { 33, 249, 47 },
+ { 35, 235, 48 }, { 35, 251, 49 }, { 37, 237, 50 }, { 37, 253, 51 }, { 39, 239, 52 }, { 39, 255, 53 }, { 41, 241, 54 }, { 43, 227, 55 },
+ { 43, 243, 56 }, { 45, 229, 57 }, { 45, 245, 58 }, { 47, 231, 59 }, { 47, 247, 60 }, { 49, 233, 61 }, { 49, 249, 62 }, { 51, 235, 63 },
+ { 51, 251, 64 }, { 53, 237, 65 }, { 53, 253, 66 }, { 55, 239, 67 }, { 55, 255, 68 }, { 57, 241, 69 }, { 59, 227, 70 }, { 59, 243, 71 },
+ { 61, 229, 72 }, { 61, 245, 73 }, { 63, 231, 74 }, { 63, 247, 75 }, { 65, 233, 76 }, { 65, 249, 77 }, { 67, 235, 78 }, { 67, 251, 79 },
+ { 69, 237, 80 }, { 69, 253, 81 }, { 71, 239, 82 }, { 71, 255, 83 }, { 73, 241, 84 }, { 75, 227, 85 }, { 75, 243, 86 }, { 77, 229, 87 },
+ { 77, 245, 88 }, { 79, 231, 89 }, { 79, 247, 90 }, { 81, 233, 91 }, { 81, 249, 92 }, { 83, 235, 93 }, { 83, 251, 94 }, { 85, 237, 95 },
+ { 85, 253, 96 }, { 87, 239, 97 }, { 87, 255, 98 }, { 89, 241, 99 }, { 91, 227, 100 }, { 91, 243, 101 }, { 93, 229, 102 }, { 93, 245, 103 },
+ { 95, 231, 104 }, { 95, 247, 105 }, { 97, 233, 106 }, { 97, 249, 107 }, { 99, 235, 108 }, { 99, 251, 109 }, { 101, 237, 110 }, { 101, 253, 111 },
+ { 103, 239, 112 }, { 103, 255, 113 }, { 105, 241, 114 }, { 107, 227, 115 }, { 107, 243, 116 }, { 109, 229, 117 }, { 109, 245, 118 }, { 111, 231, 119 },
+ { 111, 247, 120 }, { 113, 233, 121 }, { 113, 249, 122 }, { 115, 235, 123 }, { 115, 251, 124 }, { 117, 237, 125 }, { 117, 253, 126 }, { 119, 239, 127 },
+ { 119, 255, 128 }, { 121, 241, 129 }, { 123, 227, 130 }, { 123, 243, 131 }, { 125, 229, 132 }, { 125, 245, 133 }, { 127, 231, 134 }, { 127, 247, 135 },
+ { 129, 233, 136 }, { 129, 249, 137 }, { 131, 235, 138 }, { 131, 251, 139 }, { 133, 237, 140 }, { 133, 253, 141 }, { 135, 239, 142 }, { 135, 255, 143 },
+ { 137, 241, 144 }, { 139, 227, 145 }, { 139, 243, 146 }, { 141, 229, 147 }, { 141, 245, 148 }, { 143, 231, 149 }, { 143, 247, 150 }, { 145, 233, 151 },
+ { 145, 249, 152 }, { 147, 235, 153 }, { 147, 251, 154 }, { 149, 237, 155 }, { 149, 253, 156 }, { 151, 239, 157 }, { 151, 255, 158 }, { 153, 241, 159 },
+ { 155, 227, 160 }, { 155, 243, 161 }, { 157, 229, 162 }, { 157, 245, 163 }, { 159, 231, 164 }, { 159, 247, 165 }, { 161, 233, 166 }, { 161, 249, 167 },
+ { 163, 235, 168 }, { 163, 251, 169 }, { 165, 237, 170 }, { 165, 253, 171 }, { 167, 239, 172 }, { 167, 255, 173 }, { 169, 241, 174 }, { 171, 227, 175 },
+ { 171, 243, 176 }, { 173, 229, 177 }, { 173, 245, 178 }, { 175, 231, 179 }, { 175, 247, 180 }, { 177, 233, 181 }, { 177, 249, 182 }, { 179, 235, 183 },
+ { 179, 251, 184 }, { 181, 237, 185 }, { 181, 253, 186 }, { 183, 239, 187 }, { 183, 255, 188 }, { 185, 241, 189 }, { 187, 227, 190 }, { 187, 243, 191 },
+ { 189, 229, 192 }, { 189, 245, 193 }, { 191, 231, 194 }, { 191, 247, 195 }, { 193, 233, 196 }, { 193, 249, 197 }, { 195, 235, 198 }, { 195, 251, 199 },
+ { 197, 237, 200 }, { 197, 253, 201 }, { 199, 239, 202 }, { 199, 255, 203 }, { 201, 241, 204 }, { 203, 227, 205 }, { 203, 243, 206 }, { 205, 229, 207 },
+ { 205, 245, 208 }, { 207, 231, 209 }, { 207, 247, 210 }, { 209, 233, 211 }, { 209, 249, 212 }, { 211, 235, 213 }, { 211, 251, 214 }, { 213, 237, 215 },
+ { 213, 253, 216 }, { 215, 239, 217 }, { 215, 255, 218 }, { 217, 241, 219 }, { 219, 227, 220 }, { 219, 243, 221 }, { 221, 229, 222 }, { 221, 245, 223 },
+ { 223, 231, 224 }, { 223, 247, 225 }, { 225, 233, 226 }, { 225, 249, 227 }, { 227, 235, 228 }, { 227, 251, 229 }, { 229, 237, 230 }, { 229, 253, 231 },
+ { 231, 239, 232 }, { 231, 255, 233 }, { 233, 241, 234 }, { 235, 227, 235 }, { 235, 243, 236 }, { 237, 229, 237 }, { 237, 245, 238 }, { 239, 231, 239 },
+ { 239, 247, 240 }, { 241, 233, 241 }, { 241, 249, 242 }, { 243, 235, 243 }, { 243, 251, 244 }, { 245, 237, 245 }, { 245, 253, 246 }, { 247, 239, 247 },
+ { 247, 255, 248 }, { 249, 241, 249 }, { 251, 227, 250 }, { 251, 243, 251 }, { 253, 229, 252 }, { 253, 245, 253 }, { 255, 231, 254 }, { 255, 247, 255 },
+ }
+};
+
+Table g_mode6_p1_i2=
+{
+ 2,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 5, 2 }, { 1, 13, 3 }, { 1, 19, 4 }, { 1, 27, 5 }, { 1, 33, 6 }, { 1, 41, 7 },
+ { 1, 49, 8 }, { 1, 55, 9 }, { 1, 63, 10 }, { 1, 69, 11 }, { 1, 77, 12 }, { 1, 83, 13 }, { 1, 91, 14 }, { 1, 97, 15 },
+ { 1, 105, 16 }, { 1, 113, 17 }, { 1, 119, 18 }, { 1, 127, 19 }, { 1, 133, 20 }, { 1, 141, 21 }, { 1, 147, 22 }, { 1, 155, 23 },
+ { 1, 161, 24 }, { 1, 169, 25 }, { 1, 177, 26 }, { 1, 183, 27 }, { 1, 191, 28 }, { 1, 197, 29 }, { 1, 205, 30 }, { 1, 211, 31 },
+ { 1, 219, 32 }, { 1, 225, 33 }, { 1, 233, 34 }, { 1, 241, 35 }, { 1, 247, 36 }, { 1, 255, 37 }, { 3, 249, 38 }, { 5, 245, 39 },
+ { 5, 251, 40 }, { 7, 247, 41 }, { 7, 253, 42 }, { 9, 249, 43 }, { 9, 255, 44 }, { 11, 251, 45 }, { 13, 245, 46 }, { 13, 253, 47 },
+ { 15, 247, 48 }, { 15, 255, 49 }, { 17, 249, 50 }, { 19, 243, 51 }, { 19, 251, 52 }, { 21, 245, 53 }, { 21, 253, 54 }, { 23, 247, 55 },
+ { 23, 255, 56 }, { 25, 249, 57 }, { 27, 245, 58 }, { 27, 251, 59 }, { 29, 247, 60 }, { 29, 253, 61 }, { 31, 249, 62 }, { 31, 255, 63 },
+ { 33, 251, 64 }, { 35, 245, 65 }, { 35, 253, 66 }, { 37, 247, 67 }, { 37, 255, 68 }, { 39, 249, 69 }, { 41, 245, 70 }, { 41, 251, 71 },
+ { 43, 247, 72 }, { 43, 253, 73 }, { 45, 249, 74 }, { 45, 255, 75 }, { 47, 251, 76 }, { 49, 245, 77 }, { 49, 253, 78 }, { 51, 247, 79 },
+ { 51, 255, 80 }, { 53, 249, 81 }, { 55, 245, 82 }, { 55, 251, 83 }, { 57, 247, 84 }, { 57, 253, 85 }, { 59, 249, 86 }, { 59, 255, 87 },
+ { 61, 251, 88 }, { 63, 245, 89 }, { 63, 253, 90 }, { 65, 247, 91 }, { 65, 255, 92 }, { 67, 249, 93 }, { 69, 245, 94 }, { 69, 251, 95 },
+ { 71, 247, 96 }, { 71, 253, 97 }, { 73, 249, 98 }, { 73, 255, 99 }, { 75, 251, 100 }, { 77, 245, 101 }, { 77, 253, 102 }, { 79, 247, 103 },
+ { 79, 255, 104 }, { 81, 249, 105 }, { 83, 243, 106 }, { 83, 251, 107 }, { 85, 245, 108 }, { 85, 253, 109 }, { 87, 247, 110 }, { 87, 255, 111 },
+ { 89, 249, 112 }, { 91, 245, 113 }, { 91, 251, 114 }, { 93, 247, 115 }, { 93, 253, 116 }, { 95, 249, 117 }, { 95, 255, 118 }, { 97, 251, 119 },
+ { 99, 245, 120 }, { 99, 253, 121 }, { 101, 247, 122 }, { 101, 255, 123 }, { 103, 249, 124 }, { 105, 245, 125 }, { 105, 251, 126 }, { 107, 247, 127 },
+ { 107, 253, 128 }, { 109, 249, 129 }, { 109, 255, 130 }, { 111, 251, 131 }, { 113, 245, 132 }, { 113, 253, 133 }, { 115, 247, 134 }, { 115, 255, 135 },
+ { 117, 249, 136 }, { 119, 245, 137 }, { 119, 251, 138 }, { 121, 247, 139 }, { 121, 253, 140 }, { 123, 249, 141 }, { 123, 255, 142 }, { 125, 251, 143 },
+ { 127, 245, 144 }, { 127, 253, 145 }, { 129, 247, 146 }, { 129, 255, 147 }, { 131, 249, 148 }, { 133, 245, 149 }, { 133, 251, 150 }, { 135, 247, 151 },
+ { 135, 253, 152 }, { 137, 249, 153 }, { 137, 255, 154 }, { 139, 251, 155 }, { 141, 245, 156 }, { 141, 253, 157 }, { 143, 247, 158 }, { 143, 255, 159 },
+ { 145, 249, 160 }, { 147, 243, 161 }, { 147, 251, 162 }, { 149, 245, 163 }, { 149, 253, 164 }, { 151, 247, 165 }, { 151, 255, 166 }, { 153, 249, 167 },
+ { 155, 245, 168 }, { 155, 251, 169 }, { 157, 247, 170 }, { 157, 253, 171 }, { 159, 249, 172 }, { 159, 255, 173 }, { 161, 251, 174 }, { 163, 245, 175 },
+ { 163, 253, 176 }, { 165, 247, 177 }, { 165, 255, 178 }, { 167, 249, 179 }, { 169, 245, 180 }, { 169, 251, 181 }, { 171, 247, 182 }, { 171, 253, 183 },
+ { 173, 249, 184 }, { 173, 255, 185 }, { 175, 251, 186 }, { 177, 245, 187 }, { 177, 253, 188 }, { 179, 247, 189 }, { 179, 255, 190 }, { 181, 249, 191 },
+ { 183, 245, 192 }, { 183, 251, 193 }, { 185, 247, 194 }, { 185, 253, 195 }, { 187, 249, 196 }, { 187, 255, 197 }, { 189, 251, 198 }, { 191, 245, 199 },
+ { 191, 253, 200 }, { 193, 247, 201 }, { 193, 255, 202 }, { 195, 249, 203 }, { 197, 245, 204 }, { 197, 251, 205 }, { 199, 247, 206 }, { 199, 253, 207 },
+ { 201, 249, 208 }, { 201, 255, 209 }, { 203, 251, 210 }, { 205, 245, 211 }, { 205, 253, 212 }, { 207, 247, 213 }, { 207, 255, 214 }, { 209, 249, 215 },
+ { 211, 243, 216 }, { 211, 251, 217 }, { 213, 245, 218 }, { 213, 253, 219 }, { 215, 247, 220 }, { 215, 255, 221 }, { 217, 249, 222 }, { 219, 245, 223 },
+ { 219, 251, 224 }, { 221, 247, 225 }, { 221, 253, 226 }, { 223, 249, 227 }, { 223, 255, 228 }, { 225, 251, 229 }, { 227, 245, 230 }, { 227, 253, 231 },
+ { 229, 247, 232 }, { 229, 255, 233 }, { 231, 249, 234 }, { 233, 245, 235 }, { 233, 251, 236 }, { 235, 247, 237 }, { 235, 253, 238 }, { 237, 249, 239 },
+ { 237, 255, 240 }, { 239, 251, 241 }, { 241, 245, 242 }, { 241, 253, 243 }, { 243, 247, 244 }, { 243, 255, 245 }, { 245, 249, 246 }, { 247, 245, 247 },
+ { 247, 251, 248 }, { 249, 247, 249 }, { 249, 253, 250 }, { 251, 249, 251 }, { 251, 255, 252 }, { 253, 251, 253 }, { 255, 245, 254 }, { 255, 253, 255 },
+ }
+};
+
+Table g_mode6_p1_i3=
+{
+ 3,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 5, 2 }, { 1, 9, 3 }, { 1, 15, 4 }, { 1, 19, 5 }, { 1, 25, 6 }, { 1, 29, 7 },
+ { 1, 33, 8 }, { 1, 39, 9 }, { 1, 43, 10 }, { 1, 49, 11 }, { 1, 53, 12 }, { 1, 59, 13 }, { 1, 63, 14 }, { 1, 69, 15 },
+ { 1, 73, 16 }, { 1, 79, 17 }, { 1, 83, 18 }, { 1, 89, 19 }, { 1, 93, 20 }, { 1, 97, 21 }, { 1, 103, 22 }, { 1, 107, 23 },
+ { 1, 113, 24 }, { 1, 117, 25 }, { 1, 123, 26 }, { 1, 127, 27 }, { 1, 133, 28 }, { 1, 137, 29 }, { 1, 143, 30 }, { 1, 147, 31 },
+ { 1, 153, 32 }, { 1, 157, 33 }, { 1, 161, 34 }, { 1, 167, 35 }, { 1, 171, 36 }, { 1, 177, 37 }, { 1, 181, 38 }, { 1, 187, 39 },
+ { 1, 191, 40 }, { 1, 197, 41 }, { 1, 201, 42 }, { 1, 207, 43 }, { 1, 211, 44 }, { 1, 217, 45 }, { 1, 221, 46 }, { 1, 225, 47 },
+ { 1, 231, 48 }, { 1, 235, 49 }, { 1, 241, 50 }, { 1, 245, 51 }, { 1, 251, 52 }, { 1, 255, 53 }, { 3, 253, 54 }, { 5, 249, 55 },
+ { 5, 255, 56 }, { 7, 251, 57 }, { 9, 249, 58 }, { 9, 253, 59 }, { 11, 251, 60 }, { 11, 255, 61 }, { 13, 253, 62 }, { 15, 249, 63 },
+ { 15, 255, 64 }, { 17, 251, 65 }, { 19, 249, 66 }, { 19, 253, 67 }, { 21, 251, 68 }, { 21, 255, 69 }, { 23, 253, 70 }, { 25, 249, 71 },
+ { 25, 255, 72 }, { 27, 251, 73 }, { 29, 249, 74 }, { 29, 253, 75 }, { 31, 251, 76 }, { 31, 255, 77 }, { 33, 253, 78 }, { 35, 251, 79 },
+ { 35, 255, 80 }, { 37, 253, 81 }, { 39, 249, 82 }, { 39, 255, 83 }, { 41, 251, 84 }, { 43, 249, 85 }, { 43, 253, 86 }, { 45, 251, 87 },
+ { 45, 255, 88 }, { 47, 253, 89 }, { 49, 249, 90 }, { 49, 255, 91 }, { 51, 251, 92 }, { 53, 249, 93 }, { 53, 253, 94 }, { 55, 251, 95 },
+ { 55, 255, 96 }, { 57, 253, 97 }, { 59, 249, 98 }, { 59, 255, 99 }, { 61, 251, 100 }, { 63, 249, 101 }, { 63, 253, 102 }, { 65, 251, 103 },
+ { 65, 255, 104 }, { 67, 253, 105 }, { 69, 249, 106 }, { 69, 255, 107 }, { 71, 251, 108 }, { 73, 249, 109 }, { 73, 253, 110 }, { 75, 251, 111 },
+ { 75, 255, 112 }, { 77, 253, 113 }, { 79, 249, 114 }, { 79, 255, 115 }, { 81, 251, 116 }, { 83, 249, 117 }, { 83, 253, 118 }, { 85, 251, 119 },
+ { 85, 255, 120 }, { 87, 253, 121 }, { 89, 249, 122 }, { 89, 255, 123 }, { 91, 251, 124 }, { 93, 249, 125 }, { 93, 253, 126 }, { 95, 251, 127 },
+ { 95, 255, 128 }, { 97, 253, 129 }, { 99, 251, 130 }, { 99, 255, 131 }, { 101, 253, 132 }, { 103, 249, 133 }, { 103, 255, 134 }, { 105, 251, 135 },
+ { 107, 249, 136 }, { 107, 253, 137 }, { 109, 251, 138 }, { 109, 255, 139 }, { 111, 253, 140 }, { 113, 249, 141 }, { 113, 255, 142 }, { 115, 251, 143 },
+ { 117, 249, 144 }, { 117, 253, 145 }, { 119, 251, 146 }, { 119, 255, 147 }, { 121, 253, 148 }, { 123, 249, 149 }, { 123, 255, 150 }, { 125, 251, 151 },
+ { 127, 249, 152 }, { 127, 253, 153 }, { 129, 251, 154 }, { 129, 255, 155 }, { 131, 253, 156 }, { 133, 249, 157 }, { 133, 255, 158 }, { 135, 251, 159 },
+ { 137, 249, 160 }, { 137, 253, 161 }, { 139, 251, 162 }, { 139, 255, 163 }, { 141, 253, 164 }, { 143, 249, 165 }, { 143, 255, 166 }, { 145, 251, 167 },
+ { 147, 249, 168 }, { 147, 253, 169 }, { 149, 251, 170 }, { 149, 255, 171 }, { 151, 253, 172 }, { 153, 249, 173 }, { 153, 255, 174 }, { 155, 251, 175 },
+ { 157, 249, 176 }, { 157, 253, 177 }, { 159, 251, 178 }, { 159, 255, 179 }, { 161, 253, 180 }, { 163, 251, 181 }, { 163, 255, 182 }, { 165, 253, 183 },
+ { 167, 249, 184 }, { 167, 255, 185 }, { 169, 251, 186 }, { 171, 249, 187 }, { 171, 253, 188 }, { 173, 251, 189 }, { 173, 255, 190 }, { 175, 253, 191 },
+ { 177, 249, 192 }, { 177, 255, 193 }, { 179, 251, 194 }, { 181, 249, 195 }, { 181, 253, 196 }, { 183, 251, 197 }, { 183, 255, 198 }, { 185, 253, 199 },
+ { 187, 249, 200 }, { 187, 255, 201 }, { 189, 251, 202 }, { 191, 249, 203 }, { 191, 253, 204 }, { 193, 251, 205 }, { 193, 255, 206 }, { 195, 253, 207 },
+ { 197, 249, 208 }, { 197, 255, 209 }, { 199, 251, 210 }, { 201, 249, 211 }, { 201, 253, 212 }, { 203, 251, 213 }, { 203, 255, 214 }, { 205, 253, 215 },
+ { 207, 249, 216 }, { 207, 255, 217 }, { 209, 251, 218 }, { 211, 249, 219 }, { 211, 253, 220 }, { 213, 251, 221 }, { 213, 255, 222 }, { 215, 253, 223 },
+ { 217, 249, 224 }, { 217, 255, 225 }, { 219, 251, 226 }, { 221, 249, 227 }, { 221, 253, 228 }, { 223, 251, 229 }, { 223, 255, 230 }, { 225, 253, 231 },
+ { 227, 251, 232 }, { 227, 255, 233 }, { 229, 253, 234 }, { 231, 249, 235 }, { 231, 255, 236 }, { 233, 251, 237 }, { 235, 249, 238 }, { 235, 253, 239 },
+ { 237, 251, 240 }, { 237, 255, 241 }, { 239, 253, 242 }, { 241, 249, 243 }, { 241, 255, 244 }, { 243, 251, 245 }, { 245, 249, 246 }, { 245, 253, 247 },
+ { 247, 251, 248 }, { 247, 255, 249 }, { 249, 253, 250 }, { 251, 249, 251 }, { 251, 255, 252 }, { 253, 251, 253 }, { 255, 249, 254 }, { 255, 253, 255 },
+ }
+};
+
+Table g_mode6_p1_i4=
+{
+ 4,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 3, 2 }, { 1, 7, 3 }, { 1, 11, 4 }, { 1, 15, 5 }, { 1, 19, 6 }, { 1, 23, 7 },
+ { 1, 27, 8 }, { 1, 31, 9 }, { 1, 33, 10 }, { 1, 37, 11 }, { 1, 41, 12 }, { 1, 45, 13 }, { 1, 49, 14 }, { 1, 53, 15 },
+ { 1, 57, 16 }, { 1, 61, 17 }, { 1, 65, 18 }, { 1, 67, 19 }, { 1, 71, 20 }, { 1, 75, 21 }, { 1, 79, 22 }, { 1, 83, 23 },
+ { 1, 87, 24 }, { 1, 91, 25 }, { 1, 95, 26 }, { 1, 97, 27 }, { 1, 101, 28 }, { 1, 105, 29 }, { 1, 109, 30 }, { 1, 113, 31 },
+ { 1, 117, 32 }, { 1, 121, 33 }, { 1, 125, 34 }, { 1, 129, 35 }, { 1, 131, 36 }, { 1, 135, 37 }, { 1, 139, 38 }, { 1, 143, 39 },
+ { 1, 147, 40 }, { 1, 151, 41 }, { 1, 155, 42 }, { 1, 159, 43 }, { 1, 161, 44 }, { 1, 165, 45 }, { 1, 169, 46 }, { 1, 173, 47 },
+ { 1, 177, 48 }, { 1, 181, 49 }, { 1, 185, 50 }, { 1, 189, 51 }, { 1, 193, 52 }, { 1, 195, 53 }, { 1, 199, 54 }, { 1, 203, 55 },
+ { 1, 207, 56 }, { 1, 211, 57 }, { 1, 215, 58 }, { 1, 219, 59 }, { 1, 223, 60 }, { 1, 225, 61 }, { 1, 229, 62 }, { 1, 233, 63 },
+ { 1, 237, 64 }, { 1, 241, 65 }, { 1, 245, 66 }, { 1, 249, 67 }, { 1, 253, 68 }, { 3, 251, 69 }, { 3, 255, 70 }, { 5, 253, 71 },
+ { 7, 251, 72 }, { 7, 255, 73 }, { 9, 253, 74 }, { 11, 251, 75 }, { 11, 255, 76 }, { 13, 253, 77 }, { 15, 251, 78 }, { 15, 255, 79 },
+ { 17, 253, 80 }, { 19, 251, 81 }, { 19, 255, 82 }, { 21, 253, 83 }, { 23, 251, 84 }, { 23, 255, 85 }, { 25, 253, 86 }, { 27, 251, 87 },
+ { 27, 255, 88 }, { 29, 253, 89 }, { 31, 253, 90 }, { 31, 255, 91 }, { 33, 255, 92 }, { 35, 253, 93 }, { 37, 251, 94 }, { 37, 255, 95 },
+ { 39, 253, 96 }, { 41, 251, 97 }, { 41, 255, 98 }, { 43, 253, 99 }, { 45, 251, 100 }, { 45, 255, 101 }, { 47, 253, 102 }, { 49, 251, 103 },
+ { 49, 255, 104 }, { 51, 253, 105 }, { 53, 251, 106 }, { 53, 255, 107 }, { 55, 253, 108 }, { 57, 251, 109 }, { 57, 255, 110 }, { 59, 253, 111 },
+ { 61, 253, 112 }, { 61, 255, 113 }, { 63, 255, 114 }, { 65, 253, 115 }, { 67, 251, 116 }, { 67, 255, 117 }, { 69, 253, 118 }, { 71, 251, 119 },
+ { 71, 255, 120 }, { 73, 253, 121 }, { 75, 251, 122 }, { 75, 255, 123 }, { 77, 253, 124 }, { 79, 251, 125 }, { 79, 255, 126 }, { 81, 253, 127 },
+ { 83, 251, 128 }, { 83, 255, 129 }, { 85, 253, 130 }, { 87, 251, 131 }, { 87, 255, 132 }, { 89, 253, 133 }, { 91, 251, 134 }, { 91, 255, 135 },
+ { 93, 253, 136 }, { 95, 253, 137 }, { 95, 255, 138 }, { 97, 255, 139 }, { 99, 253, 140 }, { 101, 251, 141 }, { 101, 255, 142 }, { 103, 253, 143 },
+ { 105, 251, 144 }, { 105, 255, 145 }, { 107, 253, 146 }, { 109, 251, 147 }, { 109, 255, 148 }, { 111, 253, 149 }, { 113, 251, 150 }, { 113, 255, 151 },
+ { 115, 253, 152 }, { 117, 251, 153 }, { 117, 255, 154 }, { 119, 253, 155 }, { 121, 251, 156 }, { 121, 255, 157 }, { 123, 253, 158 }, { 125, 253, 159 },
+ { 125, 255, 160 }, { 127, 255, 161 }, { 129, 253, 162 }, { 131, 251, 163 }, { 131, 255, 164 }, { 133, 253, 165 }, { 135, 251, 166 }, { 135, 255, 167 },
+ { 137, 253, 168 }, { 139, 251, 169 }, { 139, 255, 170 }, { 141, 253, 171 }, { 143, 251, 172 }, { 143, 255, 173 }, { 145, 253, 174 }, { 147, 251, 175 },
+ { 147, 255, 176 }, { 149, 253, 177 }, { 151, 251, 178 }, { 151, 255, 179 }, { 153, 253, 180 }, { 155, 251, 181 }, { 155, 255, 182 }, { 157, 253, 183 },
+ { 159, 253, 184 }, { 159, 255, 185 }, { 161, 255, 186 }, { 163, 253, 187 }, { 165, 251, 188 }, { 165, 255, 189 }, { 167, 253, 190 }, { 169, 251, 191 },
+ { 169, 255, 192 }, { 171, 253, 193 }, { 173, 251, 194 }, { 173, 255, 195 }, { 175, 253, 196 }, { 177, 251, 197 }, { 177, 255, 198 }, { 179, 253, 199 },
+ { 181, 251, 200 }, { 181, 255, 201 }, { 183, 253, 202 }, { 185, 251, 203 }, { 185, 255, 204 }, { 187, 253, 205 }, { 189, 253, 206 }, { 189, 255, 207 },
+ { 191, 255, 208 }, { 193, 253, 209 }, { 195, 251, 210 }, { 195, 255, 211 }, { 197, 253, 212 }, { 199, 251, 213 }, { 199, 255, 214 }, { 201, 253, 215 },
+ { 203, 251, 216 }, { 203, 255, 217 }, { 205, 253, 218 }, { 207, 251, 219 }, { 207, 255, 220 }, { 209, 253, 221 }, { 211, 251, 222 }, { 211, 255, 223 },
+ { 213, 253, 224 }, { 215, 251, 225 }, { 215, 255, 226 }, { 217, 253, 227 }, { 219, 251, 228 }, { 219, 255, 229 }, { 221, 253, 230 }, { 223, 253, 231 },
+ { 223, 255, 232 }, { 225, 255, 233 }, { 227, 253, 234 }, { 229, 251, 235 }, { 229, 255, 236 }, { 231, 253, 237 }, { 233, 251, 238 }, { 233, 255, 239 },
+ { 235, 253, 240 }, { 237, 251, 241 }, { 237, 255, 242 }, { 239, 253, 243 }, { 241, 251, 244 }, { 241, 255, 245 }, { 243, 253, 246 }, { 245, 251, 247 },
+ { 245, 255, 248 }, { 247, 253, 249 }, { 249, 251, 250 }, { 249, 255, 251 }, { 251, 253, 252 }, { 253, 253, 253 }, { 253, 255, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode6_p1_i5=
+{
+ 5,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 3, 2 }, { 1, 7, 3 }, { 1, 9, 4 }, { 1, 13, 5 }, { 1, 15, 6 }, { 1, 19, 7 },
+ { 1, 21, 8 }, { 1, 25, 9 }, { 1, 27, 10 }, { 1, 31, 11 }, { 1, 33, 12 }, { 1, 37, 13 }, { 1, 41, 14 }, { 1, 43, 15 },
+ { 1, 47, 16 }, { 1, 49, 17 }, { 1, 53, 18 }, { 1, 55, 19 }, { 1, 59, 20 }, { 1, 61, 21 }, { 1, 65, 22 }, { 1, 67, 23 },
+ { 1, 71, 24 }, { 1, 73, 25 }, { 1, 77, 26 }, { 1, 79, 27 }, { 1, 83, 28 }, { 1, 85, 29 }, { 1, 89, 30 }, { 1, 91, 31 },
+ { 1, 95, 32 }, { 1, 97, 33 }, { 1, 101, 34 }, { 1, 105, 35 }, { 1, 107, 36 }, { 1, 111, 37 }, { 1, 113, 38 }, { 1, 117, 39 },
+ { 1, 119, 40 }, { 1, 123, 41 }, { 1, 125, 42 }, { 1, 129, 43 }, { 1, 131, 44 }, { 1, 135, 45 }, { 1, 137, 46 }, { 1, 141, 47 },
+ { 1, 143, 48 }, { 1, 147, 49 }, { 1, 149, 50 }, { 1, 153, 51 }, { 1, 155, 52 }, { 1, 159, 53 }, { 1, 161, 54 }, { 1, 165, 55 },
+ { 1, 169, 56 }, { 1, 171, 57 }, { 1, 175, 58 }, { 1, 177, 59 }, { 1, 181, 60 }, { 1, 183, 61 }, { 1, 187, 62 }, { 1, 189, 63 },
+ { 1, 193, 64 }, { 1, 195, 65 }, { 1, 199, 66 }, { 1, 201, 67 }, { 1, 205, 68 }, { 1, 207, 69 }, { 1, 211, 70 }, { 1, 213, 71 },
+ { 1, 217, 72 }, { 1, 219, 73 }, { 1, 223, 74 }, { 1, 225, 75 }, { 1, 229, 76 }, { 1, 233, 77 }, { 1, 235, 78 }, { 1, 239, 79 },
+ { 1, 241, 80 }, { 1, 245, 81 }, { 1, 247, 82 }, { 1, 251, 83 }, { 1, 253, 84 }, { 3, 253, 85 }, { 3, 255, 86 }, { 5, 255, 87 },
+ { 7, 253, 88 }, { 9, 253, 89 }, { 9, 255, 90 }, { 11, 255, 91 }, { 13, 253, 92 }, { 15, 253, 93 }, { 15, 255, 94 }, { 17, 255, 95 },
+ { 19, 253, 96 }, { 21, 253, 97 }, { 21, 255, 98 }, { 23, 255, 99 }, { 25, 253, 100 }, { 27, 251, 101 }, { 27, 255, 102 }, { 29, 253, 103 },
+ { 31, 253, 104 }, { 31, 255, 105 }, { 33, 255, 106 }, { 35, 253, 107 }, { 37, 253, 108 }, { 37, 255, 109 }, { 39, 255, 110 }, { 41, 253, 111 },
+ { 43, 253, 112 }, { 43, 255, 113 }, { 45, 255, 114 }, { 47, 253, 115 }, { 49, 253, 116 }, { 49, 255, 117 }, { 51, 255, 118 }, { 53, 253, 119 },
+ { 55, 253, 120 }, { 55, 255, 121 }, { 57, 255, 122 }, { 59, 253, 123 }, { 61, 253, 124 }, { 61, 255, 125 }, { 63, 255, 126 }, { 65, 253, 127 },
+ { 67, 253, 128 }, { 67, 255, 129 }, { 69, 255, 130 }, { 71, 253, 131 }, { 73, 253, 132 }, { 73, 255, 133 }, { 75, 255, 134 }, { 77, 253, 135 },
+ { 79, 253, 136 }, { 79, 255, 137 }, { 81, 255, 138 }, { 83, 253, 139 }, { 85, 253, 140 }, { 85, 255, 141 }, { 87, 255, 142 }, { 89, 253, 143 },
+ { 91, 251, 144 }, { 91, 255, 145 }, { 93, 253, 146 }, { 95, 253, 147 }, { 95, 255, 148 }, { 97, 255, 149 }, { 99, 253, 150 }, { 101, 253, 151 },
+ { 101, 255, 152 }, { 103, 255, 153 }, { 105, 253, 154 }, { 107, 253, 155 }, { 107, 255, 156 }, { 109, 255, 157 }, { 111, 253, 158 }, { 113, 253, 159 },
+ { 113, 255, 160 }, { 115, 255, 161 }, { 117, 253, 162 }, { 119, 253, 163 }, { 119, 255, 164 }, { 121, 255, 165 }, { 123, 253, 166 }, { 125, 253, 167 },
+ { 125, 255, 168 }, { 127, 255, 169 }, { 129, 253, 170 }, { 131, 253, 171 }, { 131, 255, 172 }, { 133, 255, 173 }, { 135, 253, 174 }, { 137, 253, 175 },
+ { 137, 255, 176 }, { 139, 255, 177 }, { 141, 253, 178 }, { 143, 253, 179 }, { 143, 255, 180 }, { 145, 255, 181 }, { 147, 253, 182 }, { 149, 253, 183 },
+ { 149, 255, 184 }, { 151, 255, 185 }, { 153, 253, 186 }, { 155, 251, 187 }, { 155, 255, 188 }, { 157, 253, 189 }, { 159, 253, 190 }, { 159, 255, 191 },
+ { 161, 255, 192 }, { 163, 253, 193 }, { 165, 253, 194 }, { 165, 255, 195 }, { 167, 255, 196 }, { 169, 253, 197 }, { 171, 253, 198 }, { 171, 255, 199 },
+ { 173, 255, 200 }, { 175, 253, 201 }, { 177, 253, 202 }, { 177, 255, 203 }, { 179, 255, 204 }, { 181, 253, 205 }, { 183, 253, 206 }, { 183, 255, 207 },
+ { 185, 255, 208 }, { 187, 253, 209 }, { 189, 253, 210 }, { 189, 255, 211 }, { 191, 255, 212 }, { 193, 253, 213 }, { 195, 253, 214 }, { 195, 255, 215 },
+ { 197, 255, 216 }, { 199, 253, 217 }, { 201, 253, 218 }, { 201, 255, 219 }, { 203, 255, 220 }, { 205, 253, 221 }, { 207, 253, 222 }, { 207, 255, 223 },
+ { 209, 255, 224 }, { 211, 253, 225 }, { 213, 253, 226 }, { 213, 255, 227 }, { 215, 255, 228 }, { 217, 253, 229 }, { 219, 251, 230 }, { 219, 255, 231 },
+ { 221, 253, 232 }, { 223, 253, 233 }, { 223, 255, 234 }, { 225, 255, 235 }, { 227, 253, 236 }, { 229, 253, 237 }, { 229, 255, 238 }, { 231, 255, 239 },
+ { 233, 253, 240 }, { 235, 253, 241 }, { 235, 255, 242 }, { 237, 255, 243 }, { 239, 253, 244 }, { 241, 253, 245 }, { 241, 255, 246 }, { 243, 255, 247 },
+ { 245, 253, 248 }, { 247, 253, 249 }, { 247, 255, 250 }, { 249, 255, 251 }, { 251, 253, 252 }, { 253, 253, 253 }, { 253, 255, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode6_p1_i6=
+{
+ 6,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 3, 2 }, { 1, 5, 3 }, { 1, 9, 4 }, { 1, 11, 5 }, { 1, 13, 6 }, { 1, 15, 7 },
+ { 1, 17, 8 }, { 1, 21, 9 }, { 1, 23, 10 }, { 1, 25, 11 }, { 1, 27, 12 }, { 1, 31, 13 }, { 1, 33, 14 }, { 1, 35, 15 },
+ { 1, 37, 16 }, { 1, 41, 17 }, { 1, 43, 18 }, { 1, 45, 19 }, { 1, 47, 20 }, { 1, 49, 21 }, { 1, 53, 22 }, { 1, 55, 23 },
+ { 1, 57, 24 }, { 1, 59, 25 }, { 1, 63, 26 }, { 1, 65, 27 }, { 1, 67, 28 }, { 1, 69, 29 }, { 1, 73, 30 }, { 1, 75, 31 },
+ { 1, 77, 32 }, { 1, 79, 33 }, { 1, 81, 34 }, { 1, 85, 35 }, { 1, 87, 36 }, { 1, 89, 37 }, { 1, 91, 38 }, { 1, 95, 39 },
+ { 1, 97, 40 }, { 1, 99, 41 }, { 1, 101, 42 }, { 1, 105, 43 }, { 1, 107, 44 }, { 1, 109, 45 }, { 1, 111, 46 }, { 1, 113, 47 },
+ { 1, 117, 48 }, { 1, 119, 49 }, { 1, 121, 50 }, { 1, 123, 51 }, { 1, 127, 52 }, { 1, 129, 53 }, { 1, 131, 54 }, { 1, 133, 55 },
+ { 1, 137, 56 }, { 1, 139, 57 }, { 1, 141, 58 }, { 1, 143, 59 }, { 1, 145, 60 }, { 1, 149, 61 }, { 1, 151, 62 }, { 1, 153, 63 },
+ { 1, 155, 64 }, { 1, 159, 65 }, { 1, 161, 66 }, { 1, 163, 67 }, { 1, 165, 68 }, { 1, 169, 69 }, { 1, 171, 70 }, { 1, 173, 71 },
+ { 1, 175, 72 }, { 1, 177, 73 }, { 1, 181, 74 }, { 1, 183, 75 }, { 1, 185, 76 }, { 1, 187, 77 }, { 1, 191, 78 }, { 1, 193, 79 },
+ { 1, 195, 80 }, { 1, 197, 81 }, { 1, 201, 82 }, { 1, 203, 83 }, { 1, 205, 84 }, { 1, 207, 85 }, { 1, 209, 86 }, { 1, 213, 87 },
+ { 1, 215, 88 }, { 1, 217, 89 }, { 1, 219, 90 }, { 1, 223, 91 }, { 1, 225, 92 }, { 1, 227, 93 }, { 1, 229, 94 }, { 1, 233, 95 },
+ { 1, 235, 96 }, { 1, 237, 97 }, { 1, 239, 98 }, { 1, 241, 99 }, { 1, 245, 100 }, { 1, 247, 101 }, { 1, 249, 102 }, { 1, 251, 103 },
+ { 1, 255, 104 }, { 3, 253, 105 }, { 5, 253, 106 }, { 5, 255, 107 }, { 7, 255, 108 }, { 9, 255, 109 }, { 11, 255, 110 }, { 13, 253, 111 },
+ { 15, 253, 112 }, { 15, 255, 113 }, { 17, 255, 114 }, { 19, 255, 115 }, { 21, 255, 116 }, { 23, 255, 117 }, { 25, 253, 118 }, { 27, 253, 119 },
+ { 27, 255, 120 }, { 29, 255, 121 }, { 31, 255, 122 }, { 33, 255, 123 }, { 35, 253, 124 }, { 37, 253, 125 }, { 37, 255, 126 }, { 39, 255, 127 },
+ { 41, 255, 128 }, { 43, 255, 129 }, { 45, 253, 130 }, { 47, 253, 131 }, { 47, 255, 132 }, { 49, 255, 133 }, { 51, 255, 134 }, { 53, 255, 135 },
+ { 55, 255, 136 }, { 57, 253, 137 }, { 59, 253, 138 }, { 59, 255, 139 }, { 61, 255, 140 }, { 63, 255, 141 }, { 65, 255, 142 }, { 67, 253, 143 },
+ { 69, 253, 144 }, { 69, 255, 145 }, { 71, 255, 146 }, { 73, 255, 147 }, { 75, 255, 148 }, { 77, 253, 149 }, { 79, 253, 150 }, { 79, 255, 151 },
+ { 81, 255, 152 }, { 83, 255, 153 }, { 85, 255, 154 }, { 87, 255, 155 }, { 89, 253, 156 }, { 91, 253, 157 }, { 91, 255, 158 }, { 93, 255, 159 },
+ { 95, 255, 160 }, { 97, 255, 161 }, { 99, 253, 162 }, { 101, 253, 163 }, { 101, 255, 164 }, { 103, 255, 165 }, { 105, 255, 166 }, { 107, 255, 167 },
+ { 109, 253, 168 }, { 111, 253, 169 }, { 111, 255, 170 }, { 113, 255, 171 }, { 115, 255, 172 }, { 117, 255, 173 }, { 119, 255, 174 }, { 121, 253, 175 },
+ { 123, 253, 176 }, { 123, 255, 177 }, { 125, 255, 178 }, { 127, 255, 179 }, { 129, 255, 180 }, { 131, 253, 181 }, { 133, 253, 182 }, { 133, 255, 183 },
+ { 135, 255, 184 }, { 137, 255, 185 }, { 139, 255, 186 }, { 141, 253, 187 }, { 143, 253, 188 }, { 143, 255, 189 }, { 145, 255, 190 }, { 147, 255, 191 },
+ { 149, 255, 192 }, { 151, 255, 193 }, { 153, 253, 194 }, { 155, 253, 195 }, { 155, 255, 196 }, { 157, 255, 197 }, { 159, 255, 198 }, { 161, 255, 199 },
+ { 163, 253, 200 }, { 165, 253, 201 }, { 165, 255, 202 }, { 167, 255, 203 }, { 169, 255, 204 }, { 171, 255, 205 }, { 173, 253, 206 }, { 175, 253, 207 },
+ { 175, 255, 208 }, { 177, 255, 209 }, { 179, 255, 210 }, { 181, 255, 211 }, { 183, 255, 212 }, { 185, 253, 213 }, { 187, 253, 214 }, { 187, 255, 215 },
+ { 189, 255, 216 }, { 191, 255, 217 }, { 193, 255, 218 }, { 195, 253, 219 }, { 197, 253, 220 }, { 197, 255, 221 }, { 199, 255, 222 }, { 201, 255, 223 },
+ { 203, 255, 224 }, { 205, 253, 225 }, { 207, 253, 226 }, { 207, 255, 227 }, { 209, 255, 228 }, { 211, 255, 229 }, { 213, 255, 230 }, { 215, 255, 231 },
+ { 217, 253, 232 }, { 219, 253, 233 }, { 219, 255, 234 }, { 221, 255, 235 }, { 223, 255, 236 }, { 225, 255, 237 }, { 227, 253, 238 }, { 229, 253, 239 },
+ { 229, 255, 240 }, { 231, 255, 241 }, { 233, 255, 242 }, { 235, 255, 243 }, { 237, 253, 244 }, { 239, 253, 245 }, { 239, 255, 246 }, { 241, 255, 247 },
+ { 243, 255, 248 }, { 245, 255, 249 }, { 247, 255, 250 }, { 249, 253, 251 }, { 251, 253, 252 }, { 251, 255, 253 }, { 253, 255, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode6_p1_i7=
+{
+ 7,
+ 1,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 3, 2 }, { 1, 5, 3 }, { 1, 7, 4 }, { 1, 9, 5 }, { 1, 11, 6 }, { 1, 13, 7 },
+ { 1, 15, 8 }, { 1, 17, 9 }, { 1, 21, 10 }, { 1, 23, 11 }, { 1, 25, 12 }, { 1, 27, 13 }, { 1, 29, 14 }, { 1, 31, 15 },
+ { 1, 33, 16 }, { 1, 35, 17 }, { 1, 37, 18 }, { 1, 39, 19 }, { 1, 41, 20 }, { 1, 43, 21 }, { 1, 45, 22 }, { 1, 47, 23 },
+ { 1, 49, 24 }, { 1, 53, 25 }, { 1, 55, 26 }, { 1, 57, 27 }, { 1, 59, 28 }, { 1, 61, 29 }, { 1, 63, 30 }, { 1, 65, 31 },
+ { 1, 67, 32 }, { 1, 69, 33 }, { 1, 71, 34 }, { 1, 73, 35 }, { 1, 75, 36 }, { 1, 77, 37 }, { 1, 79, 38 }, { 1, 81, 39 },
+ { 1, 85, 40 }, { 1, 87, 41 }, { 1, 89, 42 }, { 1, 91, 43 }, { 1, 93, 44 }, { 1, 95, 45 }, { 1, 97, 46 }, { 1, 99, 47 },
+ { 1, 101, 48 }, { 1, 103, 49 }, { 1, 105, 50 }, { 1, 107, 51 }, { 1, 109, 52 }, { 1, 111, 53 }, { 1, 113, 54 }, { 1, 117, 55 },
+ { 1, 119, 56 }, { 1, 121, 57 }, { 1, 123, 58 }, { 1, 125, 59 }, { 1, 127, 60 }, { 1, 129, 61 }, { 1, 131, 62 }, { 1, 133, 63 },
+ { 1, 135, 64 }, { 1, 137, 65 }, { 1, 139, 66 }, { 1, 141, 67 }, { 1, 143, 68 }, { 1, 145, 69 }, { 1, 149, 70 }, { 1, 151, 71 },
+ { 1, 153, 72 }, { 1, 155, 73 }, { 1, 157, 74 }, { 1, 159, 75 }, { 1, 161, 76 }, { 1, 163, 77 }, { 1, 165, 78 }, { 1, 167, 79 },
+ { 1, 169, 80 }, { 1, 171, 81 }, { 1, 173, 82 }, { 1, 175, 83 }, { 1, 177, 84 }, { 1, 181, 85 }, { 1, 183, 86 }, { 1, 185, 87 },
+ { 1, 187, 88 }, { 1, 189, 89 }, { 1, 191, 90 }, { 1, 193, 91 }, { 1, 195, 92 }, { 1, 197, 93 }, { 1, 199, 94 }, { 1, 201, 95 },
+ { 1, 203, 96 }, { 1, 205, 97 }, { 1, 207, 98 }, { 1, 209, 99 }, { 1, 213, 100 }, { 1, 215, 101 }, { 1, 217, 102 }, { 1, 219, 103 },
+ { 1, 221, 104 }, { 1, 223, 105 }, { 1, 225, 106 }, { 1, 227, 107 }, { 1, 229, 108 }, { 1, 231, 109 }, { 1, 233, 110 }, { 1, 235, 111 },
+ { 1, 237, 112 }, { 1, 239, 113 }, { 1, 241, 114 }, { 1, 245, 115 }, { 1, 247, 116 }, { 1, 249, 117 }, { 1, 251, 118 }, { 1, 253, 119 },
+ { 1, 255, 120 }, { 3, 255, 121 }, { 5, 255, 122 }, { 7, 255, 123 }, { 9, 255, 124 }, { 11, 255, 125 }, { 13, 253, 126 }, { 15, 253, 127 },
+ { 15, 255, 128 }, { 17, 255, 129 }, { 19, 255, 130 }, { 21, 255, 131 }, { 23, 255, 132 }, { 25, 255, 133 }, { 27, 255, 134 }, { 29, 255, 135 },
+ { 31, 255, 136 }, { 33, 255, 137 }, { 35, 255, 138 }, { 37, 255, 139 }, { 39, 255, 140 }, { 41, 255, 141 }, { 43, 255, 142 }, { 45, 253, 143 },
+ { 47, 253, 144 }, { 47, 255, 145 }, { 49, 255, 146 }, { 51, 255, 147 }, { 53, 255, 148 }, { 55, 255, 149 }, { 57, 255, 150 }, { 59, 255, 151 },
+ { 61, 255, 152 }, { 63, 255, 153 }, { 65, 255, 154 }, { 67, 255, 155 }, { 69, 255, 156 }, { 71, 255, 157 }, { 73, 255, 158 }, { 75, 255, 159 },
+ { 77, 253, 160 }, { 79, 253, 161 }, { 79, 255, 162 }, { 81, 255, 163 }, { 83, 255, 164 }, { 85, 255, 165 }, { 87, 255, 166 }, { 89, 255, 167 },
+ { 91, 255, 168 }, { 93, 255, 169 }, { 95, 255, 170 }, { 97, 255, 171 }, { 99, 255, 172 }, { 101, 255, 173 }, { 103, 255, 174 }, { 105, 255, 175 },
+ { 107, 255, 176 }, { 109, 253, 177 }, { 111, 253, 178 }, { 111, 255, 179 }, { 113, 255, 180 }, { 115, 255, 181 }, { 117, 255, 182 }, { 119, 255, 183 },
+ { 121, 255, 184 }, { 123, 255, 185 }, { 125, 255, 186 }, { 127, 255, 187 }, { 129, 255, 188 }, { 131, 255, 189 }, { 133, 255, 190 }, { 135, 255, 191 },
+ { 137, 255, 192 }, { 139, 255, 193 }, { 141, 253, 194 }, { 143, 253, 195 }, { 143, 255, 196 }, { 145, 255, 197 }, { 147, 255, 198 }, { 149, 255, 199 },
+ { 151, 255, 200 }, { 153, 255, 201 }, { 155, 255, 202 }, { 157, 255, 203 }, { 159, 255, 204 }, { 161, 255, 205 }, { 163, 255, 206 }, { 165, 255, 207 },
+ { 167, 255, 208 }, { 169, 255, 209 }, { 171, 255, 210 }, { 173, 253, 211 }, { 175, 253, 212 }, { 175, 255, 213 }, { 177, 255, 214 }, { 179, 255, 215 },
+ { 181, 255, 216 }, { 183, 255, 217 }, { 185, 255, 218 }, { 187, 255, 219 }, { 189, 255, 220 }, { 191, 255, 221 }, { 193, 255, 222 }, { 195, 255, 223 },
+ { 197, 255, 224 }, { 199, 255, 225 }, { 201, 255, 226 }, { 203, 255, 227 }, { 205, 253, 228 }, { 207, 253, 229 }, { 207, 255, 230 }, { 209, 255, 231 },
+ { 211, 255, 232 }, { 213, 255, 233 }, { 215, 255, 234 }, { 217, 255, 235 }, { 219, 255, 236 }, { 221, 255, 237 }, { 223, 255, 238 }, { 225, 255, 239 },
+ { 227, 255, 240 }, { 229, 255, 241 }, { 231, 255, 242 }, { 233, 255, 243 }, { 235, 255, 244 }, { 237, 253, 245 }, { 239, 253, 246 }, { 239, 255, 247 },
+ { 241, 255, 248 }, { 243, 255, 249 }, { 245, 255, 250 }, { 247, 255, 251 }, { 249, 255, 252 }, { 251, 255, 253 }, { 253, 255, 254 }, { 255, 255, 255 },
+ }
+};
+
+Table g_mode7_p00=
+{
+ 1,
+ 0,
+ {
+ { 0, 0, 0 }, { 0, 2, 1 }, { 0, 6, 2 }, { 0, 8, 3 }, { 0, 12, 4 }, { 0, 14, 5 }, { 0, 18, 6 }, { 0, 20, 7 },
+ { 0, 24, 8 }, { 0, 26, 9 }, { 0, 30, 10 }, { 0, 32, 11 }, { 0, 36, 12 }, { 0, 40, 13 }, { 0, 42, 14 }, { 0, 46, 15 },
+ { 0, 48, 16 }, { 0, 52, 17 }, { 0, 54, 18 }, { 0, 58, 19 }, { 0, 60, 20 }, { 0, 64, 21 }, { 0, 66, 22 }, { 0, 70, 23 },
+ { 0, 72, 24 }, { 0, 76, 25 }, { 0, 78, 26 }, { 0, 82, 27 }, { 0, 84, 28 }, { 0, 88, 29 }, { 0, 90, 30 }, { 0, 94, 31 },
+ { 0, 96, 32 }, { 0, 100, 33 }, { 0, 104, 34 }, { 0, 106, 35 }, { 0, 110, 36 }, { 0, 112, 37 }, { 0, 116, 38 }, { 0, 118, 39 },
+ { 0, 122, 40 }, { 0, 124, 41 }, { 0, 128, 42 }, { 0, 130, 43 }, { 0, 134, 44 }, { 0, 136, 45 }, { 0, 140, 46 }, { 0, 142, 47 },
+ { 0, 146, 48 }, { 0, 148, 49 }, { 0, 152, 50 }, { 0, 154, 51 }, { 0, 158, 52 }, { 0, 160, 53 }, { 0, 164, 54 }, { 0, 168, 55 },
+ { 0, 170, 56 }, { 0, 174, 57 }, { 0, 176, 58 }, { 0, 180, 59 }, { 0, 182, 60 }, { 0, 186, 61 }, { 0, 188, 62 }, { 0, 192, 63 },
+ { 0, 194, 64 }, { 0, 198, 65 }, { 0, 200, 66 }, { 0, 204, 67 }, { 0, 206, 68 }, { 0, 210, 69 }, { 0, 212, 70 }, { 0, 216, 71 },
+ { 0, 218, 72 }, { 0, 222, 73 }, { 0, 224, 74 }, { 0, 228, 75 }, { 0, 232, 76 }, { 0, 234, 77 }, { 0, 238, 78 }, { 0, 240, 79 },
+ { 0, 244, 80 }, { 0, 246, 81 }, { 0, 250, 82 }, { 0, 252, 83 }, { 2, 252, 84 }, { 2, 254, 85 }, { 4, 254, 86 }, { 6, 252, 87 },
+ { 8, 252, 88 }, { 8, 254, 89 }, { 10, 254, 90 }, { 12, 252, 91 }, { 14, 252, 92 }, { 14, 254, 93 }, { 16, 254, 94 }, { 18, 252, 95 },
+ { 20, 252, 96 }, { 20, 254, 97 }, { 22, 254, 98 }, { 24, 252, 99 }, { 26, 250, 100 }, { 26, 254, 101 }, { 28, 252, 102 }, { 30, 252, 103 },
+ { 30, 254, 104 }, { 32, 254, 105 }, { 34, 252, 106 }, { 36, 252, 107 }, { 36, 254, 108 }, { 38, 254, 109 }, { 40, 252, 110 }, { 42, 252, 111 },
+ { 42, 254, 112 }, { 44, 254, 113 }, { 46, 252, 114 }, { 48, 252, 115 }, { 48, 254, 116 }, { 50, 254, 117 }, { 52, 252, 118 }, { 54, 252, 119 },
+ { 54, 254, 120 }, { 56, 254, 121 }, { 58, 252, 122 }, { 60, 252, 123 }, { 60, 254, 124 }, { 62, 254, 125 }, { 64, 252, 126 }, { 66, 252, 127 },
+ { 66, 254, 128 }, { 68, 254, 129 }, { 70, 252, 130 }, { 72, 252, 131 }, { 72, 254, 132 }, { 74, 254, 133 }, { 76, 252, 134 }, { 78, 252, 135 },
+ { 78, 254, 136 }, { 80, 254, 137 }, { 82, 252, 138 }, { 84, 252, 139 }, { 84, 254, 140 }, { 86, 254, 141 }, { 88, 252, 142 }, { 90, 250, 143 },
+ { 90, 254, 144 }, { 92, 252, 145 }, { 94, 252, 146 }, { 94, 254, 147 }, { 96, 254, 148 }, { 98, 252, 149 }, { 100, 252, 150 }, { 100, 254, 151 },
+ { 102, 254, 152 }, { 104, 252, 153 }, { 106, 252, 154 }, { 106, 254, 155 }, { 108, 254, 156 }, { 110, 252, 157 }, { 112, 252, 158 }, { 112, 254, 159 },
+ { 114, 254, 160 }, { 116, 252, 161 }, { 118, 252, 162 }, { 118, 254, 163 }, { 120, 254, 164 }, { 122, 252, 165 }, { 124, 252, 166 }, { 124, 254, 167 },
+ { 126, 254, 168 }, { 128, 252, 169 }, { 130, 252, 170 }, { 130, 254, 171 }, { 132, 254, 172 }, { 134, 252, 173 }, { 136, 252, 174 }, { 136, 254, 175 },
+ { 138, 254, 176 }, { 140, 252, 177 }, { 142, 252, 178 }, { 142, 254, 179 }, { 144, 254, 180 }, { 146, 252, 181 }, { 148, 252, 182 }, { 148, 254, 183 },
+ { 150, 254, 184 }, { 152, 252, 185 }, { 154, 250, 186 }, { 154, 254, 187 }, { 156, 252, 188 }, { 158, 252, 189 }, { 158, 254, 190 }, { 160, 254, 191 },
+ { 162, 252, 192 }, { 164, 252, 193 }, { 164, 254, 194 }, { 166, 254, 195 }, { 168, 252, 196 }, { 170, 252, 197 }, { 170, 254, 198 }, { 172, 254, 199 },
+ { 174, 252, 200 }, { 176, 252, 201 }, { 176, 254, 202 }, { 178, 254, 203 }, { 180, 252, 204 }, { 182, 252, 205 }, { 182, 254, 206 }, { 184, 254, 207 },
+ { 186, 252, 208 }, { 188, 252, 209 }, { 188, 254, 210 }, { 190, 254, 211 }, { 192, 252, 212 }, { 194, 252, 213 }, { 194, 254, 214 }, { 196, 254, 215 },
+ { 198, 252, 216 }, { 200, 252, 217 }, { 200, 254, 218 }, { 202, 254, 219 }, { 204, 252, 220 }, { 206, 252, 221 }, { 206, 254, 222 }, { 208, 254, 223 },
+ { 210, 252, 224 }, { 212, 252, 225 }, { 212, 254, 226 }, { 214, 254, 227 }, { 216, 252, 228 }, { 218, 250, 229 }, { 218, 254, 230 }, { 220, 252, 231 },
+ { 222, 252, 232 }, { 222, 254, 233 }, { 224, 254, 234 }, { 226, 252, 235 }, { 228, 252, 236 }, { 228, 254, 237 }, { 230, 254, 238 }, { 232, 252, 239 },
+ { 234, 252, 240 }, { 234, 254, 241 }, { 236, 254, 242 }, { 238, 252, 243 }, { 240, 252, 244 }, { 240, 254, 245 }, { 242, 254, 246 }, { 244, 252, 247 },
+ { 246, 252, 248 }, { 246, 254, 249 }, { 248, 254, 250 }, { 250, 252, 251 }, { 252, 252, 252 }, { 252, 254, 253 }, { 254, 254, 254 }, { 254, 254, 254 },
+ }
+};
+
+Table g_mode7_p01=
+{
+ 1,
+ 2,
+ {
+ { 0, 1, 0 }, { 0, 3, 1 }, { 0, 5, 2 }, { 0, 9, 3 }, { 0, 11, 4 }, { 0, 15, 5 }, { 0, 17, 6 }, { 0, 21, 7 },
+ { 0, 23, 8 }, { 0, 27, 9 }, { 0, 29, 10 }, { 0, 33, 11 }, { 0, 37, 12 }, { 0, 39, 13 }, { 0, 43, 14 }, { 0, 45, 15 },
+ { 0, 49, 16 }, { 0, 51, 17 }, { 0, 55, 18 }, { 0, 57, 19 }, { 0, 61, 20 }, { 0, 63, 21 }, { 0, 67, 22 }, { 0, 69, 23 },
+ { 0, 73, 24 }, { 0, 75, 25 }, { 0, 79, 26 }, { 0, 81, 27 }, { 0, 85, 28 }, { 0, 87, 29 }, { 0, 91, 30 }, { 0, 93, 31 },
+ { 0, 97, 32 }, { 0, 101, 33 }, { 0, 103, 34 }, { 0, 107, 35 }, { 0, 109, 36 }, { 0, 113, 37 }, { 0, 115, 38 }, { 0, 119, 39 },
+ { 0, 121, 40 }, { 0, 125, 41 }, { 0, 127, 42 }, { 0, 131, 43 }, { 0, 133, 44 }, { 0, 137, 45 }, { 0, 139, 46 }, { 0, 143, 47 },
+ { 0, 145, 48 }, { 0, 149, 49 }, { 0, 151, 50 }, { 0, 155, 51 }, { 0, 157, 52 }, { 0, 161, 53 }, { 0, 165, 54 }, { 0, 167, 55 },
+ { 0, 171, 56 }, { 0, 173, 57 }, { 0, 177, 58 }, { 0, 179, 59 }, { 0, 183, 60 }, { 0, 185, 61 }, { 0, 189, 62 }, { 0, 191, 63 },
+ { 0, 195, 64 }, { 0, 197, 65 }, { 0, 201, 66 }, { 0, 203, 67 }, { 0, 207, 68 }, { 0, 209, 69 }, { 0, 213, 70 }, { 0, 215, 71 },
+ { 0, 219, 72 }, { 0, 221, 73 }, { 0, 225, 74 }, { 0, 229, 75 }, { 0, 231, 76 }, { 0, 235, 77 }, { 0, 237, 78 }, { 0, 241, 79 },
+ { 0, 243, 80 }, { 0, 247, 81 }, { 0, 249, 82 }, { 0, 253, 83 }, { 0, 255, 84 }, { 2, 255, 85 }, { 4, 253, 86 }, { 6, 253, 87 },
+ { 6, 255, 88 }, { 8, 255, 89 }, { 10, 253, 90 }, { 12, 253, 91 }, { 12, 255, 92 }, { 14, 255, 93 }, { 16, 253, 94 }, { 18, 253, 95 },
+ { 18, 255, 96 }, { 20, 255, 97 }, { 22, 253, 98 }, { 24, 253, 99 }, { 24, 255, 100 }, { 26, 255, 101 }, { 28, 253, 102 }, { 30, 251, 103 },
+ { 30, 255, 104 }, { 32, 253, 105 }, { 34, 253, 106 }, { 34, 255, 107 }, { 36, 255, 108 }, { 38, 253, 109 }, { 40, 253, 110 }, { 40, 255, 111 },
+ { 42, 255, 112 }, { 44, 253, 113 }, { 46, 253, 114 }, { 46, 255, 115 }, { 48, 255, 116 }, { 50, 253, 117 }, { 52, 253, 118 }, { 52, 255, 119 },
+ { 54, 255, 120 }, { 56, 253, 121 }, { 58, 253, 122 }, { 58, 255, 123 }, { 60, 255, 124 }, { 62, 253, 125 }, { 64, 253, 126 }, { 64, 255, 127 },
+ { 66, 255, 128 }, { 68, 253, 129 }, { 70, 253, 130 }, { 70, 255, 131 }, { 72, 255, 132 }, { 74, 253, 133 }, { 76, 253, 134 }, { 76, 255, 135 },
+ { 78, 255, 136 }, { 80, 253, 137 }, { 82, 253, 138 }, { 82, 255, 139 }, { 84, 255, 140 }, { 86, 253, 141 }, { 88, 253, 142 }, { 88, 255, 143 },
+ { 90, 255, 144 }, { 92, 253, 145 }, { 94, 251, 146 }, { 94, 255, 147 }, { 96, 253, 148 }, { 98, 253, 149 }, { 98, 255, 150 }, { 100, 255, 151 },
+ { 102, 253, 152 }, { 104, 253, 153 }, { 104, 255, 154 }, { 106, 255, 155 }, { 108, 253, 156 }, { 110, 253, 157 }, { 110, 255, 158 }, { 112, 255, 159 },
+ { 114, 253, 160 }, { 116, 253, 161 }, { 116, 255, 162 }, { 118, 255, 163 }, { 120, 253, 164 }, { 122, 253, 165 }, { 122, 255, 166 }, { 124, 255, 167 },
+ { 126, 253, 168 }, { 128, 253, 169 }, { 128, 255, 170 }, { 130, 255, 171 }, { 132, 253, 172 }, { 134, 253, 173 }, { 134, 255, 174 }, { 136, 255, 175 },
+ { 138, 253, 176 }, { 140, 253, 177 }, { 140, 255, 178 }, { 142, 255, 179 }, { 144, 253, 180 }, { 146, 253, 181 }, { 146, 255, 182 }, { 148, 255, 183 },
+ { 150, 253, 184 }, { 152, 253, 185 }, { 152, 255, 186 }, { 154, 255, 187 }, { 156, 253, 188 }, { 158, 251, 189 }, { 158, 255, 190 }, { 160, 253, 191 },
+ { 162, 253, 192 }, { 162, 255, 193 }, { 164, 255, 194 }, { 166, 253, 195 }, { 168, 253, 196 }, { 168, 255, 197 }, { 170, 255, 198 }, { 172, 253, 199 },
+ { 174, 253, 200 }, { 174, 255, 201 }, { 176, 255, 202 }, { 178, 253, 203 }, { 180, 253, 204 }, { 180, 255, 205 }, { 182, 255, 206 }, { 184, 253, 207 },
+ { 186, 253, 208 }, { 186, 255, 209 }, { 188, 255, 210 }, { 190, 253, 211 }, { 192, 253, 212 }, { 192, 255, 213 }, { 194, 255, 214 }, { 196, 253, 215 },
+ { 198, 253, 216 }, { 198, 255, 217 }, { 200, 255, 218 }, { 202, 253, 219 }, { 204, 253, 220 }, { 204, 255, 221 }, { 206, 255, 222 }, { 208, 253, 223 },
+ { 210, 253, 224 }, { 210, 255, 225 }, { 212, 255, 226 }, { 214, 253, 227 }, { 216, 253, 228 }, { 216, 255, 229 }, { 218, 255, 230 }, { 220, 253, 231 },
+ { 222, 251, 232 }, { 222, 255, 233 }, { 224, 253, 234 }, { 226, 253, 235 }, { 226, 255, 236 }, { 228, 255, 237 }, { 230, 253, 238 }, { 232, 253, 239 },
+ { 232, 255, 240 }, { 234, 255, 241 }, { 236, 253, 242 }, { 238, 253, 243 }, { 238, 255, 244 }, { 240, 255, 245 }, { 242, 253, 246 }, { 244, 253, 247 },
+ { 244, 255, 248 }, { 246, 255, 249 }, { 248, 253, 250 }, { 250, 253, 251 }, { 250, 255, 252 }, { 252, 255, 253 }, { 254, 253, 254 }, { 254, 253, 254 },
+ }
+};
+
+Table g_mode7_p10=
+{
+ 1,
+ 1,
+ {
+ { 1, 0, 1 }, { 1, 0, 1 }, { 1, 4, 2 }, { 1, 6, 3 }, { 1, 10, 4 }, { 1, 12, 5 }, { 1, 16, 6 }, { 1, 18, 7 },
+ { 1, 22, 8 }, { 1, 24, 9 }, { 1, 28, 10 }, { 1, 30, 11 }, { 1, 34, 12 }, { 1, 38, 13 }, { 1, 40, 14 }, { 1, 44, 15 },
+ { 1, 46, 16 }, { 1, 50, 17 }, { 1, 52, 18 }, { 1, 56, 19 }, { 1, 58, 20 }, { 1, 62, 21 }, { 1, 64, 22 }, { 1, 68, 23 },
+ { 1, 70, 24 }, { 1, 74, 25 }, { 1, 76, 26 }, { 1, 80, 27 }, { 1, 82, 28 }, { 1, 86, 29 }, { 1, 88, 30 }, { 1, 92, 31 },
+ { 1, 94, 32 }, { 1, 98, 33 }, { 1, 102, 34 }, { 1, 104, 35 }, { 1, 108, 36 }, { 1, 110, 37 }, { 1, 114, 38 }, { 1, 116, 39 },
+ { 1, 120, 40 }, { 1, 122, 41 }, { 1, 126, 42 }, { 1, 128, 43 }, { 1, 132, 44 }, { 1, 134, 45 }, { 1, 138, 46 }, { 1, 140, 47 },
+ { 1, 144, 48 }, { 1, 146, 49 }, { 1, 150, 50 }, { 1, 152, 51 }, { 1, 156, 52 }, { 1, 158, 53 }, { 1, 162, 54 }, { 1, 166, 55 },
+ { 1, 168, 56 }, { 1, 172, 57 }, { 1, 174, 58 }, { 1, 178, 59 }, { 1, 180, 60 }, { 1, 184, 61 }, { 1, 186, 62 }, { 1, 190, 63 },
+ { 1, 192, 64 }, { 1, 196, 65 }, { 1, 198, 66 }, { 1, 202, 67 }, { 1, 204, 68 }, { 1, 208, 69 }, { 1, 210, 70 }, { 1, 214, 71 },
+ { 1, 216, 72 }, { 1, 220, 73 }, { 1, 222, 74 }, { 1, 226, 75 }, { 1, 230, 76 }, { 1, 232, 77 }, { 1, 236, 78 }, { 1, 238, 79 },
+ { 1, 242, 80 }, { 1, 244, 81 }, { 1, 248, 82 }, { 1, 250, 83 }, { 1, 254, 84 }, { 3, 252, 85 }, { 5, 252, 86 }, { 5, 254, 87 },
+ { 7, 254, 88 }, { 9, 252, 89 }, { 11, 252, 90 }, { 11, 254, 91 }, { 13, 254, 92 }, { 15, 252, 93 }, { 17, 252, 94 }, { 17, 254, 95 },
+ { 19, 254, 96 }, { 21, 252, 97 }, { 23, 252, 98 }, { 23, 254, 99 }, { 25, 254, 100 }, { 27, 252, 101 }, { 29, 250, 102 }, { 29, 254, 103 },
+ { 31, 252, 104 }, { 33, 252, 105 }, { 33, 254, 106 }, { 35, 254, 107 }, { 37, 252, 108 }, { 39, 252, 109 }, { 39, 254, 110 }, { 41, 254, 111 },
+ { 43, 252, 112 }, { 45, 252, 113 }, { 45, 254, 114 }, { 47, 254, 115 }, { 49, 252, 116 }, { 51, 252, 117 }, { 51, 254, 118 }, { 53, 254, 119 },
+ { 55, 252, 120 }, { 57, 252, 121 }, { 57, 254, 122 }, { 59, 254, 123 }, { 61, 252, 124 }, { 63, 252, 125 }, { 63, 254, 126 }, { 65, 254, 127 },
+ { 67, 252, 128 }, { 69, 252, 129 }, { 69, 254, 130 }, { 71, 254, 131 }, { 73, 252, 132 }, { 75, 252, 133 }, { 75, 254, 134 }, { 77, 254, 135 },
+ { 79, 252, 136 }, { 81, 252, 137 }, { 81, 254, 138 }, { 83, 254, 139 }, { 85, 252, 140 }, { 87, 252, 141 }, { 87, 254, 142 }, { 89, 254, 143 },
+ { 91, 252, 144 }, { 93, 250, 145 }, { 93, 254, 146 }, { 95, 252, 147 }, { 97, 252, 148 }, { 97, 254, 149 }, { 99, 254, 150 }, { 101, 252, 151 },
+ { 103, 252, 152 }, { 103, 254, 153 }, { 105, 254, 154 }, { 107, 252, 155 }, { 109, 252, 156 }, { 109, 254, 157 }, { 111, 254, 158 }, { 113, 252, 159 },
+ { 115, 252, 160 }, { 115, 254, 161 }, { 117, 254, 162 }, { 119, 252, 163 }, { 121, 252, 164 }, { 121, 254, 165 }, { 123, 254, 166 }, { 125, 252, 167 },
+ { 127, 252, 168 }, { 127, 254, 169 }, { 129, 254, 170 }, { 131, 252, 171 }, { 133, 252, 172 }, { 133, 254, 173 }, { 135, 254, 174 }, { 137, 252, 175 },
+ { 139, 252, 176 }, { 139, 254, 177 }, { 141, 254, 178 }, { 143, 252, 179 }, { 145, 252, 180 }, { 145, 254, 181 }, { 147, 254, 182 }, { 149, 252, 183 },
+ { 151, 252, 184 }, { 151, 254, 185 }, { 153, 254, 186 }, { 155, 252, 187 }, { 157, 250, 188 }, { 157, 254, 189 }, { 159, 252, 190 }, { 161, 252, 191 },
+ { 161, 254, 192 }, { 163, 254, 193 }, { 165, 252, 194 }, { 167, 252, 195 }, { 167, 254, 196 }, { 169, 254, 197 }, { 171, 252, 198 }, { 173, 252, 199 },
+ { 173, 254, 200 }, { 175, 254, 201 }, { 177, 252, 202 }, { 179, 252, 203 }, { 179, 254, 204 }, { 181, 254, 205 }, { 183, 252, 206 }, { 185, 252, 207 },
+ { 185, 254, 208 }, { 187, 254, 209 }, { 189, 252, 210 }, { 191, 252, 211 }, { 191, 254, 212 }, { 193, 254, 213 }, { 195, 252, 214 }, { 197, 252, 215 },
+ { 197, 254, 216 }, { 199, 254, 217 }, { 201, 252, 218 }, { 203, 252, 219 }, { 203, 254, 220 }, { 205, 254, 221 }, { 207, 252, 222 }, { 209, 252, 223 },
+ { 209, 254, 224 }, { 211, 254, 225 }, { 213, 252, 226 }, { 215, 252, 227 }, { 215, 254, 228 }, { 217, 254, 229 }, { 219, 252, 230 }, { 221, 250, 231 },
+ { 221, 254, 232 }, { 223, 252, 233 }, { 225, 252, 234 }, { 225, 254, 235 }, { 227, 254, 236 }, { 229, 252, 237 }, { 231, 252, 238 }, { 231, 254, 239 },
+ { 233, 254, 240 }, { 235, 252, 241 }, { 237, 252, 242 }, { 237, 254, 243 }, { 239, 254, 244 }, { 241, 252, 245 }, { 243, 252, 246 }, { 243, 254, 247 },
+ { 245, 254, 248 }, { 247, 252, 249 }, { 249, 252, 250 }, { 249, 254, 251 }, { 251, 254, 252 }, { 253, 252, 253 }, { 255, 252, 254 }, { 255, 254, 255 },
+ }
+};
+
+Table g_mode7_p11=
+{
+ 1,
+ 3,
+ {
+ { 1, 1, 1 }, { 1, 1, 1 }, { 1, 3, 2 }, { 1, 7, 3 }, { 1, 9, 4 }, { 1, 13, 5 }, { 1, 15, 6 }, { 1, 19, 7 },
+ { 1, 21, 8 }, { 1, 25, 9 }, { 1, 27, 10 }, { 1, 31, 11 }, { 1, 33, 12 }, { 1, 37, 13 }, { 1, 41, 14 }, { 1, 43, 15 },
+ { 1, 47, 16 }, { 1, 49, 17 }, { 1, 53, 18 }, { 1, 55, 19 }, { 1, 59, 20 }, { 1, 61, 21 }, { 1, 65, 22 }, { 1, 67, 23 },
+ { 1, 71, 24 }, { 1, 73, 25 }, { 1, 77, 26 }, { 1, 79, 27 }, { 1, 83, 28 }, { 1, 85, 29 }, { 1, 89, 30 }, { 1, 91, 31 },
+ { 1, 95, 32 }, { 1, 97, 33 }, { 1, 101, 34 }, { 1, 105, 35 }, { 1, 107, 36 }, { 1, 111, 37 }, { 1, 113, 38 }, { 1, 117, 39 },
+ { 1, 119, 40 }, { 1, 123, 41 }, { 1, 125, 42 }, { 1, 129, 43 }, { 1, 131, 44 }, { 1, 135, 45 }, { 1, 137, 46 }, { 1, 141, 47 },
+ { 1, 143, 48 }, { 1, 147, 49 }, { 1, 149, 50 }, { 1, 153, 51 }, { 1, 155, 52 }, { 1, 159, 53 }, { 1, 161, 54 }, { 1, 165, 55 },
+ { 1, 169, 56 }, { 1, 171, 57 }, { 1, 175, 58 }, { 1, 177, 59 }, { 1, 181, 60 }, { 1, 183, 61 }, { 1, 187, 62 }, { 1, 189, 63 },
+ { 1, 193, 64 }, { 1, 195, 65 }, { 1, 199, 66 }, { 1, 201, 67 }, { 1, 205, 68 }, { 1, 207, 69 }, { 1, 211, 70 }, { 1, 213, 71 },
+ { 1, 217, 72 }, { 1, 219, 73 }, { 1, 223, 74 }, { 1, 225, 75 }, { 1, 229, 76 }, { 1, 233, 77 }, { 1, 235, 78 }, { 1, 239, 79 },
+ { 1, 241, 80 }, { 1, 245, 81 }, { 1, 247, 82 }, { 1, 251, 83 }, { 1, 253, 84 }, { 3, 253, 85 }, { 3, 255, 86 }, { 5, 255, 87 },
+ { 7, 253, 88 }, { 9, 253, 89 }, { 9, 255, 90 }, { 11, 255, 91 }, { 13, 253, 92 }, { 15, 253, 93 }, { 15, 255, 94 }, { 17, 255, 95 },
+ { 19, 253, 96 }, { 21, 253, 97 }, { 21, 255, 98 }, { 23, 255, 99 }, { 25, 253, 100 }, { 27, 251, 101 }, { 27, 255, 102 }, { 29, 253, 103 },
+ { 31, 253, 104 }, { 31, 255, 105 }, { 33, 255, 106 }, { 35, 253, 107 }, { 37, 253, 108 }, { 37, 255, 109 }, { 39, 255, 110 }, { 41, 253, 111 },
+ { 43, 253, 112 }, { 43, 255, 113 }, { 45, 255, 114 }, { 47, 253, 115 }, { 49, 253, 116 }, { 49, 255, 117 }, { 51, 255, 118 }, { 53, 253, 119 },
+ { 55, 253, 120 }, { 55, 255, 121 }, { 57, 255, 122 }, { 59, 253, 123 }, { 61, 253, 124 }, { 61, 255, 125 }, { 63, 255, 126 }, { 65, 253, 127 },
+ { 67, 253, 128 }, { 67, 255, 129 }, { 69, 255, 130 }, { 71, 253, 131 }, { 73, 253, 132 }, { 73, 255, 133 }, { 75, 255, 134 }, { 77, 253, 135 },
+ { 79, 253, 136 }, { 79, 255, 137 }, { 81, 255, 138 }, { 83, 253, 139 }, { 85, 253, 140 }, { 85, 255, 141 }, { 87, 255, 142 }, { 89, 253, 143 },
+ { 91, 251, 144 }, { 91, 255, 145 }, { 93, 253, 146 }, { 95, 253, 147 }, { 95, 255, 148 }, { 97, 255, 149 }, { 99, 253, 150 }, { 101, 253, 151 },
+ { 101, 255, 152 }, { 103, 255, 153 }, { 105, 253, 154 }, { 107, 253, 155 }, { 107, 255, 156 }, { 109, 255, 157 }, { 111, 253, 158 }, { 113, 253, 159 },
+ { 113, 255, 160 }, { 115, 255, 161 }, { 117, 253, 162 }, { 119, 253, 163 }, { 119, 255, 164 }, { 121, 255, 165 }, { 123, 253, 166 }, { 125, 253, 167 },
+ { 125, 255, 168 }, { 127, 255, 169 }, { 129, 253, 170 }, { 131, 253, 171 }, { 131, 255, 172 }, { 133, 255, 173 }, { 135, 253, 174 }, { 137, 253, 175 },
+ { 137, 255, 176 }, { 139, 255, 177 }, { 141, 253, 178 }, { 143, 253, 179 }, { 143, 255, 180 }, { 145, 255, 181 }, { 147, 253, 182 }, { 149, 253, 183 },
+ { 149, 255, 184 }, { 151, 255, 185 }, { 153, 253, 186 }, { 155, 251, 187 }, { 155, 255, 188 }, { 157, 253, 189 }, { 159, 253, 190 }, { 159, 255, 191 },
+ { 161, 255, 192 }, { 163, 253, 193 }, { 165, 253, 194 }, { 165, 255, 195 }, { 167, 255, 196 }, { 169, 253, 197 }, { 171, 253, 198 }, { 171, 255, 199 },
+ { 173, 255, 200 }, { 175, 253, 201 }, { 177, 253, 202 }, { 177, 255, 203 }, { 179, 255, 204 }, { 181, 253, 205 }, { 183, 253, 206 }, { 183, 255, 207 },
+ { 185, 255, 208 }, { 187, 253, 209 }, { 189, 253, 210 }, { 189, 255, 211 }, { 191, 255, 212 }, { 193, 253, 213 }, { 195, 253, 214 }, { 195, 255, 215 },
+ { 197, 255, 216 }, { 199, 253, 217 }, { 201, 253, 218 }, { 201, 255, 219 }, { 203, 255, 220 }, { 205, 253, 221 }, { 207, 253, 222 }, { 207, 255, 223 },
+ { 209, 255, 224 }, { 211, 253, 225 }, { 213, 253, 226 }, { 213, 255, 227 }, { 215, 255, 228 }, { 217, 253, 229 }, { 219, 251, 230 }, { 219, 255, 231 },
+ { 221, 253, 232 }, { 223, 253, 233 }, { 223, 255, 234 }, { 225, 255, 235 }, { 227, 253, 236 }, { 229, 253, 237 }, { 229, 255, 238 }, { 231, 255, 239 },
+ { 233, 253, 240 }, { 235, 253, 241 }, { 235, 255, 242 }, { 237, 255, 243 }, { 239, 253, 244 }, { 241, 253, 245 }, { 241, 255, 246 }, { 243, 255, 247 },
+ { 245, 253, 248 }, { 247, 253, 249 }, { 247, 255, 250 }, { 249, 255, 251 }, { 251, 253, 252 }, { 253, 253, 253 }, { 253, 255, 254 }, { 255, 255, 255 },
+ }
+};
+
+}}}
diff --git a/thirdparty/cvtt/LICENSE.txt b/thirdparty/cvtt/LICENSE.txt
new file mode 100644
index 0000000000..6964f6e43f
--- /dev/null
+++ b/thirdparty/cvtt/LICENSE.txt
@@ -0,0 +1,45 @@
+Convection Texture Tools Stand-Alone Kernels
+
+Copyright (c) 2018 Eric Lasota
+
+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.
+
+**************************************************************************
+
+Based on DirectX Texture Library
+
+Copyright (c) 2018 Microsoft Corp
+
+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. \ No newline at end of file
diff --git a/thirdparty/squish/config.h b/thirdparty/squish/config.h
index 92edefe966..05f8d72598 100644
--- a/thirdparty/squish/config.h
+++ b/thirdparty/squish/config.h
@@ -32,6 +32,26 @@
#endif
// Set to 1 or 2 when building squish to use SSE or SSE2 instructions.
+// -- GODOT start --
+#ifdef _MSC_VER
+ #if defined(_M_IX86_FP)
+ #if _M_IX86_FP >= 2
+ #define SQUISH_USE_SSE 2
+ #elif _M_IX86_FP >= 1
+ #define SQUISH_USE_SSE 1
+ #endif
+ #elif defined(_M_X64)
+ #define SQUISH_USE_SSE 2
+ #endif
+#else
+ #if defined(__SSE2__)
+ #define SQUISH_USE_SSE 2
+ #elif defined(__SSE__)
+ #define SQUISH_USE_SSE 1
+ #endif
+#endif
+// -- GODOT end --
+
#ifndef SQUISH_USE_SSE
#define SQUISH_USE_SSE 0
#endif